基于.NET的管道SCADA維護數據管理系統的設計與實現
摘 要:針對目前SCADA維護中心存在的工作量大、重復工作多、工作效率低等問題,利用計算機智能化的生成、處理數據,并在長期工作經驗的基礎上,編制一套管道SCADA系統。該系統提供了“所見即所得”的友好界面,能夠使使用者快速、精確的將數據錄入并實時的處理數據,最后利用COM組件和文件流的思想,快速、準確的生成滿足要求的word報告和Excel報告。
【關鍵詞】數據管理 報告出具 COM組件 管道SCADA
1 引言
目前管道SCADA系統維護工作主要以人工為主,由于每年的維護工作量大,并是人工手工完成,效率低。通過開發SCADA維護數據管理系統,能夠有效提高基層設備維護、測試、數據記錄和數據校驗的工作效率,提高管道SCADA維護計劃的安全、有序和高效地實施。
文中以中石化管道SCADA維數數據管理系統的研發為實例,介紹了開發該系統使用的.關鍵技術,闡述了該系統數據庫的設計和各個功能模塊的實現。
2 關鍵技術
2.1 軟件復用技術
所謂軟件復用是指利用現有的軟件成分(資源)來構造新的軟件系統。該軟件成分可能是已有的軟件,也可能是專門開發設計的可復用的軟件構件。
2.2 組件對象模型(COM)技術
組件對象模型(eomponentObjeetModel,COM)是由微軟公司創建的一種二進制和網絡標準,遵循這一標準開發的組件之間可以跨進程、跨機器、跨語言甚至跨操作平臺進行通信。
2.3 基于標簽技術的Word報告生成技術
該技術是通過真正的COM技術,將 Office 軟件目錄中文件 MSWORD11.OLB 中的類庫全部導入到 C#.net 中,利用 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).
【基于.NET的管道SCADA維護數據管理系統的設計與實現】相關文章: