通过实例玩转三菱PLC之中断的使用
三菱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启动后自动开始进行彩灯移位闪亮。需要下载到硬件中去仿真。
写文不易,若觉得不错给个关注、点赞和转发。
电气工程师专业讲解三菱PLC中断指令的使用方法,有料
我们以三菱PLC为例,了解一下,什么是中断。
一套程序可以分为主程序区,还有子程序区,中断程序区等等,主程序区的程序是无时无刻都会扫描执行的,而子程序还有中断程序就必须触发某些条件,然后程序会停止运行主程序,跳到指定运行的中断程序里面区运行。在一段程序里面,主程序是必须有的,其他程序可以选择是否需要。
如下图,是一段程序,有一段主程序,还有2段中断程序I001和I200。假如只有主程序,那么程序结尾就需要一个END指令就可以,如果别别的程序,就需要和下图一样,在主程序区尾端假如一行FEND,主程序结束指令,把主程序和其他程序区分开。
中断程序写在主程序的后面,在左母线的左边输入中断程序的编号,I1代表从这一行开始是I001中断程序(中断指令的编号是3位的,I1就是I001)结束的标准是IRET。第二段中断程序从左母线I200的符号开始,结束时到IRET。这两段中断程序都比较段只有1行程序。
主程序时无时无刻执行的,那么中断程序怎么来触发的呢。首先,看我们程序的第一行,有一条EI指令,代表的是打开中断的功能,这个时候中断就被允许调用了。怎么通过来调用呢?有3种调用的方式。
第一种,外部中断
如下图,我们更改用的中断的编号其中一个是I001,那么对应的应该是X0的上升沿,也就是说,我们外部按下X0的按钮的一瞬间,这一段中断程序就会运行,只运行一个plc的扫描周期,然后又跳回主程序,只运行了一次;又比如I200这段中断程序,需要触发X2的下降沿,就可以跳出主程序,执行I200这一段中断程序,执行一次后又跳回主程序。其他几个X点的不同信号分别对应了不同的中断程序编号。我们可以随意选择。
第二种,定时器中断
如下图的I620的中断指针,代表的是每20ms执行一次中断程序,假如是I630,那么就是30ms执行一次中断的程序,时间的设定可以从10到99ms这个时间随意设置。中断的指针编号由6、7、8这3个,时间都可以自己设定。
第三种,高速计数器中断
指针的编号有6个,从I010到I060,我们可以用高速计数器计算X点的脉冲数,然后通过DHSCS这一条高速中断指令进行设定,控制我们对应的中断指针执行,比如我们下图,就是计数达到1000个脉冲的时候执行中断指针I010。
(技成原创,作者:陈育鑫,未经授权不得转载,违者必究!)
往期优秀文章回顾:
总结无数电工忽视的49个技术习惯误区,别拿生命“开玩笑”
相关问答
三菱plcfx3u中断程序怎么写?
您好,在三菱PLCFX3U中,中断程序可以通过以下步骤编写:1.在程序编辑界面中,选择“中断程序”选项卡。2.点击“新建”按钮创建新的中断程序。3.编写中断...
三菱中断脉冲指令?
三菱plc发冲脉的步骤如下设置需要脉冲的时间,用时间继电器t的就可以,电路编成循环的。在第一次脉冲完成中断里面执行pls指令可以不断地发脉冲。按下按钮的...
三菱中断程序怎么处理?
中断一旦形成,程序就会直接跳转到中断程序里去执行中断程序里的程序,中断程序执行完了,如果中断信号还有的话,PLC就继续执行中断,直到中断信号没有或某些可...
fx2n中断程序如何编写?
三菱PLC在规定日期定时停机,这个程序非常好编写,方法也有很多。以三菱FX2N的PLC为例,我可以告诉你一种“在超出规定的开机时间里停机”的方法,用三菱PLC的自...
三菱plc中断和高速比较指令区别?
三菱PLC中断指令和高速比较指令的区别如下:1.功能不同:中断指令用于处理紧急事件的中断程序,可以在PLC运行过程中随时中断并执行中断程序;而高速比较指令用...
三菱PLC程序中怎么暂停?
暂停是指动作流程暂停吧;大致地说,程序接收到暂停信号后,使有关输出复位、保持、或达到条件后复位,视编程要求而定;暂停时需保证运行机构的安全。编程时,...
三菱QA1S65B三菱plc的中断什么意思
[回答]输出形式:晶体管输出(源型)。输入总数:--。输出总数:8点。用于小型设备、小点数配电箱的省空间化经济型欧姆龙cj1w-clk23。微型PLC的标准机型。小型...
三菱plc如何强制输出或停止?
在三菱PLC中,强制输出或停止可以通过以下步骤进行操作:1.打开PLC编程软件(例如GXWorks2或GXWorks3)并连接到PLC。2.打开程序编辑器,并找到您想要强制输...
三菱drva指令如何暂停?
三菱PLC中是没有暂停指令的。在暂停时你想实现什么功能。是让所有输出保持现状还是所有输出都停止或是保持部分输出。如果让所有输出都停止那相对来说就比较简...
三菱plc的ei指令详解?
三菱PLC的EI(ExternalInterrupt)指令是一种特殊的指令,用于处理外部中断信号。该指令允许PLC在特定条件下对外部中断进行响应并执行相应的操作。EI指令的使...