控制工程网首页 | 产品 | 在线研讨会 |  视频 | 空间 | 论坛 | 博客 
我的空间
用户名:
密 码:
我要加入该社区!   注册新会员
总共 , 当前 /
楼主:发表于:2017/3/27 18:42:42,查看3798次

问题已解决,wincc7.3的modbus采集64位浮点数格式确实有问题,后来自己编写程序将字节位置调换以后解决了,具体格式为:
1、如果从站采用64位浮点数(不交换),则wincc接收到的数据需要按以下顺序交换字节位置:45670123
2、如果从站采用64位浮点数(交换),则wincc接收到的数据需要按以下顺序交换字节位置:23016745
有个项目,需要wincc用modbus通道接收一个modbus设备的数据,其中有一个数据采用的是double inverse(64位浮点数 高低位交换)格式。结果发现wincc的modbus接收64位浮点数不对,modbus slave设备采用double和double inverse两种格式wincc接收的数据都不对。连接参数里面那个(转换字类型数据为16位值)对64位浮点数没有影响,勾不勾选接收到的值都不变。
请问这个怎么解决啊?  怎样正确接收这个数据?
下面两张图是我用modbus slave模拟器模拟的数据,用modscan和wincc同时连接这个模拟器,modbusscan接收的数据正确,wincc接收的数据不对。



2楼:回复于:2017/3/28 21:05:16

64位浮点数不止2种排列

wincc用的是下图第二种

3楼:回复于:2017/4/2 11:22:19

我的测试是wincc对于double类型,能够写入,但显示有问题,一直是0.00 .测试环境是虚拟机win10+wincc7.4+modbus slave 。

定义64为浮点数变量到400001,写入数据123.45, 十六进制表示为 16#405E_DCCC_CCCC_CCCD,

400001~400004分别为

CCCD

CCCC

DCCC

405E

4楼:回复于:2017/4/2 14:20:52

如果Wincc无内置这样顺序,而且只是显示的话,只能分别读4个寄存器然后用脚本合成字符串再显示咯…40位有效值,这么一长串数字看着都头皮嘛…
楼主的什么设备需要64位浮点数精度这么高的精度…难道是银河系内的纳米级别的GPS定位?!!!!吓人又穿越了么……

总共 , 当前 /
  • 发表回复
请先登录,在回复。
  • 社区公告
  • 西门子自动化社区是西门子工业业务领域在本站开设的官方互动社区,旨在提供西门子工业业务领域的最新产品、技术和解决方案,同时为用户和西门子之间提供一个互动交流的平台。工业业务领域由工业自动化集团、驱动技术集团、客户服务集团以及冶金技术部构成,在中国拥有62个办事处以及14家运营公司。如欲了解更多信息,请访问:http://www.industry.siemens.com.cn。
  • 社区专家
  • 社区赞助商
  • 通过本社区和厂商联系
1.我有以下需求:
我想得到贵公司产品详细资料
我想得到贵公司产品的价格信息
我让贵公司产品销售人员联系我
我让贵公司技术支持人员联系我
2.详细的需求:

(不支持Html)
姓名:
单位:
电话:
邮件:
  • 网友反馈
  • 肖先生 在2024/01/25留言
  • 留言类型:贵公司产品销售人员联系我,
  • 详细留言:需要了解色谱产品,高纯氧色谱。分析组分。H2,N2,AR。CH4。是否带脱氧柱
  • 钟灵杰 在2023/12/28留言
  • 留言类型:贵公司产品销售人员联系我,
  • 详细留言:西门子SIEPA(Siemens Predictive Analytics)预测性分析系统 咨询
  • 李希 在2023/12/26留言
  • 留言类型:贵公司产品销售人员联系我,
  • 详细留言:LDX:L0279000 咨询这个产品
更多请进入空间管理中心查看
© 2003-2024
本页面信息涉及广告内容