ABB机器人的数据类型错误处理
Errnum用于描述在执行过程中,发生的所有可恢复的错误。例如程序执行时,被零除。如果机器人程序执行过程中检测到一个错误,错误非致命,可以被错误处理程序处理。这类错误的典型例子是过大的值或者被零除。errnum类型的系统变errno,根据不同的错误性质,分配不同的值。错误处理程序可以通过读取这个变量来纠正错误,然后执行程序可以正确的方式继续运行。
错误也可以通过使用RAISE指令在程序中创建。错误处理程序通过指定一个能检测到该特定类型的错误号(范围1-90内或通过BookErrNo指令预订)作为RAISE的参数。
示例:
reg1:=reg2/reg3;
ERROR
IFERRNO=ERR_DIVZEROTHEN
reg3:=1;
RETRY;
ENDIF
如果REG3=0,机器人除法时检测到发生的错误。这个错误可以被检测并通过分配REG3的值为1予以纠正。因此除法可再次被执行,程序可以继续执行。
CONST
errnummachine_error:=1;
IF di1=0RAISEmachine_error;
ERROR
IFERRNO=machine_errorRAISE;
机器人通过信号DI1检测出现的错误。跳转到错误处理程序。调用的错误处理程序调,纠正这个错误。machine_error作为一个常数,用