陸冠鵬
(廣東水利電力勘測(cè)設(shè)計(jì)研究院,廣州 510635)
基于C#語(yǔ)言的Excel自動(dòng)電纜端子對(duì)點(diǎn)軟件的設(shè)計(jì)與研究
陸冠鵬
(廣東水利電力勘測(cè)設(shè)計(jì)研究院,廣州 510635)
水電站電氣二次設(shè)備之間存在大量互聯(lián)電纜,這些電纜分散在不同的系統(tǒng)圖紙上,在設(shè)計(jì)過(guò)程中對(duì)所有電纜進(jìn)行快速、準(zhǔn)確的對(duì)點(diǎn)是保證水電站按期建設(shè)、投運(yùn)后安全運(yùn)行的關(guān)鍵環(huán)節(jié)。文章簡(jiǎn)要介紹了一種基于Visual Studio.NET平臺(tái)開(kāi)發(fā)的水電站自動(dòng)電纜端子對(duì)點(diǎn)軟件的系統(tǒng)架構(gòu)、工作原理,實(shí)現(xiàn)功能和設(shè)計(jì)特點(diǎn)。
水電站;自動(dòng)化設(shè)計(jì);軟件開(kāi)發(fā);模塊實(shí)現(xiàn)
水電站的電氣二次系統(tǒng)主要包括機(jī)組監(jiān)控系統(tǒng)、繼電保護(hù)系統(tǒng)、輔機(jī)系統(tǒng)及直流系統(tǒng)屏柜等,各個(gè)系統(tǒng)之間存在大量互聯(lián)電纜,這些分散布置的電纜如同整個(gè)水電站的血管神經(jīng),是維持水電站正常運(yùn)行的重要組成部分。在水電站電氣二次設(shè)計(jì)過(guò)程中,完成各個(gè)分系統(tǒng)的圖紙?jiān)O(shè)計(jì)后,需要將各個(gè)系統(tǒng)之間的互聯(lián)電纜統(tǒng)合整理形成電纜端子表,確認(rèn)每條電纜的兩端走向,并對(duì)電纜的芯線逐一對(duì)點(diǎn),保證所有電纜既沒(méi)有重復(fù)也沒(méi)有缺漏、電纜的芯線聯(lián)接的端子正確無(wú)誤。一個(gè)水電站有數(shù)千條二次電纜需要一一核對(duì),由設(shè)計(jì)人員進(jìn)行人工核對(duì)不但耗費(fèi)大量工時(shí)且難以保證核對(duì)精度。使用自動(dòng)對(duì)點(diǎn)軟件進(jìn)行核對(duì)可替代手工核對(duì)的工時(shí),并且在發(fā)生電纜變更時(shí)也可以快速進(jìn)行重新校對(duì),避免由于人為失誤導(dǎo)致的各種電纜錯(cuò)誤,使得電氣二次電纜的設(shè)計(jì)既高效又準(zhǔn)確。
工程設(shè)計(jì)中電纜端子表具有多種形式,可分為基于CAD繪圖軟件圖紙型和基于excel軟件表格型兩大類,圖紙型的電纜端子表具有形象和設(shè)備實(shí)物端子排一致的特點(diǎn),在設(shè)計(jì)和現(xiàn)場(chǎng)接線過(guò)程中簡(jiǎn)單直觀;表格型的電纜端子表則將設(shè)備上端子排轉(zhuǎn)化為一個(gè)表格,由于不是直觀繪制,設(shè)計(jì)和使用時(shí)都需要有的一個(gè)轉(zhuǎn)化適應(yīng)的過(guò)程。相對(duì)于圖紙型的電纜端子表,表格型電纜端子表的優(yōu)勢(shì)在于后期進(jìn)行數(shù)據(jù)庫(kù)存儲(chǔ)時(shí)十分方便,在數(shù)據(jù)庫(kù)功能支持下可以方便的進(jìn)行數(shù)量統(tǒng)計(jì)、型號(hào)歸類、查找特定電纜等工作。本軟件選擇基于Excel表格型電纜端子表以便對(duì)實(shí)現(xiàn)自動(dòng)對(duì)電纜數(shù)據(jù)進(jìn)行讀取和核對(duì)。一個(gè)基于Excel的典型表格化電氣二次設(shè)備電纜端子表如表1所示:
表1 典型表格化電氣二次設(shè)備電纜端子表
對(duì)一個(gè)如例表所示的電氣二次設(shè)備電纜端子表進(jìn)行對(duì)點(diǎn)必須完成以下步驟:
1)確定各個(gè)設(shè)備上的二次電纜數(shù)量,理清各條電纜的電纜編號(hào)、電纜牌號(hào)、電纜芯數(shù)、本側(cè)/對(duì)側(cè)柜號(hào)、本側(cè)/對(duì)側(cè)柜名,電纜內(nèi)每條線芯的線號(hào)、本側(cè)/對(duì)側(cè)端子排、本側(cè)/對(duì)側(cè)端子號(hào)等信息;
2)根據(jù)電纜的兩側(cè)柜號(hào),核對(duì)兩側(cè)屏柜上的端子排,確認(rèn)兩側(cè)屏柜上的端子排已接入該條電纜且各條線芯接線正確;
3)根據(jù)電纜核對(duì)結(jié)果對(duì)每條電纜進(jìn)行標(biāo)記,標(biāo)出重復(fù)、缺漏或接線設(shè)計(jì)沖突的電纜以便后續(xù)跟進(jìn)復(fù)核。
根據(jù)電纜對(duì)點(diǎn)的基本原理,電纜端子自動(dòng)對(duì)點(diǎn)軟件的算法流程見(jiàn)圖1。
圖1 電纜端子自動(dòng)對(duì)點(diǎn)軟件的算法流程圖
本電纜自動(dòng)對(duì)點(diǎn)軟件基于Visual Studio.NET平臺(tái)上進(jìn)行開(kāi)發(fā),選用開(kāi)發(fā)的編程語(yǔ)言為C#。2000年7月微軟公司發(fā)布C#語(yǔ)言,其特點(diǎn)為簡(jiǎn)單上手、代碼運(yùn)行安全且全面面向?qū)ο螅情_(kāi)發(fā).NET應(yīng)用程序的主力語(yǔ)言。C#融合了多種常見(jiàn)編程語(yǔ)言的優(yōu)點(diǎn),在語(yǔ)法風(fēng)格上靠近C語(yǔ)言,具有面向?qū)ο蟮奶卣骼^承自C++語(yǔ)言。更進(jìn)一步的是C#封閉了內(nèi)存指針,防止對(duì)內(nèi)存硬件地址的不可預(yù)見(jiàn)的訪問(wèn)改寫(xiě)導(dǎo)致的程序錯(cuò)誤,強(qiáng)化了程序的健壯性。
利用面向?qū)ο蟮木幊趟枷?,?duì)本軟件的功能進(jìn)行分析后,可將軟件模塊化設(shè)計(jì)分為以下組成部分:
1)主界面模塊:主界面模塊負(fù)責(zé)進(jìn)行人機(jī)交換和軟件各個(gè)模塊的調(diào)用工作,用戶通過(guò)主界面上的按鈕進(jìn)行打開(kāi)端子表文件、管理參與對(duì)點(diǎn)的端子表清單及啟動(dòng)自動(dòng)核對(duì)等軟件功能,并從主界面上獲得軟件運(yùn)行的實(shí)時(shí)信息反饋。
2)數(shù)據(jù)生成模塊:數(shù)據(jù)生成模塊負(fù)責(zé)分析自主界面?zhèn)魉蛠?lái)的電纜端子表,自電纜端子表中提取電纜數(shù)據(jù),并電纜數(shù)據(jù)傳送至數(shù)據(jù)管理模塊供后續(xù)模塊使用。
3)數(shù)據(jù)管理模塊:數(shù)據(jù)管理模塊作為整個(gè)軟件的數(shù)據(jù)匯總和分發(fā)模塊,負(fù)責(zé)接受和保存由數(shù)據(jù)生成模塊生成的電纜數(shù)據(jù),并且當(dāng)主界面模塊啟動(dòng)對(duì)點(diǎn)邏輯實(shí)現(xiàn)模塊中的電纜端子核對(duì)流程時(shí),將電纜數(shù)據(jù)傳送至對(duì)點(diǎn)邏輯實(shí)現(xiàn)模塊,并在完成核對(duì)后保存核對(duì)結(jié)果形成輸出報(bào)告。
4)對(duì)點(diǎn)邏輯實(shí)現(xiàn)模塊:對(duì)點(diǎn)邏輯實(shí)現(xiàn)模塊負(fù)責(zé)實(shí)現(xiàn)具體電纜的端子核對(duì)功能,并將核對(duì)結(jié)果回傳至數(shù)據(jù)管理模塊。
電纜自動(dòng)對(duì)點(diǎn)軟件的整體功能模塊劃分和模塊間的數(shù)據(jù)流向見(jiàn)圖2。
圖2 電纜自動(dòng)對(duì)點(diǎn)軟件功能模塊劃分和數(shù)據(jù)流向圖
3.1 主界面模塊的實(shí)現(xiàn)
主界面模塊作為軟件的人機(jī)交換界面,主要幫助用戶實(shí)現(xiàn)選擇和管理需要對(duì)點(diǎn)的電纜端子表,用戶可以通過(guò)該模塊可以將擬進(jìn)行對(duì)點(diǎn)端子表文件導(dǎo)入軟件中的擬對(duì)點(diǎn)清單中,并可進(jìn)行后續(xù)進(jìn)行端子表增加或刪除操作,實(shí)現(xiàn)對(duì)端子表清單的管理,并在界面上提供實(shí)時(shí)反饋。
3.2 數(shù)據(jù)生成模塊的實(shí)現(xiàn)
數(shù)據(jù)生成模塊負(fù)責(zé)從電纜端子表上提取電纜,轉(zhuǎn)化為可供軟件處理的數(shù)據(jù)。根據(jù)電纜自動(dòng)對(duì)點(diǎn)軟件的需求,電纜數(shù)據(jù)模型可分為2個(gè)層次,①該條電纜的電纜編號(hào),電纜連接的雙側(cè)柜號(hào)等數(shù)據(jù);②單體線芯連接的雙側(cè)端子排/端子號(hào)等數(shù)據(jù);其中電纜數(shù)據(jù)層包含線芯數(shù)據(jù)層,單條電纜可以包含多條線芯的數(shù)據(jù)。具體模型如圖4。
3.3 數(shù)據(jù)管理模塊的實(shí)現(xiàn)
數(shù)據(jù)管理模塊負(fù)責(zé)檢查由主界面模塊傳入的端子表是否滿足格式要求,并將符合格式要求端子表傳送至數(shù)據(jù)生成模塊,保存由數(shù)據(jù)生成模塊回傳的電纜數(shù)據(jù)。
圖3 電纜自動(dòng)對(duì)點(diǎn)軟件主界面圖
由于本軟件需要所有進(jìn)行核對(duì)檢測(cè)的端子表符合例表格式才能進(jìn)行核對(duì),因而需要在導(dǎo)入端子表之前對(duì)端子表進(jìn)行格式檢查,數(shù)據(jù)管理模塊對(duì)端子表的格式檢查主要流程為:
1)檢查端子表標(biāo)題行中列名稱的數(shù)量;
2)根據(jù)列名稱及其檢查數(shù)量標(biāo)記該列屬于正確列、缺失列或重復(fù)列;
3)根據(jù)缺失列和重復(fù)列的數(shù)量標(biāo)記端子表是否滿足格式要求;
圖4 電纜數(shù)據(jù)模型圖
3.4 對(duì)點(diǎn)邏輯實(shí)現(xiàn)模塊的實(shí)現(xiàn)
對(duì)點(diǎn)邏輯實(shí)現(xiàn)模塊負(fù)責(zé)實(shí)現(xiàn)具體電纜的端子核對(duì)功能,并將核對(duì)結(jié)果回傳至數(shù)據(jù)管理模塊。對(duì)點(diǎn)邏輯實(shí)現(xiàn)模塊的自動(dòng)對(duì)點(diǎn)流程為從數(shù)據(jù)管理模塊獲取電纜數(shù)據(jù),讀取電纜數(shù)據(jù)中的雙側(cè)柜號(hào),確認(rèn)雙側(cè)屏柜的端子表上都存在該條電纜后,再按線號(hào)逐一核對(duì)線芯兩側(cè)的端子排、端子號(hào)是否一致,然后根據(jù)核對(duì)結(jié)果將電纜分別標(biāo)記為正確的電纜和問(wèn)題電纜,最后將核對(duì)結(jié)果回傳至數(shù)據(jù)管理模塊,由數(shù)據(jù)管理模塊將核對(duì)結(jié)果如例表如表2所示輸出供用戶使用。
圖7 對(duì)點(diǎn)邏輯實(shí)現(xiàn)模塊電纜自動(dòng)對(duì)點(diǎn)邏輯圖
電纜編號(hào)核對(duì)結(jié)果YBRA13GH001-1018正確電纜YBRA13GH001-1019正確電纜YBRA13GH001-1020正確電纜YBRA21GH001-1001單側(cè)電纜YBRA21GH001-1002正確電纜YBRA21GH001-1005正確電纜YBRA21GH001-1006正確電纜YBRA21GH001-1007正確電纜YBRA21GH001-1008端子排不一致YBRA21GH001-1009正確電纜YBRA21GH001-1010正確電纜YBRA21GH001-1012端子號(hào)不一致YBRA21GH001-1013正確電纜YBRA21GH001-1014正確電纜YBRA21GH001-1015雙側(cè)柜號(hào)不一致
文章所介紹的軟件基于Visual Studio.NET平臺(tái)進(jìn)行開(kāi)發(fā),具有跨平臺(tái)移植方便,運(yùn)行速度快捷,支持多版本操作系統(tǒng)等優(yōu)點(diǎn),基本滿足了對(duì)電纜端子表進(jìn)行自動(dòng)對(duì)點(diǎn)的需求。但仍有繼續(xù)改進(jìn)提升的空間:
1)實(shí)現(xiàn)電纜核對(duì)結(jié)果數(shù)據(jù)庫(kù)化,便于綜合管理和其他工程參考使用;
2)實(shí)現(xiàn)動(dòng)態(tài)核對(duì)功能,現(xiàn)在軟件需要將電纜端子表導(dǎo)入后,再手動(dòng)啟動(dòng)對(duì)點(diǎn),下一步可以將手動(dòng)啟動(dòng)核對(duì)這一過(guò)程整合進(jìn)端子表導(dǎo)入過(guò)程中,實(shí)時(shí)動(dòng)態(tài)反映導(dǎo)入的端子表電纜是否無(wú)誤。
[1]張學(xué)松,柳悼,于爾鏘,等.面向?qū)ο缶幊碳夹g(shù)在配電網(wǎng)應(yīng)用軟件開(kāi)發(fā)中的應(yīng)用[J].電網(wǎng)技術(shù),1998,22(07):1-9.
1007-7596(2017)08-0042-03
2017-07-16
陸冠鵬(1985-),男,廣西桂平人,工程師,從事水電站自動(dòng)化,水電站二次系統(tǒng)設(shè)計(jì)工作。
TP312;TP391.13
:B