摘要:数据类型为双精度浮点数,KingSCADA采集到的数据与汇川PLC内的数据不一致。
哈喽,你好啊,我是雷工。
今天在现场用KingSCADA采集汇川AC810PLC的数据时,
遇到要采集一个双精度浮点数变量,读取到的数据不正确。
通过翻看帮助手册和测试,终于使采集的数据与PLC内数据一致。
现将测试过程记录如下,便于日后查看。
数据类型为双精度浮点数,KingSCADA采集到的数据与汇川PLC内的数据不一致。
PLC内是2.620099,KingIOServer中显示是很长的一串数字。
遇到问题就看手册,查帮助,
在驱动帮助中找到莫迪康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
四川·绵阳
来源:小帆科技论