您现在的位置是:首页 > PLC技术 > PLC技术

S7-200 PLC的逻辑堆栈指令

来源:艾特贸易2017-06-04

简介逻辑堆栈指令用于语句表 (STL) 编程,使用梯形图 (LAD) 、功能块图 (FDB) 编程时,编辑器会自动插入相关的指令处理堆栈操作。对复杂的逻辑关系进行编程时,要用到逻辑堆栈指令,包括

    逻辑堆栈指令用于语句表(STL)编程,使用梯形图(LAD)、功能块图(FDB)编程时,编辑器会自动插入相关的指令处理堆栈操作。对复杂的逻辑关系进行编程时,要用到逻辑堆栈指令,包括ALDOLDLPSLRDLPPLDS,均不需操作数。LPSLPP必须配对使用且连续套用不得超过9次,而在它们之间可以多次使用LRD指令,合理运用LPSLRDLPP指令可简化程序。    (1)栈装载与(ALD,俗称“块与”)指令。ALD (Andload)指令表示两个或两个以上的触点组的串联编程,执行ALD指令,将逻辑堆栈中的第一层和第二层的值进行逻辑与操作,结果放人栈顶(第一层),并将堆栈中的第三层至第九层的值依次上弹一层(堆栈深度减1)。    (2)栈装载或(OLD,俗称“块或”)指令。OLD (Or Load)指令表示两个或两个以上的触点组的并联编程,执行OLD指令,将逻辑堆栈中的第一层和第二层的值进行逻辑或操作,结果放入栈顶(第一层),并将堆栈中的第三层至第九层的值依次上弹一层。    栈装载与( ALD)和栈装载或(OLD)指令的操作过程如图3-8所示。
栈装载与(ALD)和栈装载或(OLD)指令的操作过程
    3-8    栈装载与(ALD)和栈装载或(OLD)指令的操作过程    【例3-1]逻辑堆栈指令编程实例1如图3-9所示。
逻辑堆栈指令编程实例1
    3-9    逻辑堆栈指令编程实例1    (a)并联电路串联的编程;(b)串联电路并联的编程    (3)逻辑推人栈(LPS)指令。执行LPS (Logic Push)逻辑推人栈指令,复制栈顶的值并将这个值推人栈顶,原堆栈中各层栈值依次下压一层,栈底值被推出而丢失。    (4)逻辑读栈(LRD)指令。执行LRD (Logic Read)逻辑读栈指令,把堆栈中第二层的值复制到栈顶,堆栈没有推人栈或弹出栈操作,但原来的栈顶值被新的复制值取代。    (5)逻辑弹出栈(LPP)指令。执行LPP (Logic POP)逻辑弹出栈指令,堆栈做弹出栈操作,将栈顶的值弹出,原堆栈各级栈值依次上弹一级,堆栈第二级的值成为新的栈顶值。    (6)装入堆栈(LDS)指令。执行LDS (Load Stack)装入堆栈指令,复制堆栈中的第n级的值到栈顶,原堆栈的各级栈值依次下压一级,栈底值丢失。    LPSLRDLPPLDS指令的堆栈操作过程如图3-10所示。
LPS、LRD、LPP、LDS指令的堆栈操作过程
    3-10    LPSLRDLPPLDS指令的堆栈操作过程    【例3-2】逻辑堆栈指令编程实例2如图3-11所示。
逻辑堆栈指令编程实例2
    3-11    逻辑堆栈指令编程实例2    几个串联支路并联时,其支路的起点以LDLDN开始,支路终点用OLD指令;如需将多个支路并联,则从第二条支路开始,在每一条支路后面加OLD指令;几个并联支路串联时,其支路的起点也以LDLDN开始,支路终点用ALD指令,如果有多个并联支路串联,则顺次以ALD指令与前面的支路连接,两种指令的支路数均没有限制。