• 沒有找到結果。

第1401页的errstr - 错误字符串errstr型预定义数据

在文檔中 技术参考手册 (頁 195-199)

第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> ';'

相关信息

请参阅 信息,关于

第1401页的errstr - 错误字符串

errstr型预定义数据

第40页的BookErrNo - 登记RAPID系统错误编号

在文檔中 技术参考手册 (頁 195-199)