三菱plc 中 CMP的用法

 我来答
在水一方611521
高粉答主

2020-04-11 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:232
采纳率:100%
帮助的人:9.8万
展开全部

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指令

中能合创科技
2024-10-28 广告
电气二次图集中的PLC一般指可编程逻辑控制器,是一种数字运算控制器,它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。 AB... 点击进入详情页
本回答由中能合创科技提供
百度网友8150780
推荐于2017-11-24 · TA获得超过4527个赞
知道小有建树答主
回答量:810
采纳率:100%
帮助的人:372万
展开全部
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,所以这样写是错误的。

希望可以帮到你!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
电工房
2011-08-19 · TA获得超过100个赞
知道答主
回答量:80
采纳率:0%
帮助的人:29.3万
展开全部
不就是一个单值比较指令吗,比如D代表M0,那么D就是连续的M0 的3个地址编号。当比较指令被激活时,如果S2小于S1时M0为1、当S2等于S1时M1为1、当S2大于S1时M2为1.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
亲陶宝9d
2011-08-20
知道答主
回答量:52
采纳率:0%
帮助的人:14.7万
展开全部
CMP K100 C10 M0的意思是当100>C10时M0接通,当100=C10时M1接通,当100<C10时M2接通.
会自动占用3个元件,如M S Y . .
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
江南不是江北
2011-08-19
知道答主
回答量:54
采纳率:0%
帮助的人:17.2万
展开全部
这个很简单啊 比较指令吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式