1. 引言
虚拟现实技术 [1] [2] (Virtual Reality, VR)是一种综合计算机图形技术、人机交互技术、立体显示技术等多学科所形成的计算机领域最新技术,通过生成具有接近真实世界的视、听、触觉等作用的虚拟环境,用户可在虚拟环境中进行各种操作 [3]。
近年来,各高校也在积极探索线上线下相结合的教学方式,通过虚拟现实技术让学员观察虚拟电厂的厂房、系统、设备等三维场景和模型,在交互中学习系统构造、设备结构及作用等知识,增强了教学生动性。但是由于没有和电厂运行结合起来,学员不了解电厂实际运行时系统工况的参数变化,不了解设备是怎么工作的,不了解现场发生故障时的现象和应采取的基本应对操作,导致对核电站运行的认识学习不够具体和深刻。
本文以核电先进机组模拟机平台为数据支撑,将电厂运行的实时状态数据接入虚拟三维工作场景进行可视化展示,使模拟的现场工作环境场景充满活力更加符合电厂实际情况,有利于学员更好地认识和掌握核电先进机组的知识。
2. 主要研制内容
2.1. 电厂运行工况可视化
依托后台百万千瓦典型压水堆核电机组多功能模拟机,采用国内当前先进的百万千瓦级核电机组为参考机组,模拟核电站正常运行工况和故障工况等运行工况 [4]。前端虚拟三维画面模拟核电站现场工作环境场景,并与后台建立实时数据连接,把后台实时运行工况数据与虚拟三维场景中的系统、设备、管路、阀门等模型一一对应并显示,便于直观的在虚拟核电站工作环境场景中查看和了解核电站运行状态。
2.2. 故障模拟和可视化
故障工况用于仿真核电厂设备和部件失效的故障,通过人为干预或设置来实现故障的发生,每个故障的影响与实际电厂相同。后台人为干预插入故障后,前端虚拟三维画面实时检测到故障信号,并模拟展示故障发生后的过程动画和系统设备重要工况参数的变化。
3. 总体方案
系统硬件设备设置为两个主机和两个显示屏,每个主机对应接一个显示屏。其中一台主机运行虚拟仿真系统,另一台主机运行多功能模拟机系统,两台主机间通过网络连接进行数据传输,后台核电站模拟机的设备状态变化在虚拟仿真系统中实时体现,同时虚拟仿真系统中的就地操作信号也实时反馈给后台核电站模拟机。
总之,后端平台负责电厂运行模拟,前端三维界面负责功能模块的形象展示和操作交互,包括场景漫游、设备查询、工况查看、工作原理、故障模拟和操作模拟等。总体方案如图1所示:
4. 关键技术
4.1. 数据同步
数据同步是虚拟仿真系统的关键步骤,该步骤负责实时获取后台模拟机的运行数据,作为前端三维交互界面的数据来源并实时驱动三维场景的显示变化。为实现后台核电站模拟机与前端三维交互界面的数据交互同步,数据通信架构如图2所示:
接口库1,由通讯程序调用,从同步共享内存获取控制指令、参数及故障等,并通过TCP/IP协议向三维交互界面的接口库发送变量计算值。
接口库2,由三维交互界面程序调用,调用API向共享内存读取信息,并从共享内存获取变量计算值,在画面上进行指令运行、参数显示、触发故障等。
传输采用TCP/IP协议发送,可以保证数据不丢失。服务端和客户端都使用Socket进行通讯,可以保证不同语言和平台下的兼容性。所有的数据都转换成统一的类型来传输,采用固定长度的信息发送机制,避免数据传输数据丢失现象。
4.2. 特效渲染
虚拟三维场景界面除了显示厂房、设备和管道等静态模型外,还需要显示工作介质类型的动态特效模型。虚拟三维场景中的工作介质分为气态和液态两种形式,本系统采用粒子特效和shader特效两种方式进行动态特效渲染。
1) 粒子特效
粒子特效是将若干粒子无规则的组合在一起,通过设定粒子的发射属性,如粒子的大小、数量、速度、方向、生命周期、缩放比例等参数来控制粒子模型的运动轨迹,实现模拟火焰,爆炸,水滴,雾气等效果。
本系统模拟运行发生故障时,破口时的气态工作介质和喷淋时的液态工作介质采用粒子特效表现。当模拟机正常运行时该粒子模型隐藏在三维场景中不显示;当出现故障发生破口或喷淋事件时,该粒子模型显示,并根据当时破口大小及流速或喷淋的规模大小及流速实时调节粒子特效中粒子的数量和运动速度,使三维场景中的工作介质运动与后台模拟机实时状态和参数相对应。破口故障时的气态介质动态渲染效果如图3所示:
Figure 3. Dynamic rendering of gaseous media
图3. 气态介质动态渲染
2) Shader特效
由于模型的面数是有限的,若采用通过顶点动画来提供足够多细节的方式,那么对于性能的消耗是十分巨大的。本系统中的管道内的气态介质和液态介质采用shader特效表现。制作一张水面波纹的贴图来影响平面的法线,通过持续偏移材质的UV值来实现液体流动动画效果。而Normal贴图则实现了细节纹理的效果,外加折射和菲涅尔反射,能够折射和反射周边环境,形成了非常逼真的管道中的流动材质。管道内液态介质动态渲染效果如图4所示:
Figure 4. Dynamic rendering of liquid media
图4. 液态介质动态渲染
4.3. 动画配置
本系统把每一个过程动画内容进行细分,将其划分为若干部分的主体演示内容(大步骤节点),且每一个主体演示内容又分为若干节点演示步骤(小步骤节点)序列。本系统创建用于动画配置的数据结构,每个小步骤都是其中的数据单元,数据单元包含节点层级、节点名称、相机对象、相机位置视角、模型名称、模型位置、旋转方向、显示状态(高亮/隐藏/显示/透明)、文字说明、帧动画名称、子节点等信息,采用链表存储方式进行数据管理和逻辑控制,这种方式便于调整数据单元间的逻辑关系,便于多次修改动画的顺序。相邻数据单元之间有逻辑关联控制,在前置条件操作未完成的情况下,不能进行下一步演示。
本系统开发图形化动画配置工具,如图5所示,便于创建数据单元对象,并通过数据单元间连线的方式快速建立逻辑关系,修改连线的对象实现快速改变数据单元间的逻辑关系。通过一系列有逻辑关系约束的数据单元对象,展示完整的动画内容。
Figure 5. Graphical animation configuration tool
图5. 图形化动画配置工具
5. 实施过程
5.1. 系统建库
本系统开发和实施中需要输入大量各类型数据,需要收集的数据包括厂房平面图、系统流程图、设备及零部件图纸、管道轴测图、现场照片等,数据不全的情况下还需要现场进行三维激光扫描获取现场工作环境的全景照片和点云数据。
完成现场数据收集后,进行数据录入工作。根据电厂提供的系统流程图以及设备阀门清单,将设备/阀门编号、所处房间号、所处系统名称、描述介绍等信息输入系统数据库中,用于系统建模与搜索查询。此外,将现场扫描获取的全景照片与对应的设备/阀门、图纸相关联,并录入到系统数据库,便于后续的三维建模工作与信息查看。
5.2. 场景建模
场景三维建模工作负责搭建三维环境,将场景内主要的厂房建筑物和设备根据其几何形状、尺寸和位置信息进行建模,得到能够较为真实反映场景实际情况的三维模型 [5]。
关键设备、工器具等进行装配级建模,满足零件装配模拟、干涉冲突检测等仿真过程的精度要求;厂房、检修环境及缺少图纸的部分设备和工器具采用三维激光扫描的方式,真实还原现场及设备外形。本系统用到的建模工具包括CATIA、Maya、3ds MAX等主流三维建模软件。
本系统中的三维建模范围包括:反应堆厂房和辅助厂房建筑环境三维模型,以及反应堆冷却剂系统(RCP)、余热排除系统(RRA)、安全注入系统(RIS)、安全壳喷淋系统(EAS)四个系统所包含的设备三维模型,如图6所示。
· RCP包含的主要设备:蒸汽发生器、主泵、压力容器、稳压器等;
· RRA包含的主要设备:高压安全注射泵、余热交换器、余热排出泵、换料水箱等;
· RIS包含高压安注、中压安注和低压安注三个分系统,包含的主要设备:高压安注泵、硼注入箱、硼注入箱再循环泵等;
· EAS包含的主要设备:喷淋泵、喷淋热交换器等。
5.3. 功能开发
功能主要包含设备工况查询、工作原理演示、故障及就地操作模拟等模块。
1) 设备状态监视:利用数据通信和同步技术,模拟电厂运行状态下,直观在虚拟三维场景中查看蒸汽发生器、反应堆压力容器、反应堆冷却剂泵、一回路等主要设备和回路的实时状态参数,如温度、压力、液位、流速等信息,如图7所示。
2) 工作原理演示:制作基础动画片段系列,利用动画配置工具组织动画流程和逻辑,模拟演示和解释RCP、RRA、RIS、EAS四个系统是如何工作的。用户通过界面工作原理面板切换系统场景,在三维窗口中观看各系统的工作原理演示动画。
3) 故障及就地操作模拟:利用数据同步和特效动态技术,实时监听并接收到来自模拟机教员端插入故障触发的IO信号点变化,将故障提示醒目的发送给三维场景窗口,如图8所示,并把故障造成的影响实时反应至三维场景和设备状态数据。学员在前端三维交互界面中通过观察故障现象以及设备参数状态的变化判断故障原因,并采取相对应的措施处理故障。
Figure 7. Real time parameters of steam generator
图7. 蒸汽发生器实时参数
Figure 8. Simulation of heat transfer tube rupture
图8. 传热管破裂故障现象模拟
6. 结论与展望
本文介绍了一种成熟的核电站运行虚拟仿真系统软件的实现方法,并将该方法应用于某高校学院教学研究中。可视化的核岛虚拟三维场景和后台核电站模拟机相结合,提供了工作场景内设备运行的直观信息,是培训学员了解核电站工作的有力支持工具。由于该方法具有很强的通用性和有效的沟通效率,其应用还可扩展至核电厂其他厂房和系统的培训和检修领域。