三菱PLC编程速学与快速应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.4 PLC的工作原理

PLC的工作原理可以简单地表述为,在系统程序的管理下通过运行应用程序,对控制要求进行处理判断,并通过执行用户程序来实现控制任务。这个过程实质上是按顺序循环扫描过程实现的,执行一个循环扫描过程所需的时间称为一个扫描周期。也就是说,在时间上PLC执行的任务是按串行方式进行的,其具体的运行方式与继电器—接触器控制系统及计算机控制系统都有一定的差异。

1.循环扫描的工作过程

PLC的一个工作过程,分为内部处理阶段、通信处理阶段、输入采样阶段、程序执行阶段和输出刷新阶段。当PLC开始运行时,首先清除I/O映像区的内容,其次进行自诊断,然后与外部设备进行通信连接,确认正常后开始扫描。对每个用户程序,CPU从第一条指令开始执行,按指令步序号做周期性的程序循环扫描。如果无跳转指令,则从第一条指令开始逐条执行用户程序,直至遇到结束符后又返回第一条指令,如此往复循环。因此,PLC的工作方式是一种串行循环工作方式,其执行过程如图2-9所示。

1)内部处理阶段

在这一阶段,CPU执行监测主机硬件、用户程序存储器、I/O模块的状态并清除I/O映像区的内容等工作,即PLC进行各种错误检测(自诊断功能);若自诊断正常,继续向下扫描。

2)通信处理阶段

在通信处理阶段,CPU自动监测并处理各种通信端口接收到的任何信息,即检查是否有编程器、计算机或上位PLC等通信请求;若有,则进行相应处理,完成数据通信任务。例如,PLC接收编程器送来的程序、命令和各种数据,并把要显示的状态、数据、出错信息发送给编程器进行显示,这称为“监视服务”,一般在程序执行之后进行。

图2-9 PLC的循环扫描过程

3)输入采样阶段

在输入采样阶段,PLC首先扫描所有的输入端子,按顺序将所有输入端的输入信号状态读入输入映像寄存区。这个过程称为对输入信号的采样,或称输入刷新阶段。完成输入端刷新工作后,将关闭输入端子,转入下一步工作过程,即程序执行阶段。在程序执行期间即使输入端状态发生变化,输入状态寄存器的内容也不会发生改变,而这些变化必须等到下一个工作周期的输入刷新阶段才能被读入。

4)程序执行阶段

程序执行阶段又称程序处理阶段,是PLC对程序按顺序执行的过程。对于常用的梯形图程序来说,就是按从上到下、从左到右的顺序,依次执行各个程序指令。

在程序执行阶段,PLC根据用户输入的控制程序,从第一条指令开始逐条执行,并将相应的逻辑运算结果存入对应的内部辅助寄存器(输入映像寄存器)和输出状态寄存器(输出映像寄存器)。在这个过程中,只有输入映像寄存区存放的输入采样值不会发生改变,其他各种数据,如在输出映像寄存器区或系统RAM存储区内的状态和数据,都有可能随着程序的执行随时发生改变。同时,前面程序执行的结果可能被后面的程序所用到,从而影响后面程序的执行结果;而后面程序执行的结果不可能改变前面程序的扫描结果,只有到了下一个扫描周期再次扫描前面程序的时候才有可能起作用。在扫描过程中如果遇到程序跳转指令,就会根据跳转条件是否满足来决定程序的跳转地址。当指令中涉及输入、输出状态时,PLC从输入映像寄存器中“读入”上一阶段存入的对应输入端子状态,从输出映像寄存器“读入”对应输出映像寄存器的当前状态。然后,进行相应的运算,运算结果再存入元件映像寄存器中。对于元件映像寄存器来说,每一个元件(输出软继电器的状态)都会随着程序执行过程而变化。当最后一条控制程序执行完毕后,即输出刷新阶段。

5)输出刷新阶段

当程序中所有指令执行完毕后,PLC将输出状态寄存器中所有输出继电器的状态,依次送到输出锁存电路,并通过一定输出方式输出,驱动外部负载,这就形成了PLC的实际输出。

上述五个阶段构成PLC一个工作周期,并循环执行,这也就是PLC循环扫描工作方式的由来。其中,输入采样、程序执行和输出刷新是PLC执行用户程序的三个主要阶段。

2.PLC信号的处理规则

从PLC循环扫描的工作过程可以总结出如下的PLC信号处理规则。

(1)输入映像区中的数据,取决于本扫描周期输入采样阶段所处的状态。在程序执行和输出刷新阶段,输入映像区中的数据不会因为有新的输入信号而发生改变。

(2)输出映像区中的数据由程序中输出指令的执行结果决定。在输入采样和输出刷新阶段,输出映像区的数据不会发生改变。

(3)输出端子直接与外部负载连接,其状态由输出状态寄存器中的数据确定。

3.输入/输出滞后时间

输入/输出滞后时间又称系统的响应时间,是指PLC的外部输入信号发生变化的时刻至它控制的有关外部输出信号发生变化的时刻的时间间隔,它由输入电路滤波时间、输出电路的滞后时间和因扫描工作方式产生的滞后时间这三部分组成。

输入模块的RC滤波电路用来滤除由输入端引入的干扰噪声,消除因外接输入触点动作时产生的抖动引起的不良影响,滤波电路的时间常数决定了输入滤波时间的长短,其典型值为10ms左右。输出模块的滞后时间与模块的类型有关。PLC总的响应延迟时间一般只有几十毫秒,对于一般系统是无关紧要的。对于实时性要求比较高的系统,可以选用扫描速度更快的PLC,采用专用模块或其他控制方式。