plc的工作原理和计算机的工作原理基本上一致。但是工作方式有所不同,计算机采用等待命令的工作方式,而plc采用循环扫描的工作方式。
plc有两种工作方式:运行(run)与停止(stop)。处于停止工作模式时,plc只进行内部处理和通信服务等内容。当处于运行工作模式时,plc要进行内部处理、通信服务、输入处理、执行程序和输出处理的操作,然后按上述过程循环扫描工作。plc的这种周而复始的循环工作方式称为扫描工作方式。
循环扫描的工作方式是plc的一大特点,也可以说plc是“串行”工作的,这和传统的继电器控制系统“并行”工作有质的区别,plc的串行工作方式避免了继电器控制系统中触点竞争和时序失配的问题。
plc的扫描周期分为三个阶段:
输入采用阶段:cpu用扫描方式把所有输入端的外部输入信号的on/off状态一次写入到输入映像寄存器,同时刷新寄存器;同时在本扫描周期内输入映像寄存器的内容保持不变;
执行阶段:cpu按顺序对程序进行扫描,即从上到下、从左到右扫描每条指令,并分别从输入映像寄存器、内部元件寄存器(位存储器、定时器、计数器)和输出映像寄存器中获得需要的数据进行运算、处理,把执行结果写入输出映像寄存器,但不会送到输出端口;
输出刷新阶段:程序执行完毕,存放在输出映像寄存器中的状态转存到输出锁存寄存器,经过输出模块功率放大,转换成相应的信号去驱动外部负载。
plc是采用循环扫描方式工作的,图2-6为一般plc的工作流程框图:
其循环过程为: ①内部处理 ②通迅服务
③输入刷新 ④执行用户程序
⑤输出刷新。
1.内部处理:
cpu对plc内部的硬件作故障检查,复位wdt等。
2.通信服务:
与外围设备、编程器、网络设备等进行通信。
3.输入刷新:
将接在输入端子上传感器、开关、按钮等输入元件状态读入,并保存在“输入状态表” (i/o映像存储器)中,给本扫描周期用户程序运行时提供最新的输入信号。
4.执行用户程序:
cpu逐条解释并执行用户程序。根据i/o状态表(属数据表状态存储器)中on / off信息,按用户程序给定的逻辑关系运算,将运算结果写入i/o状态表。
注意:“i/o状态表”这个概念,用户程序中的部分输入、输出“元件”是它,但它当前的状态值和与它对应i/o端子上的元件之状态不一定相同。(这点在学过i/o响应时间之后就明白了)。
5.输出刷新
将“输出状态表” (i/o映像存储器)中的内容输出到接口电路,以驱动输出端子上的输出元件,实现控制。“输出状态表”中的内容是本次扫描周期用户程序运行的结果。