a403544779
真想把生活中的所有烦心事都写进梯形图,让它们自动完成。
级别: 略有小成
精华主题: 0
发帖数量: 149 个
工控威望: 243 点
下载积分: 1102 分
在线时间: 92(小时)
注册时间: 2010-10-19
最后登录: 2024-01-16
查看a403544779的 主题 / 回贴
楼主  发表于: 2017-10-07 18:30
如题,现在用PC和PLC 进行485通讯,PLC收到两个16进制数据,保存在D5 D6中。D5显示为8043   D6显示为50FD

现在想把这两个十六 进制数转换成浮点数。转换后应为 257.979(3位小数)

不知道PLC 里该用什么指令转换、我用的信捷PLC  

不知道大家是怎么处理这种问题的,谢谢
[img]http://www.28sp.com/news/UploadFile/200803/24/17277393.jpg[/img]
daiz63
级别: 家园常客
精华主题: 0
发帖数量: 101 个
工控威望: 687 点
下载积分: 1681 分
在线时间: 84(小时)
注册时间: 2017-03-15
最后登录: 2021-06-13
查看daiz63的 主题 / 回贴
1楼  发表于: 2017-10-11 16:11
从二进制的数到浮点数,不是转换问题,直接按浮点数读取就行了,没有哪家控制器会有专门的指令,是IEEE规格,
传输后有可能高低位颠倒了,要自己程序处理
daiz@yaskawa.com.cn
daiz63
级别: 家园常客
精华主题: 0
发帖数量: 101 个
工控威望: 687 点
下载积分: 1681 分
在线时间: 84(小时)
注册时间: 2017-03-15
最后登录: 2021-06-13
查看daiz63的 主题 / 回贴
2楼  发表于: 2017-10-11 16:25
257.979=4380FD50H

这个数据传送不仅字顺序倒了,字节也倒了。
30年前的东西才会这样做。以字节做单位传的。
daiz@yaskawa.com.cn