变电站设备三维模型管理数据库设计
2022-06-23国网上海市电力公司检修公司钱程晨崔鹏程同济大学电子与信息工程学院沈小军
国网上海市电力公司检修公司 徐 楠 钱程晨 王 媚 崔鹏程 江 飞 同济大学电子与信息工程学院 沈小军
1 引言
三维模型是一种比二维图像内容更为丰富真实,更加符合人类视觉特性的多媒体数据类型,随着计算机图形学的发展以及三维模型获取技术、图形硬件技术的不断进步,三维立体技术应用越来越广泛,其在变电站设施的三维建模方面也得到了应用[1-3]。通过对变电站设备进行实景三维重构以及利用三维设计成果,可实现变电站设备全方位立体化的分析与管理,为变电站三维可视化提供技术支持。
变电站的三维设计与重构工作,变电站三维设计、三维重构的研究及应用产生了大量的三维模型。在这过程中不难发现,不同规模的变电站甚至不同电压等级的变电站会出现同厂家、同型号、外观功能完全一样的设备。相同设备重复建模不仅浪费大量人力、物力,而且还会严重影响变电站三维模型重构工作效率,同时不同建模产商的模型颗粒度不同,数据格式也不同,为后期对三维模型二次开发与应用带来了不便。工程实践发现,变电站设备种类多,若三维模型不加管理,特别是在运维阶段,随着人员的流动、信息的流失、变动,容易因管理混乱,造成三维模型失去工程应用价值。另外,变电站设备、部件具有一定的通用性,现场存在大量的相同型号的设备、部件,若将此类设备进行分类和标准化入库,可避免复杂、重复的标准件重构,能极大地提高变电站建模重构效率,缩短变电站建模工作周期。
在信息化社会,充分有效地管理和利用各类信息资源,是科学研究和决策管理的有力保障。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段[4-6]。因此,将数据库技术应用到三维模型管理工作中具有重要意义。
综上所述,构建一个包含大量合格模型的变电站设备三维模型库来实现模型的统一调用、统一规范、统一管理,实现变电站设备模型便利化、有序化的管理,极大促进模型共享、模型重构以及三维设计技术经济性的进程[7-8]。鉴于此,本文分析了变电站设备三维模型管理数据库功能需求与架构设计,统一了模型入库所需的信息,搭建了变电站设备数据管理维护模块与人机交互模块,为实现变电站三维模型数据库的创建提供一种参考。
2 变电站三维模型管理数据库功能需求与架构设计
2.1 模型管理数据库功能需求分析
近年来,三维模型数据库技术已逐步得到发展,三维模型数据库已被广泛的应用于教育、医疗、军事、电力系统等众多领域。为构建电网三维空间可视化信息平台,以实现调控中心可视化、运行维护可视化、营销管理可视化,已有很多专家学者开始对电力设备三维数据采集、三维模型构建等技术进行研究,并且取得了一定的研究成果。但设备三维模型种类、数量越来越多,质量参差不齐,缺乏合适的三维模型管理工具使得这些模型的可靠性与可用性面临诸多挑战,主要体现在:设备三维模型文档的准确性及完整性,文档管理人员的管理习惯不同、误操作、人员调动以及文档变动、遗失等等都会使设备三维模型文档的准确性以及完整性存在问题,且三维模型与设备文档信息之间相互独立,无法直接关联,为模型的管理与应用带来了不便。变电站三维模型数据库应具备以下功能。
一是三维模型数据及其相关信息的管理维护。变电站三维模型数据库的数据随着电网发展不断进行修改、更新等,因此要预留操作简单、易学的数据更新平台方便数据库管理人员进行管理维护工作。
二是三维模型的查阅。三维模型数据的查阅有两种方式:一种是无针对性的遍历,因此数据库需要包含全部三维模型,方便用户挑选合适的对象;另一种是有针对性的关键词查询,因此数据库需具备关键词查询功能,方便用户从海量数据中快速访问目标对象。在这过程当中,需要统一设备模型的命名规则,避免因关键词与模型名称不一致出现错选、漏选、查无对象等情况,同时还应提供多关键词的搜索方式,解决用户在信息缺乏的情况下无法快速筛选的问题;
三是三维模型的展示功能。仅有三维模型名称及其相关信息无法直观地为用户展示三维模型的具体构造,不便于用户正确地选择调用所需的模型。因此需要有简单、快捷、形象的三维模型展示功能,清楚地反映出模型的整体构造,同时要避免出现因设备模型文件体积过大,模型种类过多,导致查看模型速度慢这一问题。
2.2 模型管理数据库框架
为了实现上述功能,数据库包括了两个模块的设计:一是模型管理维护模块,该模块用于数据库中数据的管理维护,主要包含了三维模型及其相关信息添加、删减、修改、更新等操作,同时为人机交互模块提供底层数据来源;二是人机模块,该模块主要功能为创建与用户的交人机互平台,实现三维模型遍历、查询以及展示,因此该模块又可分为遍历、查询、展示三个子模块,其中遍历模块由条理清晰的树状图结构实现,展示模块能实时展示选择的目标对象。
3 模型入库信息属性与编码规则
为了三维模型在使用时能够被正确、合理的选用,三维模型及其相关信息在入库时应进行统一,即规定所需信息种类以及信息入库的格式。入库信息应包括:设备本身名称,所属电压等级,生产厂家,设备型号等。本文对这些入库信息做出如下统一。
3.1 设备名称
统一使用中文名称,不使用英文或拼音缩写、简称等方式,避免在按设备名称查询时因个人习惯不同导致查询结果出现错选、漏选等情况,若模型为某一设备部件,命名应包括该设备,如“主变压器油枕”,指明该部件的归属。
3.2 电压等级
统一使用“阿拉伯数字+电压单位”的格式,电压单位不区分大小写,如“500kV”,变电站中名称相同电压等级不同的设备有很多,这些设备模型在入库时应添加电压等级加以区分,避免出现混淆。
3.3 生产厂家
厂家名称应保持和该厂家官方名称一致,不可缩写,避免在按生产厂家查询时查询结果出现错选、漏选、查无结果等情况。
3.4 设备型号
设备型号应与设备相应参数铭牌上的信息保持一致,保证设备型号参数准确无误,为模型筛选时提供最为精确的判别条件,若模型为某一设备部件,无相应的设备铭牌则以该设备的型号为准。
为了查询便利,本文提出一种以设备编码的方式查询设备的思路,即给每一种设备添加唯一的编码,按“电压等级+(部件所属设备)+(设备类型信息)+设备/部件中文名字+(相/顺序编号)”的顺序依次编码,括号的内容为非必要信息,按需添加,主要作为补充的区分条件,不加括号的内容为必要信息。设备编码规则如表1所示。
表1 设备编码表
电压等级、名称等均相同的设备根据设备类型信息加以区分,本文以变压器为例,变压器编码时要声明其用途、类型、冷却方式等,并按照类型+冷却方式+用途的顺序来命名,设备类型编码规则如下表2所示。如:单相自耦油浸式ONAN/ONAF主变压器(冷却方式编码选择满负荷时的冷却方式)根据表2其设备类型编码则为1321。
表2 设备类型编码
根据上述编码表,本文以一串18位数字为设备进行编码,编码时注意:为了统一编码的位数,规定命名的通用规则中的内容不可省略,如若无相关信息,则使用数字0代替,不可省略,且每个内容用统一位数的编码表示,如图1所示,共18位编码(如果需要添加某项内容或者某项内容中所包含的信息需要扩充则再添加)。
图1 设备编码规则
4 基于Access 软件的变电站三维模型管理数据库开发
Access 是世界上最流行的基于Windows 系统的桌面数据库管理系统,它是面向对象的开发工具,将一个应用系统当作由一个个对象组成,简化了开发工作,具有简单易学、界面友好、操作简单的优点[9]。与其他种类的数据库软件相比,Access 不需要数据库管理工作人员具有很强的编程能力,降低了对管理人员的要求。本文使用Access 创建变电站三维模型数据库主要由以下两个模块设计构成。
4.1 数据管理维护模块
数据表是Access 数据库数据的来源与搭建整个数据库系统的基础。Access 中数据的添加、删减、更新与维护等操作可通过修改数据表实现。由于本文数据库遍历模块为树状结构,因此要先在数据表中理清父子节点关系。三维模型数据库中的电气设备模型有很多种类,以其中变压器为例,将其看为一个父节点,呼吸器、散热片、油枕等都是组成变压器的部件,可看为变压器节点的一个子节点,同时变压器等设备又是电气设备的子节点。在数据表构建之前,先要对数据库内的模型进行归类整理,梳理各个模型之间的父子节点。
本文数据表中包含有:节点信息、模型链接、模型名称、模型缩略图、出厂厂家、电压等级等信息。此外,为了后续创建树状图结构,添加了各个设备的节点层级,梳理父子节点关系,以电气设备为例,变压器属于电气设备,其本身包含了套管、油枕、散热片等各种部件,因此其父子节点关系如表3所示。
表3 数据表及父子节点关系
4.2 人机交互模块
该模块是数据库设计的核心,决定了最终数据库的展示效果。Access 中窗体是计算机与用户的交互平台,本身不具有任何数据库中的内容,其数据来源于数据表。
4.2.1 三维模型展示模块
该模块用于模型的展示,无论查询模块与遍历模块如何实现,它们都需要有三维展示模块实时显示选择的对象。本文中数据库的三维模型以缩略图的形式展示,包括两张不同角度的全彩视图,一张模型拆分为一个个主要部件的缩略图,以便在变电站三维设计模型的快速查阅,以及新进员工快速了解各个设备的主要结构及功能作用,避免了打开三维模型缓慢造成的时间浪费,提高了查阅效率,对于实际的模型文件则以超链接的形式指明文件位置,变压器示例如图2所示。
图2 变压器缩略图示意
本文三维模型展示模块实现的方式是采用绑定型控件,通过设定添加的绑定型控件中的属性将其绑定至数据表中的模型与缩略图链接,实现模型的展示,具有操作简单、易维护的优点。
4.2.2 查询模块
窗体的创建及功能的实现主要通过各种控件以及相应控件的事件编程来实现。事件是在数据库中执行的一种特殊操作,是对象所能辨识和检测的动作,当此动作发生于某一个对象上时,其对应的事件便会被触发,如鼠标单击、双击、更新前、更新后,等等。此窗体主要功能为查询,事件设置为“=SetFilter(文本框名称)”,并对查询窗体进行编程实现查询窗体的基本功能。设计的数据库提供三种关键词检索,分别为设备名称、电压等级、生产厂家,为用户提供多种筛选策略,如图3所示。
图3 查询窗体界面
4.2.3 遍历模块
该模块用于遍历整个三维模型设备库中的模型及其相关信息,树状图结构能很好地满足这一功能需求。树状图通过ActiveX 控件来创建,ActiveX控件可在应用程序和网络中计算机上重复使用的程序对象。本文中使用ActiveX 控件中的Microsoft ImageList Control,version6.0和Microsoft TreeView Control version6.0来创建变电站三维模型树状图。ImageList 控件用于显示树状图内部的图标,TreeView 控件则用于生成树状图结构,需结合Visual Basic 语言实现,其典型的方法有:Add 方法、GetVisi-bleCount 方法及ExpandAll方法。其中,Add 方法为本文三维模型数据库主要使用方法,其作用是为Treeview 控件的Nodes集合中添加一个Node 对象。结合前文数据表中创建的父子节点关系得到变电站设备三维模型的树状图。如图4所示。
图4 电气设备树状图结构
4.2.4 主窗体模块
最后将前文创建的查询窗体作为一个子窗体添加入主窗体,结合组合框控件实现主窗体的查询功能,最终三维模型数据库主窗体。如图5所示。
图5 主窗体界面
5 结论与展望
本文在分析变电站设备三维模型数据库的功能需求以及架构设计的基础上,基于Access 软件搭建了操作简单、易学的模型管理维护模块与人机交互模块,实现了变电站三维模型管理数据库的创建。该数据库实现了设备三维模型与电压等级、生产厂家、设备型号等信息的管理,提高工作效率,具备一定的工程应用价值,但主要局限于模型浏览查询等功能。基于设备组件/部件的三维模型单元,作为设备级三维重构的底座,辅以拼装技术,进一步提升模型的共享能力和深度值得关注。