广东SIEMENS西门子PLC代理商
广东SIEMENS西门子PLC代理商
PLC循环扫描工作及中断处理过程
当PLC处于正常运行时,它将不断重复图2-10中的扫描过程,不断循环扫描地工作下去。为方便进一步分析上述扫描过程,暂不考虑远程I/O特殊模块和其他通信服务,这样扫描工作过程就只剩下输入采样、程序执行、输出刷新3个阶段,并用图2-11表示。
(1)输入采样阶段PLC在输入采样阶段,首先扫描所有输入端子,并将各输入状态存入内存中各对应的输入映像寄存器中。此时,输入映像寄存器被刷新。接着,进入程序执行阶段,在程序执行阶段和输出刷新阶段,输入映像寄存器与外界隔离,无论输入信号如何变化,其内容保持不变,直到下一个扫描周期的输入采样阶段,才重新写入输入端的新内容。
(2)程序执行阶段根据PLC梯形图程序扫描原则,PLC按先左后右、先上后下的顺序逐句扫描,但遇到程序跳转指令,则根据跳转条件是否满足来决定程序的跳转地址。
当指令中涉及I/O状态时,PLC就从输入映像寄存器中“读入”上一阶段采入的对应输入端子状态,从元件映像寄存器“读入”对应元件(软继电器)的当前状态。然后,进行相应的运算,运算结果再存入元件映像寄存器中。对元件映像寄存器来说,每一个元件(软继电器)的状态会随着程序执行过程而变化。
(3)输出刷新阶段在所有指令执行完毕后,元件映像寄存器中所有输出继电器的状态(接通/断开)在输出刷新阶段转存到输出锁存器中,通过一定方式输出,驱动外部负载。
PLC的中断处理
综上所述,外部信号的输入总是通过PLC扫描由“输入传送”来完成,这就不可避免地带来了“逻辑滞后”。PLC能不能像计算机那样采用中断输入的方法,即当有中断申请信号输入后,系统会中断正在执行的程序而转去执行相关的中断子程序;系统若有多个中断源时,它们之间按重要性是否有一个先后顺序的排队;系统能否由程序设定允许中断或禁止中断等。PLC关于中断的概念及处理思路与一般计算机系统基本是一样的,但也有特殊之处。
1)中断响应问题
一般计算机系统的CPU,在执行每一条指令结束时去查询有无中断申请。而PLC对中断的响应则是在相关的程序块结束后查询有无中断申请和在执行用户程序时查询有无中断申请,如有中断申请,则转入执行中断服务程序。如果用户程序以块式结构组成,则在每块结束或实行块调用时处理中断。
2)中断源先后顺序及中断嵌套问题
在PLC中,中断源的信息是通过输入点而进入系统的,PLC扫描输入点是按输入点编号的先后顺序进行的,因此,中断源的先后顺序只要按输入点编号的顺序排列即可。系统接到中断申请后,顺序扫描中断源,它可能只有一个中断源申请中断,也可能同时有多个中断源申请中断。系统在扫描中断源的过程中,就在存储器的一个特定区建立起“中断处理表”,按顺序存放中断信息,中断源被扫描过后,中断处理表亦已建立完毕,系统就按该表顺序先后转至相应的中断子程序入口地址去工作。
必须说明的是,多中断源可以有**顺序,但无嵌套关系。即中断程序执行中,若有新的中断发生,不论新中断的**顺序如何,都要等执行中的中断处理结束后,再进行新的中断处理。因此,在PLC系统工作中,当转入下一中断服务子程序时,并不自动关闭中断,所以,也没有必要去开启中断。
3)中断服务程序执行信息输出问题
PLC按巡回扫描方式工作,正常的I/O在扫描周期的一定阶段进行,这给外设希望及时响应带来了困难。采用中断输入,解决了对输入信号的高速响应。当中断申请被响应,在执行中断子程序后有关信息应当尽早送到相关外设,而不希望等到扫描周期的输出传送阶段,就是说对部分信息的I/O要与系统CPU的周期扫描脱离,可利用专门的硬件模块(如快速响应I/O模块)或通过软件利用专门指令使某些I/O立即执行来解决。
tianxia56.b2b168.com/m/