張麗+楊東寧+周鑫

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