loadmanz
级别: 正式会员
精华主题: 0
发帖数量: 16 个
工控威望: 99 点
下载积分: 657 分
在线时间: 15(小时)
注册时间: 2010-03-08
最后登录: 2023-12-15
查看loadmanz的 主题 / 回贴
楼主  发表于: 2010-05-18 10:44
通讯的数据都是8位的,现在想将2个8位数据合并为1个16位数据,然后转为bcd码?不知道应该怎么做?
比如:D1 = 0X84    D2 = 0X45
            需要得到 U0 = 0X8445
           然后转为BCD    B0 = 8445

PLC :FX1S
[ 此帖被loadmanz在2010-05-18 10:50重新编辑 ]
qinshengyue
是我,别开枪!
级别: VIP会员
精华主题: 0
发帖数量: 808 个
工控威望: 1216 点
下载积分: 31304 分
在线时间: 1234(小时)
注册时间: 2009-04-09
最后登录: 2023-05-23
查看qinshengyue的 主题 / 回贴
1楼  发表于: 2010-05-18 11:11
用SMOV移位传送指令大致是可以的!
zsm961450
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看zsm961450的 主题 / 回贴
2楼  发表于: 2010-05-18 11:45
图片:
测试了一下,还行,仅供参考,应该还有更好的方法
daidai520
级别: 探索解密
精华主题: 0
发帖数量: 39 个
工控威望: 183 点
下载积分: 708 分
在线时间: 34(小时)
注册时间: 2007-08-09
最后登录: 2014-07-16
查看daidai520的 主题 / 回贴
3楼  发表于: 2010-05-18 13:57
好久没玩三菱的了,但是你可以这样,你把d1的数据转化为二进制放在m0-m15里,把D2数据放在M16-M31里面,然后合并就可以了,忘记三菱是高位在前还是低位在前了,不行你把d1和d2换一下,我觉得可以,试试了!希望能帮你解决问题
loadmanz
级别: 正式会员
精华主题: 0
发帖数量: 16 个
工控威望: 99 点
下载积分: 657 分
在线时间: 15(小时)
注册时间: 2010-03-08
最后登录: 2023-12-15
查看loadmanz的 主题 / 回贴
4楼  发表于: 2010-05-18 14:55
多谢大家热心指导。
yuehuasheji
级别: 略有小成
精华主题: 0
发帖数量: 312 个
工控威望: 439 点
下载积分: 796 分
在线时间: 86(小时)
注册时间: 2007-11-09
最后登录: 2024-02-21
查看yuehuasheji的 主题 / 回贴
5楼  发表于: 2010-05-18 15:00
你设置寄存器为八位后两个加起来就是16位,转BCD有专有的指令
杨粟宇
级别: 略有小成
精华主题: 0
发帖数量: 246 个
工控威望: 277 点
下载积分: 694 分
在线时间: 66(小时)
注册时间: 2007-08-21
最后登录: 2024-01-07
查看杨粟宇的 主题 / 回贴
6楼  发表于: 2010-05-18 15:19
用译码指令就可以很放便把各个数放到你想放的位置
thorse
技术这种个东西,永远是个海,我想可能要用一生去潜,尽量潜得深
级别: 略有小成
精华主题: 0
发帖数量: 174 个
工控威望: 295 点
下载积分: 3955 分
在线时间: 212(小时)
注册时间: 2008-04-25
最后登录: 2024-03-10
查看thorse的 主题 / 回贴
7楼  发表于: 2010-05-18 16:20
引用
引用第2楼zsm961450于2010-05-18 11:45发表的  :
测试了一下,还行,仅供参考,应该还有更好的方法
[ 此帖被thorse在2010-05-18 16:35重新编辑 ]
交朋友,互资料,共学习,同促进. QQ:44078788
thorse
技术这种个东西,永远是个海,我想可能要用一生去潜,尽量潜得深
级别: 略有小成
精华主题: 0
发帖数量: 174 个
工控威望: 295 点
下载积分: 3955 分
在线时间: 212(小时)
注册时间: 2008-04-25
最后登录: 2024-03-10
查看thorse的 主题 / 回贴
8楼  发表于: 2010-05-18 16:34

,我采用了程序是这样的,也可以将M8161改成8位方式
交朋友,互资料,共学习,同促进. QQ:44078788