本系统是一款基于Modbus RTU串口协议的电池监控上位机软件,通过USB转485与电池监控板通信,实现对电池状态的实时监控、数据采集、参数配置及设备升级。主要功能模块如下:
1. 串口通信管理:支持自动检测并连接USB转485串口设备,可配置波特率、数据位、停止位、校验位等串口参数,建立与电池监控板的Modbus RTU通信链路。
2. 电池状态获取:通过Modbus协议读取电池监控板采集的各项数据,包括电池整体状态(良好或异常)、实时电量百分比、单体电压、总电压、充放电电流、电池温度及均衡状态等。
3. 电池参数设置:支持向电池监控板写入配置参数,包括电量校准值、电压保护阈值(过充保护、过放保护)、电流保护限值、温度保护点(充电高温保护、放电高温保护)及各保护项的延时触发时间。
4. 实时数据监控:以数值仪表盘、曲线图或列表形式实时显示电池的各项数据,数据刷新频率可配置,支持异常数据高亮告警,便于操作人员及时发现异常。
5. 电池监控板升级:支持通过串口对电池监控板进行固件升级,提供升级文件选择、版本校验、升级进度显示及升级结果确认功能,方便现场维护与功能迭代。
各模块协同工作,实现对电池监控板的全面控制与数据采集,适用于电池生产测试、储能系统运维及电动汽车电池检测等场景。
1. 使用技术栈:前端与后端均采用Qt C++进行开发,使用Qt的串口模块实现跨平台串口通信,通过QSerialPort类完成串口设备的打开、关闭、读写及参数配置。Modbus RTU协议解析采用手动封装方式,实现CRC16校验、数据帧组装与拆解、寄存器地址映射及功能码处理。数据存储使用SQLite本地数据库,通过Qt的SQL模块完成历史数据的插入与查询。界面采用Qt Widgets实现实时仪表盘、曲线图绘制及参数配置面板。
2. 架构亮点:采用分层架构设计,将串口通信层、协议解析层、业务逻辑层与界面展示层分离,便于后续维护与扩展。Modbus RTU协议层封装为独立动态库,可复用于其他工控项目。采用生产者消费者模式处理串口数据接收,接收线程负责读取串口数据并放入缓冲区,主线程定时从缓冲区取出完整帧进行解析,避免界面卡顿。支持多设备轮询采集,可同时监控多个电池监控板。