标题:Qt编写气体安全管理系统19-端口管理
作者:liudianwu
日期:2019-11-27 08:49
内容:
一、前言
所有设备的信息配置,主要就三大点:端口管理、控制器管理、探测器管理,整个硬件系统的架构是有多个不同的通信端口(主要是串口和网络),每个通信端口下面挂着多个控制器(每个控制器都有唯一的地址,从1-255),每个控制器下面挂着多个探测器(每个探测器都有唯一的地址,从1-255),这样整个系统最多能够接入的设备数量可以到255*255=65535个,而大部分的modbus系统都是255个,这样就很巧妙的突破了255个的数量限制,一个控制器下面的多个探测器数据,统一由控制器管理和上报,而上位机通信其实就是和控制器通信,探测器之间的数据交互全部是控制器来处理的,处理好以后将对应探测器的数据放到对应的数据位,该数据位最后在探测器管理中进行设置。
端口目前支持两大类,串口和tcp客户端,至于tcp服务端或者udp模式,可以自行拓展,完全没有技术困难,依葫芦画瓢即可。因为大部分的应用场景都是要么串口,要么是tcp客户端,即设备是服务端,软件主动去连接设备,串口通信,尽管Qt5以后新增了qserialport类,个人用过以后觉得有点问题,接收数据总感觉怪怪的,所以本人还是更倾向于用第三方开源的qextserialport组件来实现,毕竟这个组件我用过十几个商业项目,在WIN、UBUNTU、嵌入式linux上,运行都没有问题,经受住了大量的实践检验,还是阔以的。
皮肤开源:[https://gitee.com/feiyangqingyun/QWidgetDemo](https://gitee.com/feiyangqingyun/QWidgetDemo) [https://github.com/feiyangqingyun/QWidgetDemo](https://github.com/feiyangqingyun/QWidgetDemo)
文件名称:styledemo
体验地址:[https://gitee.com/feiyangqingyun/QWidgetExe](https://gitee.com/feiyangqingyun/QWidgetExe) [https://github.com/feiyangqingyun/QWidgetExe](https://github.com/feiyangqingyun/QWidgetExe)
文件名称:bin_sams.zip
二、功能特点
1. 采集数据端口,支持串口端口+网络端口,串口支持自由设置串口号+波特率,网络支持自由设置IP地址+通讯端口,每个端口支持采集周期,默认1秒钟一个地址,支持设置通讯超时次数,默认3次,支持最大重连时间,用于重新读取离线的设备。
2. 控制器信息,能够添加控制器名称,选择控制器地址+控制器型号,设置该控制器下面的探测器数量。
3. 探测器信息,能够添加位号,可自由选择探测器型号,气体种类,气体符号,高报值,低 ..