您现在的位置是:首页 > PLC技术 > PLC技术
FP1系列PLC的ICTL、INT、IRET指令
来源:艾特贸易2018-05-11
简介ICTL 为设置中断控制指令; INT 为启动一个中断程序指令; IRET 为中断程序结束并返回主控程序指令。 应用举例: ICTL 、 INT 、 IRET 指令应用的梯形图,见图 6-68 。其操作数为 16 位等值
ICTL为设置中断控制指令;
INT为启动一个中断程序指令;
IRET为中断程序结束并返回主控程序指令。
应用举例:ICTL、INT、IRET指令应用的梯形图,见图6-68。其操作数为16位等值常数或16位数据区。
图6-68 梯形图
当检测到中断控制触发脉冲X10的上升沿时,中断源X3使能(原因后述),其他中断源禁止。在X3的上升沿处正在执行的程序立即停止,转而执行INT3和IRET指令之间的中断程序。中断程序执行完毕后,返回到ICTL指令处,按顺序执行ICTL指令下面的程序。
使用说明:
1)中断程序的个数中断程序的个数:FP1的C24、C40、C56、C72为9个中断程序,而C14、C16无中断功能。
2) ICTL指令ICTL指令可设定所有中断源使能/不使能,每次执行ICTL指令后,中断的类型以及中断源是否使能的设定即已完成,这一设定由S1和S2确定。为确保中断控制信号的上升沿到来时只执行一次ICTL指令,指令ICTL应与DF指令连用,多个ICTL指令可使用一个中断触发信号。
特殊数据寄存器DT9025用于监控每一个外部启动中断源的当前使能/不使能状态。
特殊数据寄存器DT9027用于监控定时启动中断的当前中断时间间隔的设定。
S1设定中断类型见表6-59。
S2的设定需根据S1中的控制字来设定中断状态。
a.当S1的设定值为H0时:每个外部启动中断源(包括高速计数器起动中断)是屏蔽还是非屏蔽状态由S2设定。
表6-59 设定中断类型
位址与中断程序的关系见表6-60。
表6-60 位址与中断程序的关系
当与INT各自标号相对应的位设定是1时,相应的中断源有效。采用外部启动中断时,一定要先设置系统寄存器N0.403的控制字。
b.当S1的设定值为H100时,S2设定外部启动中断触发源为清除状态。
当与各自中断源相对应的位设置是0时,清除相应的中断源。
c.当S1的设定值为H2时:S2设定定时启动中断的中断时间间隔。
定时启动中断的时间间隔(ms)由下式确定:
间隔时间= 10S2
S2的设定范围:K0~K3000。当S2的设定值为K0时,不执行定时启动中断。
由于中断源(包括检测为屏蔽状态的中断源)直到执行完特定的中断程序后仍不能复位,因此用户需根据自己的需要利用ICTL指令设定每个中断源是否为复位状态。
在PLC的工作方式由“PROG”转换到“RUN”时,所有的中断程序均不能使能。因此在使用之前,应根据需要利用ICTL指令设置中断的使能/不使能状态。
在程序中可以有多个ICTL指令,且ICTL指令可以编程在一个中断程序中间。
3) INT和IRET指令当检测到相应中断脉冲上升沿时,执行INT和IRET指令之间的程序。IRET指令结束中断程序并返回执行主程序。
注意:应将INT和IRET指令对放在ED指令之后,且INT指令的地址标号应比相应的IRET指令地址标号小。
最多使用9个中断程序。每条INT指令对应的中断源见表6-61。
表6-61 INT指令对应的中断源
4)中断程序的运行
a.如果中断设为非屏蔽方式,当“0”号中断源( X0)为ON时,执行与其标号相对应的中断程序(INT0)。如果中断设为屏蔽方式,即使“0”号中断源接通,中断程序(INT0)也不执行。当程序执行到由ICTL设定为非屏蔽方式处时,开始执行中断程序(INT0),其时序图见图6-69。
b.在执行中断程序INT0期间,如果另一中断源“1”(X1)接通,将继续执行中断程序INT0,直到执行完毕才开始执行中断程序INT1。
c.如果多路中断源同时接通,中断程序按程序的标号顺序先从标号最低的开始执行,其他中断程序保持等待状态。
d.在某一中断程序执行期间,如果有其他中断源接通,CPU继续执行原中断程序,直至执行完毕才开始执行新的中断程序。新的中断程序会因此而被延时执行,如果不希望再执行延时的中断程序,可利用ICTL指令使其复位。
图6-69 时序图
(作者稿费要求:需要高清无水印文章的读者3元每篇,请联系客服,谢谢!在线客服:)
点击排行
