SCADA|如何用KingIOServer采集汇川PLC的双精度浮点数?

360影视 欧美动漫 2025-03-19 14:45 2

摘要:数据类型为双精度浮点数,KingSCADA采集到的数据与汇川PLC内的数据不一致。

哈喽,你好啊,我是雷工。

今天在现场用KingSCADA采集汇川AC810PLC的数据时,

遇到要采集一个双精度浮点数变量,读取到的数据不正确。

通过翻看帮助手册和测试,终于使采集的数据与PLC内数据一致。

现将测试过程记录如下,便于日后查看。

01 问题描述

数据类型为双精度浮点数,KingSCADA采集到的数据与汇川PLC内的数据不一致。

PLC内是2.620099,KingIOServer中显示是很长的一串数字。

02 处理过程

遇到问题就看手册,查帮助,

在驱动帮助中找到莫迪康ModbusMaster。

通过查看SWAPDB寄存器用于修改Double类型数据字节顺序。

于是在KingIOServer中创建了个变量,寄存器SwapDB0,

运行KingIOServer,手动给该变量写入0-3的值,调整高低字节。

测试可以调整的与汇川PLC的Double变量一致。

但是当重启后,变量又不一致了,需要再次手写。

可见无法通过创建该变量修改处理方式。

这里也测试了在KingSCADA的启动脚本中给该变量赋值,

但是经测试发现无法通过KingSCADA修改KingIOServer中寄存器SwapDB0这个变量。

最后又研究了下帮助手册,

看到有个名称为:ModbusMaster的配置文件,该文件后缀为.ini

在该配置文件中可以设置Double类型的处理方式:

这里将double=0,修改为:double=3

然后保存,重启KingIOServer,这时候查看运行态对应的变量,已经与PLC内的数值一致了。

03 后记

这里提醒一下大家,ModbusMaster这个配置文档是在KingIOServer这个软件的安装目录下,

而不是在KingSCADA这个软件的安装目录下。

另外KingIOServer读取汇川AC810PLC中的M区寄存器时,发现地址需要M地址/2+1;

更多相关问题,欢迎大家在交流群内交流。

2025-03-18

四川·绵阳

来源:小帆科技论

相关推荐