![西门子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=1739270437-4VJTptjuHzyonsecmzS2ZBj9olDwFUF0-0-4455caf6bafc23a5f200f67d7cbe3bb2)
(2)应用举例
触点取用指令与线圈指令应用举例,如图3-2所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00055002.jpg?sign=1739270437-4g5VATgpHFvDdiOZDLzK57OMI0KXb1Nv-0-d79d524b5911f52ed264c8d59939151d)
图3-2 触点取用指令与线圈指令
使用说明
①每个逻辑运算开始都需要触点取用指令;每个电路块的开始也需要触点取用指令。
②线圈输出指令可并联使用多次,但不能串联使用。
③在线圈输出指令的梯形图表示形式中,同一编号线圈不能出现多次。
3.1.2 触点串联指令(与指令)
(1)指令格式及功能说明
触点串联指令格式及功能说明,如表3-2所示。
表3-2 触点串联指令格式及功能说明
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00056001.jpg?sign=1739270437-22AgGBJaDMWXudDGHOM3dQITuI6hnSxY-0-cb36528a109c0be7a575538553a6b126)
(2)应用举例
触点串联指令应用举例,如图3-3所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00056002.jpg?sign=1739270437-nLeCDu7xQuWEa2Xw4QYuHmMAT47LDDMo-0-ec50e868c9ed9c7001863167f8251eaa)
图3-3 触点串联指令
使用说明
①单个触点串联指令可以连续使用。
②在=之后,通过串联触点对其他线圈使用=指令,我们称之为连续输出。
3.1.3 触点并联指令
(1)指令格式及功能说明
触点并联指令格式及功能说明,如表3-3所示。
表3-3 触点并联指令格式及功能说明
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00056003.jpg?sign=1739270437-1PaQsEH6XaNkb97NqnKumFdDMXdUXIeE-0-ba9b361d3397edfe976108d5456a4457)
(2)应用举例
触点并联指令应用举例,如图3-4所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00057002.jpg?sign=1739270437-gRV5bgFKuMXKxlNJoUmFgq7NtLsHkul7-0-57249b666d4a2fa6e8e3ea66fb8dba27)
图3-4 触点并联指令
使用说明
①单个触点并联指令可以连续使用。
②若两个以上触点串联后与其他支路并联,则需用到后面要讲的OLD指令。
3.1.4 电路块串联指令
(1)指令格式及功能说明
电路块串联指令格式及功能说明,如表3-4所示。
表3-4 电路块串联指令格式及功能说明
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00057003.jpg?sign=1739270437-CqgI3vQLcoxl4ylKYPc4p4s3TPGnELC1-0-8c2baa90097717f77244dd21527509d2)
(2)应用举例
电路块串联指令应用举例,如图3-5所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00058001.jpg?sign=1739270437-WZajwCtGBQJqvcMRNxv1C5ar4qFcPYgF-0-dd5591cc858e22b7f6322dcf94613ce5)
图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=1739270437-CUUMwmWtKIMZGMUJe4RG0px31aMKbyEU-0-88529e705fe9a156c46a070dd41d1ea7)
(2)应用举例
电路块并联指令应用举例,如图3-6所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00058003.jpg?sign=1739270437-ebzMrZLLqrmJ83e9VZGdLe3HeoGY3ffD-0-a1392d4f500e8546bafe65ee862f37a0)
图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=1739270437-yKv5ihTXdznPp75GXpZ0cOkozFcXqTCz-0-374daa222a9f2d73f24873e3d5da06bc)
(2)应用举例
置位与复位指令应用举例,如图3-7所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00059002.jpg?sign=1739270437-C1nBUuVFCeCt53gQV6j0JsxKqHsdGvxk-0-15f4d0465c4e4e059a86f169bc629c38)
图3-7 置位与复位指令应用举例
置位与复位指令使用说明
①置位复位指令具有记忆和保持功能,对于某一元件来说一旦被置位,始终保持通电(置1)状态,直到对它进行复位(清0)为止,复位指令与置位指令道理一致。
②对同一元件多次使用置位复位指令,元件的状态取决于最后执行的那条指令。
3.1.7 脉冲生成指令
(1)指令格式及功能说明
脉冲生成指令格式及功能说明,如表3-7所示。
表3-7 脉冲生成指令格式及功能说明
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00060001.jpg?sign=1739270437-myQsoQFIarQ8XbKCQ4ZNw2IGLBzapCeV-0-9ce4ca6ea2fb783cedc9d5310f442a75)
(2)应用举例
脉冲生成指令应用举例,如图3-8所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00060002.jpg?sign=1739270437-kyCxuEPG60k3DB9yD4b9IjTupGIqQdWb-0-e25b467d527bb77d2fa0ce4bb8599b2d)
图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=1739270437-KJVqLmA8lxk9BFF9sMpz83kUfHu1tkKl-0-5a9607e01442f99f782b79b32ce56f3f)
(2)应用举例
触发器指令应用举例,如图3-9所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00061002.jpg?sign=1739270437-8dNdIn3wDsKfgBvUoBk7chrpG9BpI4vc-0-1bfc4895bccaf46c131a6037e9978f6e)
图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=1739270437-BTaLFwxwR0yngfyihjHbjNxXEllvEj8B-0-ed1a291be4d18b569bc3605b5966a11b)
图3-10 逻辑堆栈指令
(1)逻辑入栈(LPS)指令
逻辑入栈(LPS)指令又称分支指令或主控指令,执行逻辑入栈指令时,把栈顶值复制后压入堆栈,原堆栈中各层栈值依次下压一层,栈底值被压出丢失。逻辑入栈(LPS)指令的执行情况,如图3-11(a)所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00062002.jpg?sign=1739270437-r35VZoUuzql4YKC3SpbDnhcuaMrirfso-0-18a5dda929d8aee6c543edac2ce70ef6)
图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=1739270437-cSkG7gPbAqtHkPjrYzcgNbLXS2sAk2mC-0-743ee92ccbe148d50d6139d6a1030395)
图3-12 逻辑堆栈指令应用举例
3.1.10 位逻辑指令应用案例
(1)译码电路
译码电路又称比较电路,该电路按预先设定的输出要求,根据对两个输入信号的比较,决定某一输出,译码电路程序如图3-13所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00063002.jpg?sign=1739270437-cRzZFT80fbblB0KnvvAa5OHObdrkn8WY-0-bb29b52296ec96811bd04d7c0fb1cf45)
图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=1739270437-zfu1Db4D7c7GWRph3P99AMKp670yfq8L-0-37219da31a15efa33ee1f8962798998b)
图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=1739270437-K8wWNlwurnwzMCCZ4kzNxa2llgAtJW3z-0-ddd06c0897043f9f7197011e5ef4c6eb)
图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=1739270437-5gPBO9ipFw3Ep5W1tkiTB8ZfGmFRgcQs-0-b3ca231a6efebc803036272df5b7efc3)
图3-16 两台电动机顺序启动
②设计步骤
根据控制要求,对输入/输出进行I/O分配,两台电动机顺序启动I/O分配,如表3-9所示。
表3-9 两台电动机顺序启动I/O分配
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00065002.jpg?sign=1739270437-j6r7o5a7eiUQ6gGbVMkbMzoqDfKMVAru-0-ebbc70ab98f70f37e743a4ceeeefb760)
③绘制主电路和PLC控制电路电气接线图,两台电动机顺序启动电气接线图纸如图3-17所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00066002.jpg?sign=1739270437-TgPrYP0U3SDCddEvqV1Sa4MqMG8O6UK5-0-8efe8f360d56e931483bcf544f7797c5)
图3-17 两台电动机顺序启动电气接线图纸
④程序设计,两台电动机顺序启动程序如图3-18所示。
![](https://epubservercos.yuewen.com/6314B4/16499768404654306/epubprivate/OEBPS/Images/img00067001.jpg?sign=1739270437-PNRl82RiIgdxseZeU7of8NxI2Na70a3B-0-2c7abc5b86fb6d717c312ff2beb50c5d)
图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停止转动。