我们以三菱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。

1.《001信号中断是什么意思》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《001信号中断是什么意思》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/why/2197833.html