来源:电气自动化应用(头条)
正常状态下,PLC按照扫描顺序从上至下循环工作。以西门子300系列PLC举例,它一直循环扫描OB1中的程序。 也就是说你让PLC按照一定顺序进行工作,它就严格遵守从上至下的方式进行扫描程序。 那么针对一些紧急情况,这种工作方式就有一些不足了。比如一些串口的通讯。 
比如说这货! 
上图是松下伺服驱动器与PLC通讯的方式,因为数据的重要性,需要多次接受和发送数据进行校正。而这一过程对于时间的要求就很严格。所以虽然PLC的正常扫描周期也不长,但如果不使用中断的话很难保证其工作正常。 再有就是对于一些安全装置的设计,在一些特定场合,需要对安全装置,比如说急停按钮,光栅等进行快速的处理,而不是将它们写在通用程序里循环扫描。 除此之外还有一些系统特定功能的中断,也可以通过中断进行处理等等。 最后就是一些特定程序不需要扫描时间那么快,这种是时间中断,比如说PID的程序必须写到时间中断里。 以上就是西门子PLC的常见中断。 二其次是中断的优先级,中断为什么有优先级? 因为与可能会同时触发两个中断,那么哪个更重要一些呢?  西门子S7-200smart系统中断优先级顺序
通讯要求实效性最高,所以排在首位,其次是外部离散量中断,这可用于急停等需要特殊处理的状况。在这里提示大家不是所有的急停都需要使用中断,对于一些一般场合,还是使用普通程序较好一些。 最后是时间中断,时间中断可以使用慢于PLC扫描周期的时间作为执行周期。以处理类似PID这种情况。 熟悉我文章风格的都知道,理论和实际相结合。下面用几个例子教大家如何使用中断。 中断理解起来困难一些,操作起来很简单。 1 对于非时间中断,大家可以理解中断的编程是特定的条件快速启动特定的子程序。 

程序讲解,中断事件1为PLC扫描到I0.0下降沿,检测到该下降沿后暂停执行MAIN程序,而是直接执行INT0中断程序,在中断程序中,可以加一些对于该事件的处理,在中断程序执行后再返回到MAIN程序继续执行。 2 对于时间中断则更简单一些。时间中断大家可以理解为可以设定扫描时间的子程序。 西门子S7-200SMART共有两个时间中断,事件10和事件11。扫描时间由SMB34和SMB35设置。 
首先将SMB34设定时间,然后事件10启动中断程序INT1。 在中断子程序里,可以写一些程序,里面的程序就按照100ms的执行时间进行工作。 切记时间中断里面不需要写返回程序。
|