爱爱视频网站免费-爱爱视频在线-爱爱视频在线播放-爱爱视频在线观看-爱爱视频在线看

  • 頭條在電力監控系統中運用三維可視化技術,系統改動小,展示更直觀
    2021-05-10 作者:賈亞楠 張延輝 等  |  來源:《電氣技術》  |  點擊率:
    分享到:
    導語許昌許繼軟件技術有限公司的研究人員賈亞楠、張延輝、霍智超、王少鵬、賀博,在2020年第4期《電氣技術》雜志上撰文,闡述了一種采用OpenSceneGraph(OSG)技術在電力監控系統中的運用,將三維可視化圖形與傳統的電力監控系統相結合,提供了一種將三維可視化圖形集成在電力監控系統的方法。

    目前,電力監控系統的界面大部分還停留在二維正交圖的階段。現行的變電站監控系統不能清晰展示出變電站設備的形狀信息,運檢人員對設備運行狀態沒有一種直觀的觀察方法。特別是新建的換流站要比原有的交流變電站復雜的多,運維人員的日常工作任務非常繁重。二維正交圖顯示運行狀態信息的方式有一定的局限性,而采用三維可視化的方式,使運維人員更能直觀的查看當前監控設備的運行狀態。

    三維可視化技術是一種將模型數據轉換成圖形或者圖像顯示在屏幕上的技術,此技術已經應用在產品設計、流體力學、建筑、地球科學等領域。目前,OpenGL(開放圖形庫)被證明是一種性能比較高的實現三維圖形繪制技術標準。

    OpenSceneGraph(OSG)是在OpenGL基礎上開發的一套基于C++平臺的開源開發組件,它能夠跨平臺的展示交互式圖形,并且能為程序開發者提供許多實用工具。三維可視化技術在電力監控的應用是解決三維電力監控系統的關鍵技術,將OSG應用在現有的電力監控系統,是解決三維可視化技術在電力監控系統實現的一種方法。

    采用將OSG技術在電力監控系統的運用方法,在對原有監控系統改動比較小的情況下,實現了將場站或電力設備三維模型展示在監控系統中。此方法具有對原有系統改動比較小,能夠實現二維正交圖與三維模型的交互,比較直觀的展示對應設備的狀態信息。

    1 理論基礎研究

    目前大部分監控系統采用的是Qt+ Microsoft Visual Studio方式開發的客戶端界面。Qt是一款跨平臺的C++圖形用戶界面應用開發框架;是一種面向對象的框架。Microsoft Visual Studio(簡稱VS)是微軟公司的一款基本完整開發工具包,是目前比較流行的windows應用程序集成開發環境。

    Qt5.4以后的版本,Qt新增了QOpenGLWidget類,此類繼承于QWidget。QOpenGLWidget提供了顯示集成到Qt開發的應用程序中OpenGL圖形的功能,它能夠使開發者像使用其他QWidget繼承類一樣方便運用。相比于原有的QGLWidget類使用更加方便。

    QOpenGLWidget提供了三個方便的虛擬函數,可以在子類中重新實現它們來執行典型的OpenGL任務:

    • 1)paintGL()——渲染OpenGL場景。在需要更新小部件時調用。
    • 2)resizeGL()——設置OpenGL視口、投影等。每當小部件被調整大小時(以及第一次顯示小部件時,因為所有新創建的小部件都會自動獲得一個resize事件)調用。
    • 3)initializeGL()——設置OpenGL資源和狀態。在第一次調用resizeGL()或paintGL()之前調用一次。

    采用繼承QOpenGLWidget實現OSG對Qt的支持,在技術理論上解決了OSG三維可視化技術在Qt應用程序里的集成。

    實現方式如下:

    Class osgQOpenGLWidget:public QOpenGLWidget

    {

    Q_OBJECT

    public:

    osgQOpenGLWidget (QWidget* parent = nullptr);

    virtual ~osgQOpenGLWidget ();

    ... ...

    protected:

    void initializeGL() override;

    void resizeGL(int w, int h) override;

    void paintGL() override;

    ... ...

    };

    重新實現paintGL()函數,實現三維圖形的渲染。

    void osgQOpenGLWidget::paintGL()

    {

    OpenThreads::ScopedReadLock locker(_osgMutex);

    //Oview = new osgViewer::Viewer();

    Oview ->frame();

    }

    在電力監控系統中運用三維可視化技術,系統改動小,展示更直觀

     

    2 三維可視化模型嵌入現有監控系統方法

    三維可視化模型嵌入現有監控系統有兩種解決方式:一種是三維可視化圖形作為獨立的窗口顯示,另一種作為監控界面的一部分跟原有二維正交圖顯示在一起。由于第二種方法在使用中兼顧了現行的監控平臺,使用人員的操作習慣不會有較大的改變,所以本文采用第二種方法作為研究方向。

    目前采用Qt編寫的監控系統大部分,是利用QGraphicsScene作為載體,在上面繪制相關的圖形信息。采用上述第二種方式就是將三維可視化模塊作為圖元繪制在QGraphicsScene上作為界面的一部分。

    采用QGraphicsProxyWidget類作為代理,可以在QGraphicsScene中嵌入QWidget。QGraphicsProxyWidget類能夠解決QGraphicsScene與QWidget之間的事件轉發,并且解決了QWidget的基于整數的幾何圖形和QGraphicsScene的基于實數的幾何圖形之間進行轉換。QGraphicsProxyWidget支持QWidget的所有核心功能,包括選項卡焦點、鍵盤輸入、拖放和彈出窗口。

    對QGraphicsProxyWidget進行繼承封裝成在QGraphicsScene繪制的基本圖元,為其配置三維可視化需要的屬性信息,這樣就將三維可視化的模型像原有二維圖元一樣作為圖元添加到QGraphicsScene上面,如圖1所示。

    在電力監控系統中運用三維可視化技術,系統改動小,展示更直觀

    圖1 三維可視化應用示例

    在同一面視圖上同時展示二維正交圖與三維可視化模型,根據設備不同的狀態信息,設備對應三維可視化模型做出相應的變化,并根據右邊的數據信息,這樣更能方便直觀的將設備運行狀態展示給運行監護人員。

    具體實現方法如下dsOsgItem繼承于QGraphics- ProxyWidget。

    class dsOsgItem : public QGraphicsProxyWidget

    {

    public:

    dsOsgItem();

    virtual ~dsOsgItem();

    ...

    };

    將osgQOpenGLWidget設置為dsOsgItem代理的窗口即可,既調用函數dsOsgItem.setWidget (osgQOpenGLWidget)。

    3 三維模型交互設計

    上文已經實現了將三維可視化模型展示在QGraphicsScene畫布的繪制顯示,下面討論三維模型的交互設計。

    1)三維模型人機交互

    三維模型人機交互既運行人員通過鼠標事件控制三維模型。根據需要重新實現osgQOpenGLWidget的如下事件函數:

    void keyPressEvent(QKeyEvent* event);

    void keyReleaseEvent(QKeyEvent* event);

    void mousePressEvent(QMouseEvent* event);

    void mouseReleaseEvent(QMouseEvent* event);

    void mouseDoubleClickEvent(QMouseEvent* event);

    void mouseMoveEvent(QMouseEvent* event);

    void wheelEvent(QWheelEvent* event);

    解決三維可視化模型對應的鼠標、鍵盤事件交互。

    2)三維模型與監控數據之間的交互

    OSG中osg::NodeVisitor類能夠實現節點訪問,繼承osg::NodeVisitor設計apply(osg::Node& node)函數,

    簡單示例如下:

    virtual void apply(osg::Node &node)

    {

    traverse(node);

    }

    上述示例遍歷了所有節點。每個三維模型都設置有惟一的ID值,分別一一對應顯示中的實際設備。當監控系統采集到某一設備的狀態數據后,調用上述apply函數,通過模型ID找出對應的節點(node),修改此模型節點的顏色、形狀、位置以表示該設備的當前狀態信息。這樣就實現了數據交互的功能。

    4 結論

    在電力監控系統中運用三維可視化技術,系統改動小,展示更直觀

    圖2 組態工具集成三維示意圖

    目前許繼集團正在開發的新一代監控平臺三維展示組件采用此了方案。圖2是將三維展示組件使用的示意圖,是三維可視化技術集成在監控系統組態工具中示意,圖中展示了在繪圖區內添加了GIS三維模型。

    此文方法針對現行的二維正交圖電力監控系統,將三維可視化集成到原有電力監控系統的方法,不用對原有監控系統進行較大修改就能實現,但是此文獻只是初步的討論了理論上的實現,特別是數據交互方面。具體的實現還需進一步研究。

主站蜘蛛池模板: 久久精品福利视频| 中文字幕 亚洲精品| 香蕉性视频| 成人国产精品视频频| 日韩国产欧美精品综合二区| 一品毛片| 日韩黄色| 色婷婷影院| 欧美精品一区二区在线观看| 麻豆久久| 成人午夜免费视频| 精品国产一二三区| 柠檬福利视频在线观看| 亚洲精品www| 在线免费看片网站| 日本精品久久久一区二区三区| 免费亚洲视频在线观看| 国产精品三| 韩国免费毛片在线看| 草莓视频caomei888| 久久97精品久久久久久清纯| 亚洲国产欧洲| www日本黄色| 日本综合欧美一区二区三区| 东京道区二区三区| 亚洲国产成人最新精品资源| 欧美aaaa黄色一级毛片| 国产美女在线一区二区三区| 精品一区二区三区视频| 成人免费午夜视频| 国产精品麻豆| 国产精品dvd| 国产麻豆网| 国产精品偷拍| 国产午夜人做人视频羞羞| 欧美午夜影院| 欧美日韩系列| 天天久久| 日韩做爰在线观看免费| 亚洲区在线播放| 亚洲欧美日韩第一页|