PLC采用循环扫描工作方式,周而复始地按照一定的顺序来完成PLC所承担的系统管理工作和应用程序的执行。
循环扫描工作是一种分时串行处理方式,与继电控制系统的并行处理方式是完全不同的。
PLC有运行(RUN)与停止(STOP)两种基本工作模式,有内部处理等五种工作处理阶段,如图 1.2-5 所示。
在STOP工作模式,PLC反复执行内部处理和通信服务等工作
(1)在内部处理阶段,PLC首先进行系统初始化,清除内部继电器区,复位定时器,然后进行自诊断,检测CPU模块内部的硬件是否正常,将监控定时器复位,以及完成一些别的内部工作任务,以确保系统可靠运行。
(2)在通信服务阶段,PLC主要和外部设备作通信联系,进行用户程序的编写和修改,更新显示内容。
在RUN工作模式,PLC也是反复执行五个阶段的操作,而输入处理、程序处理、输出处理,则是PLC执行用户程序的三个阶段。
当PLC投入运行后,其用户程序工作过程一般分为三个阶段,即输入处理、用户程序执行和输出处理。在整个运行期间,PLC的CPU以一定的扫描速度重复执行上述三个阶段,如图 1.2-6 所示。
(1)输入采样处理阶段。PLC的CPU不能直接与外部接线端子联系。送到PLC输入端子上的输入信号,经电平转换、光电隔离、滤波处理等一系列电路进入缓冲器等待采样,没有CPU的采样信号,外部信号不能进入映像寄存器。
图 1.2-5 PLC硬件组成
图 1.2-6 PLC工作原理
在输入采样阶段,PLC以扫描方式依次读入所有输入状态和数据,并将它们存入I/O映像区中的相应映像寄存器内。在此,输入映像寄存器被刷新。输入采样结束后,转入用户程序执行和输出刷新阶段。在这两个阶段中,即使输入状态和数据发生变化,I/O映像区中的相应单元的状态和数据也不会改变,直至下一个扫描周期的输入采样阶段。因此,如果输入是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能保证在任何情况下,该输入均能被读入,如图中①。
(2)用户程序执行处理阶段。在用户程序执行阶段,PLC总是按由上而下的顺序依次扫描用户程序(梯形图)。在扫描每一条梯形图时,又总是先扫描梯形图左边的由各触点构成的控制线路,并按先左后右、先上后下的顺序对由触点构成的控制线路进行逻辑运算,然后根据逻辑运算的结果,刷新该逻辑线圈在系统RAM存储区中对应位的状态;或者刷新该输出线圈在I/O映像区中对应位的状态;或者确定是否要执行该梯形图所规定的特殊功能指令。即在用户程序执行过程中,只有输入点在I/O映像区内的状态和数据不会发生变化,而其他输出点和软设备在I/O映像区或系统RAM存储区内的状态和数据都有可能发生变化,而且排在上面的梯形图,其程序执行结果会对排在下面的用到这些线圈或数据的梯形图起作用;相反,排在下面的梯形图,其被刷新的逻辑线圈的状态或数据只能到下一个扫描周期才能对排在其上面的程序起作用,如图中②、③、④、⑤。
(3)输出刷新处理阶段。当扫描用户程序结束后,PLC就进入输出刷新阶段。在此期间,CPU按照I/O映像区内对应的状态和数据集中刷新所有的输出锁存电路,然后传送到各相应的输出端子,再经输出电路驱动相应的实际负载。这才是PLC的真正输出,这是一种集中输出的方式,输出端口的状态要保存一个扫描周期,如图中⑥。
用户程序执行过程,集中采样与集中输出的方式是PLC的一大特点。在采样期间,将所有输入信号一起读入,此后在整个程序处理过程中,PLC系统与外界隔离,直至集中输出控制信号。外界信号状态的变换要到下一个工作周期才能被PLC采样,这样就从根本上提高了系统的抗干扰能力,提高了工作的可靠性。
由上所知PLC不论处于哪种工作模式,其总是在反复执行处理阶段所规定的任务。我们把PLC这种按一定顺序周而复始的循环工作方式称作扫描工作方式。
PLC的工作原理与计算机的工作原理是基本一致的。PLC基本上也是一台小型的工业计算机,但是它与计算机的工作方式有所不同。计算机一般预先不知道要执行什么任务,因此采用等待输入命令(键盘、鼠标等人机界面输入),当有命令输入时,则中断处理器转入相应的程序处理。而PLC则不同,应用程序一旦输入,就成为一种专用的完成特定任务的计算机。它需要不断地检查输入信号的变化,以通过执行应用程序来不断地改变输出信号的状态,完成控制任务。
PLC的这种扫描工作方式与传统的继电器控制系统工作方式有本质的区别。传统的继电器控制系统是一种类似“并行”工作方式,即如果忽略电磁滞后及机械滞后的话,对同一个继电器来说,它的所有触点动作是和其线圈通电或断电同时发生的(所谓并行)。PLC则不同,由于PLC是扫描方式工作,在程序执行阶段,即使输入信号发生了变化,也要等到下一个周期的输入处理阶段才能改变输入信号的变化;同样,输入信号即使影响到输出信号的状态,也不能马上改变,而要等到一个循环周期结束,CPU才能将这些改变了的输出状态送出去;同时,就是在执行程序的同一扫描周期里;工作线圈和它的触点也不是同时动作的 ,如果线圈在前,触点在后,当扫描到线圈接通时,要等到扫描到它的触点时,它的触点才动作。相比于并行,我们认为PLC是串行工作的。
PLC的这种串行工作的特点避免了继电器控制系统中的触点竞争和时序失配问题,因此,其可靠性远比继电控制高,抗干扰能力强。但是,由于是分时扫描,其响应有滞后、反应不及时、速度慢等缺点。PLC是以降低响应速度来获取高可靠性的。
PLC的这种控制响应的滞后性,在一般的工业控制系统中,是无关紧要的,因为滞后的时间仅仅只有数十毫秒左右,但是对某些I/O快速响应的系统,则应采取相应措施减少滞后时间。
PLC在RUN的工作模式时,执行一次从内部处理到输出处理五个阶段扫描操作所需要的时间称为扫描周期,
一个PLC的扫描周期长短,主要和用户程序的容量及CPU的主频有关。用户程序容量大,表示其程序步多,执行时间就长;而指令的执行速度与CPU的主频有关,主频越高,则指令的执行时间就越短,同样的程序容量其扫描周期也短。
一般PLC应用程序扫描周期应在 100ms以内。如果扫描周期超过 200ms,这样的程序不建议采用。
输入/输出滞后时间又称系统响应时间,是指可编程序控制器的外部输入信号发生变化的时刻至它控制的有关外部输出信号发生变化的时刻之间的时间间隔,由输入电路滤波时间、输出电路的滞后时间和因扫描工作方式产生的滞后时间三部分组成。
输入模块的RC滤波电路用来滤除由输入端引入的干扰噪声,消除因外接输入触点动作时产生的抖动引起的不良影响,滤波电路的时间常数决定了输入滤波时间的长短,其典型值为 10ms左右。
输出模块的滞后时间与模块的类型有关,继电器型输出电路的滞后时间一般在 10ms左右;双向可控硅型输出电路在负载接通时的滞后时间约为 1ms,负载由导通到断开时的最大滞后时间为 10ms;晶体管型输出电路的滞后时间一般在 1ms左右。
由扫描工作方式引起的滞后时间最长可达两个多扫描周期。
可编程控制器总的响应延迟时间一般只有几十毫秒,对于一般的系统是无关紧要的。要求输入-输出信号之间的滞后时间尽量短的系统,可以选用扫描速度快的可编程控制器或采取其他措施。
【试试,你行的】
(1)PLC有哪两种工作模式?每个工作模式执行哪些工作阶段?
(2)如果想读写PLC的用户程序,应把PLC置于哪个工作模式?
(3)PLC的扫描工作方式特点是什么?扫描周期的长短与哪些因素有关?
(4)PLC刚把输入X0 的状态送到输入映像寄存器,X0 的状态又发生了改变,X0 的变化状态对输出的影响是
A.马上影响输出变化
B.等一个扫描周期后,才影响输出变化
C.等两个扫描周期后,才影响输出变化