如瞒你瞒
级别: 探索解密
精华主题: 0
发帖数量: 5 个
工控威望: 122 点
下载积分: 577 分
在线时间: 7(小时)
注册时间: 2014-05-19
最后登录: 2015-05-04
查看如瞒你瞒的 主题 / 回贴
楼主  发表于: 2014-08-06 12:45
求助各位大神,三菱PLC里十六进制数转化为十进制数用什么指令,比如我的D100里面存着有H64,我想把D100里面的数据转化成K100然后存到D50里面,然后方便我做后面的乘除运算,向各位朋友请教。
1120795098
级别: 论坛先锋
精华主题: 0
发帖数量: 717 个
工控威望: 1007 点
下载积分: 1727 分
在线时间: 996(小时)
注册时间: 2009-11-26
最后登录: 2024-09-27
查看1120795098的 主题 / 回贴
1楼  发表于: 2014-08-06 21:01
bcd转bin
楼主留言:
谢了,能具体点吗,真的搞不太懂了。
john42tw
级别: 网络英雄
精华主题: 0
发帖数量: 1276 个
工控威望: 6107 点
下载积分: 52048 分
在线时间: 1120(小时)
注册时间: 2012-04-24
最后登录: 2024-03-06
查看john42tw的 主题 / 回贴
2楼  发表于: 2014-08-07 10:27
PLC 是以2進位儲存 10進位顯示
故並不存在你的問題

例 :
MOV  H64    D100   => D100  : 0000  0000  0110  0010
MOV  K100  D100   => D100  : 0000  0000  0110  0010
兩者相同
如瞒你瞒
级别: 探索解密
精华主题: 0
发帖数量: 5 个
工控威望: 122 点
下载积分: 577 分
在线时间: 7(小时)
注册时间: 2014-05-19
最后登录: 2015-05-04
查看如瞒你瞒的 主题 / 回贴
3楼  发表于: 2014-08-07 10:49
嗯嗯,谢谢。我知道PLC内部运算的时候都是以二进制运算的,但我搞的是一个485的参照MODBUS-RTU协议通讯,读回来的数据存放在D100里面,D100里面的数据也时刻在变化的,这个寄存器里面的十六进制数我想调出来,转化成常规的十进制数进一步算长度。协议格式是这样的

空闲        启始位    光电总数    数据帧数据量    遮挡最高点字节    遮挡最低点字节    遮挡光电总数   校验码       空闲

≥10ms      0x03              78                         07                             xx                                 xx                              xx                      xx               ≥10ms

遮挡光电总数:xx,我就把他存到D100里面了,上面都是十六进制数显示的,我要调用遮挡光电总数xx,用来计算物体的长度,就是不知道怎么把遮挡光电总数xx转换为常规的十进制数进行计算了。