三菱PLC触点比较指令和比较指令CMP的应用

触点比较指令和比较指令的应用非常的广泛,一般的程序就有这2个指令的其中一条。我将说说他们的不同之处和应用方法。 触点比较的指令格式为:ld<> d0 d2这条指令的指令的含义是当数据寄存器d0里面的值不等于数据寄存器d2里值的时候导通。
ld<= d0 d2这条指令的含义是数据寄存器d0里面的值小于或者等于数据寄存器d2里面的值导通。
ld>= d0 d2这条指令的含义是数据寄存器d0里面的值大于或者等于数据寄存器d2里面的值导通。
ld= d0 d2这条指令的含义是数据寄存器d0里面的值等于数据寄存器d2里面的值导通。
什么ld表示在左母线开始,如果是串联ld的地方则为and,并联则为or。需注意的是这条指令可以是16位和32位运算,但不能位脉冲执行型。
比较指令cmp的应用:
这条指令格式为 cmp d0 d2 m0 他的含义是把d0和d2做比较,然后通过m0,m1,m2这3个输出,当d0里面的数据大于d2里面的数据则mo导通。当d0里面的数据等于d2里面的数据则m1导通。当d0里面的数据小于d2里面的数据则m2导通。这条指令可以为16位和32位运算也可以是脉冲执行型。如果是32位运算则dcmp d0 d2 m0. 如果为32位脉冲执行型则dcmp d0 d2 m0,须注意的是32位运算的时候占用的数据寄存器是4个数据寄存器,他们是d0.d1.d2.d3因为一个数据寄存器是16位连续2个数据寄存器才是32位。一旦作32位运算他会自动占用d0.d1.d2.d3这4个数据寄存器,因此特别注意不要在其他程序里不要向这4个数据寄存器里面写入数据,否则会出现未知的错误。还有一点注意的是脉冲执行型,如果是脉冲执行型则当执行条件满足时只执行这条指令1次,如果是连续执行型则每个扫描周期都执行所以必须注意。