APP下载

变电站三维模型可视化交互研究

2020-05-21刘文彪王冬霞董怀普

电脑知识与技术 2020年9期
关键词:三维可视化

刘文彪 王冬霞 董怀普

摘要:随着电网信息化建设的加快,通过对变电站主设备和辅助设备进行三维场景建模,实现变电站场景的数字 化 还原,并根据变电站内设备信息将三维节点与数据库点进行逻辑关联,将变电站监控推向数字化、可视化、智能化的全新高度。本文旨在研究一种通用的三维交互方法,通过规范化三维模型的动态节点命名的方法,实现三维模型和三维程序之间的交互信息的自动化提取和控制,从而对变电站主设备监测数据、辅助设备监测数据等进行了全面监视,构建智慧变电站三维可视化交互平台,更加高效直观地全面监视变电站,增强设备的管 控力。

关键词:三维交互;三维可视化;自动关联;全面监视

中图分类号:TM769;TP311 文献标识码:A

文章编号:1009-3044(2020)09-0248-03

变电站数字化是将测绘、信息、计算机等多学科技术有机结合为一体的交叉学科,是三维重建的新方法与手段,通过客观、完整地获取电站设备元器件几何和色彩等资料,实现对变电站全站模型,以及主设备和辅助设备的三维结构重建与展示。变电站的三维可视化交互系统建设是国家电网提出主设备和辅助设备全面监视的关键技术。

本文提出了一种三维模型动态节点命名方法,旨在探索一种三维模型和三维程序之间通用的交互配置和控制方法,使得三维程序可以适配所有变电站的三维模型,并精确地控制开关、刀闸、仪表盘以及显示灯等的正确状态的显示。从而全面提升设备的管控力,完善监视手段,实现对变电站主设备和辅助设备的全面监视。

1 总体架构设计

本系统采用OSG三维引擎作为电力监控系统三维图形平台的支撑。整个系统分为五个模块,分别是三维建模文件,三维动态库、三维配置工具、二三维融合容器、画面编辑与在线展示系统;

变电站三维建模文件是基础,通过3Dmax软件进行三维模型的建模,模型内的所有动点信息参照约定的命名规范进行命名,便于交互信息的自动提取。

三维动态库主要完成三维模型的渲染、三维动点的状态交互变化等,是整个三维渲染系统的核心。

三维配置工具主要解析三维模型文件中动态节点信息,根据动态节点命名自动提取动态交互信息,提供动点和数据库点的自动关联,同时提供对应的编辑功能,根据动点类型提供不同交互配置,针对颜色变化类型,提供不同状态的颜色配置功能;针对角度变化类型,提供角度设置功能等;以及鼠标响应类型的设置等;配置完成后输出三维动点交互配置文件,提供给自研三维动态库进行统一的数据交互响应。

二三维融合容器,主要提供二三维一体化展示切换功能,该容器根据联动信息动态切换展示二维和三维画面以及二三维画面同时显示的功能。该容器为画面组态工具和在线展示系统提供图形展示承载服务。

画面编辑器提供了基本的绘图功能,同时利用二三维渲染容器定制展示区域,并提供配置展示二维和三维画面关联的文件信息。配置完成后,在线展示系统会根据配置的二维和三维画面文件,实时展示对应的画面,并根据数据库的值更新二三维画面的设备状态,从而真实地展示设备运行信息。

2 模型动态节点命名规范

三维模型内的动态节点名称,应全部采用字母、数字、“一”“一”、中文描述组成,节点名称格式为.D_IEDName-DataType-ActionTye+三位序号_ValueRange_ControlRange _Desc。

2.1 D为统一动点前缀

D为统一动点前缀,表示该节点是动点,需要交互变化。方便三维程序一次性过滤当前三维模型文件中所有动点信息。

2.2 IEDName为设备名称,包括屏柜名称

对于装置,名称建议采用IEDName;如果站内无SCD文件,IEDName建议采用和站内点命名一致;

对于屏柜,建议采用PG+四位屏柜号+IEDName.四位屏柜号:前面两位是小室号,后面两位是屏柜号。

例如:

2#主变保护A柜:PC010IPT02,其中PG表示屏柜,0101四位屏柜号表示01号小室叭号屏柜,PT02表示IED名称,其中P表示为保护,T表示主变,02表示2#;

2#主变第二套保护柜:PG0102PT02,其中PG表示屏柜,0102表示叭号小室02號屏柜,PT02表示IED名称,P表示为保护,T表示主变,02表示2#;

2#llOkV保护测控柜:PG0103PL02,其中PG表示屏柜,0103表示01号小室03号屏柜,PL02表示IED名称,P表示为保护,L表示线路,02表示2#。

2.3 DataType节点关联的数据类型

表明该动态节点需要关联的数据类型,与监控系统内的采集点类型保持一致,便于自动关联以及按类型进行分类,可根据实际情况动态定义:

(1)EVT:动作事件;

(2)SPG:压板事件;

(3)DPS:遥信事件;

(4)AIM:告警事件;

(5)MV:遥测;

(6)CTR:点击控制。

2.4 AchonType节点交互类型[3]

(l)L:light,颜色改变,例如:装置面板灯颜色改变,闪烁功能配置:F:Fast快闪,S:Slow慢闪。

a)灯快闪:LFO表示值为0快闪,LFI表示值为1快闪;

b)灯慢闪:LSO表示值为0慢闪,LSl表示值为1慢闪;

( 2)R:rotate,角度旋转,使节点根据值进行旋转,例如:硬压板的投入与退出、表盘指针旋转、开关刀闸的分闸与合闸等;

(3)CR:clickRotate,鼠标点击选择,例如点击开关门等;

(4)T:text文字变化;

三位序号:用来避免同一个模型中节点名重复,从001到999依次编号。

2.5 ControIRange控制值范围

(1)当节点为颜色变化时,值对应的是各个状态的颜色。

(2)当节点为角度变化时,值为角度范围,单位为度。

2.6 Desc为节点描述

节点描述应与监控系统数据库点名称尽量一致。

图2为三维模型动态节点命名示例:

3 三维配置工具

三维配置工具3DConfigTool主要是从三维模型文件中,根据约定的动态节点名称,解析出动态节点对应的动态信息,主要是动态节点名称,描述,节点交互类型是light或者rotate等,以及对应的旋转交互或者颜色变化序列等,并根据Desc描述的模糊匹配实现半自动的数据库点的关联。

三维动点配置工具界面如图3,左侧展示的变电站内的所有三维场景目录,中间展示的是当前三维场景的所有动点列表和3D视图,右侧是电力监控系统的数据库点信息和实时值,提供拖拉、批量关联等便捷地编辑三维动点和数据库点的关联关系。关联配置完成后即可保存为持久化的配置文件,供三维动态库和监控系统使用,便于数据同步刷新使用。

每个三维模型文件经过交互信息和关联信息配置之后,可以切换到“3D视图”标签页,如图4所示,查看三维场景内需要实时变化的节点是否根据右侧的实时数据值进行了正确的开关变位以及颜色变化等。模型内的所有动态节点的初始状态为0值对应的状态,当值发生变化后,会根据节点交互类型和交互信息进行纹理贴图或者旋转变换等操作。对于旋转,采用右手规则,逆时针旋转为正值,顺时针旋转为负值。三维模型建模时的动态旋转节点默认为z轴旋转,并采用冻结变换和烘焙枢轴的方式固定交互信息,便于三维程序根据提取的交互信息对节点进行交互控制。

4 三维动态库

4.1 三维动态库接口

三维动态库主要是利用OSG引擎开发的针对变电站三维展示需求开发的动态链接库。便于电力二维监控系统根据需要灵活地动态加载三维模块。同时该三维模块适用于所有基于Qt开发的监控系统中,具有广泛的适用性。其中三维接口文件格式如下:

ComponentN23D_create0用于创建基于QGLWidget的窗口句柄N23DPlayerWidget,并完成窗口布局,供监控系统进行调用,返回给监控系统进行展示。

ComponentN23D_configure(COMPONENT3DHANDLE han-dle,std::string& configlnfo)用于监控系统给三维窗口句柄传递需要展示的三维模型文件和三维动点配置文件,从而提供三维场景的渲染和动态数据交互所需的文件信息。

ComponentN23D_setRefreshTime(COMPONENT3DHAN

—DLE handle,int timelnt)用于监控系统设置指定的三维窗口的动态数据刷新周期。

ComponentN23D_setExcute(COMPONENT3DHANDLE han-dle,type_fn_excute exc_fn)用于執行周期刷新,根据监控系统回调函数反馈的实时数据完成所有动态节点的状态变化。

typedef bool (*ComponentN23D_dataRefresh) (std:: vector request,std::vector &response);

ComponentN23D_dataRefresh用于监控系统和三维动态库之间定义实时数据回调函数指针和参数类型,供三维动态库周期传递动点列表,监控系统返回点列表对应的实时值。

ComponentN23D_locateNode(COMPONENT3DHANDLEhandle.std::string nodeName)提供高亮居中展示节点的功能,当配置工具或者监控系统需要定位动态点对应于三维模型中具体位置时使用,便于直观观察某一个点实际状态,亦可以鼠标右击来放大居中点击的节点,用于局部放大查看。

4.2 三维渲染流程

三维动态库利用osgDB::readNodeFile函数完成各种类型的三维模型文件的读取,创建三维视图osgViewer::Viewer,调用视图的setSceneData把读取的三维场景数据传给视图,即可完成三维场景的渲染展示;其次利用传递的三维动点配置文件,解析出当前三维场景中所有需要动态变化的节点,根据变化类型形成不同的列表,比如动点变色列表、动点旋转列表、动点鼠标响应列表等,并完成所有节点状态的初始化展示。

三维动态库传递当前场景中所有动点关联的obid列表信息,监控系统根据列表获取当前数据库中的实时值,返回给三维动态库,三维动态库根据实时值动态刷新三维场景中的动态节点状态。

4.3 三维动态交互

4.3.1颜色交互

颜色的变化使用材质变换来实现,首先获取动态节点的渲染状态管理信息osg::StateSet* stateSet =node->getOrCreateState-Set0.根据不同的颜色传递不同的材质数据,比如分态需要展示红色:

mat->setAmbient(osg:: Material:: FRONT_AND_BACK, red-Color).

mat->setColorMode(osg::Material::AM BIENT);

stateSet->setAttributeAndModes(mat. get0, osg:: StateAttrib-ute::ON l osg::StateAttribute::OVERRIDE);

4.3.2 旋转交互

对于需要旋转的把手和仪表盘等节点,通过改变节点变换矩阵即可。关键是仪表盘的旋转角度的计算,通过仪表盘的最小minValue和最大值MaxValue,以及仪表盘的可视区域角度范围factor,利用公式float angle= (value - minValue)+ factor/(max-Value - minValue);即可计算出表盘指针的旋转角度,通过矩阵运算完成旋转操作:

//获取节点的初始矩阵

osg::Matrix m_matrix= node->getMatrix0; //设置旋转矩阵

node->setMatrix(osg:: Matrix:: rotate(osg:: DegreesToRadians(-angle), osg::Z_AXIS)*m_matrix);

4.3.3 鼠标事件交互

对于需要响应鼠标事件来进行操作的动态交互,首先需要自定义鼠标事件处理类CPickHandler,该类继承自osgGA::G UIEventHandler。根据ea.getEventType0不同的鼠标操作系统,响应不同的操作[10]。

(1)双击导航功能,双击特定节点的时候,完成三维到二维的导航切换,调用Navigate函数处理,解析二维画面;

(2)节点信息窗口,鼠标移动到某一个节点上时,弹出信息提示框,调用Popup函数处理,鼠标离开后,提示框消失;

(3)鼠标左击开门或者关门,调用OpenDoor函数处理;

(4)节点定位居中功能,鼠标右击区域,自动放大居中显示,并使用osgFX::Scribe0高亮该节点。

5 结论

本文介绍了一种变电站三维模型可视化交互方法,通过规范化三维模型的动态节点命名的方法,并对三维模型中动态节点的初始状态进行统一配置,实现三维模型和三维程序之间的交互信息的自动化提取和控制。同时阐述了三维配置工具和三维动态库渲染交互的全过程,实现了在二维电力监控系统中无缝接入变电站的三维画面的功能,并同步更新电氣设备的真实状态到二三维画面内的设备显示状态,更加高效直观地监视变电站,进一步增加了设备的管控力,实现变电站主辅控设备的全面监视。该变电站三维模型可视化交互系统成功在无锡llOkV邓巷变试点运行,实际效果图如图5。将智慧变电站监控推向数字化、三维可视化、智能化的新高度。

参考文献:

[1]王益,陈珉,王涛,等,智能变电站仿真三维可视化组件装配技术研究[J].电力系统保护与控制,2018,46(23):118-126.

[2]王会勤,周育才,左萃,等.变电站三维智能虚拟运检系统[Jl.电子科学与技术学报,2017,32(4):73-78.

[3]侯俊,李蔚清,林昌年.变电站三维交互场景仿真关键技术研究[J].电网技术,2005,29(9):70-75.

[4]陶松梅,张炜.基于CIM模型的变电站三维可视化交互技术应用[J].广西电力,2014,37(6):22-24.

[5]胡星,李维,李书明,基于OSG的水电站运行仿真三维交互系统[J].水电厂自动化,2017,38(2):12-15.

[6]李琳琳,宋艳芳.OSG三维渲染引擎在变电站可视化中的英语[J].齐鲁工业大学学报,2014,28(1):68-71.

[7]张照彦,段新会,王兴武,等.OSG技术在变电站仿真中的应用[Jl,电力科学与工程,2008,24(8):60-64.

【通联编辑:朱宝贵】

作者简介:刘文彪(1975-),男,硕士,高级工程师,主要研究方向为电力系统监控与自动化;王冬霞(1981-),女,博士,高级工程师,主要研究方向为电力系统的监控和三维可视化技术研究;董怀普(1988-),男,硕士,工程师,主要研究方向为电力系统继电保护及自动化。

猜你喜欢

三维可视化
环太行山著名旅游景点多媒体导航系统研究与建立①
机器人人机界面的三维可视化设计
铁路线路设计与技术发展探讨
基于三维可视化技术的云冈石窟文化传播策略研究与实现
全球海量空间数据综合管理与服务系统2013年度技术总结报告
基于ArcScene平台的电子沙盘制作
东平水道数字航道综合管理平台系统开发