基于Java 3D的变电设备状态展示系统框架设计
2017-10-26徐斌姬波
徐斌+姬波
摘要:电力远程Web监控指基于浏览器对跨地域分布的变电设备状态的集中监控。目前多采用2D而非3D展示,原因是缺乏有效的Web 3D框架结构设计和现有Web 3D技术绘制效率不足。针对这两个问题,本文提出了一个基于Java 3D技术的变电设备状态展示系统的框架结构。该框架包括技术支撑层、数据层、3D基础类层、3D业务类层和客户端层五个层次,具有效率高和可扩展可移植的优点。实际应用表明,基于Java 3D技术的Web展示框架结构可以有效满足电力系统Web 3D展示的要求。
关键词:Web监控;变电设备;设备状态;3D在线展示;场景图
中图分类号:TP3917文献标识码:A
Abstract:The task of remote Web monitor system in electric system is centralized monitoring the status of crossregional substation equipment.However,true threedimension technology is seldom used in Web exhibition because lack of effective Web 3D framework and low rendering efficiency of current Web 3D technologies.To address the issue,the paper proposes a framework of substation equipment status presentation based on Java 3D.The framework consists of five layers:technology support layer,data layer,3D basis layer,3D business layer and client layer.Practical application shows that the proposed framework can satisfy the requirements of Web 3D presentation with the advantages of high efficiency,expandable and portable.
Key words:Web monitor;transformer;equipment state;3D online exhibition;scene graphs structure
1引言
电力系统中变压器担负着在各个电网间进行电压变化和电能转化的核心功能。监控变压器运行状态信息可以对供电可靠性提供良好的保障[1-3]。配电变压器运行中的状态信息监测包括监测终端、互联通信、数据存储和在线展示系统几部分。其中,在线展示系统担负着展示变电站数据的功能[4,5],能直观的将变电设备实时数据以列表和图形方式供用户浏览。随着互联网络和硬件平台的日益发展,越来越多的监控中心对跨地域分布的变电设备状态采用了Web 展示方式。但是目前Web展示中主要采用列表、二维曲线和伪三维图形方式,较少采用真三维方式。这主要是由于Web 3D图形绘制效率的制约。众所周知,Browser/Server系统的执行效率一般远低于Client/Server系统的执行效率。而变压器状态数据的大规模和实时性特性,对图形绘制效率提出了更高要求。因此,本文在分析主流Web 3D技术的基础上选定了Java 3D作为低层支撑技术,并基于Java 3D技术给出了变电设备状态在线展示系统的框架设计。该框架具有效率高和可扩展可移植的优点,可以有效满足变电设备状态Web 3D展示的要求。
2Web 3D技术
随着互联网的发展,Web展示中广泛采用了3D技术来丰富页面展示效果。主要技术包括Flash[6]、JOGL[7]、WebGL[8]和Java3D[9,10]等。
1)Flash:Flash3D是指基于Flash播放器的三维画面。Flash网页播放只能基于CPU,而不支持GPU运算,因此表现复杂图像时效率较低。同时,Flash3D只是在2D通过数学计算来模拟的伪3D效果,并不是真正的3D效果;
2)JOGL:JOGL是OpenGL的Java类绑定。JOGL项目是由JavaTM绑定OpenGLAPI(JSR231)而构成的,在Java应用程序中提供了基于硬件支持的3D图形;
3)WebGL:WebGL是基于OpenGL底层3D图形API的跨平台Web 3D标准,采用HTML5 画布(Canvas)元素的基于文档Object的接口来实现。要求开发人员熟悉OpenGL ES 2.0技术;
4)Java3D:Java 3D是基于Java语言的3D领域扩展,提供了一组API接口,并运行于标准Java虚拟机。Java 3D是基于已有的Java API的三维拓展,提供了完整且方便的3D图形库,其效果并不逊色于其他技术的3D效果。同时,Java 3D基于DirectX与OpenGL技术的实现可以保证其运行效率。Java 3D中对象建模既支持直接API类库中的方法,还支持其他流行的建模工具,如VRML和TrueSpace。
3系统框架设计
31Web 3D技术选型
通過对前述几种Web 3D技术的分析和对变电设备监测在线展示的业务分析。我们基于以下原因选用了Java 3D技术做为框架设计的底层技术。
1)WebGL对IE浏览器支持不足,而大多数电力系统用户更熟悉和倾向使用IE浏览器;
2)Flash难以实现硬件加速,且对编程人员数学功底要求较高。同时,Flash更擅长表现渲染和美化程度高的界面,而数据状态展示更注重界面的简洁和明晰;endprint
3)JOGL更倾向于开发有较高性能硬件支持的3D图形,而变电设备检测终端基本都是性价比更高的低端设备;
4)Java 3D对Java编程人员未设定任何前提和技术门槛,简单易用,可扩展可移植性好,并提供了完整的开发类库。
Java 3D基于场景图(Scene Graphs Structure) 概念,极大减少了设计和开发人员对三维空间知识的掌握要求。场景图是类树状结构的具有方向性的不对称图形(Directedacyclic Graph,DAG)。图1中给出了场景图的三个层次。
1)根节点。一个场景图拥有唯一的根节点:虚拟宇宙(Virtual Universe),即一个拥有一系列对象聚集体的三维空间;
2)非叶子节点。Virtual Universe拥有场所(Locale)节点。Locale拥有分支组(Branch Group)节点。Branch Group拥有变换组(Transform Group)节点,Transform Group包含三维形体的位置信息。 Transform Group拥有形状3D(Shape3D)节点,Shape3D代表三维世界中的形体。观察平台(View Platform)节点定义了观察视角信息;
3)叶子节点。包括外观(Appearance)节点和几何体(Geometry)节点,用来定义三维体的最终显示效果。
32展示系统框架设计
变电设备状态Web在线展示系统是变电设备故障状态检测与预警图形系统的构成部分之一,用于显示设备状态参数及变化趋势。其最终目标是实现变电设备状态Web展示,以便于远端用户对设备的运行情况实时地、直观地和真实地全面掌握。Web3D展示系统框架如图2,共分为五个层次:
1)技术支撑层。采用Java3D作为Web3D的技术实现基础。Java3D运行于Java虚拟机之上;
2)数据层。展示数据分为在线内存数据中的实时数据和离线数据库/数据文件中的历史数据两个类型;
3)3D基础类层。负责提供Web3D绘制的基础类,包括3维坐标轴、3维长方体、3维直线和3维文字绘制等图形基类;
4)3D业务类层。负责业务逻辑处理及变电设备(如变压器)状态的3D展示。常见的展现业务包括用于油中气体分析的油色谱图和用于变压器故障诊断的大卫立方体等;
5)客户端。适用于支持Java3D技术的浏览器(主流浏览器均支持Java3D)。
33图形绘制3D基础类
图形绘制3D基础类提供被上层业务类调用的接口,构成3D展示的基础。主要的3D基础类有以下6个:CoordinateAxisScene类、CoordinateGrid LineScene类、PDSScene类、QuadShape类、 Draw3DLine类和Draw3DText类。
1)CoordinateAxisScene类。用于绘制三维坐标轴(图3)。主要属性有vert数组,代表直线端点;color数组,代表线条颜色;width变量,代表直线宽度。其主要方法包括CoordinateAxisScene(),用于设置基本参数;getScene(),用于获取当前Transform Group对象;
2)CoordinateGrid LineScene类。用于绘制与坐标轴平行的网格线,提供用户观察数据变化趋势的参考背景线;
3)PDSScene类。用于绘制数据对应的长方体;
4)QuadShape类。三维曲面基类,继承于Shape 3D,该类可以被实例化,是生成长方柱体的基类;
5)Draw3DLine类。绘制3D直线,继承于Shape 3D,可以直接被实例化;
6)Draw3DText类。生成三维文字,提供getScene方法绘制文字图形。
4变压器状态3D展示实例
本文提出的基于Java 3D的变电设备状态展示系统框架已经在某集团的变压器故障诊断系统中得到了应用。该系统需求主要包括:1)展示油色谱监测、铁芯接地监测、微水密度监测和避雷器监测类测点的曲线;2)展示三维局放谱图;3)展示三维油色谱图;4)利用大卫三角形和大卫立方体进行變压器故障诊断等。
41系统功能
系统功能模块图如下:
1)数据列表。获取数据信息,以列表形式在web页面上展示;
2)测点曲线。根据给定的数据绘制二维坐标折线图,支持显示数据趋势;
3)3D局放谱图。展示局部放电的周波—相位—放电量三维图;
4)3D油色谱图。支持2种波形文件格式(第一种为现有的m行*1列的数据值格式;第二种为COMTRADE格式)的油色谱三维展示;
5)大卫三角形。绘制用于DGA故障诊断的二维大卫三角形;
6)大卫立方体。绘制用于DGA故障诊断的三维大卫立方体;
7)故障诊断。通过DGA数据点在大卫三角形或大卫立方体中的位置信息来给出可能的故障诊断结果。
所有功能均同时适用于实时数据和历史数据展示。区别是历史数据来源于数据表analog,使用JDBC连接访问。实时数据则来源于实时内存库,使用实时库API访问。
42局放谱图实现
下面以三维局放谱图为例描述Web 3D展示系统实现方法。为了满足局放谱图展示需求,在框架提供的3D基础类层的基础上,实现了两个业务类。局放数据读取类PdsDataReader和局放3D展示类PDSpector。
1)PdsDataReader类。用于读取数据和数据立方体的构造。一个局放数据文件中包括一个EVENT 事件中10秒的所有幅值数据。每秒钟的数据段包含50个周期的数据,每个周期分为128相位。 因此每秒数据段包含6400个幅值,10秒共64000个幅值数据。endprint
2)PDSpector类。继承于Applet类,首先构造Canvas3D画板,并将Virtual Universe添加至该画板中。然后使用3D基础类绘制坐标轴、网格线和6400个局放立方体(由于数据量庞大,每次只显示一秒的数据)。
图5展示了3D局放谱图实现效果图,该图形立体展示了1s内的6400个局部放电幅值大小及其相位关系。图形支持放大、缩小和旋转等三维操作,以提供给观察者全面的观察视角。同时提供了前翻和后翻按钮,以达到按秒切换数据的目的。
5结论
本文针对电力系统Web监控系统中设备状态的三维展示问题,在分析了主流Web 3D技术的基础上选定了Java 3D作为变电设备状态展示系统框架的底层支撑技术。基于Java 3D技术提出了包括技术支撑层、数据层、3D基础类层、3D业务类层和客户端层五个层次的框架结构。并给出了3D基础类层中负责提供Web3D绘制方法的若干基础类,如3维坐标轴类、3维长方体类、3维直线类和3维文字类等。最后,以三维局放谱图为例描述了框架的实现过程及实现效果。实际应用表明,该框架为电力系统Web 3D展示提供了良好的基础平台。
参考文献
[1]骆思佳,黄文武,冯杰.电力变压器状态多层次评估模式的研究[J].变压器,2013,50(3):32-36.
[2]石鑫,朱永利,萨初日拉,等.基于深度信念网络的电力变压器故障分类建模[J].电力系统保护与控制,2016,(1):71-76.
[3]陆杰,张淼,赵宏飞,等.基于振动的电力变压器状态监测系统设计[J].电力系统及其自动化学报,2016,(4):73-77.
[4]RAJI M,RAJU R.Failure analysis of power transformer for effective maintenance planning in electric utilities[J].Engineering Failure Analysis,2015,(55):182-192.
[5]路光辉,姬波,龚东武,等.变压器故障诊断的可视化模型[J].计算机工程与设计,2013,34(5):1841-1845.
[6]吴淑娟,董少春,尹宏伟,等.基于Google Earth API的采煤沉陷区三维WebGIS平台设计与实现[J].实验室研究与探索,2015,34(3):101-107.
[7]MILLER J R.Metaview:A Tool for Learning About Viewing in 3D[C].43rd ACM Technical Symposium on Computer Science Education (SIGCSE 2012),Raleigh,NC,FEB 29MAR 03,2012,pp 135-140.
[8]Jinseung Y,DukYun N,Hoon R et al.Interactive Remote Web Visualization for Simulation Service of Engineering Education and Research on the Web[J].Journal of Next Generation Information Technology,2013,4(9):77-82.
[9]JARA C A,ESQUEMBRE F,CHRISTIAN W,et al.A new 3D Visualization Java Framework based on Physics Principles[J].Computer Physics Communications,2012,183(2) :231-244.
[10]吕蓬,李磊,谢三德.基于Java 3D的地形可視化及关键技术研究[J].测绘与空间地理信息,2012,35(10):74-76.endprint