1.5 PLC的工作方式
PLC主要是通过执行用户设定的程序,来对各种需要的功能进行控制的。通过各种不同的助记符来实现各种运算、信号处理、信号输入与输出,这些助记符就称为指令,将实现需要的所有功能的指令集合在一起,就形成了程序。
1.5.1 PLC的工作特点
为了便于执行程序,PLC中设置了输入状态表寄存器区与输出状态表寄存器区(也有的将其称为I/O输入状态影像区与I/O输出状态影像区),用来保存执行程序之前的各种输入端状态与执行程序过程中及结果的状态。
1.影像区存储的内容
PLC中每个输入/输出点都与I/O(输入/输出)影像区中的某一位相对应,其输入/输出点的地址号与I/O(输入/输出)影像区的影像寄存器地址号相对应。
这样,PLC在进行工作时,将输入信号的状态存入输入状态表寄存器区的对应位,运算结果输出给输出状态表寄存器区的对应位。
2.影像区存储的特点
由此可见,I/O(输入/输出)影像区的建立,使PLC工作时只和内存有关的地址单元内所存信息状态发生关系,而输出时也只给内存某一地址单元设定一个状态,因此,大部分工作都在内部进行,只有当硬件读取外界信号和对外界进行控制时才与外界发生关系。这样,不仅加快了程序执行的速度,大幅度缩小控制箱的体积,而且还使控制系统与外界隔开,提高了系统的抗干扰能力。
1.5.2 PLC循环扫描的工作方式
PLC通电以后,在系统程序的监控下,以循环扫描的方式进行工作。
1.循环扫描方式的特点
所谓循环扫描方式,就是PLC内的微电脑在工作时依次对各种规定的操作项目进行全面的访问和处理。这主要是因为用户程序中的操作和执行程序较多,而电脑的CPU(中央处理器)每一时刻仅能执行一个操作程序,故微电脑CPU系统是按程序规定的顺序执行各个操作程序,并依次处理多个需要作业的各种操作的。
2.PLC扫描工作过程
(1)传统继电器控制系统工作过程
传统的继电器控制系统在完成控制任务时,各继电器的动作并不是在时间上依次逐一完成,而是在满足条件的情况下可以同时进行,也就是说可以进行所谓的并行工作。
例如图1-9所示的继电器控制电路,当同时按压SB1~SB3后,继电器KA1~KA3线圈就会同时得电工作,其动合触点KA1~KA3就会同时闭合接通,以进行自锁。
图1-9 典型的继电器控制电路
当按SB4停止开关后,通过自锁触点KA1~KA3为继电器KA1~KA3线圈提供供电的供电回路就会同时断开,使继电器KA1~KA3线圈同时断电后,自锁触点KA1~KA3也同时断开。这就是时间上的并行操作。
(2)PLC工作梯形图
采用PLC取代继电器来完成逻辑控制的方式,是通过程序将各个“继电器”动作的并行方式改变成串行动作关系的。如果要将图1-9所示的控制电路改为PLC的程序控制,则控制电路如图1-10所示。这是一种较典型的PLC控制梯形图,图中编码代号的含义如表1-2所示。
图1-10 把图1-9电路改为PLC的程序控制的电路示意图
表1-2 图1-10中的编码代号的含义
(3)PLC工作过程
通电以后,当同时按下SB1~SB3后,图1-10电路中的0000、0001、0002同时接通,PLC顺序串行执行各条指令,顺序使控制输出端0500接通→0501接通→0502最后接通。
需要说明的是:由于程序执行速度相当快,0500、0501、0502的动作间隔很短,故看起来好像是同时动作的。
3.PLC与普通计算机工作方式的最大区别
(1)普通计算机的工作方式
普通计算机通常属于单任务工作方式,也就是在执行多项需要执行的指令时,一般只选一项作为当前的执行任务,待该任务结束后,再依次执行和完成其他任务。对于图1-10实例来说,如果我们将控制0500作为“任务一”、0501作为“任务二”、0502作为“任务三”,0000、0001、0002作为每个任务进行的条件,则普通计算机的工作过程如下。
·先判断0000是否接通,如果0000没有接通则等待,如果0000接通,才会输出相应信号使0500接通。当判断0500接通以后,才进入下一步的判断。
·判断0001是否接通,如果0001没有接通则等待,如果0001接通,才会输出相应信号使0501接通。当判断0501接通以后,才进入下一步的判断。
·判断0002是否接通,如果0002没有接通则等待,如果0002接通,才会输出相应信号使0502接通。当判断0502接通以后,才进入下一步的判断。
·如果0000、0001、0002同时接通,则0500、0501、0502按照上面的顺序依次执行;但假如0000不通,0001、0002接通,则0500、0501、0502均不会动作。这主要是0000没有接通计算机在不断查询其状态所致。一旦等到0000接通、完成“任务一”后,才能进入“任务二”的查询、执行过程,同样道理,完成“任务二”后,才能进入“任务三”的查询、执行过程。
(2)PLC的工作方式
从普通计算机的工作方式来看,假如PLC也采用这种工作方式,就无法满足被控对象的实际要求。
在PLC中,都采用了巡回扫描的工作方式。也就是说,PLC对程序的执行,不是从头到尾仅执行一次,而是执行一次以后,再返回执行第二次、第三次……,直至停机为止。
对于图1-10电路来说,PLC在执行程序时的方法与步骤具体说明如下。
·判断0000是否接通,如果接通就会输出信号0500,不接通也不会等待,继续判断0001是否接通,然后判断0002。
·等待程序执行一遍后,重新输入0000、0001、0002状态,判别其是否接通来确定输出的状态。
上述工作过程中,在保证程序每次执行时间足够短的情况下,PLC就可以根据要求完成相应的控制工作。
4.扫描时间与扫描周期
在PLC的工作过程中,程序从头到尾执行一次就是程序的扫描一次,所需要的时间就为扫描周期。扫描周期越短,就越接近PLC工作的实际控制要求,一般扫描周期在100ms以下就可以满足PLC的控制要求。
1.5.3 PLC对输入/输出的处理规则
通电以后,在系统程序的监控下,PLC按照集中输入/集中输出的原则,周而复始地按顺序对系统内部的各种任务进行查询、判断和执行。PLC对输入/输出的处理规则如下。
1.输入状态表寄存器区的内容
在PLC电路中,输入状态表寄存器区的内容,由上一扫描周期输入端子的状态决定。
2.输出状态表寄存器区的内容
在PLC电路中,输出状态表寄存器区的内容,由输出指令的执行结果来决定。
3.输出锁存器的状态
在PLC电路中,输出锁存器的状态,由上一次输出刷新期间输出状态表寄存器区的状态决定;各输出端子的状态,由输出锁存器确定。
4.执行程序时所用的输入、输出状态值
在PLC电路中,执行程序时所用的输入、输出状态值,取决于输入、输出状态表寄存器区的状态。
1.5.4 PLC的扫描过程
PLC对用户程序进行循环扫描分为输入采样、程序执行和输出刷新三个阶段,如图1-11所示。
图1-11 PLC对用户程序进行循环扫描三个阶段示意图
1.输入采样阶段
(1)读入信息
由于PLC属于逻辑控制的计算机系统,故其在输入采样阶段,无论输入端是否有连接线,微电脑CPU都会以扫描的方式,依据设定的顺序将所有暂存在寄存器中的输入端子的接通(一般以高电平“1”表示)、断开(一般以低电平“0”表示)状态或输入数据读入,并将其存储(写入)到对应的输入状态寄存器中,也就是刷新输入。然后关闭输入端口,进入程序执行阶段。
(2)寄存器中内容状态
PLC控制电路在程序执行时,即使输入状态发生了改变,输入状态寄存器中的内容也不会改变。只能在下一个扫描周期的输入采样阶段,发生改变的输入状态才会被读入输入状态寄存器中。
2.程序执行阶段
PLC在程序执行阶段,微电脑CPU是根据用户程序存放的先后次序来执行每一条指令的,所需要的执行条件由输入状态寄存器或当前输出状态寄存器中读入,然后根据有关数据进行相应的运算、处理以后,将得到的结果再写入输出状态寄存器中。由于输出状态寄存器中的内容,会随着执行程序而改变,故输出状态寄存器的内容是变化的,每执行一个指令就变化一次。
3.输出刷新阶段
PLC在程序输出刷新阶段,微电脑CPU在全部指令均扫描和处理结束后,就会将输出状态寄存器的接通(一般以高电平“1”表示)、断开(一般以低电平“0”表示)状态送到输出锁存器内,用于驱动输出继电器线圈,再采用一定的方式(继电器、晶闸管、晶体开关管)去驱动输出端连接的电器设备(例如电动机、电磁水阀等)进行工作。然后,PLC中的微电脑CPU,又返回去执行下一个循环扫描。
4.微电脑CPU的工作周期
微电脑CPU每次从输入状态到输出控制信号所使用的时间,就为一个扫描周期,一个扫描周期的时间长短,会因PLC本身的时钟频率以及用户程序的长短不同而不一样。不过,由于扫描速度极快,执行每一条指令(也就是每步)所需要的时间大约在4~65μs之间,而一个扫描周期大约在十至几十毫秒,故对被控对象来说,扫描过程几乎是同时完成的。
5.需要说明的问题
当PLC执行程序时,在一个扫描周期内,输入采样的工作仅在输入处理阶段进行,在对所有输入端均扫描一遍且记下它们的状态以后,就会进入程序处理阶段。在此阶段,无论输入端的状态怎样改变,对输入状态表都不会产生影响,直到下一个循环的输入采样阶段,才会根据当前扫描到的状态改变输入状态寄存器中的内容。
由于PLC采用集中采样、集中输出的工作方式,故PLC中的微电脑CPU在执行程序阶段,仅根据输入状态表中的内容进行,使PLC在工作的绝大部分时间实际上与外部设备是隔离的,由此提高了PLC的抗干扰能力,工作可靠性得到了大幅提高。