在wincc如何把浮点型数据转为四字节的十六进制

在wincc如何把浮点型数据转为四字节的十六进制,比如1.8转成16进制是3FE66666。我现在有几块仪表的读写都是十六进制浮点数,急需解决这个问题!

问题补充:
用的是菲尼克斯PLC,DP通讯跟几个流量仪表连接。这个仪表需要读写数据,数据区是浮点型,菲尼克斯PLC没有浮点型转16进制的功能,所以我想在wincc里面把浮点型的数据转成DWORD再传送至PLC。目前读数据DWORD转浮点数已经在PLC里面解决,但是写数据浮点数转成DWORD还没有解决,已经用工具测试过,发送设置流量1.8需要传送3FE66666到仪表,问题是怎样在wincc里面把1.8转成3FE66666发送至PLC。liubing学长的答案没看懂,能不能详细说明一下?谢谢!

图片说明:

在wincc如何把浮点型数据转为四字节的十六进制   

最佳答案

仪表通讯使用的什么协议

下面代码是还原从S7-300PLC读取的WINCC原始数据类型中浮点数的代码

BYTE a[160] //原始字节数据
float b[40]; //浮点数据

GetTagRaw("a1",a,160); 

for(int i=0;i<40;i++) 

   ((BYTE*)&b[i])[0]=a[i*4+3]; 
   ((BYTE*)&b[i])[1]=a[i*4+2]; 
   ((BYTE*)&b[i])[2]=a[i*4+1]; 
   ((BYTE*)&b[i])[3]=a[i*4]; 

你可以参考下

提问者对于答案的评价:

最佳答案作者回复:
写浮点数的话应该不需要转换成HEX,zhangli0 已经讲得很清楚了。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc145012.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月3日 上午12:14
下一篇 2017年6月3日 上午12:15

相关推荐

  • 创建的C动作为什么不能被编译

    1、我使用的WINCC为V6.2亚洲版本。创建的C动作为什么不能被编译。提示是“该动作没有包含解释代码”为什么? 2、点击帮助菜单下的“目录与索引”启动一下,就消失?为什…

    SIMATIC WinCC 2019年6月11日
  • wincc添加网络摄像头

    WINCC7.0添加了Web Browser控件,摄像头ip:http://192.168.255.108//,控件属性里TYPE项怎么无法输入摄像头的IP地址呢? 图片…

    2021年7月5日
  • WINCC6.0

    哪里可以下载WINCC6.0SP2.多谢各位大侠.给个链接或发到我的邮箱:JHWLG@YAHOO.COM.CN 最佳答案 自己学习用可以到P2P类的论坛找找 提问者对于答案的评价:…

    SIMATIC WinCC 2019年6月11日
  • wincc与server

    下面是wincc从servser中读数据的全局脚本,可怎么也做不出来,有哪位高手能给指点一下吗?谢谢   Dim strcn,cn,a&nb…

    SIMATIC WinCC 2019年6月11日
  • wincc不同版本的转换

    我有一套用wincc7.0做的画面程序,现在要用6。0的版本打开,请问具体怎么去打开。 最佳答案 LZ没戏了,画面重新做吧。Wincc是向下兼容的,低版本的根本就无法打开高版本做的…

    SIMATIC WinCC 2019年6月11日
  • 谁知道OLM交换机的9针D型母口到RJ45口的接法

    求:OLM交换机上的9针D型母口想连到cp613卡的到RJ45口的连接线是怎么做的,西门子有专门这种转接线的型号的,我现在时间较紧,想临时做一个,请问怎么做?谁知道D型端的接法啊?…

    SIMATIC WinCC 2019年6月11日
  • 项目复制器复制

    WICC 6.0每次大家都在用项目复制器复制文件,而我一次也没找到项目复制器在哪?就是工具里,但我从没看见过啊. 问题补充:Project Duplicator这个我从没…

    SIMATIC WinCC 2019年6月11日
  • wincc 7.5 sp2 的项目属性里面的用户界面和设计怎么更改,有比较好的模板吗?

    如题,见别人的项目整体有好看的颜色,是怎么设计出来的? 最佳答案 你可以自己设计,没看到有别的设置的颜色方案呢见过很多用静态图片做的,很多可以用PS做出来图片,然后当按钮&nbsp…

    SIMATIC WinCC 2021年7月5日
  • wincc7.3的IO域实时显示字符串。

    目的:wincc7.3的IO域实时显示长度为10的字符串。如下的图1是PLC的寄存器D8083设置的数据类型,由于客户的原因,这个图1的设置是无法更改的。图2与图3是目前Wincc…

    2021年7月5日
  • WinCC如何通过脚本访问oracle数据库?

    WinCC如何通过脚本访问oracle数据库? 最佳答案 工业数据桥参考:关于如何使用WinCC Industrial Data Bridge将Win…

    SIMATIC WinCC 2021年7月5日