基于C#语言的Excel自动电缆端子对点软件的设计与研究
2017-09-15陆冠鹏
陆冠鹏
(广东水利电力勘测设计研究院,广州 510635)
基于C#语言的Excel自动电缆端子对点软件的设计与研究
陆冠鹏
(广东水利电力勘测设计研究院,广州 510635)
水电站电气二次设备之间存在大量互联电缆,这些电缆分散在不同的系统图纸上,在设计过程中对所有电缆进行快速、准确的对点是保证水电站按期建设、投运后安全运行的关键环节。文章简要介绍了一种基于Visual Studio.NET平台开发的水电站自动电缆端子对点软件的系统架构、工作原理,实现功能和设计特点。
水电站;自动化设计;软件开发;模块实现
0 引 言
水电站的电气二次系统主要包括机组监控系统、继电保护系统、辅机系统及直流系统屏柜等,各个系统之间存在大量互联电缆,这些分散布置的电缆如同整个水电站的血管神经,是维持水电站正常运行的重要组成部分。在水电站电气二次设计过程中,完成各个分系统的图纸设计后,需要将各个系统之间的互联电缆统合整理形成电缆端子表,确认每条电缆的两端走向,并对电缆的芯线逐一对点,保证所有电缆既没有重复也没有缺漏、电缆的芯线联接的端子正确无误。一个水电站有数千条二次电缆需要一一核对,由设计人员进行人工核对不但耗费大量工时且难以保证核对精度。使用自动对点软件进行核对可替代手工核对的工时,并且在发生电缆变更时也可以快速进行重新校对,避免由于人为失误导致的各种电缆错误,使得电气二次电缆的设计既高效又准确。
1 电缆自动对点软件的基本原理
工程设计中电缆端子表具有多种形式,可分为基于CAD绘图软件图纸型和基于excel软件表格型两大类,图纸型的电缆端子表具有形象和设备实物端子排一致的特点,在设计和现场接线过程中简单直观;表格型的电缆端子表则将设备上端子排转化为一个表格,由于不是直观绘制,设计和使用时都需要有的一个转化适应的过程。相对于图纸型的电缆端子表,表格型电缆端子表的优势在于后期进行数据库存储时十分方便,在数据库功能支持下可以方便的进行数量统计、型号归类、查找特定电缆等工作。本软件选择基于Excel表格型电缆端子表以便对实现自动对电缆数据进行读取和核对。一个基于Excel的典型表格化电气二次设备电缆端子表如表1所示:
表1 典型表格化电气二次设备电缆端子表
对一个如例表所示的电气二次设备电缆端子表进行对点必须完成以下步骤:
1)确定各个设备上的二次电缆数量,理清各条电缆的电缆编号、电缆牌号、电缆芯数、本侧/对侧柜号、本侧/对侧柜名,电缆内每条线芯的线号、本侧/对侧端子排、本侧/对侧端子号等信息;
2)根据电缆的两侧柜号,核对两侧屏柜上的端子排,确认两侧屏柜上的端子排已接入该条电缆且各条线芯接线正确;
3)根据电缆核对结果对每条电缆进行标记,标出重复、缺漏或接线设计冲突的电缆以便后续跟进复核。
根据电缆对点的基本原理,电缆端子自动对点软件的算法流程见图1。
图1 电缆端子自动对点软件的算法流程图
2 电缆自动对点软件系统架构
本电缆自动对点软件基于Visual Studio.NET平台上进行开发,选用开发的编程语言为C#。2000年7月微软公司发布C#语言,其特点为简单上手、代码运行安全且全面面向对象,是开发.NET应用程序的主力语言。C#融合了多种常见编程语言的优点,在语法风格上靠近C语言,具有面向对象的特征继承自C++语言。更进一步的是C#封闭了内存指针,防止对内存硬件地址的不可预见的访问改写导致的程序错误,强化了程序的健壮性。
利用面向对象的编程思想,对本软件的功能进行分析后,可将软件模块化设计分为以下组成部分:
1)主界面模块:主界面模块负责进行人机交换和软件各个模块的调用工作,用户通过主界面上的按钮进行打开端子表文件、管理参与对点的端子表清单及启动自动核对等软件功能,并从主界面上获得软件运行的实时信息反馈。
2)数据生成模块:数据生成模块负责分析自主界面传送来的电缆端子表,自电缆端子表中提取电缆数据,并电缆数据传送至数据管理模块供后续模块使用。
3)数据管理模块:数据管理模块作为整个软件的数据汇总和分发模块,负责接受和保存由数据生成模块生成的电缆数据,并且当主界面模块启动对点逻辑实现模块中的电缆端子核对流程时,将电缆数据传送至对点逻辑实现模块,并在完成核对后保存核对结果形成输出报告。
4)对点逻辑实现模块:对点逻辑实现模块负责实现具体电缆的端子核对功能,并将核对结果回传至数据管理模块。
电缆自动对点软件的整体功能模块划分和模块间的数据流向见图2。
图2 电缆自动对点软件功能模块划分和数据流向图
3 电缆自动对点软件的实现
3.1 主界面模块的实现
主界面模块作为软件的人机交换界面,主要帮助用户实现选择和管理需要对点的电缆端子表,用户可以通过该模块可以将拟进行对点端子表文件导入软件中的拟对点清单中,并可进行后续进行端子表增加或删除操作,实现对端子表清单的管理,并在界面上提供实时反馈。
3.2 数据生成模块的实现
数据生成模块负责从电缆端子表上提取电缆,转化为可供软件处理的数据。根据电缆自动对点软件的需求,电缆数据模型可分为2个层次,①该条电缆的电缆编号,电缆连接的双侧柜号等数据;②单体线芯连接的双侧端子排/端子号等数据;其中电缆数据层包含线芯数据层,单条电缆可以包含多条线芯的数据。具体模型如图4。
3.3 数据管理模块的实现
数据管理模块负责检查由主界面模块传入的端子表是否满足格式要求,并将符合格式要求端子表传送至数据生成模块,保存由数据生成模块回传的电缆数据。
图3 电缆自动对点软件主界面图
由于本软件需要所有进行核对检测的端子表符合例表格式才能进行核对,因而需要在导入端子表之前对端子表进行格式检查,数据管理模块对端子表的格式检查主要流程为:
1)检查端子表标题行中列名称的数量;
2)根据列名称及其检查数量标记该列属于正确列、缺失列或重复列;
3)根据缺失列和重复列的数量标记端子表是否满足格式要求;
图4 电缆数据模型图
3.4 对点逻辑实现模块的实现
对点逻辑实现模块负责实现具体电缆的端子核对功能,并将核对结果回传至数据管理模块。对点逻辑实现模块的自动对点流程为从数据管理模块获取电缆数据,读取电缆数据中的双侧柜号,确认双侧屏柜的端子表上都存在该条电缆后,再按线号逐一核对线芯两侧的端子排、端子号是否一致,然后根据核对结果将电缆分别标记为正确的电缆和问题电缆,最后将核对结果回传至数据管理模块,由数据管理模块将核对结果如例表如表2所示输出供用户使用。
图7 对点逻辑实现模块电缆自动对点逻辑图
电缆编号核对结果YBRA13GH001-1018正确电缆YBRA13GH001-1019正确电缆YBRA13GH001-1020正确电缆YBRA21GH001-1001单侧电缆YBRA21GH001-1002正确电缆YBRA21GH001-1005正确电缆YBRA21GH001-1006正确电缆YBRA21GH001-1007正确电缆YBRA21GH001-1008端子排不一致YBRA21GH001-1009正确电缆YBRA21GH001-1010正确电缆YBRA21GH001-1012端子号不一致YBRA21GH001-1013正确电缆YBRA21GH001-1014正确电缆YBRA21GH001-1015双侧柜号不一致
4 结 语
文章所介绍的软件基于Visual Studio.NET平台进行开发,具有跨平台移植方便,运行速度快捷,支持多版本操作系统等优点,基本满足了对电缆端子表进行自动对点的需求。但仍有继续改进提升的空间:
1)实现电缆核对结果数据库化,便于综合管理和其他工程参考使用;
2)实现动态核对功能,现在软件需要将电缆端子表导入后,再手动启动对点,下一步可以将手动启动核对这一过程整合进端子表导入过程中,实时动态反映导入的端子表电缆是否无误。
[1]张学松,柳悼,于尔锵,等.面向对象编程技术在配电网应用软件开发中的应用[J].电网技术,1998,22(07):1-9.
1007-7596(2017)08-0042-03
2017-07-16
陆冠鹏(1985-),男,广西桂平人,工程师,从事水电站自动化,水电站二次系统设计工作。
TP312;TP391.13
:B