ABB

机器人的错误处理

ABB

机器人的错误处理

errnum

数据类型

errnum

用于描述在执行过程中,发生的所有可恢复的错误。例如程序执行时,被零除。

如果机器人程序执行过

程中检测到一个错误,

错误非致命,

可以被错误处理程序处理。

这类错误的典型例子是过大的值或者被零除。

errnum

类型的系统变量

errno

,根据不同的错误性质,分配不同的值。错误处理程序可以通过读取这个变量来纠正错误,然后

执行程序可以正确的方式继续运行。

错误也可以通过使用

RAISE

指令在程序中创建。错误处理程序通过指定一个能检测到该特定类型的错误号(范围

1-90

内或通过

BookErrNo

指令预订)作为

RAISE

的参数。

示例:

reg1 := reg2 / reg3;

...

ERROR

IF

ERRNO = ERR_DIVZERO

THEN

reg3 := 1;

RETRY;

ENDIF

如果

REG3= 0

,机器人除法时检测到发生的错误。这个错误可以被检测并通过分配

REG3

的值为

1

予以纠正。因此

除法可再次被执行,程序可以继续执行。

CONST errnum machine_error := 1;

...

IF di1=0 RAISE machine_error;

...

ERROR

IF ERRNO=machine_error RAISE;

机器人通过信号

DI1

检测出现的错误。

跳转到错误处理程序。

调用的错误处理程序调,

纠正这个错误。

machine_error

作为一个常数,用来让错误处理程序确切知道发生的是哪种错误的类型。

预定义的错误类型

系统变量

ERRNO

可以用于读取最后一次发生的错误。

许多预定义常量可以用来确定发生的错误类型。

(

ABB

编程手册

1179 page

)

关于

raise

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐