1.3 可编程控制器的工作原理
早期的可编程逻辑控制器是为了替代继电器控制电路而研制的,用于顺序控制。所谓顺序控制,就是在各种输入信号作用下,按照预先规定的顺序,使各个执行器自动地顺序动作,且在动作过程中还应具有记忆和约束功能,以满足工艺要求。图1-48是电动机正反转控制电路,SB1是停车按钮,SB2是正向启动按钮,SB3是反向启动按钮,KM1和KM2分别是控制电动机正转和反转的交流接触器。
图1-48 电动机正反转控制电路
为了防止误操作引起电源短路,将KM1和KM2的常闭辅助触点串入对方的接触器线圈回路中,形成互锁,复合按钮SB2和SB3的常闭触点也形成互锁。
按下正转按钮SB2,KM1得电吸合,电动机正转。按下停止按钮SB1,KM1失电释放,电动机停止转动。按下反转按钮SB3,KM2得电吸合,电动机反转。
由于SB2和SB3为复合按钮,在正转运行时,若需要反转运行,也可直接按下反转按钮SB3,首先,SB3的常闭触点断开,使KM1失电释放,电动机脱离电源,而后,SB3的常开触点闭合使KM2得电吸合,电动机反转。
继电器—接触器控制电路采用的是硬逻辑并行运行方式,即如果某个继电器线圈通电或断电,则该继电器所有的常开和常闭触点都会立即动作,而与这些触点在电路中所处的位置无关。例如,图1-48中的KM1得电吸合时,位于第1梯级的自保常开触点KM1和位于第2梯级的互锁常闭触点KM1是同时动作的(严格来说是常闭先断开而常开后闭合),这种硬逻辑关系保证了安全性。
PLC是采用CPU的工业用控制器,与普通计算机有相似之处,属于串行工作方式,但如果采用普通计算机所使用的等待命令工作方式或查询工作方式,都满足不了原并行逻辑控制电路的要求。为此,PLC采用了与普通计算机工作方式差别较大的“循环扫描”工作方式。
所谓扫描,就是CPU从第一条指令开始执行程序,直到最后一条(结束指令)。扫描过程分为三个阶段,即输入采样和处理、用户程序执行、输出数据和处理三个阶段,这三个阶段称为一个扫描周期。普通继电器的动作时间大于100ms,一般PLC的一个扫描周期小于100ms,目前的PLC产品,执行30000步程序的扫描周期时间仅为1.2ms。
对于继电器控制电路,根据工艺要求,操作人员可能随时进行操作,因此,PLC只扫描一个周期是无法满足要求的,必须周而复始地进行扫描,这就是循环扫描。在扫描时间小于继电器动作时间的情况下,继电器硬逻辑电路并行工作方式和PLC的串行工作方式的处理结果是相同的。循环扫描示意图如图1-49所示。
图1-49 PLC循环扫描示意图
1. 输入采样和处理阶段
在第n个扫描周期,首先进行的是读入现场信号即输入采样阶段,PLC依次读入所有输入状态和数据,并将它们存入输入映像寄存器区(存储器输入暂存区)中相应的单元内。输入采样结束后,如果输入状态和数据发生变化,PLC不再响应,输入映像寄存器区中相应单元的状态和数据保持不变,要等到第(n+1)个扫描周期才能读入,这一阶段称为输入采样和处理阶段,通常简称为输入刷新阶段。
2. 用户程序执行阶段
生产PLC的各个厂家,针对广大电气技术人员和电工熟悉继电器控制电路(电器控制梯形图)的特点,开发出简单易学的编程语言即PLC梯形图,两种梯形图相对应,都具有形象和直观的特点。以电动机正反转反联锁控制为例,图1-50所示是电动机正反转联锁电器控制梯形图,图1-51所示是PLC上电后(初始状态)在线监视梯形图,图1-52所示是按动正向启动按钮SB1后PLC联锁控制在线监视梯形图,图1-53所示是正转运行中意外按动反向启动按钮时的在线监视梯形图,图1-54所示是停车后按动反向启动按钮后的在线监视梯形图。
图1-50 电动机正反转联锁电器控制梯形图
图1-51 PLC上电后(初始状态)在线监视梯形图
图1-52 按动正向启动按钮后PLC连锁控制在线监视梯形图
图1-53 正转运行中意外按动反向启动按钮时的在线监视梯形图
图1-54 停车后按动反向启动按钮后PLC在线监视梯形图
图1-51~图1-54是实现图1-50功能的PLC在线监视梯形图,使用WQStar编程软件生成。两种梯形图都是由2个梯级组成的,每个线圈组成1个梯级。有关PLC梯形图应用的内容将在后续章节中介绍。
在图1-51~图1-54的PLC在线监视梯形图中,粗线表示的软元件为接通(ON)状态。
用户程序执行阶段,CPU将指令逐条调出并执行,其过程是从梯形图的第1个梯级开始自上而下依次扫描用户程序,在每一个梯级,又总是按先左后右、先上后下的顺序扫描用户程序。梯形图指令是与梯形图上的条件相适应的指令,每个指令需要一行助记符代码,如图1-51中的助记符(指令表)所示。
程序以助记符形式存储在存储器中。在执行指令时,从输入映像寄存器或输出映像寄存器中读取状态和数据,并依照指令进行逻辑运算和算术运算,运算的结果存入输出映像寄存器区中相应的单元。在这一阶段,除了输入映像寄存器的内容保持不变外,其他映像寄存器的内容会随着程序的执行而变化,排在上面的梯形图指令的执行结果会对排在下面的凡是用到状态或数据的梯形图起作用。
目前的PLC产品,执行30000步程序的1个扫描周期仅为1.2ms,因此,基于串行工作方式的循环扫描执行结果与并行方式电器控制结果相同。
观察图1-51~图1-54还可以发现,PLC系统运行时的在线监视梯形图能够展示任何时刻系统的状况,即各种软元件的瞬间状态,将多幅在线监视梯形图连起来观察就会有动态的感觉,这有助于系统设计、分析、调试和故障诊断。
3. 输出数据和处理阶段
输出数据和处理阶段也称为写输出阶段,CPU将输出映像寄存器的状态和数据传送到输出锁存寄存器,再经输出电路的隔离和功率放大,转换成适合于被控制装置接收的电压或电流或脉冲信号,驱动接触器、电磁铁、电磁阀和各种执行器,这时,才是PLC的真正的输出,这一阶段通常简称为输出刷新阶段。
PLC在一个扫描周期内除了完成上述三个阶段的任务外,还要完成内部诊断、公共处理、输入/输出服务和通信等辅助任务。至此,PLC的工作原理可以用图1-55来形象地表明,图中的梯形图为在线监视梯形图,粗线条的元件为接通元件。
图1-55 PLC工作原理示意图
当按动正转启动按钮SB1时,触点X1接通(ON),其“1”状态写入输入映像寄存器,即图中的“(1)写入”,执行用户程序,在输入刷新阶段常开触点X1由断开变为接通,即图中的“(2)读入”,常闭触点X1由接通变为断开,实现按钮互锁,即图中的“(3)读入”。
常开触点X1的接通使得输出继电器线圈Y1被驱动(ON),处于输出刷新阶段,其状态写入输出映像寄存器,即图中的“(4)写入”,输出继电器Y1的ON状态使其常开触点Y1接通,实现自保,即图中的“(5)读入”,常闭触点Y1由接通变为断开,实现输出互锁,即图中的“(6)读入”。输出映像寄存器的状态存入输出锁存器,即图中的“(7)输出”。
至此,完成了一个扫描周期,接着是重复扫描,直至系统停车。