PLC、电工、变频器、制造业技术人才分享交流!
今天小编给大家讲解一下中断相关的内容,包括中断的一些基础概念, 以及中断相关的指令。
举个例子,小王在看书的时候电话响了,他中断看书的动作,去接电话的过程,这就是中断,那么等电话接完之后,他可以再继续看书。再比如:小李在工作中的时候,同事小刘有事找他,小刘找他谈论的时候,小李得停下手里的工作,这也是中断。
那么在我们PLC中,中断是指在主程序的执行过程中,当中断请求发生时,中断主程序的执行,去执行中断子程序,执行完中断程序后再返回到刚才中断的主程序处继续执行。中断不受扫描工作方式的影响,使PLC能迅速响应中断事件。
要实现中断功能,首先要向PLC发出中断请求信号,而发出中断信号的设备就称为中断源。FX5U PLC有四种中断源,也就是我们所说的中断事件,包括输入中断、高速比较一致中断、内部定时器中断和来自模块的中断。这些中断事件都有对应的中断指针,如下图。
中断优先度是指发生多重中断时的执行顺序。数值越小,中断优先度越高。执行条件成立的程序的中断优先度高于执行中的程序的中断优先度时,按照中断优先度执行程序。中断优先度相同或较低时,在执行中的程序结束之前将处于等待状态。而中断优先顺序是指发生相同中断优先度的中断源时的执行顺序。
FX5U PLC中断指针编号及中断原因的优先度如下图:
关于中断优先度,是可以在GX WORKS3软件中进行设置的。
GX WORKS3的中断优先度的设置方法:在导航窗口→ 参数→ FX5UCPU → CPU参数→ 中断设置→ 模块的中断优先度设置。
中断优先度可以是1、2、3,默认是优先度为2的,我们可以在以上的界面中将优先度进行修改就可以了。
了解了中断的一些基础知识之后,要学习中断相关的指令。对于FX5U PLC的中断指令,是比FX3U等一些老系列PLC要多的,包括有中断允许指令EI、中断禁止指令D、从中断程序返回指令IRET、指定优先度以下的中断禁止DI指令,此外还有中断程序屏蔽指令IMASK、指定中断指针的禁止/允许指令SIMASK。下面讲解几个常用的指令。
中断允许指令EI:可使CPU模块变为中断允许状态。
中断禁止指令DI:禁止中断程序的执行。
指定优先度以下的中断禁止DI指令:该指令是有操作数的,即使执行了操作数S中指定的优先度以下的中断程序的启动条件,在执行EI指令之前也将禁止中断程序的执行。
从中断程序返回指令IRET:进行主程序处理中如果发生中断(输入、定时器),跳转至中断程序后,执行到IRET指令时,表示中断程序的处理结束。无条件返回到主程序继续往下执行。
中断指针I:在中断程序起始处作为标签使用的软元件,指明中断程序的入口。
下图就是一般的中断程序结构。在开中断的范围内,当中断事件触发时,就执行指定的中断程序。