首页 理论教育 PLC的工作原理详解

PLC的工作原理详解

时间:2023-06-27 理论教育 版权反馈
【摘要】:PLC是采用循环扫描的工作方式,工作流程如图5-5所示。当PLC处于运行状态时,要完成五个阶段的全部工作。对于严重故障,PLC就切断一切外界联系,停止用户程序的执行。如果程序在执行过程中进入死循环,或者执行了非预定的程序,WDT不能及时清零而造成超时溢出,则给出报警信号或停止PLC工作。在输出刷新阶段结束后,CPU进入下一个扫描周期,周而复始直至PLC停机或切换到STOP工作状态。

PLC的工作原理详解

由于PLC以微处理器为核心,在本质上是一台微型计算机,故具有微机的许多特点,但它的工作方式却与微机有很大不同。微机一般采用等待输入、响应处理的工作方式,没有输入时就一直等待输入,如常见的键盘操作或鼠标点击等I/O扫描方式,若有键按下或鼠标点击等I/O变化,则转入相应的子程序,若无则继续扫描等待。而PLC对I/O操作、数据处理等则采用循环扫描的工作方式。

1.PLC的工作流

在PLC中,用户程序按先后顺序存放,在没有中断或跳转指令时,对每个程序,CPU从第一条指令开始执行,按指令步序号逐条顺序执行用户程序,直至遇到结束符后又返回第一条指令,如此周而复始不断循环,每一个循环称为一个扫描周期。顺序扫描工作方式简单直观,简化程序设计,并为PLC可靠运行提供保证。有些情况下也插入中断方式,允许中断正在扫描运行的程序,以处理紧急任务。

PLC是采用循环扫描的工作方式,工作流程如图5-5所示。每个周期都要经过系统自诊断、通信处理、输入扫描、程序执行、输出刷新五个阶段。全过程扫描一次所需的时间称为扫描周期。在系统自诊断阶段,PLC检查CPU模块内部硬件是否正常,监视定时器复位以及完成其他内部处理。在通信处理阶段,PLC完成与智能模块或外设的通信,完成数据的接收和发送任务。当PLC处于运行状态时,要完成五个阶段的全部工作。当PLC处于停止(STOP)状态时,只完成内部处理和通信处理工作。PLC在扫描周期内统一采样所有的输入端状态,然后扫描执行用户程序,最后在用户程序扫描结束后统一刷新输出端状态。由于CPU的运算处理速度很高,从而使得PLC外部出现的结果从宏观上似乎是同时完成的。

978-7-111-40642-6-Chapter06-6.jpg

图5-5 PLC的工作流程图

2.PLC的扫描过程

PLC在运行状态下,工作流程包括内部处理、通信处理、输入采样、程序执行、输出刷新五个阶段,一个周期的扫描过程主要可分为输入采样、程序执行和输出刷新三个阶段,如图5-6所示。扫描周期是PLC的重要参数之一,它反映PLC对输入信号的灵敏度或滞后程度。通常工业控制要求PLC的扫描周期在6~30ms以下。

978-7-111-40642-6-Chapter06-7.jpg

图5-6 PLC的扫描工作过程

(1)系统诊断及处理阶段

在每一次扫描程序前对PLC及其系统作一次自捡,包括PLC自检、对警戒时钟(WatchDog Timer,WDT)又称“看门狗”定时器清零等。CPU检测PLC各器件的状态,若发现异常,除了出错指示灯(ERROR)亮之外,还判断故障的性质。如属于一般性故障,则只报警不停机,等待处理。对于严重故障,PLC就切断一切外界联系,停止用户程序的执行。这样有助于及时发现或提前预报系统的故障,提高系统的可靠性。WDT是在PLC内部设置的一个硬件时钟,用于监视PLC的扫描周期。WDT预先设定好时间,每个扫描周期都要监视扫描时间是否超过规定值。如果程序运行正常,在每个扫描周期的公共处理阶段对WDT进行清零(复位)。如果程序在执行过程中进入死循环,或者执行了非预定的程序,WDT不能及时清零而造成超时溢出,则给出报警信号或停止PLC工作。

(2)通信处理阶段(www.xing528.com)

在CPU对PLC自检、对警戒时钟WDT清零结束后,PLC检查是否有与编程器、智能模块或上位机等的通信请求,如果没有,则自动进入下一阶段。

(3)输入扫描阶段

CPU按顺序逐个采集所有输入端子上的信号,而不论输入端子上是否接线。将全部输入信号状态按顺序读取输入缓冲锁存器,并刷新写入到输入映像寄存器中。只有在采样刷新时刻,输入映像寄存器中的内容才与输入信号一致,其他时间范围内无论输入接点状态作如何变化,输入映像寄存器的内容保持不变,直到下一个扫描周期的输入采样阶段,才读入输入接点的新状态。这种采集输入信号的方式,虽然每个信号被采集的时间有先后,但因PLC的扫描周期很短,其时差在一般工程应用中可忽略,故认为输入信息的采集是同时完成的,输入采样阶段是一个集中批处理过程。

(4)程序执行阶段

程序执行即解释和执行存放在用户程序存储器中的用户程序。在执行阶段,CPU对用户程序按顺序进行扫描,扫描顺序总是从上到下,从左至右。每扫描到一条指令,所需信息均从输入映像寄存器、输出映像寄存器及其他寄存器中读取,并进行处理,再将程序执行结果写入元件映像寄存器中保存,这样上面的执行结果立即被后面将要扫描到的指令利用。若遇到程序跳转指令,按跳转条件决定程序跳转地址。所有要输出的状态并不立即驱动外部负载,而是将其写入输出映像寄存器中,待输出刷新阶段集中进行批处理,即执行用户程序阶段也是集中批处理过程。在这一阶段,除输入映像寄存器外,其他元件映像寄存器的内容随着程序的执行而不断变化。

(5)输出刷新阶段

当所有指令执行完毕后,将元件映像寄存器中所有输出映像寄存器的状态同时送到输出锁存器中,再通过信号隔离电路驱动功率放大电路,由输出端子向外部输出控制信号,驱动外部相应执行元件工作。输出刷新阶段也是集中批处理过程。

在输出刷新阶段结束后,CPU进入下一个扫描周期,周而复始直至PLC停机或切换到STOP工作状态。

显然扫描周期的长短主要取决于程序的长短。扫描周期越长,响应速度越慢。输入/输出的逻辑关系上存在的滞后现象就越严重。但PLC的扫描周期一般只有几十毫秒或更少,两次采样之间的时间很短,对于一般输入量(如开关量)来说可以忽略,可以认为输入信号一旦变化,就能立即进入输入映像存储器内。同样,对于变化较慢的一般的工业设备控制过程来说,也可以认为输出信号是及时的。

在实际应用中,这种滞后现象可起到滤波作用。对慢速控制系统来说,滞后现象反而增加了系统的抗干扰能力。但对控制时间要求较严格、响应速度要求较快的系统,就必须考虑滞后对系统性能的影响,在设计中尽量缩短扫描周期。

输入/输出响应滞后不仅与扫描方式和I/O硬件电路的延时有关,还与程序设计的指令安排有关。为了缩短扫描周期,提高响应速度,可采用分时、分批的程序设计方法。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈