1. 程式人生 > >工控機上位機軟體的開發歷程(四)

工控機上位機軟體的開發歷程(四)

上位機架構

上位機使用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裡都是一些虛類、基類,定義了流程類需要呼叫的函式。而各種裝置協議類則完成採集和傳輸的拼裝和解析工作。