摘要:隨著變電站的發(fā)展,可視化軟件的開發(fā)變得尤為重要,尤其是隨著基于信息一體化技術(shù)的發(fā)展,柱狀圖或餅圖的信息可視化圖形已經(jīng)得到了普遍發(fā)展和應(yīng)用。但是隨著圖形技術(shù)的發(fā)展,如何將信息轉(zhuǎn)換成為立體圖形與常規(guī)的二維信息圖形進(jìn)行融合成為了變電站圖形可視化的重要發(fā)展方向。本文通過VS平臺,以C++為主要開發(fā)語言進(jìn)行數(shù)據(jù)圖形的立體展示模型開發(fā),最終實現(xiàn)了全新監(jiān)控系統(tǒng)與二維監(jiān)控系統(tǒng)的配合。
關(guān)鍵詞:變電站;VS;C++;數(shù)據(jù)信息圖形化編輯
中圖分類號:TP311.52 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9599 (2012) 21-0000-02
隨著智能電網(wǎng)的發(fā)展,整個電網(wǎng)的信息更為全面,尤其是相量測量裝置、非常規(guī)互感器等新型設(shè)備在變電站中的應(yīng)用加之交互式的測量模型,使得電網(wǎng)的信息量增大。變電站作為電網(wǎng)的重要組成部分,其數(shù)字化智能化的研究對智能電網(wǎng)的發(fā)展有很強的針對性和實用性,因此本文從變電站著手,就其在線式一體化信息監(jiān)控系統(tǒng)的基礎(chǔ)上進(jìn)行可視化的一次開發(fā),進(jìn)而為整個電網(wǎng)的智能監(jiān)控提供了可能。目前,變電站監(jiān)控系統(tǒng)主要是應(yīng)用單一開發(fā)的軟件系統(tǒng)進(jìn)行應(yīng)用,其數(shù)據(jù)的分析效果不明顯。隨著組態(tài)軟件的廣泛普及,其數(shù)據(jù)信息的統(tǒng)一管理得到了較好的應(yīng)用。組態(tài)軟件作為主要的人機互動設(shè)計軟件,從20世紀(jì)90年代開始在我國的工控行業(yè)方面興起,代替了復(fù)雜的語言編寫過程,降低了開發(fā)周期,提高了利用價值,并能很好的完成系統(tǒng)的信息集成開發(fā)。組態(tài)軟件由數(shù)據(jù)組態(tài)、界面組態(tài)和運行環(huán)境組成。數(shù)據(jù)組態(tài)一般與關(guān)系型數(shù)據(jù)庫SQL server相連接,界面組態(tài)一般為二維圖形,運行環(huán)境可以通過OPC接口與IED設(shè)備相連,也可以設(shè)定相關(guān)的離散數(shù)據(jù)離線模擬運行。組態(tài)軟件可以很好的兼容MIS系統(tǒng)的報表、檢索、打印和在線五防等功能,同時也可以在VS平臺中進(jìn)行其他功能的一次開發(fā)。變電站電氣設(shè)備的可視化信息載體除了通過報表、柱狀圖和曲線等方式展示外,還可以通過三維狀圖和變電站監(jiān)控模型等與二維監(jiān)控模型相結(jié)合的模式展現(xiàn),通過數(shù)據(jù)庫的深層數(shù)據(jù)挖掘,實現(xiàn)電氣設(shè)備的全方位展現(xiàn)。立體的三維可視化模型的一體化模式主要采用基于信息一體化可視化技術(shù),將知識提取所得到的信息融入到立體的可視化圖形中,通過變電站的先進(jìn)傳輸模式,實現(xiàn)變電站電氣設(shè)備的信息知識展示。在原有監(jiān)控組態(tài)C++源程序的基礎(chǔ)上,通過VS平臺在圖形編輯程序Agg(組態(tài)圖形開發(fā)類)中增添了立體的三維圖形的主要程序內(nèi)容,實現(xiàn)了信息的全新的可視化展現(xiàn)。將編輯的圖元嵌入到組態(tài)軟件中后,其具體的畫面的建立過程如下所述。首先選取一個空間盒,然后在空間盒中通過OpenGL程序入口將已經(jīng)轉(zhuǎn)換完成的程序?qū)氲侥P蛶熘?,最后形成圖元控件。這樣從該圖元控件中就可以選取所需要的圖形進(jìn)行監(jiān)控系統(tǒng)的二次開發(fā)。
在組態(tài)中可以通過編輯化的語言對圖元進(jìn)行具體的圖形化編輯,主要的圖形編輯有圖元的平移、大小放縮和復(fù)制等,其具體的變化方式為:
(1)圖元移動:該過程在保持視角不變的前提下進(jìn)行圖元移動,通過改變坐標(biāo)x軸和y軸、eye為圖元視角坐標(biāo)和ref為參照物坐標(biāo)在屏幕窗口的具體數(shù)值實現(xiàn)視點的移動。坐標(biāo)軸構(gòu)成的平面與視角相互垂直,形成了立體的視覺效果。
在CGraphTool函數(shù)類中,設(shè)計了函數(shù)CGraphTool::move_view()用于圖元的平移,參數(shù)dpx和dpy分別是沿坐標(biāo)軸方向所移動的百分比數(shù)值,m_eye和m_ref為視角和參照物的坐標(biāo)值。如下所示為函數(shù)CGraphTool::move_view()的功能實現(xiàn)程序,在程序中需先計算坐標(biāo)軸對應(yīng)于OpenGL坐標(biāo)的矢量方向,然后再對m_eye、m_ref進(jìn)行參數(shù)設(shè)置,最后實現(xiàn)圖元的移動:
void CGraphTool::move_view()
{ CVector 3D vec ;
CVector 3D xUp,yUp ;
vec=m_ref-m_eye ; // 視線方向向量
vec.Nomalize() ; // 單位化視線方向向量
xUp=vec*m_vecUp ;// xUp:景物窗口的x軸對應(yīng)于OpenGL用戶坐標(biāo)系的矢量
yUp=xUp*vec // yUp景物窗口的y軸對應(yīng)于OpenGL用戶坐標(biāo)系的矢量
m_eye-= xUp*m_width*dpx+yUp*m_height*dpy; //移動視點位置
m_ref-=xUp*m_width*dpx+yUp*m_height*dpy; //移動參照點位置
}
(2)圖元縮放:通過放大、縮小和全視角的方法可以改變圖元的大小,上述方法就是對圖元視野改變的過程。本文在軟件系統(tǒng)中添加一個空間盒子,整個圖元的改變均在這個立體空間盒中實現(xiàn)。
圖元的放大和縮小功能均在CgraphTool中設(shè)計了函數(shù)CGraphTool::Zoom()來實現(xiàn)視野的寬(m_width)和高(m_height),以實現(xiàn)對圖元大小的改變:
void CGraphTool::Zoom()
{ ASSERT (scale>0.0); //縮放尺寸必須大于0
m_width*=scale ; //縮放視景體具體的寬
m_height*=scale; //縮放視景體的高
}
全視角功能的實現(xiàn)是通過調(diào)整空間盒子中圖元的占空比而實現(xiàn)的,同樣在CgraphTool中設(shè)計了函數(shù)CGraphTool::Zoom_all(),其中空間盒的兩個視角坐標(biāo)(X0,Y0,Z0)和(X1,Y1,Z1)中有六個視角參數(shù),它們的關(guān)系X0 CGraphTool::Zoom_all(double x0, double y0, double z0 ,double x1, double y1, double z1) { double width,height ; double x1,y1,z1; x1=x1-x0; y1=y1-y0; z1=z1-z1;//模型包容盒的長寬高 width=max (max(x1,y1),z1) ; height=max(max(x1,y1),z1);//計算能夠包含模型包容盒的視景體的寬和高 set_view_rect(width,height); //重新設(shè)置視景體的寬和高 CVect3D vec=m_eye-m_ref ; //移動視點和參照點 m_ref.x=( x1+x0)/2 ; m_ref.y= (y1+y0)/2; m_ref.z= (z1+z1)/2; m_eye= m_ref+vec ;} (3)圖元的復(fù)制:該操作通過一個中間變量的鏈表m_selection實現(xiàn),該鏈表的功能是用于復(fù)制或剪切圖元的保存。在實現(xiàn)該功能之前先清空鏈表中的所有內(nèi)容,然后調(diào)用所選中對象的Clone函數(shù),得到一個復(fù)制完整的對象圖元,并將其置于變量鏈表的中間變量中,粘貼和刪除均需要通過這個鏈表中的中間變量實現(xiàn)。當(dāng)實現(xiàn)粘貼功能時,在獲取圖元后直接添加到圖元鏈表中,當(dāng)實現(xiàn)刪除功能時,需從這個鏈表中找到選中圖元的指針然后將其釋放。 該圖形編輯過程已在某變電站中進(jìn)行了實驗,并且得到了良好的監(jiān)控效果,達(dá)到了預(yù)期的目的,為變電站的全方位監(jiān)控提供了可能。 參考文獻(xiàn): [1]王徑迤.OGRE在變電站仿真系統(tǒng)中的應(yīng)用[D].天津:天津大學(xué),2009. [2]季丹丹.基于OpenGL電力圖形組態(tài)軟件的研究[D].北京:華北電力大學(xué),2006. [3]Rigatos, G.; Siano; P., Piccolo A.; Incipient fault detection for electric power transformers using neural modeling and the local statistical approach to fault diagnosis. Sensors Applications Symposium (SAS), 2012 IEEE, 1-6. [作者簡介] 魏聰明,講師,西安工程大學(xué)計算機學(xué)院。