当一台plc控制柜(变频控制柜)在运行时,PLC(可编程逻辑控制器)的通信工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新。上述三个阶段的完成称为一个扫描周期。在整个操作期间,PLC的CPU以一定的扫描速度重复执行上述三个阶段。
1.输入采样级
在输入采样阶段,PLC以扫描方式依次读入所有输入状态和数据,并存储在I/O图像区的相应单元中。输入采样后,进入用户程序执行和输出刷新阶段。在这两个阶段中,即使输入状态和数据发生变化,I/O映射区中相应单元的状态和数据也不会发生变化。因此,如果输入是脉冲信号,脉冲信号的宽度必须大于一个扫描周期,以确保在任何情况下都可以读取输入。
2.用户程序执行阶段
在用户程序执行阶段,PLC总是从上到下扫描用户程序(梯形图)。扫描每个梯形图时,总是先扫描梯形图左侧触点组成的控制电路,按照先左后右、先上后下的顺序对触点组成的控制电路进行逻辑运算,然后根据逻辑运算的结果刷新系统ram存储区中逻辑线圈对应位的状态;或者刷新I/O图像区中输出线圈对应位的状态;或者是否执行梯形图中指定的特殊功能指令。
即在用户程序执行过程中,只有I/O映像区中输入点的状态和数据不会发生变化,而I/O映像区或系统ram存储区中其他输出点和软设备的状态和数据可能会发生变化,顶层梯形图的程序执行结果会在底层使用这些线圈或数据的梯形图中发挥作用;相反,在底部的梯形图中,逻辑线圈的刷新状态或数据只能在下一个扫描周期作用于它上面的程序。
在程序执行过程中,如果使用立即I/O指令,可以直接访问I/O点。也就是说,如果使用I/O指令,输入进程映像寄存器的值不会更新,程序会直接从I/O模块取值,输出进程映像寄存器会立即更新,这和立即输入有些不同
3.输出刷新阶段
扫描用户程序后,PLC进入输出刷新阶段。在此期间,CPU根据I/O图像区域的相应状态和数据刷新所有输出锁定电路,然后通过输出电路驱动相应的外围设备。这是PLC的真实输出。