网站首页 > 博客文章 正文
wincc怎么转换浮点数(互换)类型的数据
现场设备用485线接入MOXA MB3480网关,然后用网线接入交换机,在wincc中建立modbus TCP/IP连接,用这样的方式来读取现场设备数据。有一台设备通过MODSCAN32仿真软件可以读取到数据,但是要选择浮点数(互换)的方式,wincc中不能直接读取浮点数(互换),只能读32-浮点数,请问怎么才能把读到的浮点数转化为浮点数(互换)呢?用脚本或者别的方法都可以,请给出准确指导,谢谢。
图片说明:
最佳答案
如果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。多谢指点。
楼主亲自测试了一个无符号16位字的高低字节转换
更改一下C脚本 如下:
WORD A=0;
WORD B=0;
A=GetTagWord("Tag1"); //【tag1是你链接你实际的变量】
((BYTE*)&B)[0]= ((BYTE*)&A)[1];
((BYTE*)&B)[1]= ((BYTE*)&A)[0];
SetTagWord("Tag2",B); //【tag2是你链接你实际的变量】
猜你喜欢
- 2025-03-18 Redis 浮点数累计实现(redis lfu 实现原理)
- 2025-03-18 详解Javascript中被你忽略的浮点数运算的坑,来学习吧
- 2025-03-18 「精品博文」FPGA定点小数计算(Verilog版)第四篇——定点小数转换为浮点小数
- 2025-03-18 6.4 数据类型转换(数据类型转化)
- 2025-03-18 借助温度传感器,通过PLC如何将浮点数在触摸屏中显示出来
- 2025-03-18 西门子SCL高级语言之数据转换介绍
- 2025-03-18 Unity Pro XL中Modbus通讯下来实现浮点数读取的精确转换方法!
- 2025-03-18 PLC编程基础浮点数的三角函数转换计算
- 2025-03-18 PLC常识||浮点数是什么意思?它和实数不同?浮点数转换实例
你 发表评论:
欢迎- 374℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 369℃用AI Agent治理微服务的复杂性问题|QCon
- 360℃初次使用IntelliJ IDEA新建Maven项目
- 353℃Maven技术方案最全手册(mavena)
- 351℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 349℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 348℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 344℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)