1.3 PLC的工作原理
1.3.1 扫描工作方式
当PLC运行时,有许多操作需要进行,但CPU不可能同时去执行多个操作,它只能按分时操作原理每一时刻执行一个操作。由于CPU的运算处理速度很快,使得PLC外部出现的结果从宏观上来看似乎是同时完成的。这种分时操作的过程称为CPU的扫描工作方式。
PLC执行用户程序时,采用扫描工作方式完成。整个扫描过程中,PLC除了执行用户程序外,还要完成其他工作。图1-12所示为PLC工作过程框图。
图1-12 PLC工作过程框图
在执行用户程序前,PLC还应完成内部处理、通信服务与自诊检查。在内部处理阶段,CPU检查CPU模块内部硬件是否正常,监视定时器复位及完成其他一些内部处理。在通信服务阶段,PLC完成与带处理器的智能模块或与其他外设的通信,以及数据的接收和发送、响应编程器键入命令、更新编程器显示内容、更新时钟和特殊寄存器内容等工作。PLC具有很强的自诊断功能,如电源检测、内部硬件是否正常、程序语法是否有错等,一旦有错或异常CPU则能根据错误类型和程序发出提示信号,甚至进行相应的出错处理,使PLC停止扫描或强制变成STOP方式。
当PLC处于停止(STOP)状态时,只能完成内部处理和通信服务工作。当PLC处于运行状态时,除完成内部处理和通信服务的操作外,还要完成输入处理、程序执行、输出处理等工作。
1.3.2 PLC执行程序的过程
PLC执行程序的过程分三个阶段,即输入采样(输入处理)阶段、程序执行阶段和输出刷新(输出处理)阶段(如图1-13所示)。
图1-13 可编程控制器的工作过程示意图
1. 输入采样
当PLC开始周期工作时,CPU首先以扫描方式读入所有输入端的开关信号状态(闭合为“1”,断开为“0”),并逐一存入输入映像区(寄存器)。输入映像区的位数与输入端子数目相对应,输入采样结束后转入程序执行阶段。
2. 程序执行
根据PLC梯形图程序扫描原则,PLC按先左后右、先上后下的步序逐句扫描。但当遇到程序跳转指令时,则根据跳转条件是否满足来决定程序的跳转地址。当指令中涉及输入、输出状态时,PLC就从输入映像寄存器中“读入”上一阶段采入的对应输入端子状态,从元件映像寄存器中“读入”对应元件(“软继电器”)的当前状态,然后进行相应的运算,并将运算结果存入输出映像寄存器中。
3. 输出刷新
在所有指令执行完毕且已进入到输出刷新阶段时,PLC才将输出映像寄存器中所有输出继电器的状态(接通/断开)转存到输出锁存器中,然后通过一定方式输出以驱动外部负载,这种输出工作方式称为集中输出方式。集中输出方式在执行用户程序时不是得到一个输出结果就向外输出一个,而是把执行用户程序所得的所有输出结果先全部存放在输出映像寄存器中,执行完用户程序后所有输出结果一次性向输出端口或输出模块输出,使输出设备部件动作。
PLC重复执行上述3个阶段,周而复始,每重复一次所需的时间称为一个工作周期。PLC工作周期的长短,主要取决于程序的长短。PLC工作周期一般为20~40ms,这对一般工作设备没有什么影响,例如用接触器控制一台电动机,从电流流入接触器线圈到触头完成动作需要30~40ms。因此,多数情况下,PLC的周期工作方式在实际应用中是不成问题的。
从PLC的周期工作方式可见,PLC与继电接触器控制的工作方式不同。对于继电接触器电路,全部电器动作可以看成是平行执行的,或者说是同时执行的;而PLC是以周期方式工作,即串行方式工作,PLC的电器动作按串行工作方式可避免继电接触器控制方式的触点“竞争”和“时序失配”等问题。
1.3.3 PLC的I/O 滞后现象
从PLC工作过程的分析中可知,由于PLC采用循环扫描的工作方式,而且对输入和输出信号只在每个扫描周期的I/O刷新阶段集中输入并集中输出,所以必然会产生输出信号相对输入信号的滞后现象。
从PLC的输入端有一个输入信号发生变化到PLC的输出端对该输入信号的变化做出反应所需要的时间称为PLC的响应时间或滞后时间。滞后时间是设计PLC控制系统时应了解的一个重要参数。
滞后时间的长短与以下因素有关。
①输入滤波器对信号的延迟作用。由于PLC的输入电路中设置了滤波器,并且滤波器的时间常数越大,对输入信号的延迟作用越强。从输入端ON到输入滤波器输出所经历的时间为输入ON延时。有些PLC的输入电路滤波器的时间常数可以调整。
②输出继电器的动作延迟。对继电器输出型的PLC,把从锁存器ON到输出触点ON所经历的时间称为输出ON延时,一般需十几毫秒。所以在要求输入/输出有较快响应的场合,最好不要使用继电器输出型的PLC。
③ PLC的循环扫描工作方式。扫描周期越长,滞后现象越严重。一般扫描周期只有十几毫秒,最多几十毫秒,因此在慢速控制系统中可以认为输入信号一旦变化就能立即进入输入映像寄存器中。如果某些设备需要输出对输入做出快速响应时,可采用快速响应模块、高速计数模块及中断处理等措施来尽量减少滞后。