當前位置:學問君>學習教育>畢業論文>

基於.NET的管道SCADA維護數據管理系統的設計與實現

學問君 人氣:1.22W

 摘 要:針對目前SCADA維護中心存在的工作量大、重複工作多、工作效率低等問題,利用計算機智能化的生成、處理數據,並在長期工作經驗的基礎上,編制一套管道SCADA系統。該系統提供了“所見即所得”的友好介面,能夠使使用者快速、精確的將數據錄入並實時的處理數據,最後利用COM組件和檔案流的思想,快速、準確的生成滿足要求的word報告和Excel報告。

基於.NET的管道SCADA維護數據管理系統的設計與實現

【關鍵詞】數據管理 報告出具 COM組件 管道SCADA

1 引言

目前管道SCADA系統維護工作主要以人工爲主,由於每年的維護工作量大,並是人工手工完成,效率低。透過開發SCADA維護數據管理系統,能夠有效提高基層設備維護、測試、數據記錄和數據校驗的工作效率,提高管道SCADA維護計劃的安全、有序和高效地實施。

文中以中石化管道SCADA維數數據管理系統的研發爲實例,介紹了開發該系統使用的.關鍵技術,闡述了該系統數據庫的設計和各個功能模組的實現。

2 關鍵技術

2.1 軟件複用技術

所謂軟件複用是指利用現有的軟件成分(資源)來構造新的軟件系統。該軟件成分可能是已有的軟件,也可能是專門開發設計的可複用的軟件構件。

2.2 組件對象模型(COM)技術

組件對象模型(eomponentObjeetModel,COM)是由微軟公司創建的一種二進制和網絡標準,遵循這一標準開發的組件之間可以跨進程、跨機器、跨語言甚至跨操作平臺進行通信。

2.3 基於標籤技術的Word報告生成技術

該技術是透過真正的COM技術,將 Office 軟件目錄中檔案 中的類庫全部匯入到 C# 中,利用 COM技術編程,便可以在源碼中使用各種操作函數來操作 Word。

3 系統設計

3.1 業務模型設計

依據管道SCADA系統維護流程,採用面向對象思想對系統業務模型進行描述,業務模型如圖1。

3.2 數據庫設計

根據客戶方要求,數據庫設計需要每個區域每種類型的數據分開存儲,以防數據混亂,但基本就分爲四類:字典數據庫、靜態數據數據庫、子表數據庫、測試相關人員數據庫。

4 系統實現

4.1 數據錄入

遵循“所見即所得”的思想,主要的錄入介面與報告證書介面保持高度一致,這樣每個頁面就代表了一個報告,爲了更方便用戶使用,我選擇了用樹形結構的選單。子表數據的錄入使用了DatagridView控件。

4.2 數據查詢

本系統採取的措施爲,將每個功能模組需要查詢的屬性列名存儲在字典數據庫中,當我們指定了某個功能模組後,就可以在數據庫中查詢需要被查詢的屬性列名。這樣不僅有效的達到查詢的目的,還使代碼量減少。

4.3 報告出具

本系統一共實現了兩個類型的報告:Excel報告與Word報告。

4.3.1 Word報告出具

由於word本身是一個實現了自動化的COM組件,所以我們可以用C#語言和其提供的結構來訪問和操縱Word文檔。具體實現步驟如下:

(1)生成word程序對象。

(2)指定word模板路徑。

(3)生成word文檔對象並開啟模板文檔。

(4) 獲取模板中的所有書籤。

(5)給所有書籤賦值。

(6)儲存word檔案。

4.3.2 Excel報告的出具

Excel報告的出具有兩種方案可以實現。一種是基於流和COM組件的操作,一種是隻基於COM組件的操作。考慮到效率,我們選擇後者,實現步驟如下:

(1)獲取到處的數據表。

(2)將所有滿足要求的數據以流的形式全寫入一個excel中。

(3)生成Excel程序對象。

(4)定義一個新的工作簿。

(5) 開啟模板工作簿(此模板可以說一個空的excel文檔,不起到任何作用,只是提供了一個載體而已)。

(6)得到一個sheet。

(7)將數據分割爲一個一個的報告,並循環填充表格的表頭(可適當的增減行列,以達到需要的目的)。

(8)另存爲。

(9)退出Excel,並且釋放調用的COM資源。

5 結束語

系統從SCADA維護中心本身出發,根據其工作流程及計算機的實現技術,充分考慮SCADA維護中心獲取數據的方法與流向,使系統設計更爲合理。開發過程遵循“方便實用、能解決問題,能夠滿足用戶需求”的根本原則,綜合考慮數據庫設計,數據庫建設以及軟件開發相關理論採用“高內聚低耦合”的原則,從科學、實用的角度劃分模組。此係統的成功開發,將進一步規範評價工作,大大提高工作效率。

參考文獻

[1]文字穎,談順濤,袁榮湘,趙小利.基於COM技術的SCADA系統數據庫設計與實現[J],2004(07):19-22.

[2]孫靜靜.基於標籤技術的WORD只能報表的研究[D].中國海洋大學,2013(05).