1.4.1 PLC的循环扫描与中断
PLC的“扫描”过程分为三个阶段(见图1.13)。
1)输入采样阶段
输入接口电路时刻监视着输入点的通、断状态。CPU执行程序前首先将输入设备(连接在PLC上的按钮开关等,如图1.4中的SB1、SB2)的通、断信息通过输入接口电路采集进来,转变成PLC的CPU能接受的标准电平信号——输入设备的“通”状态存于存储单元中就是“1”,“断”状态存于存储单元中就是“0”。此状态暂存于PLC的输入映像区(暂存器,如图1.13所示)中。每一输入点都有一个与其对应的输入暂存器。完成输入端刷新工作后,转入下一步工作过程,即程序执行阶段。
特别提示
在程序执行期间即使输入端的状态发生变化,输入映像寄存器的内容也不会发生改变,而这些变化必须等到下一个扫描工作周期的输入采样阶段才能被读入。
2)程序执行阶段
对用户的控制程序,CPU从第一条指令开始执行,并将相应的逻辑运算结果存入对应的内部辅助寄存器和输出状态锁存器。当最后一条控制程序执行完毕后,即转入输出刷新阶段。
特别提示
在程序执行阶段,只有输入映像寄存区存放的输入采样值不会发生改变,其他各种数据在输出映像区或系统RAM存储区内的状态都有可能随着程序的执行随时发生改变。前面执行的结果可能被后面的程序用到,从而影响后面程序的执行结果;而后面程序执行的结果不可能改变前面的扫描结果,只有到了下一个扫描周期再次扫描前面程序的时候才有可能起作用。但是,在扫描过程中如果遇到程序跳转指令,就会根据跳转条件是否满足来决定程序的跳转地址。当指令中涉及输入、输出状态时,PLC从输入映像寄存器中“读入”上一阶段存入的对应输入端子状态。从输出映像寄存器“读入”对应输出映像寄存器的当前状态。然后,进行相应的运算,运算结果再存入元件映像寄存器中。对于元件映像寄存器来说,每一个元件(输出软继电器)的状态都会随程序执行过程而变化。
3)输出刷新阶段
PLC的CPU从输入映像区中读取输入信息并带入到程序中解算运行,解算运行的结果通过输出接口电路控制输出设备(连接在PLC上的被控设备,如图1.4中的KM1、KM2)的通、断运行。
输出接口电路有输出锁存器。它有高、低电位两个状态,并可锁存。同时,它还有相应的物理电路,可把这个高、低电位状态传送给输出点(高电位使输出回路接通,低电位使输出回路断开)。每一输出点都有一个与其相对应的输出锁存器。
这里的暂存器及锁存器实际是PLC的I/O电路的寄存器。它们与PLC内存交换信息是通过PLC的I/O总线及运行PLC的系统程序实现的。
特别提示
从信息传递和转换的过程看,PLC的输入刷新实质上是把输入映像区的信息读到PLC内存中的过程。PLC内存专门开辟有存放输入信息的映射区。这个区的每一对应位(bit)称为输入继电器,或称为软触点,或称为过程映射输入寄存器(Process-image Input Register)。这些位置成1表示触点通,置成0表示触点断。它的状态只有输入刷新时才能得到,所以它反映的就是输入点通、断的实时状态。
锁存器与PLC内存中的输出映射区是对应的。一个锁存器有一个与其相对应的内存位(bit),这个位称为输出继电器,或称输出线圈,也称为过程映射输出寄存器(Process-image Output Register)。通过PLC的I/O总线及运行系统程序,输出继电器的状态将映射给锁存器。这个映射的完成也就是输出刷新。
图1.13 PLC的循环扫描过程
PLC除了循环扫描工作方式,还有中断方式。在中断方式下,需处理的控制先请求中断,被响应后,PLC的CPU停止正在运行的程序,转而去处理有关中断服务程序。待处理完中断,又返回来运行原来的程序。哪个控制急需处理,哪个控制就去请求中断;哪个不需处理,将不被理睬。显然,中断方式与扫描方式是不同的。
中断方式也称为事件触发方式。有了事件发生,即去处理有关的事件处理程序。否则,PLC处于待机状态。
在中断方式下工作,计算机资源能得到充分利用,紧急的任务也能得到及时的处理。
将扫描和中断结合起来,大量控制都用扫描方式处理,个别紧急的用中断处理,这样既可照顾全局,又可应急处理个别紧急或重要的事件。目前的PLC都采用了这种扫描加中断的工作方式。