2024年4月25日发(作者:盘以丹)
比较指令有比较(CMP)、区域比较(ZCP)两种,CMP的指令代码为FNC10,ZCP的指
令代码为FNC11,两者待比较的源操作数[S·]均为K、 H、KnX、KnY、KnM、KnS、T、C、
D、V、Z,其目标操作数[D·]均为Y、M、S。
CMP指令的功能是将源操作数[S1·]和[S2·]的数据进行比较,结果送到目标操作元
件[D·]中。在图13-3中,当X0为ON时,将十进制数100与计数器C2的当前值比较,比
较结果送到M0~M2中,若100>C2的当前值时,M0为ON,若100=C2的当前值时,M1为
ON,
若100<C2的当前值时,M2为ON。当X0为OFF时,不进行比较,M0~M2的状态保持不
变。
ZCP指令的功能是将一个源操作数[S·]的数值与另两个源操作数[S1·]和[S2·]的
数据进行比较,结果送到目标操作元件[D·]中,源数据[S1·]不能大于[S2·]。在图13-
4中,当X1为ON时,执行ZCP指令,将T2的当前值与10和150比较,比较结果送到
M0~M2中,若10>T2的当前值时,M0为ON,若10≤T2的当前值≤150时,M1为ON,若
150<T2的当前值时,M2为ON。当X1为OFF时,ZCP指令不执行,M0~M2的状态保持不
变。
比较指令CMP ZCP
比较指令包括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) 所有的源数据都被看成二进制值处理;
2024年4月25日发(作者:盘以丹)
比较指令有比较(CMP)、区域比较(ZCP)两种,CMP的指令代码为FNC10,ZCP的指
令代码为FNC11,两者待比较的源操作数[S·]均为K、 H、KnX、KnY、KnM、KnS、T、C、
D、V、Z,其目标操作数[D·]均为Y、M、S。
CMP指令的功能是将源操作数[S1·]和[S2·]的数据进行比较,结果送到目标操作元
件[D·]中。在图13-3中,当X0为ON时,将十进制数100与计数器C2的当前值比较,比
较结果送到M0~M2中,若100>C2的当前值时,M0为ON,若100=C2的当前值时,M1为
ON,
若100<C2的当前值时,M2为ON。当X0为OFF时,不进行比较,M0~M2的状态保持不
变。
ZCP指令的功能是将一个源操作数[S·]的数值与另两个源操作数[S1·]和[S2·]的
数据进行比较,结果送到目标操作元件[D·]中,源数据[S1·]不能大于[S2·]。在图13-
4中,当X1为ON时,执行ZCP指令,将T2的当前值与10和150比较,比较结果送到
M0~M2中,若10>T2的当前值时,M0为ON,若10≤T2的当前值≤150时,M1为ON,若
150<T2的当前值时,M2为ON。当X1为OFF时,ZCP指令不执行,M0~M2的状态保持不
变。
比较指令CMP ZCP
比较指令包括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) 所有的源数据都被看成二进制值处理;