登录
首页 PLC论坛 欧姆龙OMRON
回帖 发帖
正文

主题:数据比较指令求教

点击:3178 回复:7

今天在编写一段程序的时候,需要用到数据检索。
比如用数据&0和DM90~DM120内的数据进行比较,比较后系统能输出一共有多少个为零的内存,第一个为零的内存区是哪一个。用TCMP只能比较16个内存区。
希望坛里的高手们能给支支招。
14-08-07 11:10

引用 刘国辉 在 2014/8/7 11:10:02 发言【内容省略】

你用2条TCMP指令不就可以了么。
Regards
14-08-07 11:56
两个TCMP是可以解决比较的数量问题,但是如何找到第一个为零的内存区并告诉我,能否指点一二。
14-08-07 12:57

引用 刘国辉 在 2014/8/7 12:57:25 发言【内容省略】

第一步:使用TCMP指令进行比较,如果比较结果相符,则对应的位会被置为ON。
附件 snap1.jpg
第二步:使用编码器指令DMPX指令,将最先为ON的位的偏移量求出,我偷懒了,使用了2条DMPX指令去判断,当低位为0的时候,去判断高字的比较状态。
附件 snap2.jpg
最后,因为得到的结果是16进制的,所以需要转换并加上首地址90,最终得到的就是结果了。
附件 snap3.jpg
上述程序的机型为CP1H。
Regards
14-08-07 14:01

引用 东昌机电 在 2014/8/7 14:01:54 发言【内容省略】

学习了
14-08-07 17:09
太牛了!我就是在找这种效果的指令方式!膜拜膜拜!
14-08-08 11:14
东昌机电,我对DMPX仔细看了一下,程序内也做了实验,发现和说明书上的有出入,不知为何,以下为截图,请不吝赐教!
附件 QQ群.jpg
14-08-08 14:59
我认为D400内的数据是不对的
14-08-08 15:02

工控新闻

更多新闻资讯