1.3.2 可编程序控制器的工作方式
PLC与继电接触器控制的重要区别之一就是工作方式不同。继电接触器控制是按“并行”方式工作的,即以同时执行的方式工作的,只要形成电流通路,就可能有几个电气元件同时动作。而PLC采用串行循环扫描的工作方式,所谓扫描,就是CPU从第一条指令开始执行程序,直到最后一条指令(结束指令)。扫描过程大致分为以下三个阶段。
(1)输入采样(刷新)阶段
在第n个扫描周期,首先进行的是读入现场信号,即输入采样阶段,PLC依次读入所有输入状态和数据,并将它们存入输入映象寄存器区(存储器输入暂存区)中相应的单元内。输入采样阶段结束后,如果输入状态和数据发生变化,PLC也暂不响应,输入映象寄存器区中相应单元的状态和数据保持不变,要等到第n+1个扫描周期才能读入。
(2)用户程序执行阶段
各PLC生产厂家针对继电器控制电路(电气控制原理图)的特点,开发了简单易学的梯形图,这种编程语言具有形象和直观的特点。在用户程序执行阶段,CPU将指令逐条调出并执行,其过程是从梯形图的第1个梯级开始自上而下依次扫描用户程序,在每一个梯级内,又总是按先左后右、先上后下的顺序扫描用户程序。梯形图指令是与梯形图上的条件相适应的指令。每个指令需要一行助记符代码,程序以助记符形式存储在存储器中。在执行指令时,从输入映象寄存器或输出映象寄存器中读取状态和数据,并依照指令进行逻辑运算和算术运算,运算的结果存入输出映象寄存器区中相应的单元。在这一阶段,除了输入映象寄存器的内容保持不变外,其他映象寄存器的内容会随着程序的执行而变化,排在上面的梯形图指令的执行结果会对排在下面的、凡是用到的状态或数据的梯形图指令起作用。
(3)输出刷新阶段
输出刷新阶段也称写输出阶段,CPU将输出映象寄存器的状态和数据传送到输出锁存器,再经输出电路的隔离和功率放大,转换成适合于被控制装置接收的电压或电流或脉冲信号,驱动接触器、电磁铁、电磁阀及各种执行器,此时才是PLC真正的输出。
PLC的一个扫描过程除了完成上述三个阶段的任务外,还要完成内部诊断、通信、公共处理,以及I/O服务等辅助任务。普通继电器的动作时间大于100 ms,一般PLC的一个扫描周期必须小于100 ms。例如,欧姆龙CJ1系列PLC执行30 000步程序的扫描周期仅为1.2 ms。
对于继电器控制电路,根据工艺要求,操作人员可以随时进行操作,因此,PLC只扫描一个周期是无法满足要求的,必须周而复始地进行扫描,这就是循环扫描。在扫描时间小于继电器动作时间的情况下,继电器硬逻辑电路的并行工作方式和PLC的串行工作方式的处理结果是相同的。但是,PLC的这种“串行”工作方式可以有效地避免继电接触器控制系统中易出现的触点竞争和时序失配的问题。
现以欧姆龙小型机CP1H PLC为例,介绍其工作过程,如图1-7所示。
图1-7 CP1H PLC的工作过程
系统上电以后,CPU首先进行初始化工作,即检查系统中的I/O单元是否连接正确,然后检查系统硬件与程序存储器单元是否正常,如果正常则自检通过,可执行后续功能。若自检中有一项不通过,则发出报警信号。
CP1H PLC有两种报警情况:一种情况是CPU只发出报警信号,但不中止运行,CPU面板上的ALARM指示灯闪烁;另一种情况是导致CPU中止运行的严重错误,此时CPU面板上的ERROR指示灯常亮,直至用户排除故障为止。
CPU完成自检以后执行用户程序,从梯形图左母线开始由上至下、由左向右逐个扫描每个梯级的每个元素,进行运算,此时CPU只与映象区进行数据交换,读取输入数据,送出输出信号。当CPU执行到END指令时,表示程序段结束,则此次扫描用户程序结束。
CPU计算扫描一次用户程序的时间是否超过预置的最小扫描周期,如果超限系统将报警。接着CPU执行I/O操作,这时才与外部I/O设备交换数据,从输入单元的端子上读取输入信号状态并刷新映象区的输入部分,把映象区中输出寄存器的输出信号输出到输出单元的端子上,控制外部设备。
最后,CPU还要执行外围设备服务,包括RS-232C串行端口数据交换,进行上位链接服务,读取外设命令并执行,以及通信单元的链接服务等工作。