鄧成俊, 譚世海, 汪 超
(1.重慶電力高等專科學校,重慶 400053;2.武漢科碼軟件有限公司,武漢 430000)
電力安全工程實驗培訓系統是基于計算機網絡技術、3D虛擬技術,將電力安全法律法規、電力安全管理、電力安全技術、電力安全事故分析、現場緊急救護幾個方面的培訓考試內容融合成一個個具體的操作任務,培訓考試人員依照任務要求一步一步完成類似真實場景的工作,在3D環境中完成角色選擇、工作票領取、在500多種工器具庫中選取適宜的工器具及個人防護用品并正確檢查和使用,身臨其境去認知、決策和處理各種突變情況,熟悉各個任務的操作流程、操作要點、操作方法,并得到操作處理結果反饋,通過3D操作后再進行理論考試測試,從而提升整體培訓效果。
以電力施工作業人員為培訓對象的電力安全培訓考試3D仿真軟件系統的主要功能就是在融會貫通安全理論知識的基礎上,提高他們的安全技能水平,強化標準化作業執行過程,進一步熟悉工作票執行規范及流程,防止人身、設備及電網事故的發生。系統整體設計架構采用開放性、通用性的原則。適合于企業內部所有崗位的培訓資料閱讀、客觀題和主觀題考試。所有培訓學員只要通過局域網進入系統,就可以進行培訓學習和考試。
電力行業作為當前不可缺少的行業之一,而電力施工從業人員的生命安全和身體健康是供電企業安全生產工作的重中之重。一旦發生電力事故,將造成較大的人身傷亡,如何有效防止或減少電力安全事故,成為目前亟待解決的問題,而虛擬仿真技術可以有效彌補這些缺陷,利用unity3D技術制作3D場景,讓電力施工從業人員通過計算機來模擬操控整個檢修過程。通過模擬操作過程和理論考試結果來分析人員的業務水平,從而提升電力施工從業人員的整體業務水平。
系統整體架構采用基于B/S模式和C/S模式的有效結合,實現模擬場景培訓和理論知識培訓(見圖1)。本系統分為兩大模塊:實驗培訓系統和3D虛擬場景系統。實驗培訓系統采用ASP.NET技術與MYSQL數據技術來實現;3D虛擬場景系統采用unity3D引擎和C#語言的有效結合而開發。系統運用面向對象的分析和設計方法,統一采用重慶電力高等專科學校數字化校園統一身份認證標準,以最優的方式與學校數字化校園平臺進行數據對接管理。

圖1 系統整體架構
2.2.1 Web實驗培訓系統的功能設計
Web培訓考試系統采用純B/S模式,系統軟件無需部署在客戶端上,軟件的維護、更新和升級均在服務器端進行見表1。系統數據庫設計完成后,本文以考生在線考試交卷為例來闡述使用Asenet來構建3層架構流程。
試卷生成核心代碼參考:
public static string choice = "";//選項內容
public static string[] array;//試題選項信息列表
public static int arrayCount = 0;//試題選項個數
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實驗培訓系統的功能設計
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 模擬考試系統數據庫設計實現
系統數據庫采用MYSQL關系型數據庫見表2:①兼容多種操作系統使用系統(如:windows、linux、Unix等主流操作系統);全開源數據庫,提供的數據連接接口支持多種主流開發語言(如:PHP,JAV,ASP.NET等)連接操作,MySql的核心程序采用完全的多線程編程。②支持大中小型的數據庫, 可以非常方便地支持上千萬條記錄的數據庫;作為一個開放源代碼的數據庫,可針對不同的應用進行相應的自定義。③擁有一個快速而且穩定的基于線程的內存分配系統,可持續使用面不必擔心其穩定性;MySQL同時提供高度多樣性,能夠提供很多不同的使用者介面,包括命令行客戶端操作,網頁瀏覽器,以及各式各樣的程序語言介面。④提供主從數據實時熱備、確保線上數據安全,同時通過多份備份機制保存多天的數據,提高在災難情況下的數據可靠性。⑤在應對應用的高訪問量,具有讀寫分離功能,能夠降低數據庫主實例的總體負載。

表2 模擬考試系統的題庫表設計
2.2.3 3D模擬考試場景設計實現
系統虛擬仿真場景采用Unity 3D引擎,Unity3D是由Unity Technologies開發的一個讓玩家輕松創建諸如三維視頻游戲、建筑可視化、實時三維動畫等類型互動內容的多平臺的綜合型游戲開發工具,是一個全面整合的專業游戲引擎。該引擎開發的虛擬仿真系統具有寫實風格、動作感操作的特征,滿足學員自學、教員教學、學員互學、比賽教學等在線多角色的互動教學。仿真場景整體采用任務下達的方式來展現,完全體現電力施工的整個操作過程。任務由培訓教師下達,通過對天氣環境、檢修時間、檢修任務類型等設置來模擬整個任務下達過程。而培訓學員接到下達任務后,必須按照電力安全相關操作規程一步一步的進行操作,從而增加電力施工從業人員的操作技能。
(1) 系統初始化設置。系統初始化設置由培訓教師根據模擬相應的操作環境來完成,培訓教室通過教師賬戶登錄后進行任務下達,并按照電力安全規程設置好標準的操作流程;培訓教師可根據系統配置來設置操作的天氣環境、操作完成時長、相應的必備工具、參加的培訓學員等,具體操作可見圖2。

圖2 系統初始化設置
(2) 3D模擬考試培訓模塊。培訓學員通過自己的賬戶密碼進去系統(系統所體現的賬戶密碼都與學校數字化校園進行對接,實現統一身份認證)后進行任務的接收來完成培訓教室下達的相應任務,任務的操作過程由系統全程記錄,產生的操作過程考試數據作為培訓學員的考試成績記錄。整個培訓過程可單人培訓,也可以由團隊完成。整個操作過程安全電力法律法規的相關操作規定進行完成。
簡約示意性操作流程見圖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) 法律法規學習模塊。法律法規模塊專為培訓學員而設計,該模塊保存有大量的最新研究成果、電力標準、電力法規、作業操作指導書、項目視頻的文獻資料,文字資料包含PPT內容、pdf內容、視頻內容,樣式多樣化。培訓學員可根據分類進行專項學習,學員可通過閱讀的方式來學習,也可通過看視頻的方式來學習。學習的整個過程系統進行全方位的記錄,在整個培訓學習中心占比一定的分數。資料學習完成后可參加針對學習的內容進行考核,根據考核情況可了解本次資料學習的情況。
本文針對電力施從業人員操作中存在的危險性的特點,參考眾多虛擬培訓系統的構建,提出了基于3D虛擬仿真電力安全的整體設計方案和實現方法,即采用Unity 3D引擎技術和ASP.NET WEB技術組合以作業人員為培訓對象的電力實驗安全培訓考試3D仿真軟件系統的主要功能就是在融會貫通安全理論知識的基礎上,提高他們的安全技能水平,強化標準化作業執行標準,進一步熟悉電力工作票執行規范及流程,防止人身、設備及電網事故的發生。