位逻辑指令顾名思义是对位进行操作的指令,适合的数据类型为BOOL型的数据类型,使用时操作数的寻址方式为按位的方式进行寻址。S7-1200 PLC常用的位逻辑运算指令如表7.1所示。
表7.1 S7-1200 PLC常用的位逻辑运算指令
1.常开触点指令与常闭触点指令
触点指令分为常开触点指令和常闭触点指令,常开触点在指定的位为1状态时闭合,为0状态时断开;常闭触点在指定的位为1状态时断开,为0状态时闭合。触点指令中变量的数据类型为位(BOOL)型,在编程时触点可以并联和串联使用,其应用举例如图7.1所示,当I0.0=0,I0.1=0时,I0.0的常开触点断开,I0.1的常闭触点闭合。
图7.1 常开触点指令和常闭触点指令
2.NOT取反指令
NOT指令用来转换“能流”输入的逻辑状态,如果没有“能流”流入NOT触点,则有“能流”流出;如果有“能流”流入NOT触点,则没有“能流”流出;在图7.1中,当I0.0=0,I0.1=0时,取反指令后Q0.1=1
3.线圈指令
线圈指令为输出指令,当线圈前面的触点电路接通时,线圈流过“能流”,从而使指定位对应的映像寄存器为1,反之则为0。如果是Q区地址,CPU将输出的值传送给对应的过程映像输出,可以在Q地址后加“:P”,这时当将位数据写入过程映像区的同时会直接写到对应的物理输出点。输出线圈指令可以放在梯形图的任意位置,变量类型为BOOL型;取反线圈指令中间有“/”符号。
4.置位复位类指令
在S7-1200 PLC中的置位复位类指令主要包括三种指令:对单个的位进行置位和复位的指令,对多个连续的位进行置位和复位的指令,置位优先和复位优先指令。
置位(SET)指令将指定的位操作数置位为1(变为1状态并保持)。复位(RESET)指令将指定的位操作数复位为0(变为0状态并保持),其示例如图7.2。
图7.2 置位复位指令示例
“置位位域”指令SET_BF将指定的地址开始的连续的若干个位地址置位(变为1状态并保持);“复位位域”指令RESET_BF将指定的地址开始的连续的若干个位地址复位(变为0状态并保持);在图7.3中,当I0.0=1时,Q0.0~Q0.7连续的8个位被置位为1,当I0.1=1时,Q0.0~Q0.7连续的8个位被复位为0。(www.daowen.com)
图7.3 置位域和复位域指令示例
置位优先指令(RS)或复位优先指令(SR)在指令上既有置位信号输入端(S)又有复位信号输入端(R),根据输入S和R的信号状态来置位和复位指定操作数的位。如果输入S的信号状态为“1”且输入R的信号状态为“0”,则将指定的操作数置位为“1”;如果输入S的信号状态为“0”且输入R的信号状态为“1”,则指定的操作数将复位为“0”;若输入端S和输入端R的信号都为“1”时,则置位优先的指令操作数指定为“1”,复位优先指令操作数指定为“0”。其输入/输出关系如表7.2所示。
表7.2 RS指令和SR指令的功能
指令示例如图7.4,当I0.0=1,I0.1=0时,Q0.0复位为0,Q0.1置位为1;当I0.0=0,I0.1=1时,Q0.0置位为1,Q0.1复位为0;当I0.0=1,I0.1=1时,Q0.0优先置位为1,Q0.1优先复位为0。指令上的M0.0、M0.1称为标志位,R、S输入端首先对标志位进行置位和复位,然后再将标志位的状态送到输出端。
图7.4 置位优先和复位优先指令示例
5.沿脉冲类指令
(1)边沿检测触点指令。
边沿检测触点指令包括P触点和N触点指令,当触点的值从“0”变为“1”(上升沿)或从“1”变为“0”(下降沿)时,该触点地址保持一个扫描周期的高电平,即对应常开触点接通一个扫描周期。触点边沿指令可以放置在程序段中除分支结尾外的任何位置。在图7.5中,当I0.0=1,且当I0.1从“0”到“1”的上升沿时,Q0.0接通一个扫描周期,I0.1的状态存储在M0.0中;当I0.2从“1”到“0”的下降沿时,Q0.1接通一个扫描周期,I0.2的状态存储在M0.1中。
图7.5 边沿检测触点指令示例
(2)线圈边沿指令。
线圈边沿指令包括P线圈和N线圈,是当进入线圈的“能流”中出现上升沿或下降沿的变化时,线圈对应的位地址接通一个扫描周期。线圈边沿指令可以放置在程序段中的任何位置。
(3)信号边沿检测指令TRIG。
信号边沿检测指令包括P_TRIG和N_TRIG指令,当在“CLK”输入端检测到上升沿或下降沿时,输出端接通一个扫描周期。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。