---| |---:常开触点
说明
常开触点的激活取决于相关操作数的信号状态。当操作数的信号状态为“1”时,常开触点将关闭,同时输出的信号状态置位为输入的信号状态。
当操作数的信号状态为“0”时,不会激活常开触点,同时该指令输出的信号状态复位为“0”。
两个或多个常开触点串联时,将逐位进行“与”运算。串联时,所有触点都闭合后才产生信号流。
常开触点并联时,将逐位进行“或”运算。并联时,有一个触点闭合就会产生信号流。
---| / |---: 常闭触点
说明
常闭触点的激活取决于相关操作数的信号状态。当操作数的信号状态为“1”时,常闭触点将打开,同时该指令输出的信号状态复位为“0”。
当操作数的信号状态为“0”时,不会启用常闭触点,同时将该输入的信号状态传输到输出。
两个或多个常闭触点串联时,将逐位进行“与”运算。串联时,所有触点都闭合后才产生信号流。
常闭触点并联时,将进行“或”运算。并联时,有一个触点闭合就会产生信号流
--|NOT|--: 取反 RLO
说明
使用“取反 RLO”指令,可对逻辑运算结果 (RLO) 的信号状态进行取反。如果该指令输入的信号状态为“1”,则指令输出的信号状态为“0”。如果该指令输入的信号状态为“0”,则输出的信号状态为“1”。
---( )---: 线圈
说明
可以使用“赋值”指令来置位
1. 位逻辑指令概述
位逻辑指令是实现逻辑控制的基本指令。西门子S7-1200 PLC的位逻辑指令主要包括触点和线圈指令、位操作指令及位检测指令,见表2-1。
表2-1 位逻辑指令汇总
2. 逻辑“与”“或”“非”操作
位逻辑指令按照一定的控制要求进行逻辑组合,可以构成基本的逻辑控制,即“与”“或”“异或”及其组合。位逻辑指令使用“0”“1”两个布尔操作数(BOOL)对逻辑信号状态进行逻辑操作,逻辑操作的结果送入存储器状态字的逻辑操作结果(RLO)。
图2-1为逻辑“与”梯形图,是用串联的触点进行表示的。表2-2为对应的逻辑“与”真值表。
图2-1 逻辑“与”梯形图
表2-2 逻辑“与”真值表
图2-2为逻辑“或”梯形图,是用并联的触点进行表示的。表2-3为对应的逻辑“或”真值表。
图2-2 逻辑“或”梯形图
表2-3 逻辑“或”真值表
图2-3为逻辑“非”梯形图。表2-4为对应的逻辑“非”真值表。
图2-3 逻辑“非”梯形图
表2-4 逻辑“非”真值表
需要注意的是,西门子S7-1200 PLC内部输入触点(I)的闭合与断开仅与输入映像寄存器相应位的状态有关,与外部输入按钮、接触器、继电器的常开/常闭连接方法无关。如果输入映像寄存器的相应位为“1”,则内部的常开触点闭合,常闭触点断开。如果输入映像寄存器的相应位为“0”,则内部的常开触点断开,常闭触点闭合。
典型的逻辑“与”“或”操作控制电路如图2-4所示。
图2-4 典型的逻辑“与”“或”操作控制电路
3. 取反逻辑与取反线圈
取反线圈指令运算将逻辑运算结果(RLO)取反,并将结果分配给指定的操作数;逻辑取反操作是 对逻辑运算结果RLO取反。图2-5为取反线圈与取反逻辑运算结果指令示例。图中,当输入I1.1和I1.2的信号状态为“1”,或输入I2.1的信号状态为“1”时,输出Q4.0的信号状态为“0”;当输入I1.1、I1.2、I2.2的信号状态为“1”,或输入I2.1、I2.2的信号状态为“1”时,输出Q4.1的信号状态为“0”。
图2-5 取反线圈与取反逻辑运算结果指令示例
图2-6为逻辑取反操作示例。
图中,只有当I0.0和I0.1相与的结果为“0”或I0.2为“1”时,再与I0.3、I0.4相与的结果为“1”,输出Q4.0的信号状态为“0”;否则,输出Q4.0的信号状态为“1”。
4. 置位和复位
置位和复位指令根据RLO的值决定被寻址位的信号状态是否需要改变。
为复位输出,即输出为“0”;
为置位输出,即输出为“1”;
为复位域指令,将指定地址开始的连续若干个地址复位(变为0状态并保持);
为置位域指令,将指定地址开始的连续若干个地址置位(变为1状态并保持)。
除了以上4个置位、复位指令外,西门子S7-1200 PLC还提供了两个双稳态触发器,如图2-7所示,即SR复位优先触发器和RS置位优先触发器。表2-5为SR复位优先触发器真值表。当置位信号和复位信号都有效时,复位信号优先,输出线圈不接通。表2-6为RS置位优先触发器真值表。当置位信号和复位信号都有效时,置位信号优先,输出线圈接通。其中,S连接置位输入,R连接复位输入,置位、复位输入均以高电平状态有效。
图2-7 双稳态触发器
表2-5 SR复位优先触发器真值表
表2-6 RS置位优先触发器真值表
双稳态触发器指令应用示例如图2-8所示。
图2-8 双稳态触发器指令应用示例
在程序段1中,如果输入I0.0的信号状态为“1”,I0.1的信号状态为“0”,则置位存储器M0.0,输
出Q0.0的信号状态为“1”;如果输入I0.0的信号状态为“0”,I0.1的信号状态为“1”,则复位存储器M0.0,输出Q0.0的信号状态为“0”;如果两个输入的信号状态均为“0”,则输出的信号状态不变化;如果两个输入的信号状态均为“1”,则复位M0.0,输出Q0.0的信号状态“0”。
在程序段2中,如果输入I0.2的信号状态为“1”,I0.3的信号状态为“0”,则复位存储器M0.1,输
出Q0.1的信号状态为“0”;如果输入I0.2的信号状态为“0”,I0.3的信号状态为“1”,则置位存储器
位M0.1,输出Q0.1的信号状态为“1”;如果两个输入的信号状态均为“0”,则输出的信号状态不变化;如果两个输入的信号状态均为“1”,则置位M0.1,输出Q0.1的信号状态为“1”。
5. 边沿识别指令
如图2-9所示,当边沿的状态信号变化时,就会产生跳变沿;当边沿的状态信号从“0”变到“1”时,产
生一个上升沿(正跳沿);当边沿的状态信号从“1”变到“0”时,产生一个下降沿(负跳沿)。每个扫描 周期都把信号状态与前一个扫描周期的信号状态进行比较,若不同,则表明有一个跳变沿。因此,前一 个扫描周期的信号状态必须被存储,以便能与新的信号状态相比较。
图2-9 跳变沿