一文告诉你PLC 的工作原理,其实很简单,建议收藏
|
各种 PLC 都采用扫描工作方式,具体工作过程大同小异。下面以欧姆龙公司的小型机CP1为例,介绍PLC的工作过程。如图1所示,PLC上电后,首先进行初始化,然后进入循环工作过程。一次循环过程可归纳为五个工作阶段,如图1所示。一次循环所用的时间称为一个工作周期(或扫描周期),其长短与用户程序的长短以及PLC机本身性能有关,其数量级为ms级,典型值为几十ms。
图1 PLC工作流程图 各阶段完成的任务如下。 (1)公共处理:进行硬件检查、用户程序内存检查和电池异常检查等。检查正常后,方可进行下面的操作。如果有异常情况,则根据错误的严重程度发出报警或停止PLC运行。 (2)程序执行:在程序执行阶段,CPU按先左后右,先上后下的顺序对每条指令进行解释、执行,CPU从输入映象寄存器(每个输入继电器对应一个输入映象寄存器,其通/断状态对应1/0)和元件映象寄存器(即与各种内部继电器、输出继电器对应的寄存器)中读出各继电器的状态,根据用户程序给出的逻辑关系进行逻辑运算,运算结果再写入元件映象寄存器中。 (3)扫描周期计算处理:若设定扫描周期为固定值(可由用户在PLC设置中设定),则进入等待循环,直到该固定值到,再往下进行。若设定扫描周期为不定的(即决定于用户程序的长短等,为不定值),不等待,接着进行扫描周期的计算。 (4)I/O刷新:在此阶段,进行I/O刷新。输入刷新时,CPU从输入电路中读出各输入点状态,并将此状态写入输入映象寄存器中;输出刷新时,将输出继电器的元件映象寄存器的状态(1/0)传送到输出锁存电路,再经输出电路隔离和功率放大,驱动外部负载。 (5)外围设备服务:包括USB端口通信、串行端口通信、存储盒访问,以及通信单元的链接服务等。 根据上述PLC的工作过程,可以得出从输入端子到输出端子的信号传递过程,如图2所示。若输入端子外接开关状态有变化,则此变化反映到输入电路的输出端;在I/O刷新阶段,CPU从输入电路的输出端读出各路状态,并将其写入输入映象寄存器;在程序执行阶段, CPU从输入映象寄存器和元件映象寄存器中读出各继电器的状态,并根据此状态执行用户程序,执行结果再写入元件映象寄存器中;在紧接着的下一个I/O刷新阶段,将输出映象寄存器的状态写入输出锁存电路,再经输出电路传递到输出端子,从而控制外接器件动作。
图2 从输入到输出的信号传递过程 PLC的循环扫描工作方式也为PLC提供了一条死循环自诊断功能。PLC内部设置了一个监视定时器 WDT,其定时时间可由用户设置为大于用户程序的扫描周期,PLC 在每个扫描周期的公共处理阶段将监视定时器复位。正常情况下,监视定时器不会动作,如果由于CPU内部故障使程序执行进入死循环,那么,扫描周期将超过监视定时器的定时时间,这时,监视定时器动作,运行停止,以提示用户。 在循环扫描过程中,有时需要立即对某个信息进行处理,以加快响应速度,为此,PLC中引入中断功能,设有内置输入中断、定时中断、高速计数器中断、外部中断等,PLC在循环扫描的各个阶段都可以响应中断信号。 PLC有很多优越特性,但也有不足之处,其中之一,PLC的I/O有响应滞后现象。产生I/O滞后现象的原因主要有3个方面。 (1)输入滤波器有时间常数。输入电路中的滤波器对输入信号有延迟作用,时间常数越大,延迟作用越大。 |











