![西门子S7-200 SMART PLC编程从入门到实践](https://wfqqreader-1252317822.image.myqcloud.com/cover/956/41806956/b_41806956.jpg)
3.1 位逻辑指令及案例
位逻辑指令主要是指对PLC存储器中的某一位进行操作的指令,它的操作数是位。位逻辑指令包括触点指令和线圈指令两大类。触点指令包括触点取用指令、触点串联与并联指令、电路块串联与并联指令等;线圈指令包括线圈输出指令、置位与复位指令等。
位逻辑指令是依靠1、0两个数进行工作的,1表示触点或线圈的通电状态,0表示触点或线圈的断电状态。利用位逻辑指令可以实现位逻辑运算和控制,在继电器系统的控制中应用较多。
编者心语
1.在位逻辑指令中,每个指令常见的都有两种语言表达方式:梯形图和语句表。
2.语句表的基本表达方式:操作码+操作数。其中操作数会以位地址格式出现。
触点类指令与线圈输出指令
(1)指令格式及功能说明
触点类指令与线圈输出指令的指令格式及功能说明如表3-1所示。
表3-1 触点类指令与线圈输出指令的指令格式及功能说明
![](https://epubservercos.yuewen.com/DD1B7A/21838931501742206/epubprivate/OEBPS/Images/b3-1.jpg?sign=1739672455-tHkjxod76X44dpPb8xCaKZeENJM6cWUh-0-9f4191d959247a9f7432666ab282d29f)
(2)应用案例
触点类指令和线圈输出指令应用案例如图3-2所示。
![](https://epubservercos.yuewen.com/DD1B7A/21838931501742206/epubprivate/OEBPS/Images/3d2.jpg?sign=1739672455-zvmUYlU9ziFcHs2h4tEqtNXPLWWJodZX-0-ba466a50c17898dd78eccee5675a8168)
图3-2 触点类指令和线圈输出指令应用案例
置位与复位指令
(1)指令格式及功能说明
置位与复位指令的指令格式及功能说明如表3-2所示。
表3-2 置位与复位指令的指令格式及功能说明
![](https://epubservercos.yuewen.com/DD1B7A/21838931501742206/epubprivate/OEBPS/Images/b3-2.jpg?sign=1739672455-SNp5WtiroJyhB1YwQ7FnDtW6xgHfwLLC-0-9729a4b6d8e6a0519ed64c7af68fdc74)
(2)应用案例
置位与复位指令应用案例如图3-3所示。
![](https://epubservercos.yuewen.com/DD1B7A/21838931501742206/epubprivate/OEBPS/Images/3d3.jpg?sign=1739672455-6Alk5ksocsene5uwIsYGQw00TQfKGVLM-0-788e8a4eded61a90ab923c1d4e7462f4)
图3-3 置位与复位指令应用案例
脉冲生成指令
(1)指令格式及功能说明
脉冲生成指令的指令格式及功能说明如表3-3所示。
表3-3 脉冲生成指令的指令格式及功能说明
![](https://epubservercos.yuewen.com/DD1B7A/21838931501742206/epubprivate/OEBPS/Images/b3-3.jpg?sign=1739672455-dkW8VH9U3JHsKE6PaezJmFMX3s9CcTq1-0-00a4e2e62855ec4f65ae5eb5e92efd22)
(2)应用案例
脉冲生成指令应用案例如图3-4所示。
![](https://epubservercos.yuewen.com/DD1B7A/21838931501742206/epubprivate/OEBPS/Images/3d4.jpg?sign=1739672455-hcaDwK3np5JSxsAKKzqIwDGNbwF5aNGw-0-6b60fe111ff16a310a74765ead70ff62)
图3-4 脉冲生成指令应用案例
![](https://epubservercos.yuewen.com/DD1B7A/21838931501742206/epubprivate/OEBPS/Images/t48.jpg?sign=1739672455-m1AsTBIaWq3rQHJvM9e0CwfX9YKLseO0-0-7e480b767a224e1ad3ae5b8be451f464)
触发器指令
(1)指令格式及功能说明
触发器指令的指令格式及功能说明如表3-4所示。
表3-4 触发器指令的指令格式及功能说明
![](https://epubservercos.yuewen.com/DD1B7A/21838931501742206/epubprivate/OEBPS/Images/b3-4.jpg?sign=1739672455-bh1qBqRoZEOSJtcitHoMgE2UVczotorI-0-6d2781b51a71cdc611eb0a94d21814ff)
(2)应用案例
触发器指令应用案例如图3-5所示。
![](https://epubservercos.yuewen.com/DD1B7A/21838931501742206/epubprivate/OEBPS/Images/3d5.jpg?sign=1739672455-10MBUuzliyykAsL9R88w3ncKgOkl1Om6-0-68077a0bfb5828a63dd0a875c0807597)
图3-5 触发器指令应用案例
![](https://epubservercos.yuewen.com/DD1B7A/21838931501742206/epubprivate/OEBPS/Images/21.jpg?sign=1739672455-tSym4nknEFHSTFYTJuwRrMAPGomyPpBO-0-707a460ec06655a927f206f3885f765f)
逻辑堆栈指令
堆栈是一组能够存储和取出数据的暂存单元。在S7-200 SMART PLC中,堆栈有9层,顶层叫栈顶,底层叫栈底。堆栈的存取特点是“后进先出”,每次进行入栈操作时,新值都放在栈顶,栈底值丢失;每次进行出栈操作时,栈顶值弹出,栈底值补进随机数。
逻辑堆栈指令主要用来完成对触点进行复杂连接,配合ALD、OLD指令使用,逻辑堆栈指令主要有逻辑入栈指令、逻辑读栈指令和逻辑出栈指令,如图3-6所示。具体如下。
![](https://epubservercos.yuewen.com/DD1B7A/21838931501742206/epubprivate/OEBPS/Images/3d6.jpg?sign=1739672455-qUb99vaBkunp7D4lGbcjdF3i0nCYnMko-0-238e3d0d198c384344f254bdbffd4cea)
图3-6 逻辑堆栈指令
(1)逻辑入栈(LPS)指令
逻辑入栈(LPS)指令又称分支指令或主控指令,执行逻辑入栈指令时,把栈顶值复制后压入堆栈,原堆栈中各层栈值依次下压一层,栈底值被压出丢失。逻辑入栈(LPS)指令的执行情况如图3-7(a)所示。
![](https://epubservercos.yuewen.com/DD1B7A/21838931501742206/epubprivate/OEBPS/Images/3d7.jpg?sign=1739672455-BjwvCMEsSsqXj8DvExNmN6mYli7Sp4mb-0-a22575bbd8de242b7d437352a55c5943)
图3-7 堆栈操作过程
(2)逻辑读栈(LRD)指令
执行逻辑读栈(LRD)指令时,把堆栈中第2层的值复制到栈顶,第2~9层数据不变,堆栈没有压入和弹出,但原来的栈顶值被新的复制值取代。逻辑读栈(LRD)指令的执行情况如图3-7(b)所示。
(3)逻辑出栈(LPP)指令
逻辑出栈(LPP)指令又称分支结束指令或主控复位指令,执行逻辑出栈(LPP)指令时,堆栈作弹出栈操作,将栈顶值弹出,原堆栈各级栈值依次上弹一级,原堆栈第2级的值成为栈顶值,原栈顶值从栈内丢失,如图3-7(c)所示。
(4)使用说明
① LPS指令和LPP指令必须成对出现。
② 受堆栈空间的限制,LPS指令和LPP指令连续使用不得超过9次。
③ 堆栈指令LPS、LRD、LPP无操作数。
(5)应用案例
堆栈指令应用案例如图3-8所示。
![](https://epubservercos.yuewen.com/DD1B7A/21838931501742206/epubprivate/OEBPS/Images/3d8.jpg?sign=1739672455-kys4hLo5OobAUYtl2vgnsSm2hzVQCmFS-0-40d6c85480cb5cd7ca9a707b423e2564)
图3-8 逻辑堆栈指令应用案例