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

S7-200 PLC栈操作指令及应用实例

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

简介栈操作指令包括逻辑堆栈指令 ( Logic Push. LPS) ,逻辑读栈指令 (Logic Read , LRD) 和逻辑弹栈指令 (Logic Pop.LPP) 。如果程序中出现两个以上分支,则需使用栈操作指令来保存与读取分支点的

    栈操作指令包括逻辑堆栈指令( Logic Push. LPS),逻辑读栈指令(Logic ReadLRD)和逻辑弹栈指令(Logic Pop.LPP)。如果程序中出现两个以上分支,则需使用栈操作指令来保存与读取分支点的状态:    逻辑堆栈指令(LPS)将断点地址压入栈区,栈区内容自动下移(原栈底内容丢失)。逻辑读栈指令(LRD)将存储器栈区顶部的内容读人程序的地址指针寄存器,栈区内容保持不变。逻辑弹栈指令(LPP)将栈的内容依次按照后进先出的原则弹出,将栈顶内容弹入程序的地址指针寄存器,栈的其他内容依次上移。分支程序中分支点的状态由堆栈LPS指令来保存,由读栈指令(LRD)或弹栈指令(LPP)来读取。逻辑堆栈指令(LPS)可以嵌套使用,最多为9层。为保证程序地址指针不发生错误,堆栈和弹栈指令必须成对使用,最后一次读栈操作应使用弹栈指令。    【例5-3】栈操作指令在分支程序中的应用举例,梯形图如图5-3所示,语句表如下:
梯形图程序
    5-3    梯形图程序    LD    I0.0    //取常开触点    LPS    //堆栈操作    LD    I0.1     //取常开触点    O    I0.2    //或常开触点    ALD    //块与操作    =    M0.0 //输出结果    LRD    //读栈操作    LD    I0.3    //取常开触点    O    I0.4    //或常开触点    ALD    //块与操作    =    M0.1 //输出结果    LPP    //弹栈操作    A    I0.5    //与常开触点    =    Q0.0 //输出结果