谢天宇 吴馨 岳明奕
摘 要:针对工作人员对变压器相关仿真操作培训学习等相关方面的需求,基于Unity3D开发引擎,文章设计并实现了变压器仿真操作虚拟培训平台的研究和开发,对变压器的内部结构、拆装和工作原理进行动态展示。该仿真培训平台采用C#脚本语言作为开发交互程序,通过SQL Sever进行数据管理与Unity 3D虚拟开发环境的交互操作实现虚拟变压器模型的加载和各零部件的拆装过程,交互性强,拆装过程中动态展示效果好。
关键词:变压器仿真;Unity3D
中图分类号:S126 文献标识码:A 文章编号:1006-8937(2015)14-0006-02
变电站的安全稳定运行对电力系统的供电可靠性具有重要的意义,由于电力系统的特殊性,不能依靠停运设备来培训学员,近年发展迅速的虚拟现实技术得到了重视和研究。因此,一套新型的培训模式对电力系统的安全运行具有重要的现实意义。
本文以变电站中最重要的设备变压器为例,对虚拟仿真培训过程进行研究。
1 Unity3D开发平台
Unity3D有非常直观的编辑环境,是一个全面整合的专业游戏开发引擎。Unity3D支持多种脚本开发语言,如C#、Javascript等,兼容多种操作系统,真正实现了跨平台开发。
1.1 变压器操作仿真培训平台设计开发流程
基于Unity3D的变压器操作虚拟仿真展示平台采用B/S结构,采用Unity3D的引擎开发统一接口展示框架,实现相关变压器载入场景及交互式虚拟仿真展示。
1.2 数据管理
本文在深入分析仿真系统的基础上,提出通过建立数据库,以SQL数据库数据为桥梁,并通过ODBC即Open DataBase Connection 数据驱动程序实现异构平台间的数据共享和交互。平台所需数据可分为如下几类:基本信息数据、设备操作数据、设备异常信息数据和系统信息部分数据等。
2 变压器仿真操作虚拟培训平台结构
根据仿真培训系统的功能需求分析,确定仿真培训系统的结构由应用层、数据层和界面层三部分组成。
①应用层:主要包括系统管理模块、仿真操作模块、数据库管理模块、图形操作模块等四大模块。
②数据层:主要包括基本信息数据库、设备操作数据库、设备异常信息数据库和系统信息部分数据库等。
③界面层:界面层是人机互动的场所,用户通过操作界面控制仿真培训平台的各项操作。
3 变压器仿真操作虚拟培训平台的实现
根据变压器仿真操作虚拟培训平台开发流程和变压器仿真操作虚拟培训平台的结构,实现变压器仿真培训平台。
3.1 变压器仿真操作过程的三维建模仿真
3.1.1 Pro/E建模及装配
通过Pro/E进行变压器三维建模及装配过程如下:
①研究分析就压器实物或设计图纸的结构,进行一些主要零部件的拆分操作。
②根据仿真平台的设计思路,草绘零部件的特征,利用拉伸、陈列等操作添加附加特征完成零部件的整体制作,使用倒角、拔模等操作完成特征修饰。
③利用Pro/E装配功能,进行组装、零部件镜像和阵列等操作,完成变压器模型的装配。
3.1.2 3DS Max模型图形及动画制作
为了使培训人员得到更好的操作体验,平台采用3DS Max对模型进行图形渲染,同时利用PhotoShop对图形的材质进行处理,使图形看起来更加逼真,提升3DS Max的渲染效果。变压器内部绕组等不规则的零部件需要在3DS Max中进行建模,提升真实感。
3DS Max具有非常强大的三维动画制作功能,使用它很容易在制作3D模型过程中实现变压器的拆装动画,且没有任何局限性。在3DS Max中,通过在各关键帧记录相应零部件的位置关系来实现变压器的拆装动画。
3.2 Unity3D虚拟仿真设计
3.2.1 虚拟场景设计
将通过3DS Max处理后的变压器三维模型导入到Unity3D中,将模型添加到虚拟场景中,并对变压器三维模型进行缩放、旋转、移动和显示隐藏等相关属性设置。同时在场景中添加主摄像机或灯光等其他虚拟环境的必备元素,并进行相关属性和主从关系的设置。
3.2.2 虚拟交互脚本设计
Unity3D支持多种语言脚本,本变压器操作仿真培训平台采用C#进行交互脚本进行相关开发和设计。
为了实现对变压器模型的多角度展示,编写C#的Mouse View.cs脚本进行鼠标滚轮缩放和旋转拖动的功能。
为了实现变压器拆装过程的展示,本研究编写了Assemb-
leDisplay.cs脚本,并设置触发按钮,拆解和装配动画在3DS Max中已经进行动画设计,触动按钮进行播放即可。
4 关键技术
4.1 场景建模
本研究采用多外部导入3D Max的方式进行场景的建模,将3D Max设计后的模型保存为.max模式,可以直接保存到Unity3D的项目文件夹中,导入的文件信息中包含物体的名称材质、空间位置以及动画等。
4.2 数据操作
数据操作是在本研究中的一个关键性问题,也是一大难点。因本文以SQL数据库为数据的管理和开发基础,以C#脚本进行交互技术编程,研究通过C#为桥梁实现SQL Sever 2008数据库与Unity3D之间的数据通信。连接数据库代码如下:
using System.Data;
using System.Data.SqlClient;
public class DataTable:CheckData
{
SqlConnection connectionstring=new
SqlConnection(@“Sever=WWW-DA3749AB971\MYSQL;Da-
taBase=mydata;ui=sa;pwd=123456”);//连接数据库
SqlCommand cmd=new SqlCommand();
cmd.Connection=connectionstring;
connectionstring.Open();//打开与数据库的连接
............//具体操作部分
}
5 结 语
针对培训人员在进行变压器各零部件和工作原理认识和学习过程中的需求,本文基于Unity3D并结合3DS Max图元动画开发以及SQL Sever数据库管理技术,设计并开发实现了变压器仿真操作虚拟培训平台,该培训平台展示变压器的动态操作效果好、逼真度高,对培训人员了解变压器的结构、学习变压器相关原理具有重要的理论与实际意义。
参考文献:
[1] 韩万江,姜立新.系统工程与软件工作[J].计算机应用,2010,(S1).
[2] 黄江.建立电力系统元件动态数据库[J].电力学报,1997,(2).
[3] 龚庆武,姜芳芳,陈义飞.基于虚拟现实技术的变电站仿真培训系统[J].电网技术,2005,(29).