首页 历史故事PLC的工作原理简介

PLC的工作原理简介

【摘要】:PLC采用循环执行用户程序的方式,称为循环扫描工作方式,其运行模式下的扫描过程如图3-1所示。输出刷新阶段在执行完用户所有程序后,PLC将输出映像区中的内容送到寄存输出状态的输出锁存器中,这一过程称为输出刷新。PLC仅在扫描周期的起始时段读取外部输入状态,该时段相对较短,抗输入信号串入的干扰极为有利。图3-1所示工作过程是简化的过程,实际的PLC工作流程还要复杂些。

PLC采用循环执行用户程序的方式,称为循环扫描工作方式,其运行模式下的扫描过程如图3-1所示。可以看出,当PLC上电或者从停止模式转为运行模式时,CPU执行启动操作,消除没有保持功能的位存储器定时器和计数器,清除中断堆栈和块堆栈的内容,复位保存的硬件中断等。此外还要执行用户可以编写程序的启动组织块,即启动程序,完成用户设定的初始化操作。然后,进入周期性循环运行。一个扫描过程周期可分为输入采样、程序执行、输出刷新三个阶段。

(1)输入采样阶段

此阶段PLC依次读入所有输入信号的状态和数据,并将它们存入I/O映像区中的相应单元内。输入采样结束后,转入用户程序执行和输出刷新阶段。在这两个阶段,即使输入状态和数据发生变化,I/O映像区中的相应单元的状态和数据也不会改变。因此,如果输入是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能保证在任何情况下,该输入均能被读入。

978-7-111-34922-8-Chapter03-1.jpg

图3-1 PLC循环扫描工作过程

(2)程序执行阶段

PLC按照从左到右、从上至下的顺序对用户程序进行扫描,并分别从输入映像区和输出映像区中获得所需的数据,进行运算、处理后,再将程序执行的结果写入寄存执行结果的输出映像区中保存。这个结果在程序执行期间可能发生变化,但在整个程序未执行完毕之前不会送到输出端口。

(3)输出刷新阶段

在执行完用户所有程序后,PLC将输出映像区中的内容送到寄存输出状态的输出锁存器中,这一过程称为输出刷新。输出电路要把输出锁存器的信息传送给输出点,再去驱动实际设备。

由以上描述可以看出PLC的工作特点如下:

所有输入信号在程序处理前统一读入,并在程序处理过程中不再变化,而程序处理的结果也是在扫描周期的最后时段统一输出,将一个连续的过程分解成若干静止的状态,便于面向对象的思维。

PLC仅在扫描周期的起始时段读取外部输入状态,该时段相对较短,抗输入信号串入的干扰极为有利。

PLC循环扫描执行输入采样、程序执行、输出刷新“串行”工作方式,这样既可避免继电器、接触器控制系统因“并行”工作方式存在的触点竞争,又可提高PLC的运算速度,这是PLC系统可靠性高、响应快的原因。但是,对于高速变化的过程可能漏掉变化的信号,也会带来系统响应的滞后。为克服上述问题,可利用立即输入输出、脉冲捕获、高速计数器或中断技术等。

图3-1所示工作过程是简化的过程,实际的PLC工作流程还要复杂些。除了I/O刷新及运行用户程序外,还要做些公共处理工作,如循环时间监控、外设服务及通信处理等。

PLC一个扫描周期的时间是指操作系统执行一次如图3-1所示循环操作所需的时间,包括执行OB1中的程序和中断该程序的系统操作时间。循环扫描周期时间与用户程序的长度、指令的种类和CPU执行指令的速度有关系。当用户程序比较大时,指令执行时间在循环时间中占相当大的比例。

在PLC处于运行模式时,利用编程软件的监控功能,在“在线和诊断”数据中,可以获得CPU运行的最大循环时间、最小循环时间和上一次的循环时间等。循环时间会由于以下事件而延长:中断处理、诊断和故障处理、测试和调试功能、通信、传送和删除块、压缩用户程序存储器、读/写微存储器卡MMC等。

结合PLC的循环扫描工作方式分析图3-2所示的梯形图程序,I0.1代表外部的按钮,当按钮动作后,图3-2a的程序只需要一个扫描周期就可完成对M0.4的刷新,而图3-2b的程序要经过4个扫描周期才能完成对M0.4的刷新。

978-7-111-34922-8-Chapter03-2.jpg

图3-2 梯形图程序例子

对于图3-3所示的双线圈输出程序,结合PLC循环扫描工作方式分析可知,当I0.0按下,扫描程序段1时Q0.0为1,扫描程序段2时Q0.0又被写为0,最终输出Q0.0是0;当I0.1按下,扫描程序段1时Q0.0为0,扫描程序段2时Q0.0又被写为1,最终输出Q0.0为1。若希望I0.0和I0.1分别按下时,Q0.0都为1,则应该编写如图3-4所示程序。注意,图3-3和图3-4中,“%I0.0”表示绝对地址,其下面的“Tag_1”为符号名称,而图3-2中只显示了绝对地址名称。

978-7-111-34922-8-Chapter03-3.jpg

图3-3 双线圈输出程序

978-7-111-34922-8-Chapter03-4.jpg

图3-4 程序例子