对PLC用户程序的循环扫描执行过程,可分为输入采样、程序执行、输出刷新三个阶段。 1.输入采样阶段 在输入采样阶段,PLC以扫描方式将所有输入端的输入信号状态(ON/OFF状态)读入到输入映像寄存器中寄存起来,称为对输入信号的采样。接着转入程序执行阶段,在程序执行期间,即使输入状态变化,输入映像寄存器的内容也不会改变。输入状态的变化只能在下一个工作周期的输入采样阶段才被重新读入。 2.程序执行阶段 在程序执行阶段,PLC对程序按顺序进行扫描。如程序用梯形图表示,则总是按先上后下、先左后右的顺序扫描。每扫描到一条指令时所需要的输入状态或其他元素的状态,分别由输入映像寄存器或输出映像寄存器中读入,然后进行相应的逻辑或算术运算,运算结果再存入专用寄存器。若执行程序输出指令时,则将相应的运算结果存入输出映像寄存器。 3.输出刷新阶段 在所有指令执行完毕后,输出映像寄存器中的状态就是欲输出的状态。在输出刷新阶段将其转存到输出锁存电路,再经输出端子输出信号去驱动用户输出设备,这就是PLC的实际输出。PLC重复地执行上述三个阶段,每重复一次就是一个工作周期(或称扫描周期)。工作周期的长短与程序的长短有关。 由于输入/输出模块滤波器的时间常数,输出继电器的机械滞后以及执行程序时按工作周期进行等原因,会使输入/输出响应出现滞后现象,对一般工业控制设备来说,这种滞后现象是允许的。但一些设备的某些信号要求做出快速响应,因此,有些PLC采用高速响应的输入/输出模块,也有的将顺序程序分为快速响应的高级程序和一般响应速度的低级程序两类。如FANUC-BESKPLC规定高级程序每8ms扫描一次,而把低级程序自动划分分割段,当开始执行程序时,首先执行高级顺序程序,然后执行低级程序的分割段1,然后又去执行高级程序,再执行低级程序的分割段2,这样每执行完低级程序的一个分割段,都要重新扫描执行一次高级程序,以保证高级程序中信号响应的快速性。
PLC程序循环扫描执行过程解析