比较指令包括CMP(比较)和ZCP(区间比较)二条。
(1)比较指令CMP (D)CMP(P)指令的编号为FNC10,是将源操作数[S1.]和源操作数[S2.]的数据进行比较,比较结果用目标元件[D.]的状态来表示。如图3-33所示,当X1为接通时,把常数100与C20的当前值进行比较,比较的结果送入M0~M2中。X1为OFF时不执行,M0~M2的状态也保持不变。
图1 比较指令的使用
(2)区间比较指令ZCP (D)ZCP(P)指令的编号为FNC11,指令执行时源操作数[S.]与[S1.]和[S2.]的内容进行比较,并比较结果送到目标操作数[D.]中。如图3-34所示,当X0为ON时,把C30当前值与K100和K120相比较,将结果送M3、M4、M5中。X0为OFF,则ZCP不执行,M3、M4、M5不变。
图2 区间比较指令的使用
使用比较指令CMP/ZCP时应注意:
1)[S1.]、[S2.]可取任意数据格式,目标操作数[D.]可取Y、M和S。
2)使用ZCP时,[S2.]的数值不能小于[S1.]
3) 所有的源数据都被看成二进制值处理;