ABB机器人错误管理与信息响应

版权申诉
0 下载量 181 浏览量 更新于2024-06-27 收藏 214KB DOCX 举报
"ABB机器人系统和出错信息文档主要涵盖了ABB机器人在运行过程中可能出现的各种系统和硬件问题,以及如何处理这些问题的方法。文档包含了错误管理、警告信息、登录信息的符号解释等多个方面,旨在帮助操作员理解和解决机器人系统中遇到的问题。" 在ABB机器人系统中,错误管理是一个至关重要的部分,因为这直接影响到机器人的正常运行和生产效率。当错误发生时,系统会在教育操纵台上清晰地显示错误信息,并优先显示最早出现的错误。错误信息不仅实时显示,还会被记录在登记簿中,记录时间以便后续查阅。 1.1确认出错信息:如果操作员想要查看错误发生前的界面,只需按下"OK"键,系统会返回至错误发生前的状态。同时,错误信息会被保存在登记簿中,可以通过服务-登记簿功能查看。 1.2调用纠正错误的建议:当按下"OK"键后,系统会提供可能的纠正措施和错误原因,帮助操作员定位问题并进行修复。如果需要查看登记簿而不是错误信息,可以选择"LOG"选项。 1.3封锁出错信息:在某些情况下,例如存在大量输入输出错误需要程序修改时,可以使用"SLEEP"按钮手动封锁错误信息的弹出。解除封锁需通过服务窗口或模式切换到"AUTO"。 1.4认可警告信息:不同于错误信息,警告信息通常表示需要注意但不立即需要停止进程的事件。只需按下"ENTER"键,即可确认并继续操作。 1.5 登记信息用的符号:系统中不同的信息类型有不同的表示方式,如状态变化信息、警告信息和错误信息,每种都有其特定的标识,便于用户识别。 此外,文档还提到了测量机器人系统,如索佳的全站仪SRX和超级目标捕捉系统,它们可以实现高精度的遥控测量,提升测量效率。 这份文档对于理解和解决ABB机器人系统的错误和警告问题非常有帮助,同时也提供了关于系统操作和信息登记的详细指导。通过熟悉这些内容,操作员可以更有效地维护和优化ABB机器人的运行状态。
143 浏览量
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) ABB机器人的错误处理全文共4页,当前为第1页。 关于raise ABB机器人的错误处理全文共4页,当前为第1页。 RAISE用于在程序中产生一个错误,并调用程序的错误处理函数。 RAISE 同样可以在错误处理函数中使用,将当前错误传送给调用程序的错误处理函数。 这个指令可以用于跳回高一层的程序结构,例如,底层的错误返给主程序的错误处理函数。 参数: RAISE [ Error no. ] Error no的数据类型为 errnum。Error number: 错误处理程序可以通过ERRNO系统变量查找1和90之间任意数字的错误。 举例: MODULE MainModule VAR errnum ERR_MY_ERR := -1; PROC main() BookErrNo ERR_MY_ERR; IF di1 = 0 THEN RAISE ERR_MY_ERR; ENDIF ERROR IF ERRNO = ERR_MY_ERR THEN TPWrite "di1 equals 0"; ENDIF ENDPROC ENDMODULE 如果 di1 等于 0 产生一个错误. RAISE 会将程序推动到错误处理程序处执行。在这个程序中,用户创建了自己的错误号处理指定的错误。. 通过BookErrNo注册错误号并使用。 MODULE MainModule VAR num value1 := 10; VAR num value2 := 0; PROC main() routine1; ERROR IF ERRNO = ERR_DIVZERO THEN value2 := 1; RETRY; ! RETRY 指令用于当一个错误发生时,重新运行引起错误的指令。 ENDIF ENDPROC PROC routine1() value1 := 5/value2; !当value2为0的时候,这将导致一个错误。 ABB机器人的错误处理全文共4页,当前为第2页。 ERROR RAISE; ENDPROC ENDMODULE ABB机器人的错误处理全文共4页,当前为第2页。 关于错误处理 TRYNEXT - 跳过产生错误的指令,继续运行。 TRYNEXT 指令用于在产生一个错误后,程序运行产生错误的下一条语句。 示例 reg2 := reg3/reg4; ... ERROR IF ERRNO = ERR_DIVZERO THEN reg2:=0; TRYNEXT; ENDIF RETRY 指令用于从引起错误的地方恢复程序继续运行。 示例: reg2 := reg3/reg4; ... ERROR IF ERRNO = ERR_DIVZERO THEN reg4 :=1; RETRY; ENDIF reg3除以reg4,如果reg4等于0(零),那么跳转到错误处理程序,重新为reg4赋值。 然后RETRY从错误处理程序跳出,回到产生错误的除法指令,执行除法指令。 错误处理程序与机器人运动示例(在机