下面艾特贸易网用一个简单的例子来进一步说明plc的循环工作过程。按钮sb1和sb2的常开触点分别接在输入模块上i0.1和i0.2对应的输入端,接触器km的线圈接在输出模块上q4.0对应的输出端。
图1的梯形图中的i0.1与i0.2是输入变量,q4.0是输出变量。梯形图中的i0.1与过程映像输入位i0.1和接在对应的输入端的sb1的常开触点相对应,梯形图中的q4.0与过程映像输出位q4.0和接在对应的输出端子的输出模块内的输出电路相对应。
图1 plc外部接线图与梯形图
梯形图以指令的形式储存在plc的用户程序存储器中,图1中的梯形图与下面的3条指令相对应,“//”之后是该指令的注释:
a i 0.1 //接在左侧“电源线”上的i0.1的常开触点
an i 0.2 //串联的i0.2的常闭触点
= q 4.0 //q4.0的线圈
a(and,与)指令表示常开触点串联,an( and not)指令表示常闭触点串联,赋值指令“=”表示将逻辑运算的结果传送给指定的地址。图1-5中的梯形图完成的逻辑运算为
在读取输入模块阶段,cpu将sb1和sb2的常开触点的on/off状态读入对应的过程映像输入位,外部触点接通时将二进制数1存入过程映像输入位,反之存入0。
执行第1条指令时,从过程映像输入位i0.1中取出二进制数。
执行第2条指令时,取出过程映像输入位i0.2中的二进制数,因为是常闭触点,首先将取出的二进制数取“反”,然后与i0.1对应的二进制数相“与”,电路的串联对应“与”运算。
执行第3条指令时,将前面的二进制数运算的结果送人过程映像输出位q4.0。
在数据写入输出模块阶段,cpu将各过程映像输出位中的二进制数传送给输出模块,并由后者将数据锁存起来。如果过程映像输出位q4.0中存放的是二进制数1,外接的km的线圈将通电,反之将断电。
图1中i0.1、i0.2和q4.0的波形图中的高电平表示按下按钮或km的线圈通电,当t<t1时,读入过程映像输入位i0.1和i0.2的均为二进制数0,此时过程映像输出位q4.0中存放的亦为0,在程序执行阶段,经过上述逻辑运算过程之后,运算结果仍为q4.0=0,所以km的线圈处于断电状态。在f< t1区间,虽然输入、输出信号的状态没有变化,用户程序仍一直反复不断地执行着。t=t1时按下按钮sb1,i0.1变为1状态,经逻辑运算后q4.0也变为1状态,在输出处理阶段,将q4.0对应的过程映像输出位中的1送到输出模块,输出模块中与q4.0对应的物理继电器的常开触点接通,接触器km的线圈通电。