plc有两种基本的工作状态,即运行(RUIN)状态与停止(STOP)状态(在S7-200中还存在TEAM状态)。在运行状态,PLC通过反映控制要求的用户程序来实现控制功能。为了使PLC的输出能及时地响应随时可能变化的输入信号,用户程序不是只执行一次,而是反复不断地重复执行,直至PLC停机或切换到STOP工作状态。小型PLC的工作过程有两个显著特点:一个是周期性顺序扫描,另一个是集中批处理。周期性顺序扫描是PLC特有的工作方式,PLC在运行过程中,总是处于不断循环的顺序扫描过程中。由于PLC的I/O点数较多,采用集中批处理的方法,可以简化操作过程,便于控制,提高系统的可靠性。PLC的另一个主要特点就是对输入采样、执行用户程序、输出刷新实施集中批处理。这同样是为了提高系统的可靠性。当PLC启动后,先进行初始化操作,包括对工作内存的初始化、复位所有的定时器、将输入/输出继电器清零,检查I/O单元连接是否完好,如有异常则发出报警信号。初始化后,PLC就进入周期扫描过程。 一、扫描工作原理
当PLC运行时,是通过执行反映控制要求的用户程序来完成控制任务的,需要执行众多的操作,但CPU不可能同时去执行多个操作,它只能按分时操作(串行工作)方式,每一次执行一个操作,按顺序逐个执行。由于CPU的运算处理速度很快,所以从宏观上来看,PLC外部出现的结果似乎是同时(并行)完成的。这种串行工作过程称为PLC的扫描工作方式。
用扫描工作方式执行用户程序时,扫描是从第一条程序开始,在无中断或跳转控制的情况下,按程序存储顺序的先后,逐条执行用户程序,直到程序结束。然后再从头开始扫描执行,周而复始重复运行。
PLC的扫描工作方式与电器控制的工作原理明显不同。电器控制装置采用硬逻辑的并行工作方式,如果某个继电器的线圈通电或断电,那么该继电器的所有常开和常闭触点不论处在控制线路的哪个位置上,都会立即同时动作;而PLC采用扫描工作方式(串行工作方式),如果某个软继电器的线圈被接通或断开,其所有的触点不会立即动作,必须等扫描到该时才会动作。但由于PLC的扫描速度快,通常PLC与电器控制装置在I/O的处理结果上并没有什么差别。
二、PLC扫描工作过程
PLC的扫描工作过程除了执行用户程序外,在每次扫描工作过程中还要完成内部处理、通信服务工作。如图1所示,整个扫描工作过程包括内部处理、通信服务、输入采样、程序执行、输出刷新五个阶段。整个过程扫描执行一遍所需的时间称为扫描周期。扫描周期与CPU运行速度、PLC硬件配置及用户程序长短有关,典型值为1~100ms。
图1 扫描过程示意图
在内部处理阶段,进行PLC自检,检查内部硬件是否正常,对监视定时器(WDT)复位以及完成其它一些内部处理工作。
在通信服务阶段,PLC与其它智能装置实现通信,响应编程器键入的命令,更新编程器的显示内容等。
当PLC处于停止(STOP)状态时,只完成内部处理和通信服务工作。当PLC处于运行(RUN)状态时,除完成内部处理和通信服务工作外,还要完成输入采样、程序执行、输出刷新工作。
PLC的扫描工作方式简单直观,便于程序的设计,并为可靠运行提供了保障。当PLC扫描到的指令被执行后,其结果马上就被后面将要扫描到的指令所利用, 而且还可通过CPU内部设置的监视定时器来监视每次扫描是否超过规定时间,避免由于CPU内部故障使程序执行进入死循环。
三 、PLC执行程序的过程及特点
PLC执行程序的过程分为三个阶段,即输入采样阶段、程序执行阶段、输出刷新阶段,如图2所示。
图2 PLC执行程序过程示意图
1.输入采样阶段
在输入采样阶段,PLC以扫描工作方式按顺序对所有输入端的输入状态进行采样,并存入输入映象寄存器中,此时输入映象寄存器被刷新。接着进入程序处理阶段,在程序执行阶段或其它阶段,即使输入状态发生变化,输入映象寄存器的内容也不会改变,输入状态的变化只有在下一个扫描周期的输入处理阶段才能被采样到。
2.程序执行阶段
在程序执行阶段,PLC对程序按顺序进行扫描执行。若程序用梯形图来表示,则总是按先上后下,先左后右的顺序进行。当遇到程序跳转指令时,则根据跳转条件是否满足来决定程序是否跳转。当指令中涉及到输入、输出状态时,PLC从输入映像寄存器和元件映象寄存器中读出,根据用户程序进行运算,运算的结果再存入元件映象寄存器中。对于元件映象寄存器来说,其内容会随程序执行的过程而变化。
3.输出刷新阶段
当所有程序执行完毕后,进入输出处理阶段。在这一阶段里,PLC将输出映象寄存器中与输出有关的状态(输出继电器状态)转存到输出锁存器中,并通过一定方式输出,驱动外部负载。
因此,PLC在一个扫描周期内,对输入状态的采样只在输入采样阶段进行。当PLC进入程序执行阶段后输入端将被封锁,直到下一个扫描周期的输入采样阶段才对输入状态进行重新采样。这方式称为集中采样,即在一个扫描周期内,集中一段时间对输入状态进行采样。
在用户程序中如果对输出结果多次赋值,则最后一次有效。在一个扫描周期内,只在输出刷新阶段才将输出状态从输出映象寄存器中输出,对输出接口进行刷新。在其它阶段里输出状态一直保存在输出映象寄存器中。这种方式称为集中输出。
对于小型PLC,其I/O点数较少,用户程序较短,一般采用集中采样、集中输出的工作方式,虽然在一定程度上降低了系统的响应速度,但使PLC工作时大多数时间与外部输入/输出设备隔离,从根本上提高了系统的抗干扰能力,增强了系统的可靠性。
而对于大中型PLC,其I/O点数较多,控制功能强,用户程序较长,为提高系统响应速度,可以采用定期采样、定期输出方式,或中断输入、输出方式以及采用智能I/O接口等多种方式。
从上述分析可知,当PLC的输入端输入信号发生变化到PLC输出端对该输入变化作出反应,需要一段时间,这种现象称为PLC输入/输出响应滞后。对一般的工业控制,这种滞后是完全允许的。应该注意的是,这种响应滞后不仅是由于PLC扫描工作方式造成,更主要是PLC输入接口的滤波环节带来的输入延迟,以及输出接口中驱动器件的动作时间带来输出延迟,同时还与程序设计有关。滞后时间是设计PLC应用系统时应注意把握的一个参数。