CMP指令:
比较两个值的大小,将不同结果输出,CMP(16位) DCMP(32位)。
操作源:K、H、T、C、D、V、Z、KnX、KnY、KnM、KnS
操作目标:Y、M、S
|—| X001 |—————— [CMP D1 D2 Y0]
虽然写着对Y0输出,但其实占用了Y0,Y1,Y2三个输出点。
对D1和D2比较:
D1>D2,Y0=1;
D1=D2,Y1=1;
D1<D2,Y2=1;
即如果写着第a个点,那么占用a,a+1,a+2三个触点。
当触发CMP指令的X1失电时,Y0,Y1,Y2任保持X1失电前的状态。
若此时D1=D2,即Y1得电,这时X1失电了,那么PLC任然保持Y1得电,Y0Y2失电的状态。
ZCP指令:区间比较,ZCP(16位)DZCP(32位)
操作源:K、H、T、C、D、V、Z、KnX、KnY、KnM、KnS
操作目标:Y、M、S
|—|X001|——————[ZCP D1 D2 D3 Y0]
D1位下限,D2为上限,D1<D2。同样虽然写着对Y0输出,但其实占用了Y0,Y1,Y2三个输出点。
把D3与D1D2比较:
D3<D1,Y0=1;
D1<D3<D2,Y1=1;
D3>D2,Y2=1;
(小于下限Y0得电,大于上限Y2得电,在范围内Y1得电)
触点比较:
=、<>、<、<=、>、>=
例如
|—[> C0 K3]————(Y0)
:C0>3,得电
|—[< C0 K5]————(Y1)
:C0<5,得电
|—[> C0 K3]—[< C0 K5]—————(Y2)
:3<C0<5,得电