久久88香港三级台湾三级中文-久久91-久久91精品国产91久-久久91精品国产91久久-久久91精品国产91久久户

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

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

    三維可視化技術(shù)是一種將模型數(shù)據(jù)轉(zhuǎn)換成圖形或者圖像顯示在屏幕上的技術(shù),此技術(shù)已經(jīng)應(yīng)用在產(chǎn)品設(shè)計(jì)、流體力學(xué)、建筑、地球科學(xué)等領(lǐng)域。目前,OpenGL(開放圖形庫)被證明是一種性能比較高的實(shí)現(xiàn)三維圖形繪制技術(shù)標(biāo)準(zhǔn)。

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

    采用將OSG技術(shù)在電力監(jiān)控系統(tǒng)的運(yùn)用方法,在對原有監(jiān)控系統(tǒng)改動比較小的情況下,實(shí)現(xiàn)了將場站或電力設(shè)備三維模型展示在監(jiān)控系統(tǒng)中。此方法具有對原有系統(tǒng)改動比較小,能夠?qū)崿F(xiàn)二維正交圖與三維模型的交互,比較直觀的展示對應(yīng)設(shè)備的狀態(tài)信息。

    1 理論基礎(chǔ)研究

    目前大部分監(jiān)控系統(tǒng)采用的是Qt+ Microsoft Visual Studio方式開發(fā)的客戶端界面。Qt是一款跨平臺的C++圖形用戶界面應(yīng)用開發(fā)框架;是一種面向?qū)ο蟮目蚣堋icrosoft Visual Studio(簡稱VS)是微軟公司的一款基本完整開發(fā)工具包,是目前比較流行的windows應(yīng)用程序集成開發(fā)環(huán)境。

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

    QOpenGLWidget提供了三個方便的虛擬函數(shù),可以在子類中重新實(shí)現(xiàn)它們來執(zhí)行典型的OpenGL任務(wù):

    • 1)paintGL()——渲染OpenGL場景。在需要更新小部件時調(diào)用。
    • 2)resizeGL()——設(shè)置OpenGL視口、投影等。每當(dāng)小部件被調(diào)整大小時(以及第一次顯示小部件時,因?yàn)樗行聞?chuàng)建的小部件都會自動獲得一個resize事件)調(diào)用。
    • 3)initializeGL()——設(shè)置OpenGL資源和狀態(tài)。在第一次調(diào)用resizeGL()或paintGL()之前調(diào)用一次。

    采用繼承QOpenGLWidget實(shí)現(xiàn)OSG對Qt的支持,在技術(shù)理論上解決了OSG三維可視化技術(shù)在Qt應(yīng)用程序里的集成。

    實(shí)現(xiàn)方式如下:

    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;

    ... ...

    };

    重新實(shí)現(xiàn)paintGL()函數(shù),實(shí)現(xiàn)三維圖形的渲染。

    void osgQOpenGLWidget::paintGL()

    {

    OpenThreads::ScopedReadLock locker(_osgMutex);

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

    Oview ->frame();

    }

    在電力監(jiān)控系統(tǒng)中運(yùn)用三維可視化技術(shù),系統(tǒng)改動小,展示更直觀

     

    2 三維可視化模型嵌入現(xiàn)有監(jiān)控系統(tǒng)方法

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

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

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

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

    在電力監(jiān)控系統(tǒng)中運(yùn)用三維可視化技術(shù),系統(tǒng)改動小,展示更直觀

    圖1 三維可視化應(yīng)用示例

    在同一面視圖上同時展示二維正交圖與三維可視化模型,根據(jù)設(shè)備不同的狀態(tài)信息,設(shè)備對應(yīng)三維可視化模型做出相應(yīng)的變化,并根據(jù)右邊的數(shù)據(jù)信息,這樣更能方便直觀的將設(shè)備運(yùn)行狀態(tài)展示給運(yùn)行監(jiān)護(hù)人員。

    具體實(shí)現(xiàn)方法如下dsOsgItem繼承于QGraphics- ProxyWidget。

    class dsOsgItem : public QGraphicsProxyWidget

    {

    public:

    dsOsgItem();

    virtual ~dsOsgItem();

    ...

    };

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

    3 三維模型交互設(shè)計(jì)

    上文已經(jīng)實(shí)現(xiàn)了將三維可視化模型展示在QGraphicsScene畫布的繪制顯示,下面討論三維模型的交互設(shè)計(jì)。

    1)三維模型人機(jī)交互

    三維模型人機(jī)交互既運(yùn)行人員通過鼠標(biāo)事件控制三維模型。根據(jù)需要重新實(shí)現(xiàn)osgQOpenGLWidget的如下事件函數(shù):

    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);

    解決三維可視化模型對應(yīng)的鼠標(biāo)、鍵盤事件交互。

    2)三維模型與監(jiān)控數(shù)據(jù)之間的交互

    OSG中osg::NodeVisitor類能夠?qū)崿F(xiàn)節(jié)點(diǎn)訪問,繼承osg::NodeVisitor設(shè)計(jì)apply(osg::Node& node)函數(shù),

    簡單示例如下:

    virtual void apply(osg::Node &node)

    {

    traverse(node);

    }

    上述示例遍歷了所有節(jié)點(diǎn)。每個三維模型都設(shè)置有惟一的ID值,分別一一對應(yīng)顯示中的實(shí)際設(shè)備。當(dāng)監(jiān)控系統(tǒng)采集到某一設(shè)備的狀態(tài)數(shù)據(jù)后,調(diào)用上述apply函數(shù),通過模型ID找出對應(yīng)的節(jié)點(diǎn)(node),修改此模型節(jié)點(diǎn)的顏色、形狀、位置以表示該設(shè)備的當(dāng)前狀態(tài)信息。這樣就實(shí)現(xiàn)了數(shù)據(jù)交互的功能。

    4 結(jié)論

    在電力監(jiān)控系統(tǒng)中運(yùn)用三維可視化技術(shù),系統(tǒng)改動小,展示更直觀

    圖2 組態(tài)工具集成三維示意圖

    目前許繼集團(tuán)正在開發(fā)的新一代監(jiān)控平臺三維展示組件采用此了方案。圖2是將三維展示組件使用的示意圖,是三維可視化技術(shù)集成在監(jiān)控系統(tǒng)組態(tài)工具中示意,圖中展示了在繪圖區(qū)內(nèi)添加了GIS三維模型。

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

主站蜘蛛池模板: 欧美性色福利视频在线观看| 精品国产3p一区二区三区| 8mav福利视频在线播放| 日韩18在线观看地址| 亚洲综合久久1区2区3区| 国产高清国产专区国产精品| 国产成人精品免费视频大全可播放的| 亚洲色图第一页| 日韩一级片免费| 亚洲欧洲无码一区二区三区| 免费一级乱子伦片| 国产成人99| 国产激情一区二区三区在线观看 | 亚洲黄色a| 色婷婷综合激情视频免费看| 国内精品51视频在线观看| 国产视频www| 精品国产一区二区三区四| 国产成人99久久亚洲综合精品| 久草免费网站| 亚洲国产日韩在线人高清不卡| 91在线视频| a级毛片毛片免费观看久潮喷| 中国hd高清╳xxx| 多女多p多杂交视频在线观看| 国产啪在线91| 黑人巨大两根一起挤进来| 九九夜夜| 久久在线一区| 五月六月伊人狠狠丁香网| 99自拍视频在线观看| 一起色色| 日本一级特黄毛片高清视频| 日韩在线观看第一页| 达达兔午夜起神影院在线观看麻烦| 免费观看欧美成人h| 极品美女一级毛片| 欧美黄色大片| 欧美成人丝袜一区二区| 欧美日韩高清不卡免费观看| 国产农村乱色xxxx|