郭連仲,張紀平, 郭浩森, 齊錦會, 唐振江
(1.河北省電力公司職業技術培訓中心,河北 保定 071051;2.華北電力大學,北京 102206)
近年來,由于計算機軟硬件技術的進步,變電站仿真系統逐步擴展了三維虛擬現實功能,通過二維畫面仿真“遠方”監控,將三維設備場景用于“就地”操作,使仿真更加逼真,因此在變電站相關培訓中越來越受到認可。在河北省名府220 kV數字化變電站仿真系統研發中,通過在Delphi中引入VRP Active插件及VRP-SDK開發包的方法,采用嵌入式編程技術,實現二維監控仿真與三維虛擬設備的同步交互功能,解決二維對三維設備的快速定位問題,節省在三維中查找設備所耗時間,提高仿真系統的培訓效率。
目前,變電站仿真系統中采用的三維技術包括OPENGL、VRP、3C等,都能實現三維場景效果。VRP作為流行的三維開發平臺,可對三維模型進行烘焙處理,保證了模型的視覺效果;同時,VRP本身提供了二次開發包(VRP-SDK)和相應的插件,支持Delphi、VB、VC++等環境的嵌入式調用,為技術人員利用熟悉的工具實現三維功能的二次開發提供了便利。在以往的三維仿真培訓系統中,二維系統與三維系統為相互獨立的程序,二者間通過數據庫建立間接聯系,造成三維設備模型不容易進行定位,需要學員花費較多時間熟悉三維場景的操作,方能找到“就地”設備,給培訓過程增加了額外負擔,影響了培訓效率。其問題在于2個獨立程序間的聯系需通過訪問磁盤數據進行,三維“就地”設備不能直接接受二維“遠方”操作的控制,操作功能受限,如果將二者合并為一個程序并通過WINDOWS消息機制相互聯系,使得三維設備直接接受來自二維畫面的指令,就可實現二維、三維界面設備同步。
在河北省名府數字化變電站仿真系統中,選用了Delphi作為主要開發工具,完成了設備操作和保護動作仿真主程序;變電站三維設備場景是由VRP平臺提供的.VRP文件,該文件是通過三維 Max建模后經VRP加工生成。實現二者間的交互操作,需要設計合適的接口。一種方法是間接法,即二維、三維獨立編程,通過訪問同一個數據庫建立聯系;另一種方法是直接法,即通過在Delphi Ide中引入VRP插件并調用VRP-SDK腳本函數的方法,即嵌入式編程方法,將二維和三維整合成一個程序。嵌入式編程方法相當于擴展了Delphi的功能,可以直接利用WINDOWS消息機制,程序運行效率好于間接法。該數字化變電站仿真系統采用直接法的方案,其流程如圖1所示。經過以下流程,即可實現二維監控與三維仿真的數據關聯機制的交互操作。
在Delphi Ide平臺導入ActiveVrp插件,出現OCX控件圖標,如圖2所示。

圖1 二維與三維同步交互技術方案示意

圖2 將ActiveVrp插件導入Delphi示例
在窗口中添加該控件,可以作為VRP(三維)文件的容器(container),進而使用SDK腳本函數,其函數調用方法與Delphi自身函數調用方法相同。
在二維窗口添加Timage控件,調用變電站二維主接線圖及斷路器、開關等圖形控件。在三維窗口添加VRP控件,程序運行時調用變電站三維場景VRP文件。在二維窗口文件中添加對三維窗口文件的引用,以便二維窗口能夠調用三維窗口函數,實現對三維設備的同步控制,如相機切換、設備動作(動畫)。
在VRP-SDK中提供了一個腳本函數,即ExecuteVrpScript(功能參數),各種功能通過不同的參數變化來實現對以物體名或組為對象的操作行為,如切換相機、播放動畫、設置相機移動速度等。SDK提供了2個相機函數,分別為動態相機和靜態相機,前者為以物體名稱為參數進行調用的相機,后者為預設的相機。顯然,動態相機具有靈活性的特點,方便程序調用。如圖3代碼所示。
需要說明的是,要實現二維與三維的同步功能,需要事先確定二維控件和三維物體的命名規則,所有設備在二維和三維中采用統一的設備名稱或規定的前綴和后綴相關聯,以便將該名稱作為參數調用動態相機,實現二維界面對三維設備的聚焦和動畫控制;同理,通過另一個腳本函數VrpEvent,可實現三維對二維設備的控制。

圖3 在Delphi程序中使用的VRP-SDK腳本函數
通過以上的互動方法及步驟,實現了基于該技術的數字化變電站三維仿真系統。在該系統中設計并實現了以下內容:統一二維及三維系統物體的命名規則;設計了二維及三維系統仿真內容的邏輯互動關系;實現二維界面對三維系統的準確定位。
a. 二維及三維系統的命名規則必須統一,能夠便于識別和交互。如232斷路器的命名規則:二維窗口圖形控件名為img_dl232,斷路器名為232;三維窗口物體組名:232,動觸頭:232;位置指示器,232_wz,合閘狀態指示燈:232_D1。通過這種方法實現了二維、三維系統物體命名統一。
b. 為了實現其主要的邏輯對應與控制,下面給出通過二維控制三維畫面的控制代碼實例,見圖4。

圖4 二維對三維界面的控制代碼
代碼是Delphi中引用VRP-SDK控制函數實現二維監控畫面對三維場景物體進行控制的實例,其中設備名稱作為過程的參數。例如,在二維畫面點擊232斷路器圖標,則三維畫面聚焦到232斷路器;如果在二維畫面拉開232斷路器,則三維畫面232斷路器及相應的指示器(燈)以動畫形式同步變化。其效果如圖5所示,當在二維窗口點擊232斷路器圖標時,三維畫面直接聚焦到相應的斷路器位置,可直接看到該斷路器的當前分合狀態;繼續拉、合操作,則出現同步動畫效果。
同理,在三維畫面中對其設備(物體)進行操作,通過設備物體名稱索引方法,亦可實現設備狀態的改變,并達到與二維畫面相一致的效果。

圖5 二維界面對三維界面的定位
實際培訓中,采用“一托二”的屏幕顯示方式,分別顯示二維監控畫面和三維現場畫面,即1臺計算機7配2個顯示屏,主屏顯示二維畫面,副屏顯示三維畫面。這種配置使仿真系統二維、三維界面相配合,通過鼠標點擊二維界面的設備圖標即可快速準確地定位三維設備。
2011年8月,在河北省電力公司職業技術培訓中心保定分部舉辦的兩期數字化變電站運行維護培訓全程采用了該仿真系統,共有來自省公司所屬6個供電公司和超高壓公司的48名變電運行人員參加了培訓。通過二維與三維的同步交互功能,學員能夠很快熟悉仿真操作,提高培訓效率。兩期的培訓質量測評結果均達到了93分以上,應用該系統進行培訓取得了預期效果。
以上介紹了在Delphi中引入VRP Active插件,并直接調用VRP-SDK函數的嵌入式編程技術,延展了Delphi的功能,實現了對三維設備的直接定位和操控。在實際培訓應用中的效果表明,該技術應用于變電站三維仿真系統培訓,節省了對三維操作的學習時間,提高了培訓效率。
參考文獻:
[1] 梁 水,賽奎春.Delphi開發典型模塊大全(修訂版)[M].北京:人民郵電出版社, 2010.
[2] 祝鉑渝,龔慶武,姜芳芳.具有三維交互功能的變電站仿真培訓系統[J].中國農村水利水電,2005,31(11):95-97.
[3] 李 華,陳偉偉.基于虛擬現實建模語言的彈道可視化仿真[J].探測與控制學報,2009,31(1):77-80.