第28卷  第2期2021年2月仪器仪表用户INSTRUMENTATION
Vol.28
2021  No.2
基于Eplan二次开发的电气辅助设计工具集的
设计与实现
张 旭,姚 璋,袁友汶,黄 鹏
(中国核动力研究设计院 核反应堆系统设计技术重点实验室,成都 610213)
摘    要:
对于DCS 等规模较为庞大的仪控系统,在进行工程硬件设计时,工程设计软件的作用极为重要。Eplan 软件作为成熟的计算机辅助工程软件,提供了二次开发接口便于用户根据实际需要进行针对性开发。本文基于Eplan 软件在DCS 电气设计过程中的应用,进行了软件的二次开发,针对提高设计过程中的便利性、容错性的目的,设计了一系列辅助设计工具,有效地提高了设计效率和质量。关键词:Eplan ;二次开发;电气设计
中图分类号:TM76              文献标志码:A
Design and Implementation of Electrical Aided Design Tools
Based on Eplan Secondary Development
Zhang Xu ,Yao Zhang ,Yuan Youwen ,Huang Peng
(Science and Technology on Reactor System Design Technology Laboratory, Nuclear Power Institute of China,Cheng-du,610213,China)Abstract:For the large scale instrument and control system such as DCS, the role of engineering design software is very impor-tant in hardware design. As a mature computer-aided engineering software, Eplan provides a secondary development interface for users to develop according to their actual needs. Based on the application of Eplan software in the design process of DCS electric, this paper carries out the secondary development of the software, and designs a series of auxiliary design tools for the purpose of improving the convenience and fault tolerance in the design process, which effectively improves the design efficiency and quality.Key words:Eplan;secondary development;electrical design
DOI:10.3969/j.issn.1671-1041.2021.02.014
文章编号:1671-1041(2021)02-0048-05
0  引言
随着电气设计行业的发展,计算机软件在现代电气产品的设计制造过程中的作用越来越大。计算机辅助设计(Computer Aided Design,CAD)软件最早应用于机械设计,后逐渐用于电气设计,取代了电气手工绘图。使用计算机
软件辅助设计可提高设计效率,减少重复工作,使得设计更加规范,便于优化设计和设计成果的重复使用。同时,该应用也大幅减轻设计人员的工作负荷,减少人因差错的数量。传统的CAD 软件通过绘制简单图形来完成电气原理设计,未赋予电气设备电气属性,后期在进行图样修改、
收稿日期:2021-01-08
基金项目:中国核动力研究设计院青年科技基金。
作者简介:张旭(1992-),男,吉林省吉林市人,硕士,研究方向:系统健康管理、仪控仿真系统、核安全级仪控系统、自动化工具软件。
张 旭·基于Eplan二次开发的电气辅助设计工具集的设计与实现
第2期49
设备命名、线号编制及物料统计时会带给设计人员大量繁琐的工作。随着制造能力的发展和产品设计复杂程度的提高,计算机辅助工程(Computer Aided Engineering,CAE)逐渐取代了传统的CAD设计。CAE软件可以更好地满足自动化设计的整体需求,辅助工程项目的整体实施,提供高效的电气设计与管理。
Eplan软件作为较早被引入国内的专业CAE软件,在专业设计平台的标准化工作上体现很好的效果,涵盖了大量标准的符号库、部件库和图框等,作为基于数据库的专业电气设计软件,对设计数据进行了统一化管理[1]。但是,面对不同使用者在设计过程中的特殊需求,Eplan在功能上无法给予完全适合的响应,此时可对Eplan进行二次开发,增加相应合适的功能。辅助设计工具的开发可以极大地便利设计人员,提高设计效率和质量。本文以几种不同功能需求为例,分别针对自动画图、中断点批量编辑、逻辑仿真交互、快速增加云状图标识和标签标识表自动生成功能,有效地解决了大量重复性、机械性的作业,借助计算机来规避设计人员可能由于疏忽造成的错误。
1  功能需求
基于DCS电气设计人员日常设计过程中的反馈,自动画图、中断点批量编辑、逻辑仿真交互、快速增加云状图标识和标签标识表自动生成等功能,存在较为强烈的开发需求。
1.1  自动画图
对于一些冗余性较强的系统,其电气图纸中存在大量重复、相似的线路内容。传统的画图方法可以由设计人员在以其他类似已完成项目的图纸基础上进行修改,或手动插入页宏后进行修改,但这样工作量较大,设计人员更希望能够通过自动化的方式,实现格式固定的图纸的生成。应用二次开发的方式,可以更加高效地进行使用页宏,实现自动画图、快速画图的目的[2]。
1.2  中断点批量编辑
Eplan软件中自带有表格式编辑的功能,能够有效地提高设计效率。表格式编辑是Eplan中针对批量元件的属性进行修改时提供的快速编辑的功能,使用时可同时选取多个元件,如端子、连接点等在属性列表中进行修改。表格式编辑与Excel软件同时使用,可充分利用Excel软件对于表格数据强大的处理能力,将处理好的数据直接粘贴回Eplan中,实现快速填充。
Eplan通过中断点在同一页面或不同页面内实现信号的连续,在电气设计中的应用十分普遍。某些页面会通过大量中断点的使用,来避免电气线路的错综交叉。但Eplan 对于中断点没有提供表格式批量编辑的功能,当涉及到大量中断点修改时,设计人员的工作会尤为繁琐,因此设计人员对中断点进行批量表格式编辑存在迫切的开发需求。1.3  逻辑仿真交互
电气设计图纸中包括大量硬件元器件搭接的硬逻辑子模块。Eplan软件本身不具备仿真运算功能,这为验证硬逻辑电路搭接是否正确带来了困难。对于复杂的硬逻辑功能,设计人员难以在设计过程中及时进行验证。辅助工具可以提供此方面的功能,通过与其他仿真软件的耦合来实现快速逻辑仿真的需求。
1.4  快速添加云状图标识
按照工程设计要求,在进行电气设计图纸升版或变更时需要对修改部分用“云状图”进行标识。设计人员反映在进行云图标识时工作量较大,需要根据修改部分选取合适的区域,增加方框后再修改属性为云状图。若能够开发快速云图编辑工具高效地对待标识区域进行标记,可有效地减轻设计人员负担。
1.5  标签标识表自动生成
在DCS电气设计的布置图中,主要完成机柜及其内部设备的布置,同时完成设备的标签信息汇总。标签信息主要对机柜内部需要贴标的机箱、模块等设备的标签内容进行详细说明,用于确认机柜中各设备标签详细信息。标签列表通常包含了标签信息和设备描述,所有标签按标签编码顺序从上到下、从左到右依次排列。传统的做法由设计人员根据安装板上布置的设备,按顺序手动填写标签信息,其步骤较为繁琐。如能通过辅助工具读取设备信息后,自动生成标签汇总表,可以有效提高设计效率。
本文以上述需求为例,开发了一套电气辅助设计工具集,覆盖了上述功能需求,体现了Eplan二次开发技术在电气设计中的应用。
2  功能设计
2.1  自动画图
宏是经常反复使用的部分电路或典型电路方案,是模块化设计的基础数据。在设计过程中,可以将经常使用的电路保存为宏,在未来使用时直接插入宏文件。Eplan中的宏包括符号宏、窗口宏和页宏,符号宏通常为一个设备,窗口宏可以是一个简单的电路或一个单线或多线设备,页宏则包括了一页或多页的图纸。宏的使用将设计模式由传统的图形化设计改进为模块化设计,有效避免了繁重的重复性工作,节约了设计时间。
自动画图通过调用页宏的方式实现,其步骤如图1所示,包括:
1)读取输入信息,分析得到图纸的页数和选用的页宏种类。
2)调用页宏,将输入信息填入页宏中的对应元件。
3)删除多余元件,添加缺少的元件。
4)逐页实现图纸的绘制。
其中,采用C#语言编写的插入页宏的代码如下:
Insert i = new Insert();
第28卷50仪器仪表用户INSTRUMENTATION
图1  自动画图工具实现流程
Fig.1  Implementation process of automatic drawing tool
图2  中断点批量编辑工具实现流程
Fig.2  Breakpoint batch editing tool implementation process
i.PageMacro(@"C:\Users\Public\EPLAN\宏\p", page, pj, true) ;
自动画图工具可实现在Eplan环境下,根据提供的输入信息自动调用不同类型的页宏,生成的图表满足项目及规范要求,且支持批量处理功能。
2.2  中断点批量编辑
本文实现了一种中断点批量编辑的工具,对同页面的中断点进行批量表格式编辑,该工具的开发流程如图2所示。
该功能的入口方式采用右键点击菜单的入口方式,借助Form控件为框架制作人机界面对话框,供用户操作,如图3、图4所示。
实现流程及主要功能代码如下:
1)获取选择元件集合代码
SelectionSetss = new SelectionSet();
StorableObject[] SelectedFuns = ss.Selection;
2)筛选中断点代码
if (SelectedFuns[i].GetType().Name == "InterruptionPoint") {……}
结合用户实际使用的情况,用户要填入Form上的表格控件中的内容多是由MS Excel软件中复制而来的,如果在Form控件上直接进行Ctrl+V操作,会被Eplan软件误认为用户想要复制图纸的内容,而不是来自Excel的内容。考虑到Eplan软件的上述特性,故不能采用Ctrl+V的方式粘贴,因而设置“粘贴”按钮实现粘贴功能。
选择待粘贴区域的左上角或选择完整的粘贴区域,再点击“粘贴”按钮,此时剪切板上的内容会粘贴到Form上的表格控件上。用户点击“确认”按钮后,遍历表格控件的每行,获取用户输入的中断点信息,并回填Eplan图纸中。随后清空中断点信息,结束本次操作。
Form的三列中,“原标识符”不可修改,用于为用户直观地对应每个元件。新标识符默认填充原标识符相同的信息,可以修改。连接点描述信息对应中断点的连接点描述属性,该属性也是常用的填充属性之一。新标识符和连接点描述信息在点击确认后,会填入Eplan。
2.3  逻辑仿真交互
借助Simulink等仿真软件或自研的仿真逻辑运算程序,可实现逻辑仿真交互功能。为了实现和仿真软件的对接,应对Eplan二次开发两种功能,即导出硬逻辑信息的功能和与仿真程序数据交互的功能。
2.3.1 导出硬逻辑信息的功能
导出信息包括元部件信息、连接线信息,见表1、表2。
2.3.2 与仿真程序交互数据功能
利用进程间通信技术,实现两个软件的数据交互。如图5所示,采用共享内存的方法,二者共同维护共享内存
图3  中断点批量编辑功能入口
Fig.3  Function entry for batch editing of breakpoints
张 旭·基于Eplan二次开发的电气辅助设计工具集的设计与实现
第2期51
表1  元部件信息表
Table 1  Component information table
表2  连线信息表
Table 2  Connection information table
图4  中断点批量编辑界面
Fig.4  Batch editing interface of breakpoints
的数据,实现输入数据的赋值和输出数据的读取。
图6为Eplan中通过继电器搭接的逻辑“与”电路,与仿真程序交互后,可在图中K1、K2和300UM元件旁直接看到逻辑运算结果。
2.4  快速添加云状图标识
本文实现了一种快捷工具可以对图纸中修改部分进行云状图标识,流程图如图7所示。
实现流程及部分代码如下:
1)获取选中元件集合
StorableObject[] SelectedFuns = ss.Selection;
2)遍历各元件位置坐标
foreach (StorableObject f in SelectedFuns){……}
3)按类别获取元件位置坐标
if (f.GetType().Name == "InterruptionPoint"){
x = ((InterruptionPoint)f).Location.X;    y = ((InterruptionPoint)f).Location.Y; }
else if (f.GetType().Name == "Text"){
x = ((Text)f).Location.X;
y = ((Text)f).Location.Y;
}
else if (f.GetType().Name == "Function"){    x = ((Function)f).Location.X;
y = ((Function)f).Location.Y;
}
4)插入矩形,修改线型Rectangle rec = new Rectangle();
rec.Create((Page)ss.Document);
Pen pen = new Pen();
pen.ColorId = Color.Id.Green;
pen.StyleId = 41;
rec.Pen = pen;
图5  仿真程序数据交互示意图
Fig.5  Simulation program data interaction diagram 图6  逻辑“与”电路
Fig.6  The circuit of logical "and"
第28卷
52  仪器仪表用户INSTRUMENTATION 2.5  标签标识表自动生成
本文实现了一种快捷工具可以自动生成标签标识表,流程图如图8所示。
获取布置图中元件的名称的代码如下:
图8  标签标识表自动生成实现流程
Fig.8  Implementation process of automatic generation of
label identification table
图7  快速增加云状图工具实现流程
电气中reactor什么意思Fig.7  Implementation process of rapidly adding cloud graph tool
foreach (ArticleReference a in f.ArticleReferences){string name = (a.IdentifyingName.Contains("-")) ? a.IdentifyingName.Split('-')[1] : a.IdentifyingName;
……}
图9  自动生成的标签标识表
Fig.9  Automatic label generation table
(下转第99页)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。