![西门子S7-1200 PLC编程从入门到实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/150/43738150/b_43738150.jpg)
1.3.1 常用位逻辑
布尔量(Bool)是指一个真或假状态,通常用0、1表示假或真。S7-1200 PLC中所有的位逻辑操作就是布尔量之间的操作。它们按照一定的控制要求进行逻辑组合,构成与、或、异或及其组合。表1-5是常见的位逻辑类型、符号及功能说明,包括常开触点、常闭触点、上升沿、下降沿、输出线圈、取反线圈、取反逻辑、置位、复位等。
表1-5 常见的位逻辑类型、符号及功能说明
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/028-01.jpg?sign=1738950720-xBkZuJKefhhdD01rYmK5g9I84UyZjOTT-0-f9575b6566e9402edb2883a4e1cb461e)
1. 取反线圈
取反线圈是指输出“1”时断开,输出“0”时接通。图1-36为输出线圈与取反线圈对比。由梯形图可知,输出线圈和取反线圈除了输出刚好相反,其余均相同,从真值表可以看出两者区别。
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/029-8.jpg?sign=1738950720-W2J11GJZyzyZt2FQWwSbNJGU1dO27RjK-0-f359309ff6c117bbe3342a79151a77f0)
图1-36 输出线圈与取反线圈对比
2.“与”逻辑
“与”逻辑是指只有当两个操作数都是“1”时,结果才是“1”。“与”逻辑操作属于短路操作,即如果第一个操作数能够决定结果,那么就不会对第二个操作数求值;如果第一个操作数是“0”,则无论第二个操作数是什么值,结果都不可能是“1”,相当于短路了右边。图1-37是“与”逻辑及其真值表。
3.“或”逻辑
“或”逻辑是指如果一个操作数或多个操作数为“1”,则“或”运算符返回布尔值“1”,只有全部操作数为“0”时,结果才是“0”。图1-38是“或”逻辑及其真值表。
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/030-2.jpg?sign=1738950720-oqG8YHtOdKBNwcoC2VgaKEzkH2UIpfam-0-15d5c2ae9f8448cc405c3afd2b1e648b)
图1-37 “与”逻辑及其真值表
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/030-3.jpg?sign=1738950720-X8YE46QQmCw8Qd08RbMzuJP2UnEa4oO6-0-3d1dea9aa38bfd9d716d01dc832c1883)
图1-38 “或”逻辑及其真值表
4.“异或”逻辑
“异或”逻辑是指如果a、b两个值不相同,则异或结果为“1”;如果a、b两个值相同,则异或结果为“0”。异或也叫半加运算,运算法则相当于不带进位的二进制加法。图1-39为“异或”逻辑及其真值表。
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/030-4.jpg?sign=1738950720-J25h8FE3bIXg2t16CGtUtNTZcuVCbYNY-0-e4a718575876038f3a282625a8b225a2)
图1-39 “异或”逻辑及其真值表
5. 边沿检测指令
边沿信号在PLC程序中比较常见,如电动机的启动、停止、故障等信号的捕捉都是通过边沿信号实现的。如图1-40所示,上升沿检测指令检测每一次0到1的正跳变,让能流接通一个扫描周期;下降沿检测指令检测每一次1到0的负跳变,让能流接通一个扫描周期。
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/030-5.jpg?sign=1738950720-V5EG6BuzXylVQejRDR3DVrzM3dnVw0Cl-0-5c4466a37f1497a2bd02f8e4573b51b6)
图1-40 边沿检测示意图
6. 置位/复位指令
当触发条件满足(RL0=1)时,置位指令将线圈置1;当触发条件不再满足(RLO=0)时,线圈保持不变,只有触发复位指令时才能将线圈复位为0。单独的复位指令也可以对定时器、计数器的值清0。在梯形图编程指令中,RS、SR触发器带有触发优先级,当置位、复位信号同时为1时,将触发优先级高的动作,如RS触发器,S(置位在后)优先级高。