在核工业、医疗放射等涉及辐射监测的领域,往往需要同时监测多台设备的辐射数据。传统单机仪表显示方式存在数据分散、无法集中分析的弊端。本项目开发的二次仪表上位机系统,正是为了解决多探头协同监测的需求,通过Windows平台的主机程序集中显示所有探头采集的辐射数据,使工作人员能够实时掌握整体辐射水平,及时发现异常情况,为辐射安全管理提供可视化决策支持。
二次仪表上位机/固定式主机主要用于采集各种探头的数据进行显示,方便工作人员实时查看到探头监测到的辐射数据。在Windows平台下进行Qt程序开发。主要功能有:
1. 实时监测页面主要用于显示多个探头的数据,使用QCustomplot进行历史曲线图的绘图。
2. 历史记录页面主要用于查询获取到探头的历史数据。
3. 设备管理页面用于添加和管理各种探头。
4. 兼容不同的探头的不同协议,包括串口,Modbus RTU, modbus TCP等协议。
5. 使用sqltie3数据库,实现数据的增删改查功能。
6. 编写mqtt协议通信,将测量数据,传送到中控制室的服务器中。
7. 编写日志功能,记录操作日志和错误日志。
1.采用Qt MVC架构实现业务解耦:
Model层:使用SQLite3数据库管理探头配置和历史数据
View层:通过QCustomPlot实现动态曲线绘制,QTableView展示表格数据
Controller层:处理协议解析(Modbus RTU/TCP)、数据校验和业务逻辑
2.多协议适配架构:
抽象通信接口层,支持串口、网络等多种通信方式
协议解析模块采用工厂模式,可灵活扩展新探头协议
3.关键技术实现:
实时数据展示:多线程采集+双缓冲绘图技术保证界面流畅
分布式通信:MQTT协议实现与控制室服务器的数据同步