中断程序经常会用于出错处理、外部信号的响应这种实时响应要求高的场合。
Trap可以通过return指令终止运行,也可通过例行程序的结束标识(ENDTRAP、ERROR)终止运行。然后在中断触发点继续执行。
Trap例行程序提供了处理中断的方法。一个中断例行程序必须通过CONNECT指令与某个特定的中断链接。一旦中断触发,控制会立即转移到相应的Trap例行程序;如果中断触发,但是没有相关联的Trap例行程序,将被视为致命错误,比如程序立即停止运行。
中断指令
ISignalDI/Connect /IDelete
ISignalDO使用一个数字输出信号触发中断
现以一个传感器的信号进行实时监控为例编写一个中断程序:
① 在正常情况下,nCountBule的信号的0.
② 如果 nCountBule 的信号从0变成1,就对 nCountBule 数据进行加1的操作。操作步骤:
1.新建例行程序,设定名称,类型选择“中断”,然后单击“确定”。
2.在中断程序中,添加如图中所示的指令。
3.在例行程序“InitAll()”中,添加指令“IDelete”(取消指定的中断)。
4.选择“intno1”(如果没有的话,就新建一个),然后单击“确定”。
5.选 择“CONNECT”指令(连接一个中断符号到中断程序)。
6.双击“”进行设定,选中“intno1 ”,然后单击“确定 ”。
7.双击“”进行设定,选择要关联的中断程序 “rInterrupt”,然后单击“确定”。
8.选择指令“ISignalDI”(使 用一个数字输入信号触发中断)。选择“DI_CHECKOK”,然后单击“确定”。
9.双击此指令( * 提 示:ISignalDI 中的 Single 参数启用,则此中断只会响应
10.DI_CHECKOK一次;若要重复响应,则将其去掉,单击“可选变量 ”。
11.单 击“\Single”进入设定画面。
12.选中 “\Single”,然后单击“不使用”,单击“关闭 ”。
13.设定完成,此中断程序只需在初始化例行程序rInitAll 中执行一遍,即在程序执行的整个过程中都生效。
更多产品信息,请点击关注:ABB机器人