主题
4.3 数据问题
数据相关问题包括数据不更新、数据异常、采集频率设置等,以下为常见问题及解决方法。
数据不更新或显示异常
按步骤排查:
检查设备通信状态
- 确认设备在线(设备列表状态为绿色)
- 查看设备最后通信时间
- 检查通信日志是否有异常
检查数据点配置
- 确认寄存器地址正确(如
D0、D100) - 确认数据类型匹配(16位/32位、有符号/无符号)
- 验证解码方式(大端/小端、整数/浮点)
- 确认寄存器地址正确(如
检查 PLC 程序
- 确认对应寄存器在 PLC 程序中有写入
- 检查是否存在地址重叠或冲突
- 验证数据更新触发条件是否满足
检查平台端
- 刷新页面,排除前端缓存问题
- 清除浏览器缓存后重试
- 检查网络代理是否干扰 WebSocket 连接
数据精度丢失
| 现象 | 原因 | 解决方法 |
|---|---|---|
| 浮点数显示不精确 | IEEE 754 浮点精度限制 | 显示时保留有效小数位 |
| 整数溢出 | 数据类型选择错误 | 使用 32 位寄存器或改用浮点型 |
| 小数位截断 | 数据类型不匹配 | 确认配置的数据类型与实际一致 |
如何修改设备的数据采集频率
- 进入 设备管理 → 设备总表
- 点击设备名称进入详情
- 选择 通信配置 标签
- 修改 轮询时间 参数
- 点击 保存 并 重启设备
建议轮询时间:
| 数据类型 | 建议轮询时间 | 说明 |
|---|---|---|
| 关键报警数据 | 1-5 秒 | 急停、温度超限等 |
| 常规监控数据 | 5-30 秒 | 温度、压力、流量等 |
| 非关键数据 | 30-300 秒 | 环境参数、累计量等 |
注意:轮询时间越短,设备通信负载越高,请根据实际需求合理设置。
历史数据缺失
可能原因:
- 服务器数据库存储空间不足
- 网络中断期间数据未缓存
- 数据采集任务被意外停止
- 历史数据保留策略已自动清理
解决方法:
- 检查服务器磁盘空间,确保数据库有足够存储
- 确认数据采集服务持续运行
- 查看数据库备份和清理策略配置
- 网络不稳定场景建议在设备端启用本地缓存
MQTT 数据延迟
确认 Broker 性能
- 检查 MQTT Broker 服务器 CPU 和内存使用率
- 查看当前连接数和消息吞吐量
优化 QoS 设置
- 非关键数据使用 QoS 0(最多一次)
- 关键数据使用 QoS 1(至少一次)
- 避免全部使用 QoS 2(恰好一次),性能开销大
调整消息大小
- 合并多个数据点到单条消息
- 减少不必要的字段
- 考虑使用二进制格式替代 JSON
数据上报频繁断开
- 检查设备端心跳超时设置,建议 60-120 秒
- 确认服务器端未设置过短的连接超时
- 排查网络抖动,必要时增加重连机制
- 检查是否触发了服务器的频率限制策略