标题:Qt编写物联网管理平台37-逻辑设计
作者:liudianwu
日期:2022-06-29 09:17
内容:
## 一、前言
本系统的逻辑设计是个人认为做过的系统中最好的,一个系统支持多个通信端口,每个通信端口都可选不同的通信协议,一个通信端口可以接255个控制器,相当于主设备,一个控制器可以接255个探测器,相当于子设备,这样就打破了一条线路255个设备总数的限制,一下子提高到65000个,而且整个软件支持多个线路,就是几十万个设备接入也可以,但是实际上不会有这么多,真要有这么多设备,那卖硬件也赚翻了,实际的应用场景一般在几千个子设备,本系统亲测几千个设备毫无压力。
在程序设计上面,根据端口表中有多少个端口就new多少个通信类,每个端口有哪些控制器地址,从控制器表中拿到,因为控制器会选择一个唯一的端口,然后通信类中根据控制器地址集合做轮询访问数据,至于每次需要问控制器要多少个探测器也就是子设备的数据,通过探测器信息表拿到范围值,就是寄存器地址,所以每次问控制器要数据返回的都是多个探测器的数据,按照对应位置取出对应数据解析即可。网络方式的一般是一个端口对应一个控制器,后期还会增加tcp服务器模式,软件这边作为服务器监听端口,下面的设备主动上报数据。
## 二、功能特点
### 2.1 软件模块
1. 设备监控模块,包括数据监控(表格形式展示)、设备面板(面板形式展示)、地图监控(地图形式展示)、曲线监控(曲线形式展示)。
2. 数据查询模块,包括报警记录、运行记录、操作记录。
3. 系统设置模块,包括基本设置、端口管理、控制器管理、探测器管理、报警联动、类型设置等。
4. 其他设置模块,包括用户管理、地图管理、位置调整、组态设计、设备调试等。
### 2.2 基础功能
1. 设备数据采集,支持串口、网络,串口可设置串口号、波特率,网络可设置IP地址、通讯端口。
2. 每个端口支持采集周期时间,默认1秒钟一个设备。
3. 支持设置通讯超时次数,默认3次。
4. 支持最大重连时间,用于重新读取离线的设备。
5. 控制器信息,能够添加控制器名称,选择控制器地址、控制器型号,设置该控制器下面的探测器数量。
6. 探测器信息,能够添加位号、探测器型号、气体种类、气体符号、高报值、低报值、缓冲值、清零值、是否启用、报警声音、背景地图、存储周期、数值换算小数点位数、报警延时时间、报警的类型(HH,LL,HL)等。
7. 类型管理可配置控制器型号、探测器型号、气体种类、气体符号等。
8. 地图支持导入和删除,所有的探测器在地图上的位置可自由拖动保存。
9. 端口信息、控制器信息、探测器信息、类 ..