错误也可以通过使用RAISE指令在程序中创建。错误处理程序通过指定一个能检测到该特定类型的错误号(范围1-90内或通过BookErrNo指令预订)作为RAISE的参数。
示例:
reg1 := reg2 / reg3;
...
ERROR
IF ERRNO = ERR_DIVZERO THEN
reg3 := 1;
RETRY;
ENDIF
如果REG3= 0,机器人除法时检测到发生的错误。这个错误可以被检测并通过分配REG3的值为1予以纠正。因此除法可再次被执行,程序可以继续执行。
如果REG3= 0,机器人除法时检测到发生的错误。这个错误可以被检测并通过分配REG3的值为1予以纠正。因此除法可再次被执行,程序可以继续执行。
CONST errnum machine_error := 1;
...
IF di1=0 RAISE machine_error;
...
ERROR
IFERRNO=machine_error RAISE;
机器人通过信号DI1检测出现的错误。跳转到错误处理程序。调用的错误处理程序调,纠正这个错误。machine_error作为一个常数,用来让错误处理程序确切知道发生的是哪种错误的类型。
机器人通过信号DI1检测出现的错误。跳转到错误处理程序。调用的错误处理程序调,纠正这个错误。machine_error作为一个常数,用来让错误处理程序确切知道发生的是哪种错误的类型。
预定义的错误类型
系统变量 ERRNO 可以用于读取*后一次发生的错误。许多预定义常量可以用来确定发生的错误类型。
关于raise
RAISE用于在程序中产生一个错误,并调用程序的错误处理函数。 RAISE 同样可以在错误处理函数中使用,将当前错误传送给调用程序的错误处理函数。
这个指令可以用于跳回高一层的程序结构,例如,底层的错误返给主程序的错误处理函数。
关于错误处理
TRYNEXT - 跳过产生错误的指令,继续运行。 TRYNEXT 指令用于在产生一个错误后,程序运行产生错误的下一条语句。
了解相关资讯请点击:ABB工业机器人
了解相关资讯请点击:ABB工业机器人
本文摘自:网络 日期:2019-05-08