三菱plc 中 CMP的用法

作者&投稿:褚饼 (若有异议请与网页底部的电邮联系)
三菱PLC命令CMP~

CMP D0 D2 M0该指令为比较道指令,将比较的结果回三种结果分别告知给M0,M1,M2。
如果D0>D2,M0=1,如果D0=D2,M1=1,如果D0<D2,M2=1,所以使用这个指令会连续占用以M0为首的三个连续的位地址。
CMP用于16位数据比较,比较的数据范知围是-32768到+32767,比较数据类型可以是常熟K,H等,可以是数据寄存器D,也可以是计数器C,可以是时间继电器T,还可以是连续的位址(如K1X0,K2Y0,K3M0,K2S0等)。



扩展资料:
CF=1 则说明了有进位或借位,cmp是进行的减操作,故可以看出为借位,所以,此时oprd1<oprd2
CF=0 则说明了无借位,但此时要注意ZF是否为0,若为0,则说明结果不为0,故此时oprd1>oprd2
当有符号时:若SF=0,OF=0 则说明了此时的值为正数,没有溢出,可以直观的看出,oprd1>oprd2;若SF=1,OF=0 则说明了此时的值为负数,没有溢出,则为oprd1<oprd2
若SF=0,OF=1 则说明了此时的值为正数,有溢出,可以看出oprd1oprd2
最后两个可以作出这种判断的原因是,溢出的本质问题:两数同为正,相加,值为负,则说明溢出;两数同为负,相加,值为正,则说明溢出;故有,正正得负则溢出,负负得正则溢出
参考资料:百度百科——CMP指令

CMP指令,数据比较指令,英文compare,功能号为FNC10,功能是比较两个源操作数S1和S2的大小,比较的结果存放在目标操作数D中。若目标操作数为m0,则m1、m2被自动占有。

CMP   D0   D2   M0该指令为比较道指令,将比较的结果回<,=,>三种结果分别告知给M0,M1,M2。

如果D0>D2,M0=1,如果D0=D2,M1=1,如果D0<D2,M2=1,所以使用这个指令会连续占用以M0为首的三个连续的位地址。

CMP用于16位数据比较,比较的数据范知围是-32768到+32767,比较数据类型可以是常熟K,H等,可以是数据寄存器D,也可以是计数器C,可以是时间继电器T,还可以是连续的位址(如K1X0,K2Y0,K3M0,K2S0等)。



扩展资料:

CF=1 则说明了有进位或借位,cmp是进行的减操作,故可以看出为借位,所以,此时oprd1<oprd2

CF=0 则说明了无借位,但此时要注意ZF是否为0,若为0,则说明结果不为0,故此时oprd1>oprd2

当有符号时:若SF=0,OF=0 则说明了此时的值为正数,没有溢出,可以直观的看出,oprd1>oprd2;若SF=1,OF=0 则说明了此时的值为负数,没有溢出,则为oprd1<oprd2

若SF=0,OF=1 则说明了此时的值为正数,有溢出,可以看出oprd1<oprd2;若SF=1,OF=1则说明了此时的值为负数,有溢出,可以看出oprd1>oprd2

最后两个可以作出这种判断的原因是,溢出的本质问题:两数同为正,相加,值为负,则说明溢出;两数同为负,相加,值为正,则说明溢出;故有,正正得负则溢出,负负得正则溢出

参考资料:百度百科——CMP指令



CMP用于16位数据比较,比较的数据范围是-32768到+32767,比较数据类型可以是常熟K,H等,可以是数据寄存器D,也可以是计数器C,可以是时间继电器T,还可以是连续的位址(如K1X0,K2Y0,K3M0,K2S0等)。
指令用法如下:
CMP D0 D2 M0
该指令为比较指令,将比较的结果<,=,>三种结果分别告知给M0,M1,M2。
如果D0>D2,M0=1
如果D0=D2,M1=1
如果D0<D2,M2=1
所以使用这个指令会连续占用以M0为首的三个连续的位地址。

另外,若比较数据范围大于65535,请使用DCMP,这个是双字比较指令,用法和CMP一样,只不过比较的数据都是双字32位数据,所以使用时不要出现
DCMP D0 D1 M0
这种情况是不对的,因为比较数据D0已经占用了D1和D0,所以这样写是错误的。

希望可以帮到你!

不就是一个单值比较指令吗,比如D代表M0,那么D就是连续的M0 的3个地址编号。当比较指令被激活时,如果S2小于S1时M0为1、当S2等于S1时M1为1、当S2大于S1时M2为1.

CMP K100 C10 M0的意思是当100>C10时M0接通,当100=C10时M1接通,当100<C10时M2接通.
会自动占用3个元件,如M S Y . .

这个很简单啊 比较指令吗


虞城县18632115919: 三菱plc 中 CMP的用法
爨万羟乙: CMP用于16位数据比较,比较的数据范围是-32768到+32767,比较数据类型可以是常熟K,H等,可以是数据寄存器D,也可以是计数器C,可以是时间继电器T,还可以是连续的位址(如K1X0,K2Y0,K3M0,K2S0等). 指令用法如下: CMP D0 ...

虞城县18632115919: 三菱plc中CMP指令怎样具体应用 -
爨万羟乙: CMP指令,数据比较指令,英文compare,功能号为FNC10,功能是比较两个源操作数S1和S2的大小,比较的结果存放在目标操作数D中.若目标操作数为m0,则m1、m2被自动占有.

虞城县18632115919: 三菱plc的CMP指令到底是什么意思 -
爨万羟乙: 比较指令,举例:CMP K10 D10 Y0 当十进制常数10>D10中的值,Y0=1; 当十进制常数10=D10中的值,Y1=1; 当十进制常数10<D10中的值,Y2=1; CMP是由美国斯坦福大学提出的,其思想是将大规模并行处理器中的SMP(对称多处理器)...

虞城县18632115919: 三菱的PLC的CMP指令怎么用 西门子的PLC比较指令是否与三菱的一样,用法也一样? -
爨万羟乙: 用法有很大的区别哦,不能完全相等! 前面三菱FX2N,后面S7-200: INCP=INCB DECP=DECB DECO=DEC0 PLS=EU ANS=siemens no! CMP=(=,<>,<=,>=,<,>)很多指令,不一样的. MOVP=BMB,BMWI,BMD. 你先选中我,再说...

虞城县18632115919: 三菱 PLC CMP K1800 D555 M200是什么意思 -
爨万羟乙: CMP比较指令,K1800与D555 中的数据进行比较,比较的结果分别放在M200,M201,M202 中;如果K1800>D555 ,则M200置1;如果K1800=D555 ,则M201置1;如果K1800<D555 ,则M202置1.如果有不明白的地方,可再提问.

虞城县18632115919: 三菱PLC指令CMP -
爨万羟乙: 简单说就是前两个数(100和计数器C30你的数)比较,将>、<、=三个状态输出到三个位!而M0为首地址、依次是M0、M1、M2 K100>C30 M0=1 M1=0 M2=0 K100=C30 M0=0 M1=1 M2=0 K100<C30 M0=0 M1=0 M2=1

虞城县18632115919: 三菱plc指令cmp d128 k1 m11是什么意思
爨万羟乙: cMp 是比较指令 D128和1比较 结果放到M11开始的3个位上 D128小于1 M11为1 D128等于1 M12为1 D128大于1 M13为1

虞城县18632115919: 三菱plc中zcp指令什么什么意思,怎么用? -
爨万羟乙: 区间比较指令ZCP是将1个源数据与2个源源数据相比较,比较结果将影响目标存储器的数据状态. ZCP指令使用说明如图所示:将一个操作数[S.]与两个操作数[S1.]和[S2.]形成的区间比较,且[S1.]不得大于[S2.],结果送到[D.]中.当X0接通时...

虞城县18632115919: 三菱PLC指令 cmp D20 d10 m50 是什么意思 -
爨万羟乙: 简单说就是前两个数(D20 D10)比较,将>、<、=三个状态输出到三个位!而m50为首地址、依次是M50、M51、M52 D20>D10 M50=1 M51=0 M52=0 D20=D10 M50=0 M51=1 M52=0 D20<D10 M50=0 M51=0 M52=1

虞城县18632115919: qw 三菱 PLC CMP K1800 D555 M200是什么意思 -
爨万羟乙: CMP对比指令,将两个数对比,结果存于M200开始的三个地址,即当D555小于1800时,M200导通,D555等于18000时M201导通,当D555大于1800时M202导通.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网