下面用一个简单的例子来进一步说明PLC的扫描工作过程。图1-6给出了PLC的外部接线图和梯形图,起动按钮SB1停止按钮SB2和热继电器FR的常开触点分别接在编号为X0~X2的PLC的输入端,交流接触器KM的线圈接在编号为Y0的PLC的输出端。图1-6b是这4个输入/输出变量对应的I/O映像寄存器,图l-6c是PLC的梯形图,它与图1-3所示的继电器电路的功能相同。但是应注意,梯形图是一种软件,是PLC图形化的程序。图中的X0等是梯形图中的编程元件,X0~-X2是输入继电器,Y0是输出继电器。梯形图中的编程元件X0与接在输入端子X0的SBl的常开触点和输入映像寄存器X0相对应,编程元件Y0与输出映像寄存器Y0和接在输出端子Y0的PLC内部的输出电路相对应。
梯形图以指令的形式储存在PLC的用户程序存储器中,图l-6中的梯形图与下面的5条指令相对应,“;”之后是该指令的注释。
LD X0
:接在左侧母线上的X0的常开触点
OR Y0
;与X0的常开触点并联的Y0的常开触点
ANI X1
;与并联电路串联的X1的常闭触点
ANI X2
;串联的X2的常闭触点
OUT Y0
;Y0的线圈
图1-6中的梯形图完成的逻辑运算为
Y0=(X0+Y0)·X1·X2
在输入处理阶段,CPU将SBl,SB2和FR的常开触点的状态读入相应的输入映像寄存器,外部触点接通时存入寄存器的是二进制数l,反之存入0。
执行第l条指令时,从X0对应的输入映像寄存器中取出二进制数并保存起来。执行第2条指令时,取出Y0对应的输出映像寄存器中的二进制数,与X0对应的二进制数相“或”(电路的并联对应“或”运算)。
执行第3条或第4条指令时,分别取出xl或X2对应的输入映像寄存器中的二进制数,因为是常闭触点,取反后与前面的运算结果相“与”(电路的串联对应“与”运算),然后存入运算结果寄存器。
执行第5条指令时,将运算结果寄存器中的二进制数送入Y0对应的输出映像寄存器。
在输出处理阶段,CPU将各输出映像寄存器中的二进制数传送给输出模块并锁存起来,如果Y0对应的输出映像寄存器存放的是二进制数1,外接的KM的线圈将通电,反之将断电。
如果读入输入映像寄存器X0~X2的均为二进制数0,在程序执行阶段,经过上述逻辑运算过程之后,运算结果仍为Y0=0,所以KM的线圈处于断电状态。按下起动按钮SBl,X0变为l状态,经逻辑运算后Y0变为1状态,在输出处理阶段,将Y0对应的输出映像寄存器中的1送到输出模块,PLC内Y0对应的物理继电器的常开触点接通,接触器KM的线圈通电. |