第744页的TPWrite - 写入FlexPendant示教器
在FlexPendant示教器上显示消息第832页的UIMsgBox - 用户消息对话框,基本类型
操作员手册 - 带 FlexPendant 的 IRC5事件日志
应用手册 - 附加功能,事件日志消息一节 事件日志消息、xml文件说明
应用手册 - 附加功能 如何在使用附加功能时安装XML文件
技术参考手册 - RAPID指令、函数和数据类型 195
3HAC050917-010 修订: C
© 版权所有 2004-2016 ABB。保留所有权利。
1.82 ErrLog - 写入错误消息 RobotWare - OS 续前页
1.83 ErrRaise - 写入警告,调用错误处理器
手册用法
ErrRaise 用于在程序中创建错误,然后调用程序的错误处理器。将警告写入事件日 志。ErrRaise亦可用于错误处理器中,以将当前错误传播至调用程序的错误处理器。
必须规定错误名称、错误编号和五个错误自变量。将消息储存在机械臂日志的过程域 中。
基本示例
以下实例介绍了指令ErrRaise:
例 1
如果你不想创建自己的.xml文件,则可以使用ErrorId 4800,如以下例子:
MODULE MyModule
VAR errnum ERR_BATT:=-1;
PROC main()
VAR num errorid := 4800;
VAR errstr my_title := "Backup battery status";
VAR errstr str1 := "Bacup battery is fully charged";
BookErrNo ERR_BATT;
ErrRaise "ERR_BATT", errorid, my_title, ERRSTR_TASK, str1, ERRSTR_CONTEXT,ERRSTR_EMPTY;
ERROR
IF ERRNO = ERR_BATT THEN TRYNEXT;
ENDIF ENDPROC ENDMODULE
在FlexPendant示教器上,消息将如下所示(警告和/或错误):
事件消息:4800 备用电池状态 任务:主要 备用电池充满电
范围:MyModule/main/ErrRaise
必须通过指令 BookErrNo来登记错误编号。将相关字符串表示为ErrRaise中的第 一个参数,ErrorName。
ErrRaise创建错误,然后调用错误处理器。如果错误受到关注,则在过程域的事件 日志中生成警告。否则,会产生致命错误,并使程序停止。
ErrRaise亦可用于子程序中的错误处理器中。在这种情况下,继续在调用程序的错 误处理器中执行。
例 2
必须在.xml文件中声明ErrorId。数字必须介于5000 - 9999之间。通过ErrRaise指 令,将错误消息写入.xml文件,并呈报消息的参数。.xml文件中的ErrorId与ErrRaise 指令中规定的相同。
注:如果使用介于5000-9999之间的ErrorId,则必须安装自己的xml文件。
1.83 ErrRaise - 写入警告,调用错误处理器 RobotWare - OS
.xml文件中消息的实例:
<Message number="7055" eDefine="SYS_ERR_ARL_INPAR_RDONLY">
<Title>Parameter error</Title>
<Description>Task:<arg format="%s" ordinal="1" />
<p />Symbol <arg format="%s" ordinal="2" />is read-only
<p />Context:<arg format="%s" ordinal="3" /><p /></Description>
</Message>
指令实例:
MODULE MyModule
VAR errnum ERR_BATT:=-1;
PROC main()
VAR num errorid := 7055;
BookErrNo ERR_BATT;
ErrRaise "ERR_BATT", errorid, ERRSTR_TASK,
ERRSTR_CONTEXT,ERRSTR_UNUSED, ERRSTR_UNUSED, ERRSTR_UNUSED;
ERROR
IF ERRNO = ERR_BATT THEN TRYNEXT;
必须通过指令 BookErrNo来登记错误编号。将相关字符串表示为ErrRaise中的第 一个参数,ErrorName。
ErrRaise ErrorName ErrorId Argument1 Argument2 Argument3 Argument4 Argument5 4800-4814;如果使用自己的xml文件,则错误编号必须介于5000 - 9999。
下一页继续
技术参考手册 - RAPID指令、函数和数据类型 197
3HAC050917-010 修订: C
© 版权所有 2004-2016 ABB。保留所有权利。
1.83 ErrRaise - 写入警告,调用错误处理器 RobotWare - OS 续前页
Argument1
数据类型:errstr
错误消息中的第一个参数。可以使用任意errstr型字符串或预定义数据。
Argument2
数据类型:errstr
错误消息中的第二个参数。可以使用任意errstr型字符串或预定义数据。
Argument3
数据类型:errstr
错误消息中的第三个参数。可以使用任意errstr型字符串或预定义数据。
Argument4
数据类型:errstr
错误消息中的第四个参数。可以使用任意errstr型字符串或预定义数据。
Argument5
数据类型:errstr
错误消息中的第五个参数。可以使用任意errstr型字符串或预定义数据。
程序执行
如果使用由系统安装的xml文件,则ErrRaise会产生介于4800-4814之间的程序警 告,如果安装自己的xml文件,则会产生介于5000-9999之间的程序警告。产生的错误 取决于指定的ErrorID。将警告写入域过程的机械臂消息日志中。
当执行ErrRaise时,行为取决于执行位置:
• 当在程序本体中执行指令时,会产生警告,并在错误处理器中继续执行。
• 当在错误处理器中执行指令时,会跳过旧的警告,产生新的警告,并提高控制
以调用指令。
限制
将总字符串长度(参数1-参数5)限制在195个字符。
更多示例
有关于如何使用指令ErrRaise的更多例子阐述如下。
例 1
VAR errnum ERR_BATT:=-1;
VAR errnum ERR_NEW_ERR:=-1;
PROC main() testerrraise;
ENDPROC
PROC testerrraise() BookErrNo ERR_BATT;
BookErrNo ERR_NEW_ERR;
ErrRaise "ERR_BATT",7055,ERRSTR_TASK,ERRSTR_CONTEXT, ERRSTR_UNUSED,ERRSTR_UNUSED,ERRSTR_UNUSED;
1.83 ErrRaise - 写入警告,调用错误处理器 RobotWare - OS
续前页
ERROR
IF ERRNO = ERR_BATT THEN
ErrRaise "ERR_NEW_ERR",7156,ERRSTR_TASK,ERRSTR_CONTEXT, ERRSTR_UNUSED,ERRSTR_UNUSED, ERRSTR_UNUSED;
ENDIF ENDPROC
从错误处理器产生新的警告7156。提高控制,以调用程序并停止执行。
语法
ErrRaise
[ErrorName ':=' ] < expression (IN) of string> ',' [ErrorId ':=' ] < expression (IN) of num> ',' [Argument1 ':=' ] < expression (IN) of errstr> ',' [Argument2 ':=' ] < expression (IN) of errstr> ',' [Argument3 ':=' ] < expression (IN) of errstr> ',' [Argument4 ':=' ] < expression (IN) of errstr> ',' [Argument5 ':=' ] < expression (IN) of errstr> ';'
相关信息