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

S7-200 PLC的逻辑堆栈操作指令

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

简介S7-200 系列 PLC 中有一个 9 层堆栈,用于处理所有逻辑操作,称为逻辑堆栈。它与计算机中的堆栈结构相同,特点是先进后出。 图 7.9 EU/ED 指令的应用 逻辑堆栈操作指令使用说明(参见图

    S7-200系列PLC中有一个9层堆栈,用于处理所有逻辑操作,称为逻辑堆栈。它与计算机中的堆栈结构相同,特点是“先进后出”。
EU/ED指令的应用
    7.9    EU/ED指令的应用    逻辑堆栈操作指令使用说明(参见图7.10):    1) ALD (And Load)指令:与块指令。ALD指令把逻辑堆栈第一、第二级的值作“与”操作,结果置于栈顶。ALD执行后堆栈减少一级。    2) OLD (Or Load)指令:或块指令。OLD指令把逻辑堆栈第一、第二级的值作“或”操作,结果置于栈顶。OLD执行后堆栈减少一级。    3) LPS指令(Logic Push):逻辑入栈指令(分支电路开始指令)。在梯形图的分支结构中,LPS指令用于生成一条新的母线,其左侧为原来的主逻辑块,右侧为新的从逻辑块,可直接编程。LPS指令的作用是把栈顶值复制后压入堆栈,栈底值压出丢失。    4) LRD (Logic Read)指令:逻辑读栈指令。在梯形图的分支结构中,当新母线左侧为主逻辑块时,LPS开始右侧的第一个从逻辑块编程,LRD开始第二个以后的从逻辑块编程。LRD指令的作用是把逻辑堆栈第二级的值复制到栈顶,堆栈没有压入和弹出。    5) LPP (Logic Pop)指令:逻辑出栈指令(分支电路结束指令)。在梯形图的分支结构中,LPP用于LPS产生的新母线右侧的最后一个从逻辑块编程,它在读取完离它最近的LPS压入堆栈内容的同时复位该条新母线。LPP指令的作用是把堆栈弹出一级,原第二级的值变为新的栈顶值。    6) LDS (Load Stack)指令:装入堆栈指令。LDS指令的作用是复制堆栈中的第n个值到栈顶,而栈底丢失。其指令格式为:    LDS    n其中,n08中的整数。    7.1 LDS 3,该指令执行前后堆栈的变化情况如图7.10所示。    使用中需注意的是:    1)由于受9层堆栈空间的限制,LPSLPP指令连续使用时应少于9次。    2)LPSLPP指令必须成对使用,它们之间可以使用LRD指令。    3) LPSLRDLPP指令无操作数。    7. 11所示为LPSLRDLPP指令应用举例。
执行逻辑堆栈操作指令前后堆栈发生变化的情况
    7.10    执行逻辑堆栈操作指令前后堆栈发生变化的情况
LPS、LRD和LPP指令的应用
    7.11    LPSLRDLPP指令的应用    LD         I0. 0    LPS    LD         M0. 0    O          M0. 1    ALD    =          Q0. 0    LRD    LD         M0. 2    A          M0. 3    LDN        M0. 4    A          M0. 5    OLD    ALD    =          Q0. 1    LPP    A          M1. 0    =          Q0. 2    LD         M1. 1    ON        M1. 2    ALD           =          Q0. 3