黄锦增,乡 立,段 炼
(广东电网有限责任公司广州供电局,广东 广州 510000)
在三维可视化技术不断发展的过程中,利用该技术对电力监控系统进行改进,使三维可视化模型能够嵌入电力监控系统,达到提高电力监控效率、保证监控水平的目的。但是需要注意在现有电力监控系统内部嵌入三维可视化模型时,需要从三维可视化技术的理论基础出发,尽可能保持现有电力监控系统操作方式的稳定性,方便监控人员及时掌握三维可视化电力监控系统的操作方法。这样才能真正发挥三维可视化技术在电力监控系统中的应用优势,为监控人员提供清晰形象的监控画面。
现阶段,大部分电力监控采用的仍然是二维正交图开展监控工作的。这种监控模式不能清晰地表现出变电站设备的具体运行信息,检修人员也不能准确直观地掌握变电站设备的实际运行状态。尤其是新建的换流站,其复杂程度比较高,运维人员的日常工作量比较大,对监控画面的质量要求比较高,但是二维正交图显示出来的运行信息具有一定局限性,会在一定程度上影响电力监控的整体质量。
利用三维可视化方式,有利于运维人员直观清晰地了解监控设备的实际运行状态。三维可视化技术在应用过程中,可以将模型数据直接转化为图像并显示在屏幕上。该技术在产品设计、建筑、地球科学以及流体力学等方面的应用都比较广泛。在三维可视化技术发展的过程中,开放图形库(Open Graphics Library,OpenGL)是一种性能相对较高的三维图形绘制技术标准。而OSG(Open Scene Graph)是以OpenGL为基础研发的,是将C++平台作为基础的开源开发组件。该技术标准可以跨平台展示交互式图形,同时还可以根据开发者的具体需求提供多种工具[1]。
利用OSG技术对电力监控系统进行改进和优化,可以在确保原有监控系统稳定性的基础上,对电力设备三维模型进行准确展示,提高监控工作的整体水平。这种方法对原有监控系统的改动相对较少,同时可以实现二维正交图以及三维模型的交互,能够保证对应设备状态信息展示的准确性。
当前,大多数监控系统所采用的客户端界面是以Qt+Microsoft Visual Studio方式开发的客户端界面。Qt作为一款跨平台C++图形用户界面应用开发框架,本身属于面向对象的框架。而Microsoft Visual Studio是微软公司研发的开发工具包,是比较完整的基本工具包,也是当前Windows应用程序集成开发环境。
在Qt5.4以后的版本中增加了Q OpenGL Widget类,该类是以QWidget为基础发展而形成的。Q OpenGL Widget能够提供显示集成到Qt的开发应用程序内部的OpenGL图形,并且可以使开发者按照其他Q Widget继承类的方式进行操作。原有的QGLWidget类的方便程度更高。此外,Q OpenGL Widget能够提供比较方便的虚拟函数,可以在子类中重新实现虚拟函数,并完成典型OpenGL任务的执行过程[2]。
虚拟函数分别为:(1)paintGL()的主要功能是完成OpenGL场景渲染作业。在对小部件进行更新时,可以调用。(2)resizeGL()的主要功能是完成OpenGL视口投影的设置作业,主要是在对小部件大小进行调整时调用,特别是第1次显示小部件时所新创建的小部件都会自动获取resize事件。(3)initializeGl()的主要功能是对OpenGL资源以及状态进行设置,在第1次对resizeGL()进行调用时,需要调用该虚拟函数。利用Q OpenGL Widget继承能够保证OSG支持Qt。这样能够在技术理论上解决在三维可视化技术中,OSG在Qt程序中存在的集成问题。
在电力监控系统中,对三维可视化模型进行嵌入应用时,需要根据现有监控系统的实际情况,保证三维可视化模型能够有效嵌入现有监控系统。主要采取的方式包括以下两种:(1)可以直接将三维可视化图形作为独立窗口显示。这种嵌入方式对现有监控系统的改动相对较小,可以保证现有监控系统的完整性。但是应用三维可视化模型开展电力监控工作对监控人员的操作水平有新的要求,并且其操作方法与现有监控系统之间可能会存在差异,会影响三维可视化模型的应用效果。(2)将监控界面的一部分与原有的二维正交图显示结合在一起,能够提高现有监控系统的三维可视化效果。这种方法能够使三维可视化模型与现有的监控系统进行有效结合,并且不会使监控人员的操作习惯出现比较大的改变,应用效益更佳。因此,大多数电力监控系统改进过程中,都使用的是第2种三维可视化模型嵌入方式[3]。
现阶段,对Qt编写的监控系统进行应用时,主要是将Q Graphics Scene作为载体,并在载体上绘制图形信息,利用监控界面的一部分与原有二维正交图进行融合的方法,可以将三维可视化模块作为图元直接绘制在Q Graphics Scene中,成为界面的一部分。并且可以利用Q Graphics Proxy Widget类直接作为代理,在内部Q Graphics Scene嵌入QWidget。Q Graphics Proxy Widget类可以有效解决Q Graphics Scene以及Q Widget类存在的转发问题。此外,还能够解决Q Widget类中以整数几何图形为基础与Q Graphics Scene以实数几何图形为基础的转换作业。在这一监控系统内,Q Graphics Proxy Widget类可以支持键盘输入、拖放以及弹出窗口等功能。
在Q Graphics Proxy Widget类继承封装时,需要将其封装在绘制的基本图元内,同时要配置三维可视化要求属性信息。这样能够确保三维可视化模型与原有的三维图元一致,直接作为图元加入Q Graphics Scene,如图1所示。
图1 三维可视化监控系统应用
实现三维可视化模型在Q Graphics Scene画布的绘制显示后,需要完成三维模型的交互设计作业。主要从以下两方面出发,保证三维模型交互设计的科学性以及合理性:(1)三维模型人机交互设计。在三维模型人机交互设计中,要保证运行人员可以利用鼠标事件控制三维模型。在这一期间,需要解决三维可视化模型对应的鼠标键盘以及事件交互等功能需求,才能保证人机交互设计的有效性。(2)三维模型以及监控数据之间的交互设计。在设计时,要保证OSG内的osg::Node Visitor类可以实现达到节点访问的目的,同时继承osg::Node Visitor完成apply函数设计。每一个三维模型都设置有唯一的ID值,并且ID值与显示中的实际设备是相互对应的,如果监控系统采集到某一设备的状态数据,可以直接调用apply函数,并利用模型ID获取相对应的节点,可以根据实际需求对模型节点的颜色、形状、位置以及描述设备实时状态的信息进行修改,能够有效实现输出数据交互功能。
总而言之,在当前三维可视化技术发展的过程中将其应用在电力监控系统中,可以提高监控工作效率,保证监控质量。但是需要注意三维可视化模型嵌入现有电力监控系统时,需要对现行二维正交图电力监控系统进行适当改进,确保三维可视化模型可以与现有监控系统有效结合,尽可能保证改进后的电力监控系统与原有监控系统操作方式的一致性,从而提高三维可视化技术在电力监控系统中的应用水平,提高电力系统监控质量。