鄧成俊, 譚世海, 汪 超
(1.重慶電力高等??茖W校,重慶 400053;2.武漢科碼軟件有限公司,武漢 430000)
電力安全工程實驗培訓系統(tǒng)是基于計算機網(wǎng)絡技術(shù)、3D虛擬技術(shù),將電力安全法律法規(guī)、電力安全管理、電力安全技術(shù)、電力安全事故分析、現(xiàn)場緊急救護幾個方面的培訓考試內(nèi)容融合成一個個具體的操作任務,培訓考試人員依照任務要求一步一步完成類似真實場景的工作,在3D環(huán)境中完成角色選擇、工作票領(lǐng)取、在500多種工器具庫中選取適宜的工器具及個人防護用品并正確檢查和使用,身臨其境去認知、決策和處理各種突變情況,熟悉各個任務的操作流程、操作要點、操作方法,并得到操作處理結(jié)果反饋,通過3D操作后再進行理論考試測試,從而提升整體培訓效果。
以電力施工作業(yè)人員為培訓對象的電力安全培訓考試3D仿真軟件系統(tǒng)的主要功能就是在融會貫通安全理論知識的基礎上,提高他們的安全技能水平,強化標準化作業(yè)執(zhí)行過程,進一步熟悉工作票執(zhí)行規(guī)范及流程,防止人身、設備及電網(wǎng)事故的發(fā)生。系統(tǒng)整體設計架構(gòu)采用開放性、通用性的原則。適合于企業(yè)內(nèi)部所有崗位的培訓資料閱讀、客觀題和主觀題考試。所有培訓學員只要通過局域網(wǎng)進入系統(tǒng),就可以進行培訓學習和考試。
電力行業(yè)作為當前不可缺少的行業(yè)之一,而電力施工從業(yè)人員的生命安全和身體健康是供電企業(yè)安全生產(chǎn)工作的重中之重。一旦發(fā)生電力事故,將造成較大的人身傷亡,如何有效防止或減少電力安全事故,成為目前亟待解決的問題,而虛擬仿真技術(shù)可以有效彌補這些缺陷,利用unity3D技術(shù)制作3D場景,讓電力施工從業(yè)人員通過計算機來模擬操控整個檢修過程。通過模擬操作過程和理論考試結(jié)果來分析人員的業(yè)務水平,從而提升電力施工從業(yè)人員的整體業(yè)務水平。
系統(tǒng)整體架構(gòu)采用基于B/S模式和C/S模式的有效結(jié)合,實現(xiàn)模擬場景培訓和理論知識培訓(見圖1)。本系統(tǒng)分為兩大模塊:實驗培訓系統(tǒng)和3D虛擬場景系統(tǒng)。實驗培訓系統(tǒng)采用ASP.NET技術(shù)與MYSQL數(shù)據(jù)技術(shù)來實現(xiàn);3D虛擬場景系統(tǒng)采用unity3D引擎和C#語言的有效結(jié)合而開發(fā)。系統(tǒng)運用面向?qū)ο蟮姆治龊驮O計方法,統(tǒng)一采用重慶電力高等??茖W校數(shù)字化校園統(tǒng)一身份認證標準,以最優(yōu)的方式與學校數(shù)字化校園平臺進行數(shù)據(jù)對接管理。
圖1 系統(tǒng)整體架構(gòu)
2.2.1 Web實驗培訓系統(tǒng)的功能設計
Web培訓考試系統(tǒng)采用純B/S模式,系統(tǒng)軟件無需部署在客戶端上,軟件的維護、更新和升級均在服務器端進行見表1。系統(tǒng)數(shù)據(jù)庫設計完成后,本文以考生在線考試交卷為例來闡述使用Asenet來構(gòu)建3層架構(gòu)流程。
試卷生成核心代碼參考:
public static string choice = "";//選項內(nèi)容
public static string[] array;//試題選項信息列表
public static int arrayCount = 0;//試題選項個數(shù)
public static int PID;//試題編號
public static
List〈p_question_model〉 questionList = new List〈p_question_model〉();//試卷所有考題信息
public static int totalScore = 0;
public static
List〈p_question_model〉 query1 = new List〈p_question_model〉();//判斷考題信息
public static
List〈p_question_model〉 query2 = new List〈p_question_model〉();//單項考題信息
public static
List〈p_question_model〉 query3 = new List〈p_question_model〉();//多選考題信息
public static paperscoreModel
paperscoreM = new paperscoreModel();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Session["id"] == null || Session["name"] == null)
Response.Redirect("~/index/Default.aspx");
else
{
表1 Web實驗培訓系統(tǒng)的功能設計
labID.Text =
Session["id"].ToString();
labName.Text =
Session["name"].ToString();
getPaperQuestion();
}
}
this.ImageButton1.Attributes["onmouseover"] =
"this.src='images/btnPaper12.png'";
this.ImageButton1.Attributes["onmouseout"] =
"this.src='images/btnPaper1.png'";
}
//獲取試卷試題信息
protected void getPaperQuestion()
{
if
(Request.QueryString["PID"] == null)
Response.Redirect("~/index/paperList.aspx");
else
{
PID =
int.Parse(Request.QueryString["PID"]);
questionList =
paperBLL.getPaperQus(PID, 0);//獲取試卷所有考題信息
totalScore =
questionList.Sum(r =>r.score);//試卷總分
query1 =
questionList.Where(w => w.qusType == 1).ToList();
//判斷考題信息
query2 =
questionList.Where(w => w.qusType== 2).ToList();
//單項考題信息
query3 =
questionList.Where(w =>w.qusType== 3).ToList();
//多選考題信息
}
}
2.2.2 模擬考試系統(tǒng)數(shù)據(jù)庫設計實現(xiàn)
系統(tǒng)數(shù)據(jù)庫采用MYSQL關(guān)系型數(shù)據(jù)庫見表2:①兼容多種操作系統(tǒng)使用系統(tǒng)(如:windows、linux、Unix等主流操作系統(tǒng));全開源數(shù)據(jù)庫,提供的數(shù)據(jù)連接接口支持多種主流開發(fā)語言(如:PHP,JAV,ASP.NET等)連接操作,MySql的核心程序采用完全的多線程編程。②支持大中小型的數(shù)據(jù)庫, 可以非常方便地支持上千萬條記錄的數(shù)據(jù)庫;作為一個開放源代碼的數(shù)據(jù)庫,可針對不同的應用進行相應的自定義。③擁有一個快速而且穩(wěn)定的基于線程的內(nèi)存分配系統(tǒng),可持續(xù)使用面不必擔心其穩(wěn)定性;MySQL同時提供高度多樣性,能夠提供很多不同的使用者介面,包括命令行客戶端操作,網(wǎng)頁瀏覽器,以及各式各樣的程序語言介面。④提供主從數(shù)據(jù)實時熱備、確保線上數(shù)據(jù)安全,同時通過多份備份機制保存多天的數(shù)據(jù),提高在災難情況下的數(shù)據(jù)可靠性。⑤在應對應用的高訪問量,具有讀寫分離功能,能夠降低數(shù)據(jù)庫主實例的總體負載。
表2 模擬考試系統(tǒng)的題庫表設計
2.2.3 3D模擬考試場景設計實現(xiàn)
系統(tǒng)虛擬仿真場景采用Unity 3D引擎,Unity3D是由Unity Technologies開發(fā)的一個讓玩家輕松創(chuàng)建諸如三維視頻游戲、建筑可視化、實時三維動畫等類型互動內(nèi)容的多平臺的綜合型游戲開發(fā)工具,是一個全面整合的專業(yè)游戲引擎。該引擎開發(fā)的虛擬仿真系統(tǒng)具有寫實風格、動作感操作的特征,滿足學員自學、教員教學、學員互學、比賽教學等在線多角色的互動教學。仿真場景整體采用任務下達的方式來展現(xiàn),完全體現(xiàn)電力施工的整個操作過程。任務由培訓教師下達,通過對天氣環(huán)境、檢修時間、檢修任務類型等設置來模擬整個任務下達過程。而培訓學員接到下達任務后,必須按照電力安全相關(guān)操作規(guī)程一步一步的進行操作,從而增加電力施工從業(yè)人員的操作技能。
(1) 系統(tǒng)初始化設置。系統(tǒng)初始化設置由培訓教師根據(jù)模擬相應的操作環(huán)境來完成,培訓教室通過教師賬戶登錄后進行任務下達,并按照電力安全規(guī)程設置好標準的操作流程;培訓教師可根據(jù)系統(tǒng)配置來設置操作的天氣環(huán)境、操作完成時長、相應的必備工具、參加的培訓學員等,具體操作可見圖2。
圖2 系統(tǒng)初始化設置
(2) 3D模擬考試培訓模塊。培訓學員通過自己的賬戶密碼進去系統(tǒng)(系統(tǒng)所體現(xiàn)的賬戶密碼都與學校數(shù)字化校園進行對接,實現(xiàn)統(tǒng)一身份認證)后進行任務的接收來完成培訓教室下達的相應任務,任務的操作過程由系統(tǒng)全程記錄,產(chǎn)生的操作過程考試數(shù)據(jù)作為培訓學員的考試成績記錄。整個培訓過程可單人培訓,也可以由團隊完成。整個操作過程安全電力法律法規(guī)的相關(guān)操作規(guī)定進行完成。
簡約示意性操作流程見圖3。
其核心代碼參考如下:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public delegate void MGFunc();
public delegate void
SetMeetingContentVTV(string name,string typename);
public class GlobalRPC:
MonoBehaviour
{
public VTV mVtv;
public SetMeetingContentVTV mSMC;
(a) 學員登錄
(c) 工具選擇與檢查
(e) 檢修工作開始
[HideInInspector]
public NetworkView mNV;
void Start()
{
mNV =
transform.GetComponent〈NetworkView〉();
}
[RPC]
void
IfHaveSimilarAccountRPC(string name, NetworkMessageInfo info) { }
public VTV VReplayIfAccount;
[RPC]
void
ReplayIfHaveSimilarAccountRPC(bool isExit)
{
zDebug.Log("isExit" + isExit);
if (!isExit)
{ zDebug.Log("can enter");
Application.LoadLevel("MainMenu"); }
else
{
zDebug.Log("cant enter");
if (VReplayIfAccount != null)
{
VReplayIfAccount();
}
}
}
[RPC]
void
StartUpdateRoomsInfoRPC(NetworkMessageInfo info) { }
[RPC]
void CreatRoomRPC(string name, string creater, string taskName, NetworkMessageInfo info) { }
[RPC]
void SetRoomID(string id)
{
GlobalData.RoomName = id;
if (mVtv != null)
{
mVtv();
mVtv = null;
}
}
}
(3) 法律法規(guī)學習模塊。法律法規(guī)模塊專為培訓學員而設計,該模塊保存有大量的最新研究成果、電力標準、電力法規(guī)、作業(yè)操作指導書、項目視頻的文獻資料,文字資料包含PPT內(nèi)容、pdf內(nèi)容、視頻內(nèi)容,樣式多樣化。培訓學員可根據(jù)分類進行專項學習,學員可通過閱讀的方式來學習,也可通過看視頻的方式來學習。學習的整個過程系統(tǒng)進行全方位的記錄,在整個培訓學習中心占比一定的分數(shù)。資料學習完成后可參加針對學習的內(nèi)容進行考核,根據(jù)考核情況可了解本次資料學習的情況。
本文針對電力施從業(yè)人員操作中存在的危險性的特點,參考眾多虛擬培訓系統(tǒng)的構(gòu)建,提出了基于3D虛擬仿真電力安全的整體設計方案和實現(xiàn)方法,即采用Unity 3D引擎技術(shù)和ASP.NET WEB技術(shù)組合以作業(yè)人員為培訓對象的電力實驗安全培訓考試3D仿真軟件系統(tǒng)的主要功能就是在融會貫通安全理論知識的基礎上,提高他們的安全技能水平,強化標準化作業(yè)執(zhí)行標準,進一步熟悉電力工作票執(zhí)行規(guī)范及流程,防止人身、設備及電網(wǎng)事故的發(fā)生。