上位机架构
上位机使用C#、WPF技术开发。软件并不是一个exe了事,这样维护和协作都很难去做。
整个系统主要包括以下模块:
|
主程序 |
EQMSClient |
负责将各模块组装在一起 |
|
基础类库 |
EQMS.DAL |
部分数据访问层,实现访问数据库的功能 |
|
EQMS.Model |
各种结构体的定义 | |
|
EQMS.ProtocolInterface |
通讯协议和模块的接口 | |
|
EQMS.Services |
系统流程 | |
|
EQMS.Tools |
各种辅助方法 | |
|
通讯协议 |
WQMSClassLib |
水质设备通讯协议 |
|
AQMSClassLib |
空气设备通讯协议 | |
|
EQMSClassLib |
其他设备通讯协议 | |
|
模块库 |
EQMS.Module.DeviceConfig |
设备配置模块 |
|
EQMS.Module.Licence |
软件认证模块 | |
|
EQMS.Module.Platform |
平台功能模块 | |
|
EQMS.Module.WaterQuery |
水质报表模块 | |
|
EQMS.Module.FlowMap |
流程图模块 | |
|
动态模块 |
EQMS.Module.ImportData |
导入数据模块 |
|
EQMS.Module.QualityControl |
运行模式模块 | |
|
EQMS.Module.SMS |
短信发送模块 |
各部分间的逻辑关系如下图所示:

上位机是分层设计的,但并不严格按照书本上定义的层去做。EQMS.Module下面的都是一些包含界面的模块,这些模块可能是固定加载的,也可能是动态加载的,以适应不同的站点需要不同的功能的需要。在内存里的数据是核心数据,包括设备数据和平台数据。这些数据会经采集系统进行更新,经传输系统发送到平台。同时,数据会定时保存到数据库,经过DAL层,可能保存到SQL Server,也可能保存到SQLite。
上位机最核心的是EQMS.Services、EQMS.ProtocolInterface和各种设备协议。EQMS.Services控制整个站点的流程运行,什么时候做采集,什么时候做传输,都有它去完成。EQMS.ProtocolInterface里都是一些虚类、基类,定义了流程类需要调用的函数。而各种设备协议类则完成采集和传输的拼装和解析工作。
本文详细介绍了使用C#和WPF技术开发的上位机架构,涵盖了主程序、数据访问层、通讯协议、设备配置、软件认证等模块,以及各模块间的逻辑关系,展示了分层设计如何适应不同站点需求。
&spm=1001.2101.3001.5002&articleId=83145355&d=1&t=3&u=4ad54f72868b45e8897e372949af9a83)
4600

被折叠的 条评论
为什么被折叠?



