在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日
下一篇 2017年6月3日

相关推荐

  • 客户机访问冗余wincc服务器(加装CP1623卡)用哪张网卡

    如题:400H与wincc冗余(CP1623),两台Wincc冗余,CP1623卡与400H冗余,客户机访问冗余服务器是使用CP1623网络,还是需要服务器上自带的网卡。 最佳答案…

    SIMATIC WinCC 2020年11月1日
  • WINCC与400通讯

    现在有个项目:WINCC通过CP443-1对416F-2 监控 问题1:要在416F-2上编写通讯程序吗,还是直接在WINCC组态好就行了?问题2:组态的时候,…

    SIMATIC WinCC 2019年6月11日
  • wincc7.3与AB 5000PLC通讯

    请问wincc7.3与5000系列的plc通过以太网通讯,是不是要用OPC方式还是软件本身含有相关的通讯驱动? 最佳答案 不用使用OPC,WINCC7.3 含有Allen…

    SIMATIC WinCC 2017年6月5日
  • Wincc报表使用

    Wincc怎么做报表?像日报表,月报表之类的,以前实现历史数据查询是通过wincc的控件实现的,这种历史数据控件实现数据查询和报表有什么区别? 最佳答案 WinCC报表问题合集ht…

    SIMATIC WinCC 2021年7月5日
  • 请问用VB怎么访问画面中的画面的对象?

    1.请问怎么用VB在全局脚本中访问画面中的对象?比如某个画面中的控件?2.怎么用VB访问某个画面中的窗口中的对象?谢谢! 最佳答案 这两个问题用法一样的如果是单层的画面和对象,直接…

    SIMATIC WinCC 2020年11月1日
  • wincc显示的问题

    用wincc同时显示多个画面在几个不同的显示器上,控制1显示器时,其它的显示器无变化,以此类推。 问一下:1.在wincc里如何解决这个问题。 2.电脑硬件如何…

    SIMATIC WinCC 2019年6月11日
  • wincc硬件狗出问题咋办

    硬件狗出问题啦,怎么有效修复 最佳答案 WinCC授权/硬狗损坏http://www.ad.siemens.com.cn/productportal/prods/hmi/wincc…

    SIMATIC WinCC 2021年7月5日
  • Wincc如何记录开机和关机时间

    Wincc如何记录开机和关机时间? 问题补充:我想记录的就是Wincc打开和关闭的时间,用脚本如何实现呢? 最佳答案 建立两个内部变量,在WinCC启动和停止的时候置位。&nbsp…

    SIMATIC WinCC 2019年6月11日
  • WINCC可不可以在退出时保存变量的值

    WINCC可不可以在退出时保存变量的值,下次启动时就可以运用 最佳答案 不能,需要保存的值可以使用PLC的变量,或则使用数据库保存,开机运行的时候在读出来就可以了 提问者对于答案的…

    SIMATIC WinCC 2019年6月11日
  • wincc函数什么意思了

    return value[Check_LimitsD (GetTagDouble (TAG_1), 23, &limitV…

    SIMATIC WinCC 2021年7月5日