![西门子S7-200 SMART PLC编程技巧与案例](https://wfqqreader-1252317822.image.myqcloud.com/cover/208/29975208/b_29975208.jpg)
3.1 位逻辑指令及案例
位逻辑指令主要指对PLC存储器中的某一位进行操作的指令,它的操作数是位。位逻辑指令包括触点指令和线圈指令两大类。触点指令包括触点取用指令、触点串与并联指令、电路块串与并联指令等;线圈指令包括线圈输出指令、置位复位指令等。
位逻辑指令是依靠1、0两个数进行工作的,1表示触点或线圈的通电状态,0表示触点或线圈的断电状态。利用位逻辑指令可以实现位逻辑运算和控制,在继电器系统的控制中应用较多。
编者心语:
①在位逻辑指令中,每个指令常见的都有梯形图和语句表两种语言表达方式。有些编者在编撰此类书籍的时候,只偏重于语句表的讲解,这点是值得商榷的。
②语句表的基本表达方式:操作码+操作数,其中操作数会以位地址格式出现。
3.1.1 触点取用指令与线圈输出指令
(1)指令格式及功能说明
触点取用指令与线圈指令格式及功能说明,如表3-1所示。
表3-1 触点取用指令与线圈指令格式及功能说明
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00054002.jpg?sign=1739518608-mWc7gi4MwQkicTzF1V8SGsNnLEPjjtMx-0-b92d0b29e9216b70d9b038f7e2cbab32)
(2)应用举例
触点取用指令与线圈指令应用举例,如图3-2所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00055002.jpg?sign=1739518608-TCFKncwieeKmDYtMlJ5QVSblmdW0e0nP-0-5c109ab57c5486f067a9adc4bdc05c6e)
图3-2 触点取用指令与线圈指令
使用说明
①每个逻辑运算开始都需要触点取用指令;每个电路块的开始也需要触点取用指令。
②线圈输出指令可并联使用多次,但不能串联使用。
③在线圈输出指令的梯形图表示形式中,同一编号线圈不能出现多次。
3.1.2 触点串联指令(与指令)
(1)指令格式及功能说明
触点串联指令格式及功能说明,如表3-2所示。
表3-2 触点串联指令格式及功能说明
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00056001.jpg?sign=1739518608-ccZDSUmmIJAQtSW94w7wJ8lGGpMcr4gB-0-0dde950db104ae985909ea4c46ca2e46)
(2)应用举例
触点串联指令应用举例,如图3-3所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00056002.jpg?sign=1739518608-gqLW26XCLx8arXZtmASPdZoZTWRKyLoQ-0-5e0b4dc2326eefebb52445095a540295)
图3-3 触点串联指令
使用说明
①单个触点串联指令可以连续使用。
②在=之后,通过串联触点对其他线圈使用=指令,我们称之为连续输出。
3.1.3 触点并联指令
(1)指令格式及功能说明
触点并联指令格式及功能说明,如表3-3所示。
表3-3 触点并联指令格式及功能说明
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00056003.jpg?sign=1739518608-iZ5x2AJotRsMbk9O2i7LGbDcOW4pMmTC-0-9f34ebc07956a8a088fb51ce0214b7f3)
(2)应用举例
触点并联指令应用举例,如图3-4所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00057002.jpg?sign=1739518608-qwgvzxJ6j9Qy8ewbakSUFYbFNbuISf4K-0-7c2c6f34271e58b78e1e7ca53cc7d555)
图3-4 触点并联指令
使用说明
①单个触点并联指令可以连续使用。
②若两个以上触点串联后与其他支路并联,则需用到后面要讲的OLD指令。
3.1.4 电路块串联指令
(1)指令格式及功能说明
电路块串联指令格式及功能说明,如表3-4所示。
表3-4 电路块串联指令格式及功能说明
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00057003.jpg?sign=1739518608-E3ihIpOIGwi3JKpbieWiyg0DbSNr3Ppw-0-231a197bc26c5ee18143c4324e3d9f72)
(2)应用举例
电路块串联指令应用举例,如图3-5所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00058001.jpg?sign=1739518608-UMT6QbWpyOqJPPr2Jw909wuANc9Q19bh-0-51fa92f6d9f99a658426905011b68c13)
图3-5 电路块串联指令
使用说明
①在每个并联电路块的开始都需用LD或LDN指令。
②可顺次使用ALD指令,进行多个电路块的串联。
③ALD指令用于并联电路块的串联,而A/AN用于单个触点的串联。
3.1.5 电路块并联指令
(1)指令格式及功能说明
电路块并联指令格式及功能说明,如表3-5所示。
表3-5 电路块并联指令格式及功能说明
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00058002.jpg?sign=1739518608-KxQvNOB7vcnMVwIk4cK9WKkwpVYPoojz-0-b7eb06895e9e31c64477f00675ff5e7c)
(2)应用举例
电路块并联指令应用举例,如图3-6所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00058003.jpg?sign=1739518608-Z88Mucw1iX7kYCqTAwQI1XtXFzSFXNt8-0-787464fcb028a52eea33eb96b449f13b)
图3-6 电路块并联指令
使用说明
①在每个串联电路块的开始都需用LD或LDN指令。
②可顺次使用OLD指令,进行多个电路块的并联。
③OLD指令用于串联电路块的并联,而O/ON用于单个触点的并联。
3.1.6 置位与复位指令
(1)指令格式及功能说明
置位与复位指令格式及功能说明,如表3-6所示。
表3-6 置位与复位指令格式及功能说明
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00059001.jpg?sign=1739518608-9iQDlh7XRrkFhM92pTDokFEp0d11zd1l-0-683aabd8d9a20418a76c606ab98449ae)
(2)应用举例
置位与复位指令应用举例,如图3-7所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00059002.jpg?sign=1739518608-AYwmEBN6y22COpf6jQCUk337mCA2QhXh-0-bd5f1266d25da2cc875c52804333a342)
图3-7 置位与复位指令应用举例
置位与复位指令使用说明
①置位复位指令具有记忆和保持功能,对于某一元件来说一旦被置位,始终保持通电(置1)状态,直到对它进行复位(清0)为止,复位指令与置位指令道理一致。
②对同一元件多次使用置位复位指令,元件的状态取决于最后执行的那条指令。
3.1.7 脉冲生成指令
(1)指令格式及功能说明
脉冲生成指令格式及功能说明,如表3-7所示。
表3-7 脉冲生成指令格式及功能说明
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00060001.jpg?sign=1739518608-xUU8KQvP9YtsC6ZD0kEjTa7LakwLYkIO-0-740d7447e1c487cd01dd5c443a919612)
(2)应用举例
脉冲生成指令应用举例,如图3-8所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00060002.jpg?sign=1739518608-zWh1EZP1EGkyjWApPdhlq5dOuPusxxgn-0-eb2614094d90e5ac427def3d63e1244a)
图3-8 脉冲发生指令
使用说明
①EU、ED为边沿触发指令,该指令仅在输入信号变化时有效,且输出的脉冲宽度为一个扫描周期。
②对于开机时就为接通状态的输入条件,EU、ED指令不执行。
③EU、ED指令常常与S/R指令联用。
3.1.8 触发器指令
(1)指令格式及功能说明
触发器指令格式及功能说明,如表3-8所示。
表3-8 触发器指令格式及功能说明
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00061001.jpg?sign=1739518608-KHEisFvyMSVSFaJzSXEoFVs24KPNiNjB-0-015011971d00adf9295f4a793a4af3fc)
(2)应用举例
触发器指令应用举例,如图3-9所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00061002.jpg?sign=1739518608-7zgI1JfeZt7rbZgM1wgvia4dYNCagpdB-0-98126ffc2026ad28de00b726a794ea29)
图3-9 触发器指令应用举例
功能解析
①I0.1=1时,Q0.1置位,Q0.1输出始终保持;I0.2=1时,Q0.1复位;若二者同时为1,置位优先。
②I0.1=1时,Q0.2置位,Q0.2输出始终保持;I0.2=1时,Q0.2复位;若二者同时为1,复位优先。
3.1.9 逻辑堆栈指令
堆栈是一组能够存储和取出数据的暂存单元。在S7-200 SMART PLC中,堆栈有9层,顶层叫栈顶,底层叫栈底。堆栈的存取特点“后进先出”,每次进行入栈操作时,新值都放在栈顶,栈底值丢失;每次进行出栈操作时,栈顶值弹出,栈底值补进随机数。
逻辑堆栈指令主要用来完成对触点进行复杂连接,配合ALD、OLD指令使用,逻辑堆栈指令主要有逻辑入栈指令、逻辑读栈和逻辑出栈指令,如图3-10所示。具体如下。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00062001.jpg?sign=1739518608-u1ImD1P60o6UoTH68vAKUf5uewwlG12x-0-3bb522b7553a1fe6fdc14d54a136aeb6)
图3-10 逻辑堆栈指令
(1)逻辑入栈(LPS)指令
逻辑入栈(LPS)指令又称分支指令或主控指令,执行逻辑入栈指令时,把栈顶值复制后压入堆栈,原堆栈中各层栈值依次下压一层,栈底值被压出丢失。逻辑入栈(LPS)指令的执行情况,如图3-11(a)所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00062002.jpg?sign=1739518608-0l0cs5sGwbUVM2Tb40tMPeuABSBbNbGM-0-e5287e6224e780c1c42a5aacb628084b)
图3-11 堆栈操作过程
(2)逻辑读栈(LRD)指令
执行逻辑读栈(LRD)指令时,把堆栈中第2层的值复制到栈顶,2~9层数据不变,堆栈没有压入和弹出,但原来的栈顶值被新的复制值取代,逻辑读栈(LRD)指令的执行情况,如图3-11(b)所示。
(3)逻辑出栈(LPP)指令
逻辑出栈(LPP)指令又称分支结束指令或主控复位指令,执行逻辑出栈(LPP)指令时,堆栈作弹出栈操作,将栈顶值弹出,原堆栈各级栈值依次上弹一级,原堆栈第2级的值成为栈顶值,原栈顶值从栈内丢失,如图3-11(c)所示。
(4)使用说明
①LPS指令和LPP指令必须成对出现。
②受堆栈空间的限制,LPS指令和LPP指令连续使用不得超过9次。
③堆栈指令LPS、LRD、LPP无操作数。
(5)应用举例
逻辑堆栈指令应用举例,如图3-12所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00063001.jpg?sign=1739518608-fuIzbdE9qWCQSgkp9jRZJHMB8eB7crqR-0-ef2d5252e2324d13085e5be58537d6f5)
图3-12 逻辑堆栈指令应用举例
3.1.10 位逻辑指令应用案例
(1)译码电路
译码电路又称比较电路,该电路按预先设定的输出要求,根据对两个输入信号的比较,决定某一输出,译码电路程序如图3-13所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00063002.jpg?sign=1739518608-OMrGogKiHIkLX5hMzavPUVxnFAUsdRPq-0-18ad069deca3f3a69d9994acc6fa4c74)
图3-13 译码电路程序
案例解析
若I0.0、I0.1同时接通时,线圈Q0.0有输出;若I0.0接通,I0.1不接通,线圈Q0.1有输出;若I0.0不接通,I0.1接通,线圈Q0.2有输出;若I0.0、I0.1都不接通时,线圈Q0.3有输出
(2)两个输入信号优先电路
两个输入信号优先电路是指在两个输入信号中,先到者取得优先权,后到者无效,两个输入信号优先电路程序如图3-14所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00064001.jpg?sign=1739518608-XCnI269ovuEyN4MZF69uT92StxS5PnD6-0-e09109b32cb767d749f135316cf44d88)
图3-14 两个输入信号优先电路程序
案例解析
常开触点I0.0闭合,线圈M0.0得电并自锁,其常闭触点M0.0断开,这时即使I0.1接通,线圈M0.1也不会动作;
常开触点I0.1闭合,线圈M0.1得电并自锁,其常闭触点M0.1断开,这时即使I0.0接通,线圈M0.0也不会动作
(3)两台电动机顺序控制
按下启动按钮,第1台电动机先启动,松开按钮,第2台电动机再启动;按下停止按钮,第1台电动机先停止,松开按钮,第2台电动机再停止,如图3-15所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00065001.jpg?sign=1739518608-r6vXUAYzUMexIvjcbalju0b8FcH0oQqj-0-17c43ccfcdc3895104aeb90ddfd57a11)
图3-15 两台电动机顺序控制程序
案例解析
按下启动按钮,常开触点I0.0闭合,会产生一个上升沿脉冲,使得线圈Q0.0置位,第1台电动机启动;松开启动按钮,会产生一个下降沿脉冲,使得线圈Q0.1置位,第2台电动机启动;按下停转按钮,常开触点I0.1闭合,会产生一个上升沿脉冲,使得线圈Q0.0复位,第1台电动机停转;松开停止按钮,会产生一个下降沿脉冲,使得线圈Q0.1复位,第2台电动机停转。
(4)两台电动机顺序启动
①控制要求:按下启动按钮SB2,电动机M1先启动后,M2才能启动;按下停止按钮,电动机M1、M2同时停止,电气原理图,如图3-16所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00066001.jpg?sign=1739518608-C9APueQuywEprgC1rwYXtLgmuIx5usKc-0-64ec53b0ba138ca71367f31f473cae3d)
图3-16 两台电动机顺序启动
②设计步骤
根据控制要求,对输入/输出进行I/O分配,两台电动机顺序启动I/O分配,如表3-9所示。
表3-9 两台电动机顺序启动I/O分配
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00065002.jpg?sign=1739518608-px8LbkQcw5MkA1jDqTep4Joj1hepyKf5-0-77b8b4a93698c9e35e852bf136b9aa68)
③绘制主电路和PLC控制电路电气接线图,两台电动机顺序启动电气接线图纸如图3-17所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00066002.jpg?sign=1739518608-oyWTeLyNxDBGZX687RpS8EY2llEOFCVh-0-0ac305ffa4929bba90fab5ca4c4921ac)
图3-17 两台电动机顺序启动电气接线图纸
④程序设计,两台电动机顺序启动程序如图3-18所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00067001.jpg?sign=1739518608-hAL6L8xXm607Hs6vFiP4PhSdFuEJ5Y4t-0-064bce643e10df93574c7880846b7ef9)
图3-18 两台电动机顺序启动程序
⑤案例解析。按下M1启动按钮,常开触点I0.1闭合,线圈Q0.0得电并自锁,KM1接通,电动机M1启动;按下M2启动按钮,常开触点I0.2闭合,线圈Q0.1得电并自锁,KM2接通,电动机M2启动;按下停止按钮,I0.0常闭触点断开,Q0.0和Q0.1失电,KM1和KM2线圈断电,电动机M1、M2停止转动。