摘要 在变电站培训仿真系统的个体培训模式和师生培训模式的基础上,提出并实现了协作培训模式。通过优化设备图元的数据存储结构与传递路径,使状态信息的流动更为快捷。采用DirectX技术实时传送语音,使协作间的沟通更为便利。
关键词 变电站 培训仿真 协作培训 DirectX
1 引言
变电站培训仿真系统无论采用何种技术,始终是一种教学手段。变电站设备存在着空间距离,许多工作往往需要多人协同完成。任务的完成质量和速度既取决于个体的技术素质,又取决于整体的配合默契。因此,培养和提高变电站运行人员的协作能力是极其必要的。培训的学习组织形式通常有三种:学员在与外界不发生关系情况下进行自学的个体模式;学员在教师的指导下进行学习的师生模式;学员为完成共同的学习目标而进行相互间的交流与合作的协作模式。协作型组织形式既可快速提高学员的个体素质,又可锻炼他们的协作能力,是一种更为行之有效的培训手段。
2 系统的硬件结构
变电站培训仿真系统硬件主要由主域服务器、Web服务器、教员机、学员机所组成。主域服务器实现培训基地局域网的管理并实现路由功能;Web服务器完成网上注册、信息查询、培训仿真软件下载和更新等服务;教员机由教师使用,完成教学演示、任务分配、课堂管理、组织考核以及指导信息的发布等;学员机是受训学员进行操作的地方,可分布在培训基地的局域网内,也可分布在与因特网相连接的其它网域。
3 系统的软件结构
变电站培训仿真系统软件主要有设备模拟模块、仿真模块、学员机管理模块、教员机管理模块、数据库管理模块所组成。设备模拟模块营造仿真变电站的虚拟环境;仿真模块根据各方的操作信息、仿真变电站的当前状态以及其它设置进行仿真运算;学员机管理模块完成培训方式的设置、任务的接收和请求、协作间的信息交流等;教员机管理模块完成教学演示的信息传输、培训任务的分配、教员对学员的管理和协调等;数据库管理模块完成数据的查询、添加、删除等。
4 协作培训模式
协作培训包括协作学习和协作操作两个方面。协作学习是一种通过小组或团队的形式组织学习的一种策略。如图1所示。学员A解决问题时,学员B担任教练角色,学员B解决问题时,学员A担任教练角色。其他学员C、D观察他们对问题解决的方法、途径及技巧,发现其优点与不足之处,在恰当的时机阐明自己的观点。如果学员A和学员B由一人担任,则是一种师生型组织结构;在此基础上,如果学员C、D不存在,则是一种个体型组织结构。协作操作是模拟变电站值班人员协同完成操作任务的一种演习。如图2所示。学员A为协作操作的组织者,提出完成整个任务的方案和进行协作分工,并协调解决方案实施过程中出现的新问题。学员B、C、D、E是协作操作的参与者,只有局部的权利和义务。学员B、C实施操作,学员D、E分别监视B、C的行为,发现问题及时纠正。通常,处于A位置上的学员是变电站站长、值班长及变电运行专责人,而处于B、C、D、E位置上的学员是普通值班工。在实现协作培训的协作机制中建立以下功能特性:
(1)对象的关联和限制:包括对象间的依赖关系、集合关系、包含关系等。对参与协作的学员作一些限制和规定责任,区分他们在协作过程中的权利和义务。
(2)自动通知和响应:当某种事件发生时,自动、及时地通知相关对象,相关对象自动作出相应的事件反应。
(3)对象间的沟通与协调:通过讨论、协商和裁定等方式,解决协作过程中产生的冲突与矛盾。
(4)过程的追踪和事后分析:完整记录协作小组内各个学员的学习过程(或操作过程),分析成败的原因和责任的归属。
5 设备图元的数据存储与传递
仿真变电站所涉及的设备图元数量大,往往数千个以上,对设备图元进行合理的分类,将有利于状态信息的传递。根据状态的量值大小分为单开关元件类、多开关元件类和表计元件类。单开关元件类仅仅有两种状态,用0和1表示;多开关元件类有多种状态,用0到F表示;表计元件类的状态是一定范围内的连续数值。按状态的量值变化引起的原因分为主动类、被动类和双向类。主动类的设备状态只与人为操作有关,而与仿真结果无关;被动类的设备不能操作,状态仅与仿真结果有关;双向类的设备状态与仿真结果和人为操作都有关。
每个设备图元有ID1和ID2两个编号。主动类设备元件的ID2编号为0,被动类设备元件的ID1编号为0。双向类设备元件则同时具有两个非0的ID1、ID2编号。ID1和ID2的编号顺序都是表计类、多开关类、单开关类。
不同类型的设备元件在传输状态时采取不同的策略。对于ID1编号非零的元件,当状态发生变化的时候,发送其ID1编号和状态数值。对于ID2编号非零的元件,传输所有元件的整体信息。这样,去掉了多余的无用信息,减少了数据传送量。
建立整体信息的具体方法如下:
(1)数据流的数据存放顺序与ID2编号一致。
(2)将表计元件的浮点型(32位)状态变量转化成整型变量(16位),转换方法为表计的状态数值÷表计的测量范围×(256×256-1)后再取整。
(3)由于多开关元件的字符型(8位)状态变量的取值范围是0-F,则用半个字节(4位)表示。如果多开关元件的总个数为奇数,则剩下的半个字节空着。
(4)将8个单开关元件的布尔类型的状态变量组合成一个字节。如果最后一个字节还有若干个位没有存数,则让其为空。
在数据流的传输过程中,约定了便于系统识别和处理的数据包格式。数据包的报头是aaAAbbBB,用于判断数据流起始。然后是数据流信息,包括数据包的大小、类型和状态信息。最后是校验码,用来校验数据流的正确性。
每个协作小组都有一个协作会话创建者,由这位学员创建一个协作会话,其他学员加入此会话,成为协作成员。为保证设备图元状态的唯一性,只有协作会话创建者所在的学员机启动仿真模块。学员A、B、C的操作信息由自身的设备模拟模块获取,然后通过自身的学员机管理模块汇集到学员A的学员机管理模块,由学员A的学员机管理模块通知各个学员机和仿真模块。仿真模块实施仿真运算,然后将仿真结果发布给所有的协作成员。图3是协作小组内部仿真变电站设备图元状态信息的传递路径示意图。6 语音的实时传送
言语交流方便快捷,是协作者间信息交流的重要组成部分。DirectX中的DirectPlay可以实现会话管理、Player管理、Group管理及消息管理。DirectPlayAPI定义了抽象的DirectPlay网络功能。图4是DirectPlay服务提供者的结构,它将应用程序与作为其运行基础的网络相隔离。会话模式有点对点模式和客户/服务器模式。在客户/服务器模式下,客户所发出的所有声音消息全都先送到服务器,再由服务器混合这些声音,合成一个数据流转发到每个客户。服务器的创建过程是:首先建立IdirectPlayVoiceTest接口,调用函数CheckAudioSetup检查所在计算机的录音和播放设备能否正常工作;然后建立管理主机会话的接口DirectPlayVoiceServer,配置声音会话(存于结构DVSESSIONDESC),包括会话模式、压缩类型、数据流的品质、数据流的传送方式。最后调用函数StartSession启动会话。客户的创建过程是:和服务器一样先检测声音设备;然后建立IDirectPlayVoiceClient类型的接口,在结构DVSOUNDDEVICECONFIG中设置声音的播放者、捕获者等,在结构DVCLIENTCONFIG中设置录音的音量、回放的音量、门槛值以及声音质量等;最后调用函数Connect将客户联入会话,调用函数SetTransmitTargets确定传送对象。在运行期间,通过设置会话对象(Player或Group)随时改变声音的传送范围。
7 结论
本文在大港油田变电站培训仿真系统基础上,运用网络技术、Socket通信技术以及DirectX技术,解决了协作小组内的仿真变电站设备图元状态同步和协作者之间的言语交流问题,实现了一种突破时间、空间限制的具有协作培训特点的变电站培训仿真系统。现场实践表明:状态同步和言语交流满足用户要求。参考文献1 张炳达,吴东,沈捷.用C++实现的变电站培训仿真专家系统.电网技术,1999,23(10):39~44、55
2 ZhangBingda,XieShiwei,etc.Thetrainingsimulationsystemforsubstationbasedonnetworkandexpertsystem.5thinternationalconferenceonadvancesinpowersystemcontrol,operation&management,hongkong,2000,182:532~536
3 陈庆章,林建明.Web环境下的合作学习系统的设计与实现.计算机工程.2000,26(9):73~75
4 郑海昕,孙春娟.利用DirectX技术实现模拟仿真训练软件.微型机与应用.2001,20(2):42~43电力系统及其自动化学报