四、PLC的扫描机制
可编程控制器可以被看成是在系统软件支持下的一种扫描设备,它一直在周而复始地循环扫描,并执行由系统软件规定好了的任务。
PLC的扫描周期能够保证系统正常运行的公共操作、系统与外部设备信息的交换和用户程序的顺利执行。
另外,不同可编程控制器的运算速度不同,执行不同指令所用的时间也不同。一般来说各PLC执行指令的时间越短,越能缩短扫描周期,以保证系统的高响应性能。
1.PLC的扫描过程
PLC的扫描规定了从扫描过程中的一点开始,经过顺序扫描又回到该点的过程为一个扫描周期。
PLC的扫描周期是由三部分组成的,部分的扫描时间基本是固定的,但会随着机器类型而有所不同。第二部分并不是每次扫描都有的,占用的扫描时间也是变化的。第三部分随用户控制程序的变化而变化,程序有长有短,而且在各个扫描周期中也随着条件的不同而影响程序长短的变化。
当PLC通电运行后,就由左往右、自上向下的循环执行程序,并不停地刷新输入输出映像寄存器区,如此循环运行不止,这就是PLC的扫描概念,把扫描执行一次所需要的周期时间称为扫描周期,扫描过程如图1-8所示。
图1- 8 扫描过程图示这里以施耐德TwidoSoft编程软件为例,说明一下PLC系统在每个扫描周期CPU都会检查输入和输出的状态,并配有特定的存储器区保存模块的数据,CPU在处理程序时访问这些寄存器,访问过程映像的示意图如图1-9所示。
图1- 9 过程映像示意图上图中的触点1连接的是端子%I0.1,触点2连接的端子是%I0.3,线圈1连接的是%Q0.0,过程映象输入%I建立在CPU存储器区,所有输入模块的信号状态存放在这里,过程映象输出%Q包含程序执行的结果值,在扫描结束时会传送到实际输出的模块上。在用户程序中检查输入时,如输入的%I0.1和%I0.3使用的是CPU存储区里的状态,这样就保证在一个扫描周期内使用了相同的信号状态了,程序的执行原理图如图1-10所示。
图1- 10 程序的执行原理图另外,为了增强PLC的抗干扰能力,提高其可靠性,PLC的每个开关量输入端都采用光电隔离等技术。
2.PLC的中断处理过程
一般微机系统的CPU,在每一条指令执行结束时都要查询有无中断申请。而PLC对中断的响应则是在相关的程序块结束后再查询有无中断申请,或者在执行用户程序时查询有无中断申请,如有中断申请,则转入执行中断服务程序。如果用户程序以块式结构组成,则在每个块结束或执行块调用时来处理中断申请。