控制点 I/O 中断指令
1.指令与功能
中断是系统对异常情况的处理,中断功能一旦使能(启用),只要中断条件满足,系统可立即终止现行程序的执行,直接转入中断程序(Trap routines,简称 TRAP),而无需进行其他编程。有关中断程序的结构和格式,
实现 RAPID 程序中断的方式有两种:一是机器人关节、直线、圆弧插补轨迹上的定点中断(控制点中断);二是在其他情况下的中断。由于控制点中断同样需要通过 I/O 控制插补指令 TriggJ、TriggL、TriggC 来实现,且与 I/O 控制点设定密切相关,在此一并说明如下;有关 RAPID 程序中断控制功能的详细内容
RAPID 控制点中断方式有无条件中断和 I/O 检测中断(条件中断)两种。无条件中断可在指定的插补控制点上,无条件停止机器人运动、结束当前程序,并转入中断程序的执行;条件中断可通过对插补控制点的 I/O 状态检测和判别,决定是否需要进行程序中断。控制点中断同样需要通过第 5 章所述的中断连接指令(CONNECT)连接中断程序(TRAP),并可通过使能、禁止、删除、启用、停用等基本中断控制指令控制中断。
控制点中断、I/O 检测中断均可在机器人关节、直线、圆弧插补轨迹的控制点上进行,控制点需要利用相应的中断控制点设定指令定义。中断控制点的数据同样以控制点数据 triggdata 的形式保存;移动指令仍使用 I/O 控制插补指令 Trigg J、Trigg L、Trigg C,但指令中的控制点应为无条件或条件中断点 I/O 检测点。
控制点中断的优先级高于控制点输出,如中断点同时又被定义为输出控制点,则系统将优先执行控制点中断。
控制点中断指令及编程格式见表 4.4-2。
2.控制点中断指令
RAPID 控制点中断可用于机器人关节、直线、圆弧插补轨迹指定位置的无条件中断,控制点需要通过控制点中断设定指令 Trigg Int 定义,并以控制点数据 triggdata 的形式保存;这一控制点如被 I/O 控制插补指令 Trigg J、Trigg L、Trigg C 引用,机器人到达控制点时,系统可无条件终止现行程序而转入中断程序。
控制点中断设定指令 Trigg Int 的编程格式及程序数据要求如下。
Trigg Int Trigg Data, Distance [\Start] | [\Time], Interrupt ;
程序数据 TriggData、Distance 及添加项\Start 或\Time,用来设定中断控制点的位置,其含义与输出控制点设定指令相同;程序数据 Interrupt 用来定义中断名称,其数据类型为 intnum,它可用来连接中断程序。
控制点中断可通过 I/O 控制插补指令 Trigg J、Trigg L、Trigg C 来实现,但指令中的控制点应为中断点。中断设定指令 Trigg Int 及控制点中断的编程示例如下,程序所对应的中断控制功能如图 4.4-4 所示。
VAR intnum intno1 ; // 中断名称定义
VAR triggdata trigg1 ; // 控制点定义
……
!**********************************
PROC main()
CONNECT intno1 WITH trap1 ; // 中断程序连接
Trigg Int trigg1, 5, intno1 ; // 中断设定
……
Trigg J p1, v500, trigg1, z50, gun1 ; // 控制点中断
Trigg L p2, v500 , z50, gun1 ;
Trigg L p3, v500, trigg1, z50, gun1 ; // 控制点中断
……
Idelet intno1 ; // 删除中断
……
3.I/O 检测中断指令
I/O 检测中断指令可在机器人关节、直线、圆弧插补轨迹的控制点上,通过对指定 I/O 信号的状态检查和判别,决定是否需要终止现行程序而转入中断程序。控制点需要通过 I/O 检测中断设定指令 Trigg Check IO 定义,并以控制点数据 triggdata 的形式保存;这一控制点如被 I/O 控制插补指令 Trigg J、Trigg L、Trigg C 引用,在机器人到达控制点时,系统可检查指定 I/O 信号的状态,决定是否需要中断。
I/O 检测中断设定指令 Trigg Check IO 的编程格式及程序数据要求如下。
Trigg Check IO Trigg Data, Distance [\Start] | [\Time], Signal, Relation,
Check Value |Check Dvalue [\Stop Move], Interrupt ;
程序数据 Trigg Data、Distance 及添加项\Start 或\Time,用来设定中断控制点的位置,其含义与输出控制点设定指令相同;其他程序数据及添加项的含义、编程要求如下。
Signal:检测信号名称,数据类型 signal**或 string(字符串型信号名称),signal**中的「**」可为 di(开关量输入 DI)、do(开关量输入 DO)、ai(模拟量输入 AI)、ao(模拟量输出 AO)、gi(开关量输入组 GI)、go(开关量输出组 GO)。
Relation:文字型比较符,数据类型 opnum;可使用的符号及含义见第 2.4 节。
Check Value或Check Dvalue:比较基准值,数据类型为 num 或 dnum。
\Stop Move:运动停止选项,数据类型 switch。增加本选项,可在调用中断程序前立即停止机器人运动。
Interrupt:中断名称,数据类型 intnum。
I/O 检测中断可通过 I/O 控制插补指令 Trigg J、Trigg L、Trigg C 来实现,但指令中的控制点应为 I/O 检测中断点,I/O 检测中断设定指令及控制点中断的编程示例如下,程序所对应的中断控制功能如图 4.4-5 所示。
VAR intnum gateclosed ; // 中断名称定义
VAR triggdata checkgate ; // 控制点定义
……
!**********************************
PROC main()
CONNECT gateclosed WITH waitgate ; // 中断程序连接
Trigg Check IO checkgate, 5, di1, EQ, 1\Stop Move, gateclosed ; //中断点设定
……
Trigg J p1, v600, checkgate, z50, grip1 ; // 中断控制
Trigg L p2, v500, checkgate, z50, grip1 ; // 中断控制
……
Idelet gateclosed ; // 删除中断
……
了解更多ABB机器人知识欢迎点击咨询:ABB机器人集成
- 下一篇:ABB机器人示教器的结构和操作简介
- 上一篇:abb机器人如何操作速度控制指令