- 相關(guān)推薦
基于.NET的管道SCADA維護數據管理系統的設計與實(shí)現
摘 要:針對目前SCADA維護中心存在的工作量大、重復工作多、工作效率低等問(wèn)題,利用計算機智能化的生成、處理數據,并在長(cháng)期工作經(jīng)驗的基礎上,編制一套管道SCADA系統。該系統提供了“所見(jiàn)即所得”的友好界面,能夠使使用者快速、精確的將數據錄入并實(shí)時(shí)的處理數據,最后利用COM組件和文件流的思想,快速、準確的生成滿(mǎn)足要求的word報告和Excel報告。
【關(guān)鍵詞】數據管理 報告出具 COM組件 管道SCADA
1 引言
目前管道SCADA系統維護工作主要以人工為主,由于每年的維護工作量大,并是人工手工完成,效率低。通過(guò)開(kāi)發(fā)SCADA維護數據管理系統,能夠有效提高基層設備維護、測試、數據記錄和數據校驗的工作效率,提高管道SCADA維護計劃的安全、有序和高效地實(shí)施。
文中以中石化管道SCADA維數數據管理系統的研發(fā)為實(shí)例,介紹了開(kāi)發(fā)該系統使用的關(guān)鍵技術(shù),闡述了該系統數據庫的設計和各個(gè)功能模塊的實(shí)現。
2 關(guān)鍵技術(shù)
2.1 軟件復用技術(shù)
所謂軟件復用是指利用現有的軟件成分(資源)來(lái)構造新的軟件系統。該軟件成分可能是已有的軟件,也可能是專(zhuān)門(mén)開(kāi)發(fā)設計的可復用的軟件構件。
2.2 組件對象模型(COM)技術(shù)
組件對象模型(eomponentObjeetModel,COM)是由微軟公司創(chuàng )建的一種二進(jìn)制和網(wǎng)絡(luò )標準,遵循這一標準開(kāi)發(fā)的組件之間可以跨進(jìn)程、跨機器、跨語(yǔ)言甚至跨操作平臺進(jìn)行通信。
2.3 基于標簽技術(shù)的Word報告生成技術(shù)
該技術(shù)是通過(guò)真正的COM技術(shù),將 Office 軟件目錄中文件 MSWORD11.OLB 中的類(lèi)庫全部導入到 C#.net 中,利用 COM技術(shù)編程,便可以在源碼中使用各種操作函數來(lái)操作 Word。
3 系統設計
3.1 業(yè)務(wù)模型設計
依據管道SCADA系統維護流程,采用面向對象思想對系統業(yè)務(wù)模型進(jìn)行描述,業(yè)務(wù)模型如圖1。
3.2 數據庫設計
根據客戶(hù)方要求,數據庫設計需要每個(gè)區域每種類(lèi)型的數據分開(kāi)存儲,以防數據混亂,但基本就分為四類(lèi):字典數據庫、靜態(tài)數據數據庫、子表數據庫、測試相關(guān)人員數據庫。
4 系統實(shí)現
4.1 數據錄入
遵循“所見(jiàn)即所得”的思想,主要的錄入界面與報告證書(shū)界面保持高度一致,這樣每個(gè)頁(yè)面就代表了一個(gè)報告,為了更方便用戶(hù)使用,我選擇了用樹(shù)形結構的菜單。子表數據的錄入使用了DatagridView控件。
4.2 數據查詢(xún)
本系統采取的措施為,將每個(gè)功能模塊需要查詢(xún)的屬性列名存儲在字典數據庫中,當我們指定了某個(gè)功能模塊后,就可以在數據庫中查詢(xún)需要被查詢(xún)的屬性列名。這樣不僅有效的達到查詢(xún)的目的,還使代碼量減少。
4.3 報告出具
本系統一共實(shí)現了兩個(gè)類(lèi)型的報告:Excel報告與Word報告。
4.3.1 Word報告出具
由于word本身是一個(gè)實(shí)現了自動(dòng)化的COM組件,所以我們可以用C#語(yǔ)言和其提供的結構來(lái)訪(fǎng)問(wèn)和操縱Word文檔。具體實(shí)現步驟如下:
(1)生成word程序對象。
(2)指定word模板路徑。
(3)生成word文檔對象并打開(kāi)模板文檔。
(4) 獲取模板中的所有書(shū)簽。
(5)給所有書(shū)簽賦值。
(6)保存word文件。
4.3.2 Excel報告的出具
Excel報告的出具有兩種方案可以實(shí)現。一種是基于流和COM組件的操作,一種是只基于COM組件的操作?紤]到效率,我們選擇后者,實(shí)現步驟如下:
(1)獲取到處的數據表。
(2)將所有滿(mǎn)足要求的數據以流的形式全寫(xiě)入一個(gè)excel中。
(3)生成Excel程序對象。
(4)定義一個(gè)新的工作簿。
(5) 打開(kāi)模板工作簿(此模板可以說(shuō)一個(gè)空的excel文檔,不起到任何作用,只是提供了一個(gè)載體而已)。
(6)得到一個(gè)sheet。
(7)將數據分割為一個(gè)一個(gè)的報告,并循環(huán)填充表格的表頭(可適當的增減行列,以達到需要的目的)。
(8)另存為。
(9)退出Excel,并且釋放調用的COM資源。
5 結束語(yǔ)
系統從SCADA維護中心本身出發(fā),根據其工作流程及計算機的實(shí)現技術(shù),充分考慮SCADA維護中心獲取數據的方法與流向,使系統設計更為合理。開(kāi)發(fā)過(guò)程遵循“方便實(shí)用、能解決問(wèn)題,能夠滿(mǎn)足用戶(hù)需求”的根本原則,綜合考慮數據庫設計,數據庫建設以及軟件開(kāi)發(fā)相關(guān)理論采用“高內聚低耦合”的原則,從科學(xué)、實(shí)用的角度劃分模塊。此系統的成功開(kāi)發(fā),將進(jìn)一步規范評價(jià)工作,大大提高工作效率。
參考文獻
[1]文本穎,談順濤,袁榮湘,趙小利.基于COM技術(shù)的SCADA系統數據庫設計與實(shí)現[J],2004(07):19-22.
[2]孫靜靜.基于標簽技術(shù)的WORD只能報表的研究[D].中國海洋大學(xué),2013(05).
【基于.NET的管道SCADA維護數據管理系統的設計與實(shí)現】相關(guān)文章:
基于A(yíng)SP.NET的網(wǎng)站設計—BBS系統的設計與實(shí)現;SQL10-19
基于A(yíng)SP.NET在線(xiàn)考試系統設計ASP.NET+SQL10-29
ASP.NET的網(wǎng)站新聞管理系統設計與實(shí)現07-25
基于Kinect的自主康復系統的設計與實(shí)現05-27
基于A(yíng)SP的網(wǎng)絡(luò )考試系統的設計與實(shí)現08-23