KUKA系统变量$err说明

描述

$ err

具有有关当前程序信息的结构

该变量可用于评估相对于提前运行的当前执行程序。例如,该变量可用于评估程序中的错误,以便能够使用适当的故障服务功能对其进行响应。

该变量具有写保护,只能被读取。

$ERR=Information

信息类型:Error_T

列出有关当前正在执行的程序的信息.

变量结构:

STRUC Error_T INT number, PROG_INT_Einterpreter, INT_TYP_E int_type, INT int_prio, line_nr, CHAR module[24],up_name[24], TRIGGER_UP_TYPE trigger_type

解释:

Number:发生运行时错误时的消息编号。如果未发生错误,则显示零值。

Interpreter:当前解释器

#R_INT:机器人解释器

#S_INT:提交解释器

int_type当前图片类型和中断状态

#I_NORMAL:该程序不是中断程序。

#I_INTERRUPT:该程序为中断程序。

#I_STOP_INTERRUPT:通过$ STOPMESS中断(错误停止)

int_prio中断优先级

1,2,4…39

81…128

line_nr当前程序中的行号

module[]当前程序的目录和名称

up_name[]当前子程序的目录和名称

trigger_type

触发属于子程序的触发器的上下文

1.#TRG_NONE:该子程序不是触发子程序。#TRG_REGULAR:在向前运动期间切换了触发器子程序。#TRG_BACKWARD:触发子程序在向后运动期间被切换。

2.#TRG_RESTART:触发子程序已打开,切换回正向运动。

3.#TRG_REPLAY:触发子程序在向后运动后反复切换。

注意:此组件在KUKA System Software 8.3或更高版本中可用。

$ERR不仅可以用于错误处理,还可以用于确定当前环境。

在本例中,参数从robot程序和submit程序传递到子例程。子程序确定参数源自哪个解释器。根据结果,将执行另一个操作。

机器人程序:

DEF Main ()

...

my_prog (55)

...

END

提交Programm::

DEF my_sub ()

...

LOOP

my_prog (33)

...

ENDLOOP

...

END

Unter programm:

GLOBAL DEF my_prog (par:IN)

INT par

INI

SWITCH $ERR.interpreter

CASE #R_INT

$OUT[par] = TRUE

CASE #S_INT

sub_prog_s()

CASE #EXT_S_INT1

sub_prog_1()

CASE #EXT_S_INT2

sub_prog_2()

CASE #EXT_S_INT3

sub_prog_3()

...

ENDSWITCH

...

END

此示例显示,每个程序级别都有自己的$ERR重新表示。

1  DEF myMainProg ()

2  INT myVar, myVar2

3  INI

4  ON_ERROR_PROCEED

5  mySubProg (myVar)

第5行实际触发消息1422{$Variable}Invalid,因为myVar未初始化,因此无法传递给子程序。前一行中的ON_ERROR_PROCEED禁止显示该消息。

6  HALT

如果您从此处的变量显示中读取$ERR,则以下组件具有以下值:

$ERR.number===1422

$ERR.line_nr==15

$ERR.module[]===MYMAINPROG“

$ERR.up_name[]===MYMAINPROG“

7  myVar2 = 7

8  mySubProg (myVar2)

9  END

---------------------------------------

10  DEF mySubProg (myTest:IN)

11  INT myTest

12  HALT

如果从变量显示中读取$ERR,则以下组件具有以下值:

$ERR.number==0

$ERR.line_nr==0

$ERR.module[]===MYMAINPROG“

$ERR.up_name[]===MYSUBPROG“

这表明:$ERR总是具有来自当前级别的信息(此处来自子程序MySubProg)。另一方面,来自MyMainProg的信息是未知的。

13  END

ERR_RAISE:稍后输出抑制消息

ERR_RAISE随后可以输出用ON_ERROR_PROCEED抑制的消息。

ERR_RAISE只能处理$ERR或从$ERR派生的变量作为OUT参数。

ERR_RAISE ($ERR | out_var)

审核编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分