張麗+楊東寧+周鑫
摘要:本文介紹了CAD插件的開(kāi)發(fā)、圖形的繪制,及CAD與數(shù)據(jù)庫(kù)的連接等。通過(guò)實(shí)際的開(kāi)發(fā)應(yīng)用,可以發(fā)現(xiàn)利用基于C#的.NET API技術(shù),能夠輕松的實(shí)現(xiàn)CAD的二次開(kāi)發(fā),通過(guò)識(shí)別CAD二次圖紙中的重要信息,能夠安全、快速、準(zhǔn)確地完成二次安全措施單填寫(xiě),提高現(xiàn)場(chǎng)作業(yè)效率。
關(guān)鍵詞:AutoCAD二次開(kāi)發(fā);C#語(yǔ)言;.NET API;繼電保護(hù)檢測(cè)
中圖分類(lèi)號(hào):TP391.72 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2017)11-0031-02
AutoCAD二次開(kāi)發(fā)技術(shù)在電力工程實(shí)踐中起到了越來(lái)越重要的作用,并且適合于不同的工程領(lǐng)域。在電力系統(tǒng)繼電保護(hù)檢測(cè)工作過(guò)程中,由于繼電保護(hù)裝置的二次圖紙差異明顯,同種設(shè)備、同一型號(hào)在不同變電站的實(shí)際配置中其功能、邏輯、二次回路接線都存在差異,在做安全措施以及二次措施單的過(guò)程中給現(xiàn)場(chǎng)工作人員在實(shí)施過(guò)程中帶來(lái)很多不便,增加了安全風(fēng)險(xiǎn)。本文詳細(xì)介紹了基于.NET API的二次開(kāi)發(fā)實(shí)現(xiàn)方法。利用該方法可以輕松的開(kāi)發(fā)我們需要的各種插件,準(zhǔn)確的繪制各種圖形。
由于AutoCAD軟件的通用性,可能造成在某些專(zhuān)業(yè)領(lǐng)域內(nèi)的功能不足或缺失。因此,有必要對(duì)CAD進(jìn)行二次開(kāi)發(fā),設(shè)計(jì)出符合特定領(lǐng)域的專(zhuān)業(yè)模塊。在繼電保護(hù)檢測(cè)工作過(guò)程中,由于繼電保護(hù)裝置的二次圖紙差異明顯,其功能、邏輯、二次回路接線都存在差異,在做安全措施以及二次措施單的過(guò)程中給現(xiàn)場(chǎng)工作人員在實(shí)施過(guò)程中帶來(lái)很多不便,增加了安全風(fēng)險(xiǎn)。針對(duì)以上情況,本文研究通過(guò)對(duì)繼電保護(hù)裝置的二次接線圖紙自動(dòng)識(shí)別,讀取關(guān)鍵信息量,如繼電保護(hù)裝置的電壓電流回路、開(kāi)入信號(hào)回路、開(kāi)出跳閘及信號(hào)回路,對(duì)重要信息進(jìn)行編譯,自動(dòng)關(guān)聯(lián)到檢測(cè)項(xiàng)目對(duì)應(yīng)的二次措施表單中,并完成系統(tǒng)的自動(dòng)審核,同時(shí)該輔助工具還可以找出現(xiàn)場(chǎng)圖紙與標(biāo)準(zhǔn)圖紙的差異,智能化程度高,減少現(xiàn)場(chǎng)作業(yè)人員的工作量,減少現(xiàn)場(chǎng)作業(yè)風(fēng)險(xiǎn)。
1 Auto CAD二次開(kāi)發(fā)
1.1 AutoCAD .NET API概述
AutoCAD .NET API使用戶(hù)可通過(guò)編程的方法利用程序集和開(kāi)放庫(kù)操作AutoCAD和圖形文件。通過(guò)開(kāi)放的對(duì)象,它們可被許多不同的編程語(yǔ)言和環(huán)境訪問(wèn)。在AutoCAD中實(shí)現(xiàn).NET API具有以下優(yōu)點(diǎn)[1]:
(1)有更多的編程環(huán)境可以訪問(wèn)AutoCAD圖形。而之前的開(kāi)發(fā)工具僅限于使用相應(yīng)的語(yǔ)言。如VBA只能使用Visual Basic語(yǔ)言。(2)NET 框架可以為32位及64位操作系統(tǒng)進(jìn)行設(shè)計(jì),而VBA只能為32位操作系統(tǒng)設(shè)計(jì)。(3)與那些傳統(tǒng)編程語(yǔ)言相比,如C++,.NET具有更低的學(xué)習(xí)要求來(lái)訪問(wèn)高級(jí)接口。(4)C#相比VC++采用了垃圾回收機(jī)制,自行判斷內(nèi)存回收的時(shí)機(jī)并實(shí)行回收,通過(guò)Dispose函數(shù)進(jìn)行資源自動(dòng)釋放,從而解決了內(nèi)存泄漏問(wèn)題。因此,在.NET框架下利用C#語(yǔ)言對(duì)AutoCAD進(jìn)行二次開(kāi)發(fā),具有完全面向?qū)ο蟆⒎奖阋子玫奶攸c(diǎn),是最合適的AutoCAD二次開(kāi)發(fā)工具。
1.2 電力接線圖元件建模
電力接線圖(CAD圖)中包含豐富的電力專(zhuān)業(yè)信息,涉及多樣的電力元器件、接口、接線信息等,由于沒(méi)有統(tǒng)一的繪制標(biāo)準(zhǔn)及建模標(biāo)準(zhǔn),對(duì)非電力行業(yè)甚至電力行業(yè)的工作人員在讀圖都帶來(lái)了困難,本文中主要使用XML語(yǔ)言對(duì)電力接線圖原件進(jìn)行建模,模型中詳細(xì)描述了電力接線圖(CAD圖)中元器件的信息、接口信息、連接關(guān)系等信息。
1.3 AutoCAD中的插件開(kāi)發(fā)
在AutoCAD二次開(kāi)發(fā)中,為了使用.NET API托管封裝的類(lèi),我們需要先引入上述的這些DLL文件。在Visual studio 2008中新建一個(gè)類(lèi)庫(kù)項(xiàng)目,將AcDbMgd.dll、AcMgd.dll、AcCui.dll等文件添加到項(xiàng)目中,將C#與.NET API連接起來(lái)了。
1.4 AutoCAD與數(shù)據(jù)庫(kù)鏈接
在工程應(yīng)用中,設(shè)計(jì)人員可能經(jīng)常需要將設(shè)計(jì)好的圖形保存下來(lái),如果圖形太多則不方便管理,查找起來(lái)也比較困難。因此,在進(jìn)行二次開(kāi)發(fā)的時(shí)候?qū)utoCAD與數(shù)據(jù)庫(kù)聯(lián)系起來(lái)是很有必要的。數(shù)據(jù)庫(kù)主要分為本地?cái)?shù)據(jù)庫(kù)和遠(yuǎn)程數(shù)據(jù)庫(kù)兩種。本文中我們以MySQL為本地?cái)?shù)據(jù)庫(kù),以SQL Server為遠(yuǎn)程數(shù)據(jù)庫(kù)。由于它們之間操作方法類(lèi)似,我們主要以MySQL數(shù)據(jù)庫(kù)為例進(jìn)行說(shuō)明。要想實(shí)現(xiàn)AutoCAD與MySQL的連接,必須在工程項(xiàng)目中引入MySQL的一個(gè)組件,即mySql.data.dll[2]。
2 AutoCAD二次開(kāi)發(fā)在電力系統(tǒng)繼電保護(hù)中的應(yīng)用
2.1 智能化繼電保護(hù)輔助生成二次措施單原理
通過(guò)對(duì)繼電保護(hù)裝置的二次接線圖紙識(shí)別,讀取保護(hù)裝置關(guān)鍵信息量,即繼電保護(hù)裝置的電壓電流回路、開(kāi)入信號(hào)回路、開(kāi)出跳閘及信號(hào)回路,對(duì)重要信息進(jìn)行解釋?zhuān)詣?dòng)關(guān)聯(lián)到檢測(cè)項(xiàng)目對(duì)應(yīng)的二次措施表單中,并完成系統(tǒng)的自動(dòng)審核;同時(shí)該輔助工具還可以分辨現(xiàn)場(chǎng)圖紙與標(biāo)準(zhǔn)圖紙的差異,查找設(shè)計(jì)缺陷,為指導(dǎo)現(xiàn)場(chǎng)作業(yè)檢查提供依據(jù)[3]。具體實(shí)現(xiàn)方式如圖1所示。
2.2 智能化繼電保護(hù)輔助生成二次措施單實(shí)例介紹
下面以一保護(hù)柜CAD二次端子排圖為示例,介紹基于CAD二次開(kāi)發(fā)的安全措施單自動(dòng)生成實(shí)現(xiàn)方法及實(shí)用[4]。
第一步輸入裝置CAD格式的二次端子排圖。第二步:讀取其中關(guān)鍵信息,例如:讀取圖中的電壓回路UA、UB、UC、UN,端子號(hào)分別為2UD1、2、3、4,電流回路IA、IB、IC、IN,端子號(hào)分別為2ID1、2、3、4、5、6,得到特征識(shí)別圖。第三步:需制定相應(yīng)專(zhuān)業(yè)規(guī)則:繼電保護(hù)試驗(yàn)前,需將保護(hù)裝置出口跳閘回路的正負(fù)兩端同時(shí)解開(kāi),將啟動(dòng)失靈回路、啟動(dòng)遠(yuǎn)眺回路、失靈聯(lián)跳主變?nèi)齻?cè)等回路的正負(fù)兩端同時(shí)解開(kāi),劃開(kāi)電壓回路短連片,劃開(kāi)電流回路短連片(如果實(shí)際電流互感器一次停電),先短接電流回路外部接線,再劃開(kāi)電流回路短連片(如果實(shí)際電流互感器一次帶電),解開(kāi)信號(hào)回路公共正電源接線。根據(jù)制定好的專(zhuān)業(yè)規(guī)則,將裝置的二次端子排CAD圖紙的特征識(shí)別圖引入安全措施單,完成措施單的自動(dòng)填寫(xiě)。endprint