基于.NET API的CAD二次开发技术在继电保护中的应用
作者:张丽 杨东宁 周鑫
来源:《数字技术与应用》2017年第11期
摘要:本文介绍了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]:
龙源期刊网 http://www.qikan.com.cn
(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 智能化继电保护辅助生成二次措施单实例介绍
龙源期刊网 http://www.qikan.com.cn
下面以一保护柜CAD二次端子排图为示例,介绍基于CAD二次开发的安全措施单自动生成实现方法及实用[4]。
第一步输入装置CAD格式的二次端子排图。第二步:读取其中关键信息,例如:读取图中的电压回路UA、UB、UC、UN,端子号分别为2UD1、2、3、4,电流回路IA、IB、IC、IN,端子号分别为2ID1、2、3、4、5、6,得到特征识别图。第三步:需制定相应专业规则:继电保护试验前,需将保护装置出口跳闸回路的正负两端同时解开,将启动失灵回路、启动远眺回路、失灵联跳主变三侧等回路的正负两端同时解开,划开电压回路短连片,划开电流回路短连片(如果实际电流互感器一次停电),先短接电流回路外部接线,再划开电流回路短连片(如果实际电流互感器一次带电),解开信号回路公共正电源接线。根据制定好的专业规则,将装置的二次端子排CAD图纸的特征识别图引入安全措施单,完成措施单的自动填写。 3 结语
本文主要介绍C#与.NET API技术相结合的一种AutoCAD二次开发方法,并对其原理及实现各种功能的流程进行了简要的阐明。从文中的介绍中,我们可以看到利用该方法可轻松实现AutoCAD的二次开发,并且比较容易掌握,只需具备一定的C#基础和CAD的一些基本常识便可以进行CAD的二次开发,具有很好的实用价值。
本文研究的智能化继电保护检测辅助生成二次措施的方法,主要针对CAD格式的电气二次图纸进行操作,并在220kV线路保护装置进行应用测试后,后续对程序优化并进一步推广应用。主要实现的功能有:
(1)减少继电保护现场检测作业风险,提高工作效率;实现通过输入继电保护装置二次接线图纸自动识别检测项目,生成二次措施单,大大方便了现场工作人员实施,提高工作效率,减少人力成本降低人工误差。(2)实现继电保护专业培训功能需求,新系统,可以在线进行部分模拟操作,可以充分扩展继电保护检测相关内容,对新员工培训起到更好的作用。(3)系统建设采用先进的成熟技术,建立严密、体系化的系统管理、应用平台,应具有良好的分层设计,整体系统扩充性能良好,能够根据业务的发展或变更,在保持现有业务处理不受影响的前提下,具有持续扩充功能、适度变化的能力。 参考文献
[1]周玉兰,唐克明,等.电力系统机电保护及安全自动装置运行评价规程[M].机械工业出版社,1987.
[2]董玉德,赵韩,著.CAD二次开发理论与技术[M].合肥:合肥工业大学出版社,2009. [3]王玉琨,任卫红,茅艳,等编著.CAD二次开发技术及其工程应用[M].北京:清华大学出版社,2008.
龙源期刊网 http://www.qikan.com.cn
[4]杨松林,郝立军,主编.电气工程CAD技术应用及实例[M].北京:化学工业出版社,2009.
Abstract:This paper introduces the development of CAD plug-in, graphics drawing, and the connection between CAD and database. Through the development of practical applications, can be found using the.NET API technology based on C#, two times the development of CAD can be realized easily, by identifying important information CAD two times in the drawing, can safely and quickly and accurately complete the two safety measures to improve the operation efficiency of a single fill.
Key Words:AutoCAD two development;C# language;.NET API;relay protection detection
龙源期刊网 http://www.qikan.com.cn
因篇幅问题不能全部显示,请点此查看更多更全内容