PLC的扫描周期包括上电后初始处理、共同处理、上位链接服务、外设服务、运算处理、I/O刷新。
PLC采用循环扫描的工作方式,在PLC中用户程序按先后顺序存放,CPU从第一条指令开始执行程序,直到遇到结束符后又返回第一条,如此周而复始不断循环。PLC的扫描过程分为内部处理、通信操作、程序输入处理、程序执行、程序输出几个阶段。全过程扫描一次所需的时间称为扫描周期。当PLC处于停状态时,只进行内部处理和通信操作服务等内容。在PLC处于运行状态时,从内部处理、通信操作、程序输入、程序执行、程序输出,一直循环扫描工作。
当PLC运行时,CPU就要执行用户程序中的操作。但是CPU不可能同时执行多个操作,只能分时地一个操作一个操作地执行。PLC利用系统软件在其内部建立了输入输出映像区,当PLC的CPU执行用户程序时,从输入映像区中读取输入信号的状态,进行相应的操作。
当CPU执行完第一个操作后,将操作结果输出到输出映像区,然后再执行第二个操作,操作结果送到输出映像区。在程序执行过程中,PLC并不读取输入信号的真正状态,执行结果也并没有输出到PLC外部。只有当程序执行到结束指令(END)时,将输出映像区中执行结果向PLC外部输出一次,将输入信号的状态读取一次送到输入映像区。对输入输出信号的这一操作过程称为I/O刷新。I/O刷新完成后,CPU再从用户程序的第一条指令开始,进行下一次程序执行。PLC的这种工作方式被称为扫描方式。
1.输入处理
输入处理也叫输入采样。在此阶段,顺序读入所有输入端子的通端状态,并将读入的信息存入内存中所对应的映象寄存器。在此输入映象寄存器被刷新。接着进入程序执行阶段。在程序执行时,输入映象寄存器与外界隔离,即使输入信号发生变化,其映象寄存器的内容也不会发生变化,只有在下一个扫描周期的输入处理阶段才能被读入信息。
2.程序执行
根据PLC梯形图程序扫描原则,按先左后右先上后下的步序,逐句扫描,执行程序。遇到程序跳转指令,根据跳转条件是否满足来决定程序的跳转地址。从用户程序涉及到输入输出状态时,PLC从输入映象寄存器中读出上一阶段采入的对应输入端子状态,从输出映象寄存器读出对应映象寄存器,根据用户程序进行逻辑运算,存入有关器件寄存器中。对每个器件来说,器件映象寄存器中所寄存的内容,会随着程序执行过程而变化。
3.输出处理
程序执行完毕后,将输出映象寄存器,即器件映象寄存器中的Y寄存器的状态,在输出处理阶段转存到输出锁存器,通过隔离电路,驱动功率放大电路,使输出端子向外界输出控制信号,驱动外部负载。