块比较指令BCMP是将一个4位十六进制数与一个由32个连续通道构成的比较表中的16组上、下限值进行逐一比较,该比较表中每两个连续通道组成一个数据组,在每个数据组中总是第一通道(通道号低)的值设为下限值,第二通道(通道号高)的值设为上限值,下限值必须小于或等于上限值,比较从第一个数据组开始,若比较的十六进制数在限值范围内时,则BCMP就将结果通道中的0位置1,否则置0。继续再比较第二个数据组,以此类推,完成16次比较后结果通道的16个位记录对应的比较结果。比较过程如图3-58所示。
图3-58 BCMP指令比较过程示意图
BCMP具有上微分型指令的特性。其梯形图符号如下:
操作数区域:
S:CIO,W,H,A,T,C,D,*D,@D或#。
T:CIO0000~CIO6112,W000~W480,H000~H480,A000~A928,T0000~T4064,C0000~C4064,D00000~D32736,*D或@D。(www.daowen.com)
D:CIO,W,H,A448~A959,T,C,D,*D或@D。
注意:当比较结果通道的值为0时,P_EQ置位。
BCMP指令的应用示例见例3-35。
【例3-35】 BCMP指令梯形图与比较结果如图3-59所示。
图3-59 BCMP指令的应用示例
上例中,当执行条件0.08为ON时,将D20通道值1510H与第一组上限通道H31的值0100H、下限通道H30的值0H进行比较,由于其超出了上限值,所以将比较结果通道W40的0位置0。以此类推,D20通道的值1510H再与其他各组上、下限通道值逐一比较,最终的执行结果是由于1510H处于第16组上限通道H60的值1501H和下限通道H61的值1600H之间,使W40的15位置位。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。