wincc怎么转换浮点数(互换)类型的数据

现场设备用485线接入MOXA MB3480网关,然后用网线接入交换机,在wincc中建立modbus TCP/IP连接,用这样的方式来读取现场设备数据。有一台设备通过MODSCAN32仿真软件可以读取到数据,但是要选择浮点数(互换)的方式,wincc中不能直接读取浮点数(互换),只能读32-浮点数,请问怎么才能把读到的浮点数转化为浮点数(互换)呢?用脚本或者别的方法都可以,请给出准确指导,谢谢。

图片说明:

wincc怎么转换浮点数(互换)类型的数据    wincc怎么转换浮点数(互换)类型的数据   

最佳答案

如果WINCC中32-位浮点数 IEEE 754读取的数据不正确,说明设备的数据存储格式与WINCC不兼容
从截图看,高低字、高低字节都需要交换,及收到的内存数据为ABCD需要调整为DCBA
这个需要用脚本来处理
如添加WINCC MODBUS TCP变量tag1“无符号的 32 位值”读取设备数据,内部变量tag2“32-位浮点数 IEEE 754”用来保存处理后的值
示例C脚本:
 
DWORD  A=0;
float  B=0;
 
A=GetTagDWord("Tag1");
 
((BYTE*)&B)[0]= ((BYTE*)&A)[3]; 
((BYTE*)&B)[1]= ((BYTE*)&A)[2]; 
((BYTE*)&B)[2]= ((BYTE*)&A)[1]; 
((BYTE*)&B)[3]= ((BYTE*)&A)[0]; 
 
SetTagFloat("Tag2",B);

提问者对于答案的评价:
谢谢大佬,成功解决。参考MODSCAN以及16进制转浮点数在线转换工具,确定需要把ABCD改为CDAB,对应修改为0-2,1-3,2-0,3-1。多谢指点。

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

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午2:29
下一篇 2021年7月5日 下午2:29

相关推荐

  • B.Data数据软件

    这个软件是要另外下载还是在Wincc中有集成,或者是那个版本的Wincc中有集成,如果要下载那里比较方便? 最佳答案 B.Data数据软件是收费的,simatic b.d…

    SIMATIC WinCC 2018年12月9日
  • 请问要想学习报表要看那方面的书籍

    没有学历,不懂英语,看报表程序跟天书一样。我想从最基础的东西一点一点的学。不知道要看那放面的书。报表的编程用的什么语言?  —为了更好的生活努力! 问题补充:很…

    SIMATIC WinCC 2019年6月11日
  • 触摸屏组态问题

    我想知道西门子哪一款触摸屏,做的过程画面做的比较好 钻石用户推荐最佳答案 过程画面完全用软件中自带的库就做的不错了啊。如果您是需要如3DMAX那种样式,只能是别的软件做好,然后抓图…

    2021年7月5日
  • 用vbs怎么提取mscomm接收到的大于127的ascii码?

    mscomm接收到的一帧数据为 ed 30 31 32 0d,VBS提供的字符串函数不能处理大于127的ascii码,那么用什么方…

    SIMATIC WinCC 2018年3月6日
  • wincc字体颜色改变的程序

    我是个WINCC新手,有些程序看不懂,哪位高手帮我一下, #include "apdefap.h"  long&nbsp…

    SIMATIC WinCC 2019年6月11日
  • 整点启动打印

    做了报表布局和打印作业,应该怎样设置,使打印作业在整点的时候工作 问题补充:请问一下 全局脚本中启动打印作业是用哪一个函数? 最佳答案 在全局动作中启动打印作业。&nbs…

    SIMATIC WinCC 2019年6月11日
  • WINCC做阀门的模板

    系统有很多个开关型阀门,要求在主画面上点击某个阀门,会弹出这个阀门对应的小画面来,希望在这个小画面里实现开阀,关阀操作,并指示阀门的状态;1.有一个笨办法可以实现:预先做出很多个小…

    SIMATIC WinCC 2019年6月11日
  • WinCC控件无法移动

    刚刚在修改画面,一切都还正常。突然之间无法用鼠标拖拽控件移动位置,但是修改坐标还是可以的。有哪位遇到过这样的事情吗?这是什么原因,如何解决。 问题补充:检查过了,鼠标键盘没有问题,…

    SIMATIC WinCC 2017年12月7日
  • 变量记AAA

    变量记录中一个变量A, 其随时间变化。 然后对A进行归档,在其属性参数项中选择: 处理—总和 用报表查询其在某一段时间内的总和时为何始终…

    SIMATIC WinCC 2019年6月11日
  • 画面编辑器里面找不到变量

    做画面时无法找到已经建立的外部变量 ,我以为是授权问题 ,开始连内部变量也找不到 图片说明:    最佳答案 也有可能是画面所需要的变量类型…

    2017年11月12日

发表回复

登录后才能评论