可编程控制器的工作原理PLC由于自身的特点,在工业生产的各个领域得到了越来越广泛的应用。而作为PLC的使用者,要正确地使用PLC去完成各类控制任务,首先需要了解PLC的基本工作原理。PLC源于用计算机控制来取代继电接触器,所以PLC的工作原理与计算机的工作原理基本上是一致的。两者都是在系统程序的管理下,通过用户程序来完成控制任务。1.PLC的工作方式虽然PLC的工作原理与计算机的工作原理基本一致,都具有相同的基本结构和相同的指令执行原理。但是,两者在工作方式上却有着重要的区别,不同点体现在计算机运行程序时,一旦执行到END指令,程序运行结束,且计算机对输入、输出信号进行实时处理;而PLC的CPU采用循环扫描工作方式,当程序执行到END后,再从头开始执行,周而复始地重复,直到停机或从运行切换到停止。对输入、输出进行集中输入采样,集中输出刷新。I/O映像区分别存放执行程序之前的各输入状态和执行过程中各结果的状态。(1)PLC的循环扫描工作方式可编程控制器是在硬件的支持下,通过执行反映控制要求的用户程序实现对系统的控制。为此PLC采用循环扫描的工作方式。PLC循环扫描的工作过程如图2-1所示,包括五个阶段:内部处理与自诊断、与外设进行通信处理、输入采样、用户程序执行、输出刷新。PLC有运行(RUN)和停止(STOP)两种基本的工作模式。当处于停止(STOP)工作模式时,只执行前两个阶段,即只作内部处理与自诊断,以及与外部设备进行通信处理:上电复位后,PLC首先作内部初始化处理,清除I/O映像区中的内容;接着作自诊断,检测存储器、CPU及I/O部件状态,确认其是否正常;再进行通信处理,完成各外设(编程器、打印机等)的通信连接;还将检测是否有中断请求,若有则作相应中断处理。在此阶段可对PLC联机下载程序。图2-1PLC循环扫描的工作过程内部处理通信服务输入采样程序执行输出刷新STOPRUN上述阶段确认正常后,并且PLC方式开关置于RUN位置时,PLC才进行独特的循环扫描,即周而复始地执行上述所有阶段。为了使PLC的输出及时地响应随时可能变化的输入信号,用户程序不是只执行一次,而是不断地重复执行,直至PLC停机或切换到STOP运行模式。由于PLC执行指令的速度极快,从外部输入/输出关系来看,处理的过程几乎是同时完成的。图2-2反映了RUN状态下扫描的全部过程。图2-2RUN状态下扫描的全部过程①输入采样阶段在PLC的存储器中,设置了一片区域用来存放输入信号和输出信号的状态,它们分别被称为输入映像寄存器和输出映像寄存器。PLC梯形图中的软元件也有对应的映像存储区,统称为元件映像存储器。在输入采样阶段,PLC的CPU顺序扫描每个输入端,顺序读取每个输入端的状态,并将其存入输入映像寄存器单元中。采样结束后,输入映像区被刷新,其内容将被锁存而保持着,并将作为程序执行时的条件。PLC在运行过程中,所需的输入信号不是实时取输入端子上的信息,而是取输入映像寄存器中的信息。当进入程序执行阶段后,输入映像区相应单元保存的信息被输入锁存器隔离,而不会随着输入端发生变化,因此不会造成运算结果的混乱,保证了本周期内用户程序的正确执行。在下一个扫描周期的输入采样阶段,输入端信号才会被输入锁存器再次送入输入映像寄存器的单元中,而进行输入数据的刷新。因此为了保证输入脉冲信号能被正确读入,要求输入信号的脉宽必须大于PLC的一个扫描周期。②程序执行阶段PLC完成输入采样后,进入程序执行阶段,PLC从用户程序的第0步开始,按先上后下、先左后右的顺序逐条扫描用户梯形图程序,对由接点构成的控制线路进行逻辑运算。这里的接点就是I/O映像存储器中存储的输入端状态,或称为软触点。PLC以接点数据为依据,根据用户程序进行逻辑运算,并把运算结果存入输出映像存储器中。X0X1X0X1输入映像区输入锁存电路程序执行COMY0X1X0Y0输出映像区Y0输出锁存电路COM电源程序执行输出刷新输入刷新1个扫描周期PLC并非并行工作,因此在程序的执行过程中,上面逻辑行中线圈状态的改变,会对下面的逻辑行中对应的接点状态起作用;反之,排在下面的逻辑行中线圈状态的改变,只能等到下一个扫描周期才能对其上面逻辑行中对应此线圈的接点状态起作用。因此,对于每一个元件而言,元件映像存储器中所存储的内容(除输入存储器),会随着程序执行过程的变化而变化。当所有指令都扫描处理完后,即转入输出刷新阶段。③输出刷新阶段在输出刷新阶段,PLC将输出映像寄存器中的状态信息转存到输出锁存器中,刷新其内容,改变输出端子上的状态,然后通过输出驱动电路驱动被控外设(负载)。这才是PLC的实际输出。(2)PLC输入/输出的特点PLC采取集中输入采样、集中输出刷新的扫描方式。因此PLC对输入/输出处理有着如下特点:①在映像存储区中设置I/O映像区,分别存放执行程序之前采样的各输入状态和执行程序后各元件的状态。②输入点在I/O映像存储器中的数据,取决于输入端子在本扫描周期输入采样阶段所刷新的状态,而在程序执行和输出刷新阶段,其内容不会发生改变。③输出点在I/O映像存储器中的数据,取决于程序中输出指令的执行结果,而在输入采样和输出刷新阶段,其内容不会发生改变。④输出锁存电路中的数据,取决于上一个扫描周期输出刷新阶段存入的内容,而在输入采样和程序执行阶段,其内容不会发生改变。⑤直接与外部负载连接的输出端子的状态,取决于输出锁存电路输出的数据。⑥程序执行中所需要的输入/输出状态,取决于由I/O映像存储器中的数据。(3)PLC与传统继电器控制的不同PLC的扫描工作方式与继电器控制有明显不同,如表2-1所示。表2-1PLC控制系统与继电器控制系统的比较控制系统控制方式线圈通电继电器硬逻辑并行运行方式所有常开/常闭触点立即动作PLC循环扫描工作方式CPU扫描到的接点才会动作继电器控制装置采用硬逻辑并行运行的方式,一个继电器线圈的通断,将会同时影响该继电器的所有常开和常闭触点动作,与触点在控制线路中所处的位置无关。PLC的CPU采用循环扫描工作方式,一个软继电器的线圈通断,只会影响该继电器扫描到的接点动作。但是,由于CPU的运算处理速度很高,使得从外观上看,用户程序似乎是同时执行的。2.PLC的扫描周期(1)PLC扫描周期的定义PLC全过程扫描一次所需的时间定为一个扫描周期。从图2-2可知,在PLC上电复位后,首先要进行初始化工作,如自诊断、与外设(如编辑器、上位计算机)通信等处理。当PLC方式开关置于RUN位置时,它才进入输入采样、程序执行、输出刷新。一个完整的扫描周期应包含上述五个阶段。(2)PLC扫描周期一个完整的扫描周期可由自诊断时间、通信时间、扫描I/O时间和扫描用户程序时间相加得到,其典型值约为1~100ms。运行的程序,会在D8012中存放当前程序的最大扫描周期。①自诊断时间:同型号的PLC的自诊断时间通常是相同的,如三菱FX2系列机自诊断时间为0.96ms。②通信时间:取决于连接的外部设备数量,若连接外部设备为零,则通信时间为0。③扫描I/O时间:等于扫描的I/O总点数与每点扫描速度的乘积。④扫描用户程序时间:等于基本指令扫描速度与所有基本指令步数的乘积。对于扫描功能指令的时间,也同样计算。当PLC控制系统固定后,扫描周期将随着用户程序的长短而增减。(3)PLC扫描周期与继电器控制系统响应时间的比较传统的继电控制系统采用硬逻辑并行工作方式,线圈控制其所属触点同时动作。而PLC控制系统则采用顺序扫描工作方式,软线圈控制其所属触点串行动作。这样,PLC的扫描周期越长,响应速度越慢,会产生输入、输出的滞后。FX系列小型PLC的扫描周期一般为毫秒级,而继电器、接触器触点的动作时间在100ms左右,相对而言,PLC的扫描过程几乎是同时完成的。PLC因扫描引起的响应滞后非但无害,反而可增强系统的抗干扰能力,避免了在同一时刻因有几个电器同时动作而产生的触点动作时序竞争现象,避免了执行机构频繁动作而引起的工艺过程波动。但对响应时间要求较高的设备,应选用高速CPU、快速响应模块、高速计数模块,直至采用中断传输方式。