登录
首页 PLC论坛 台达PLC
回帖 发帖
正文

主题:向各位大神请教一个台达PLC编程关于IEEE,四字节浮点数转换成十进制浮点数的问题

点击:1335 回复:2

附件 1.jpg
附件 2.jpg
需求表述:
从氧气变送器收到的浓度数据为四字节16进制数据
先把数据进行高低位转换变成(DCBA的排序)
用四字节16进制转换浮点数工具得到的浓度值为:10进制浮点数
需求就是把这个四字节16进制的数据转成一个浮点数并放入到寄存器D85。
程序目前变到尾数拆分问题上卡住了(请大神看一下下面的程序),尾数拆分完后,会形成整数部分和小数部分,然后把两个数都 A直接就可通过加法把add整数和小数。
本以为,两个数好分开,结果发现走不通了,因为 辅助继电器m后面的数字必须时常数,不能是寄存器D,程序也就无法继续了
求求那位大神点拨一下,思路哪里出了问题
22-07-08 17:34
   我想要的结果就是,仪表的一个IEEE754 32位的浮数的数据收过来以后,然后转换成为一个十进制的浮点数,就是带小数的数值,然后再加工这个数据进行十进制展示,因为是新手,能力有限,感觉的走入了误区。
  后来想想,PLC本身就是能识别16进制的浮点数,那只要用从D1770开始数按照设备的资料说明找到相应的数据存储位置,然后用knM的方式合成成一个浮点数,再在人机上设定浮点数显示,选择相应的小数尾数即可,目前仪表已经可以在屏幕上正常显示了。
22-07-12 09:26
你刚好遇到你遇到的问题,已经完美解决
24-10-04 20:24

工控新闻

更多新闻资讯