KUKA系统变量:$ERR

描述

包含有关当前程序信息的结构

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

该变量是写保护的,只能读取。

$ERR 单独存在于机器人和提交解释器中。每个解释器只能访问自己的变量。命令解释器不存在 $ERR。

每个子程序级别都有自己的 $ERR 表示。这样,一个层次的信息不会覆盖不同层次的信息,可以同时读取不同层次的信息。

ON_ERROR_PROCEED 在当前解释器和当前级别隐式删除 $ERR 中的信息。

$ERR=Information

Information Type: Error_T

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

ON_ERROR_PROCEED  错误继续

ON_ERROR_PROCEED 可用于抑制由以下程序行触发的运行时错误消息。机器人控制器跳过触发错误的语句,并用有关错误的信息填充系统变量 $ERR。

ON_ERROR_PROCEED 始终适用于以下行,即使这是一个空行!例外:如果以下行包含语句 CONTINUE,则 ON_ERROR_PROCEED 适用于后面的行。

如果 ON_ERROR_PROCEED 之后的行是子程序调用,则该语句引用调用本身,而不是子程序的第一行。

$ERR 和 ERR_RAISE() 是使用 ON_ERROR_PROCEED 时的重要工具。

函数 ERR_RAISE() 随后可以生成抑制的运行时错误消息。它只能将系统变量 $ERR 或从 $ERR 派生的变量作为 OUT 参数处理。

ON_ERROR_PROCEED 对运动语句没有影响:

样条/端线;PTP_SPLINE/ENDSPL INE;点对点;林; 中国保监会;PTP_REL;

LIN_REL; CIRC_REL; ASYPTP;停止;异步;异步取消;

MOVE_EMI

ON_ERROR_PROCEED 对以下控制结构没有影响:

为/ENDFOR;去; IF/ELSE/ENDIF;循环/ENDLOOP;重复/直到;

跳过/结束跳过;开关/外壳/默认/ENDSWITCH;同时/结束尽管

ON_ERROR_PROCEED with CONTINUE:

ON_ERROR_PROCEED

CONTINUE

$OUT[1]=TRUE

CONTINUE

ON_ERROR_PROCEED

$OUT[1]=TRUE

两个语句序列的效果是相同的。在这两个示例中,ON_ERROR_PROCEED 和 CONTINUE 作用于 $OUT[1]=TRUE。

$ERR、ON_ERROR_PROCEED 和 ERR_RAISE() 的示例:

例1

如果您不想抑制所有可能的运行时错误消息,而只希望抑制特定的错误消息,则可以使用 SWITCH ... ENDSWITCH 进行区分。在此示例中,仅抑制消息 1422。将显示任何其他运行时错误消息。

1  DEF myProg ()

2  DECL E6POS myPos

3  INI

4  ON_ERROR_PROCEED

5  myPos = $POS_INT

6  SWITCH ($ERR.NUMBER)

7    CASE 0

8    CASE 1422

9       ;如果需要,程序故障服务功能

...

10    DEFAULT

11       ERR_RAISE ($ERR)

12  ENDSWITCH

...

13  END

4-5第 5 行触发消息 1422 {$variable} value invalid(除非程序被中断调用)。前一行中的 ON_ERROR_PROCEED 会抑制错误消息。

6 … 12取决于 $ERR.NUMBER 的差异化

7  如果第 5 行没有发生错误,$ERR.NUMBER==0。在这种情况下,不需要任何操作。

8, 9  如果消息 1422 已被触发,$ERR.NUMBER==1422。如果需要,可以对故障服务功能进行编程。

10, 11 如果触发了 1422 以外的消息,则现在(随后)通过 ERR_RAISE 生成此消息。

与$ERR故障变量相关联的函数

清除与$ERR相关的过程故障信息:

ERR_CLEAR (ERROR_T PERR :OUT )
产生与$ERR相关的过程故障信息:
ERR_RAISE (ERROR_T PERR :OUT )

审核编辑 :李倩

 

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

全部0条评论

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

×
20
完善资料,
赚取积分