三菱FX系列PLC的中断事件包括输入中断、计时器中断和高速计数器中断。发生中断事件时,当前命令执行完成后,当前正在运行的程序将停止。操作系统立即调用用户编写的事件中指定的中断程序,并在中断程序执行完成后从暂停的地方继续执行。
这一过程不受PLC得扫描方式影响。换句话说就是当中断事件发生,马上调用中断程序。1、中断的指针
用来指明某一中断源的中断程序入口,执行到中断返回指令IRET,返回中断事件出现时正在执行的程序。中断程序应放在FEND后面。
1)输入中断(I[]0[])
第一个空即I后第一位为产生中断的输入寄存器的软元件号,0后面的空为0或1,0代表下降沿中断,1代表上升沿中断。比如X5的下降沿产生中断,则中断指针为I500。
2)定时器中断(I[][][]),
一般有3点定时器中断,I6** ~ I8**,表达式中的低两位**代表以ms为单位的中断周期,I6,I7,I8开始定时器中断指针分别只能使用一次,定时器中断使PLC以指定的中断循环时间(10~99ms)周期性的执行中断子程序,循环处理某些任务,处理时间不受PLC扫描周期的影响。
3)高速计数器中断
中断指针为I010~I060,要与高速计数器比较指令置位指令HSCS配合使用,根据高速计数器的计数当前值与计数设定值的关系来确定是否执行相应的中断服务程序。
2、与中断相关的指令
中断返回指令IRET,允许中断指令EI和禁止中断指令DI,均无操作数,分别占一个程序步。
EI-----DI区间为允许中断范围,DI指令禁止处理所有的中断事件,允许中断排队等候,但是不允许执行中断程序,直到中断允许指令EI重新允许中断,用中断返回指令IRET来表示中断程序结束。
3、特殊辅助寄存器
M8050~M8055为1时,分别禁止处理X0~X5产生的中断
M8056~M8058为1时,分别禁止处理I6** ~ I8**的定时器中断
M8059为1时,禁止处理所有的计数器中断。
举例说明如何调用的中断:
主程序:EI允许中断
X0的上升沿触发中断:复位测量结束为标志Y0,清除D0中的值,然后启动1ms的T246开始定时,退出X0中断程序后,T246继续定时
X1下降沿触发中断,来保存测量值,置位测量结束标志Y0,用Y0的常闭触点断开T246的线圈,用M8000的常开触点将T246复位。
离开X1的中中断程序I100后,在该程序用RST指令对T246的复位有保持功能,需要在用指针I1的表示X0的中断程序开始时,用一直断开的M8000的常闭触点来解除对T246的复位作用,否则T246不能再次定时。T246为1ms,最大设定值为32767,即X0和X1产生中断时间间隔应小于32.767s。
注:三菱PLC不能对中断进行仿真,需要下载到硬件中来操作。
基于中断的彩灯控制
这个就是PLC启动后自动开始进行彩灯移位闪亮。需要下载到硬件中去仿真。
写文不易,若觉得不错给个关注、点赞和转发。