3.3 PLC的工作原理
PLC是计算机技术和继电器逻辑控制技术相结合的产物。从广义上讲,PLC是一种计算机系统,它的工作原理与计算机的工作原理是基本一致的,即通过执行用户程序来实现控制任务。但是,PLC是以循环扫描方式工作的,采用串行方式执行任务,与计算机和继电器控制系统中控制任务的执行有所不同。下面通过比较继电器控制系统来学习PLC的工作原理。
3.3.1 PLC的等效电路
一个继电器控制系统包含三个部分:输入部分、逻辑电路部分和输出部分。输入部分的信号主要反映各种按钮开关、行程开关、接近开关,以及各种传感器开关等信号的开闭状态;输出部分的信号则反映电磁阀线圈、接触器线圈、信号指示灯等元件的状态;输入到输出之间的信号传递电路是逻辑控制电路部分,通常由继电器、定时器、计数器等元件的触点按照一定的逻辑关系连接而成,能够根据输入状态计算输出结果,从而完成相应的控制动作。
PLC系统同样包含输入部分、逻辑电路部分和输出部分,唯一的区别是PLC的逻辑电路部分由用户编写的软件取代了。下面举例说明它们之间的区别与联系,图3-6所示的是一个典型的继电器启动—保持—停止(简称启保停)控制电路,其中输入信号为启动按钮(SF2)和停止按钮(SF1)的信号;输出信号为接触器线圈QA的信号;I/O之间的逻辑关系由硬件接线实现。
图3-6 继电器启保停电路
图3-7所示的为图3-6所示电路的PLC等效电路,两个输入按钮信号通过PLC的接线端子进入输入接口电路;PLC的输出信号通过输出接口和输出端子驱动外部接触器线圈QA;输入与输出之间的逻辑关系由用户编写的梯形图程序实现。输入信号SF1和SF2分别接入I0.2和I0.6输入端口地址,输出信号QA接到Q0.2输出端口地址。运行梯形图程序时,I0.2和I0.6的信号反映PLC内部输入映像寄存器的状态,Q0.2的信号反映PLC内部输出映像寄存器的状态,映像寄存器的ON或OFF状态表示相应输入、输出端口的状态。由于所有梯形图程序的输入、输出状态都是由存储器中的位来表示的,它们并不是物理上实际存在的继电器,所以常称它们为“软元件”,其常开和常闭触点原理上可在程序中无限次使用。
注意:如果PLC等效电路的输入端子SF1是表示接入常开触点,则用户程序中的I0.2应取常闭触点;但如果PLC等效电路的输入端子SF1是表示常闭触点,则用户程序中的I0.2应取常开触点。
图3-7 PLC等效电路
3.3.2 PLC的工作方式
PLC一般有两种操作模式,即RUN(运行)模式和STOP(停止)模式。在PLC主机的面板上可用LED灯显示当前的操作模式。
在RUN模式时,通过执行用户编写的程序来完成控制功能。
在STOP模式时,CPU不执行用户程序,可以用编程软件创建和编辑用户程序,设置PLC的硬件功能,并将用户程序和设置的信息下载到PLC中。
PLC通电以后,需要对系统硬件和软件做必要的初始化工作,然后就在系统程序的监控下,周而复始地按固定顺序完成系统内部各种任务的执行,这种周期性进行的循环工作方式也称为扫描工作方式。图3-8所示的为S7-200系列PLC在两种操作模式下的扫描过程。一个循环扫描过程称为一个扫描周期。
图3-8 循环扫描过程
3.3.3 PLC的工作过程
当PLC得电或从STOP模式切换到RUN模式时,CPU执行一次全启动。在全启动期间,操作系统清除非保持位存储器、定时器和计数器,删除中断堆栈和块堆栈,复位所有保存的硬件中断,并启动扫描循环监视时间。
当PLC处于运行状态时,其运行周期主要划分为输入采样、程序执行和输出刷新三个基本阶段。
1.输入采样阶段
每次扫描周期开始时,PLC逐个扫描每个输入端口,并将所有输入设备当前的ON/OFF状态保存到相应的存储单元即输入映像寄存器中,供程序读取。
输入映像寄存器的状态在输入采样阶段结束时被刷新,并一直保持不变,直到下一个循环的输入采样阶段才会重新刷新。即在输入采样阶段结束后,如果外围设备状态改变,只有在下一个扫描周期才能被PLC接收到。因此,输入信号的持续时间要大于一个扫描周期,即输入信号的频率不能太高,否则会造成信号的丢失。
外接输入开关闭合时,对应的输入映像寄存器状态为1,梯形图中对应输入点的常开触点接通、常闭触点断开。反之,外接输入开关断开时,对应的输入映像寄存器状态为0,梯形图中对应输入点的常开触点断开、常闭触点接通。
2.程序执行阶段
PLC将所有的输入状态采样完后,进入用户程序执行阶段。用户程序由用户根据实际需求编写的指令组成,指令在存储器中顺序排列。如果没有跳转指令,在系统监控程序的控制下,CPU按照从上到下、从左到右的顺序依次读取梯形图中的指令。以图3-7所示的梯形图为例,CPU首先读常开触点I0.6对应的当前输入映像寄存器状态,然后从输出映像寄存器得到Q0.2的当前状态,两者的当前状态进行“或”运算,结果暂存;接着CPU从输入映像寄存器读I0.2常闭触点的状态,并将I0.2常闭触点的当前状态与上一步的暂存结果进行逻辑“与”运算,最后将运算结果送给输出线圈Q0.2,其ON或OFF状态保存到输出映像寄存器中,即对输出映像寄存器进行刷新。
当用户程序被执行或扫描一遍以后,所有的输出映像寄存器状态被依次改写,系统进入下一个阶段即输出刷新阶段。
3.输出刷新阶段
在这个阶段,系统监控程序将输出映像寄存器的内容集中传送到输出锁存器,经过输出接口到输出端子用于驱动负载。在下一个输出刷新阶段之前,输出锁存器的状态保持不变,从而相应输出端子的状态保持不变。
因此,循环扫描是指在程序执行过程中,完成对各个过程输入信号进行采样,对采样的信号进行运算和处理,并把运算结果输出到PLC输出端子的过程。
其他阶段,如处理通信请求阶段是在扫描周期中,CPU处理从通信端口接收到的任何信息的阶段;自诊断检查阶段是在扫描周期中,CPU检查其硬件、用户存储器(仅在RUN模式下),以及所有的I/O模块的状态的阶段。
3.3.4 PLC的I/O滞后现象
PLC采用循环扫描的工作方式有许多优点,如系统运行稳定、可靠等,但也有不足之处,一个显著的弱点是输入和输出响应存在滞后现象。I/O滞后时间又称系统响应时间,是指从PLC的外部输入信号发生变化的时刻起至它控制的输出信号发生变化时刻之间的时间间隔。对大多数工业控制设备来说,这种滞后是允许的,而对于有快速响应要求的设备,则可以选用立即输入/立即输出指令、高速计数器模块等与扫描周期脱离的方式来解决。
下面通过如图3-9所示的例子来讨论产生I/O滞后现象的原因。
图3-9 输出滞后产生的过程
图3-9(a)所示的为一段梯形图程序,其中I0.2是接外部开关的输入信号;M2.0 和M2.1是PLC内部的位存储器,相当于中间继电器;Q0.0是输出信号,可通过外部输出端子接负载。该程序所要执行的操作是当输入触点I0.2闭合时,使线圈M2.0、M2.1和Q0.0接通。该程序的执行过程如图3-9(b)的时序图所示。
在第1个扫描周期的输入采样阶段,I0.2是断开的,使输入映像寄存器I0.2的状态为0,所以该周期内位存储器M2.0、M2.1和输出映像寄存器Q0.0的状态均为0。
在第2个扫描周期的输入采样阶段,I0.2是闭合的,使输入映像寄存器I0.2的状态为1。执行第1行指令时,因为输出映像寄存器Q0.0的状态为0,使M2.0的线圈继续保持为0;执行第2行指令时,读取输入映像寄存器I0.2的状态,使线圈Q0.0状态为1,对应的输出映像寄存器状态也为1,则触点Q0.0闭合;执行第3行指令时,触点Q0.0闭合,使M2.1的线圈置1。在输出刷新阶段,将输出映像寄存器Q0.0的状态1传给输出锁存器,用于驱动负载。而线圈M2.1的状态也为1,但它是内部元件,没有输出端子,因此不能直接接外部负载。
在第3个扫描周期的输入采样阶段,I0.2是闭合的,使输入映像寄存器I0.2的状态为1。执行第1行指令时,因为上一个扫描周期的输出映像寄存器Q0.0状态为1,故其常开触点闭合,使线圈M2.0置1;执行第2行指令时,外部输入信号没变,还是读取输入映像寄存器I0.2的状态,保持线圈Q0.0状态为1;执行第3行指令时,因为线圈Q0.0状态为1,故触点Q0.0闭合,使M2.1的线圈保持为1。在输出刷新阶段,输出映像寄存器Q0.0的状态保持为1,则输出锁存器状态不变。
由此可见,从输入触点I0.2闭合到输出线圈Q0.0接通被延迟了1个多扫描周期,这是由扫描工作方式引起的正常延迟,而线圈M2.0接通却延迟了2个多扫描周期,这是由于设计程序时,语句顺序不合理造成的。如果将梯形图中的网络1和网络2位置交换,则位存储器的线圈M2.0可以和线圈M2.1及输出线圈Q0.0同时被接通。
影响输入与输出响应滞后的主要因素如下。
(1)输入延迟时间。主要受输入滤波器时间常数的影响。
(2)扫描周期。因为PLC按循环扫描的方式工作,这从原理上会产生输出响应滞后输入的现象,扫描周期取决于程序的长短,扫描周期越长,输出滞后就越严重。
(3)输出延迟时间。主要受输出继电器等执行机构存在机械滞后的影响。
(4)程序语句的安排。设计程序时语句顺序安排不合理将造成额外的输出响应滞后。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。