技術(shù)頻道

      風(fēng)電場組態(tài)監(jiān)控系統(tǒng)運(yùn)行時的應(yīng)用研究

      1 引言

        所謂的組態(tài)(configuration)技術(shù)就是對于不同但類似的應(yīng)用對象不需要重新設(shè)計(jì)和編程,只需根據(jù)系統(tǒng)分析,應(yīng)用面向過程的組態(tài)工具(軟件包)進(jìn)行簡單的配置和定義或編寫簡單的組態(tài)語言,即可設(shè)計(jì)完成一個特定功能的新系統(tǒng)或修改系統(tǒng)的功能。

        風(fēng)電場組態(tài)監(jiān)控系統(tǒng)是用來對風(fēng)電場內(nèi)各臺所需查看的風(fēng)機(jī)的具體信息進(jìn)行監(jiān)視的系統(tǒng)。風(fēng)力發(fā)電是當(dāng)今世界新能源開發(fā)中技術(shù)最成熟、最具有大規(guī)模和商業(yè)化發(fā)展前景的發(fā)電方式。隨著風(fēng)場個數(shù)的增加,單個風(fēng)場裝機(jī)容量的增加,對風(fēng)場內(nèi)每個風(fēng)機(jī)的控制和管理的難度也在增加,使得傳統(tǒng)的工業(yè)控制軟件已無法滿足用戶的各種需求,此時就需要一種軟件,它是在自動控制系統(tǒng)監(jiān)控層一級的軟件平臺和開發(fā)環(huán)境,使用靈活的組態(tài)方式,為用戶提供快速構(gòu)建風(fēng)場自動控制系統(tǒng)監(jiān)控功能的、通用層次的軟件工具,組態(tài)軟件就應(yīng)運(yùn)而生。

        本文在調(diào)研了風(fēng)電場的基本信息的基礎(chǔ)上,開發(fā)了基于風(fēng)電場的組態(tài)監(jiān)控系統(tǒng)運(yùn)行時軟件,運(yùn)行時軟件是用來還原組態(tài)成品的軟件,將在下文中進(jìn)行詳細(xì)的討論。

      2 軟件開發(fā)

        2.1 組態(tài)軟件的設(shè)計(jì)時與運(yùn)行時


        組態(tài)軟件可以分為兩部分實(shí)現(xiàn),分別是設(shè)計(jì)時和運(yùn)行時。運(yùn)行時將解析由設(shè)計(jì)時所生成的中間文件以及組態(tài)資源文件,等同于商品化工控組態(tài)軟件的目標(biāo)執(zhí)行文件。本文主要研究運(yùn)行時軟件的開發(fā)與實(shí)現(xiàn)。

        界面組態(tài)設(shè)計(jì)時,等同于界面組態(tài)開發(fā)環(huán)境,組態(tài)制作人員設(shè)計(jì)具體組態(tài)界面的開發(fā)環(huán)境,開發(fā)環(huán)境生成 .xml組態(tài)描述文件(中間文件),以及組態(tài)資源文件(xap,其中包含組態(tài)描述文件))和運(yùn)行時。如圖1所示。

      圖1 組態(tài)軟件結(jié)構(gòu)圖

      2.2 組態(tài)軟件開發(fā)原理

        在分析風(fēng)場具體信息的基礎(chǔ)上,為了使用于遠(yuǎn)程監(jiān)控組態(tài)軟件運(yùn)行時得以實(shí)現(xiàn),在visual2008/c#平臺上建立了puremvc框架,從而使得在實(shí)際的開發(fā)過程中可以靈活的處理各種信息。puremvc是基于模型、視圖和控制器mvc模式的一種輕量級的應(yīng)用框架,它對外的接口是facade,由facade來組織整個應(yīng)用,其命名規(guī)范也顯而易見,可以望文生義。其中controller,model,view是管理icommand,iproxy,imediator的容器,而icommand,iproxy,imediator是應(yīng)用系統(tǒng)要擴(kuò)展的mvc各層的接口。

        組態(tài)制作人員通過組態(tài)界面設(shè)計(jì)時設(shè)計(jì)出需要查看的風(fēng)機(jī)以及具體信息,通過設(shè)計(jì)時軟件生成相應(yīng)的xap包,運(yùn)行時將該xap包還原成制作人員配置的界面并將數(shù)據(jù)綁定到相應(yīng)的控件,從而將完整的界面呈現(xiàn)給用戶。

        由設(shè)計(jì)時所生成的xap包內(nèi)包含運(yùn)行時所需要的資源文件,但運(yùn)行時還是針對xap包中的.xml文件進(jìn)行還原。控制器主要是用于發(fā)送各種命令,用來傳遞信息,而模型主要是執(zhí)行控制器所發(fā)送的各種命令,以及對各種信息進(jìn)行解析和處理。在該軟件中針對.xml文件中涉及的各種控件的事件的處理都集成在上圖所示的事件中。公共基類用于將模型中處理后的各種數(shù)據(jù)與信息傳給繼承于它的各種控件,從而使設(shè)計(jì)時的界面得以還原。組態(tài)運(yùn)行時(還原)軟件結(jié)構(gòu)圖如圖2所示。

      圖2 組態(tài)運(yùn)行時軟件結(jié)構(gòu)圖


      2.3 xml文件形式

        由設(shè)計(jì)時所生成的xap包中包含了組態(tài)描述文件即config.xml文件,該文件包括了組態(tài)設(shè)計(jì)人員所布置的各種控件的基本信息。以一條表示一個風(fēng)機(jī)控件信息為例:

        設(shè)計(jì)時將生成的該風(fēng)機(jī)控件的基本信息放在該條.xml文件的節(jié)點(diǎn)中,該節(jié)點(diǎn)又具有多條屬性(此例中指包含了一些基本屬性,開發(fā)人員可以根據(jù)需要對屬性進(jìn)行添加),用于表示該風(fēng)機(jī)控件的各種信息,運(yùn)行時通過解析這些節(jié)點(diǎn)及其相應(yīng)屬性從而將風(fēng)機(jī)控件顯示在指定的界面上。

        2.4 控制器塊的功能

        控制器塊主要功能是發(fā)送命令和傳遞各種信息。例如:控制器塊通過發(fā)送開始命令將xap包的的相對路徑傳送給xml文件處理代理,同時,文件讀取命令通知文件流獲取代理,準(zhǔn)備獲取經(jīng)xml文件處理代理處理后的文件流,數(shù)據(jù)流創(chuàng)建命令通知數(shù)據(jù)處理代理準(zhǔn)備處理文件流中的相應(yīng)數(shù)據(jù)。

        控制器塊控制著整個軟件的各種行為,它傳遞的信息僅僅是一些整體的,未經(jīng)過解析的信息,而對具體信息的解析還需要交給模型塊來處理。

      2.5 模型塊的功能

        模型塊包含了許多用于處理各種數(shù)據(jù)的代理類。以數(shù)據(jù)處理代理為例,它將處理經(jīng)過xml文件處理代理處理后的文件流,提取該文件流中的各種信息,以合適的,自定義的數(shù)據(jù)結(jié)構(gòu)存儲下來,以便在創(chuàng)建每一個控件時可以根據(jù)自身的信息對其在界面上的位置,顏色等多種屬性進(jìn)行準(zhǔn)確的還原。例如可以通過如下的數(shù)據(jù)結(jié)構(gòu)類來存儲一條xml節(jié)點(diǎn)中的信息,如圖3所示。

      圖3 xml文件數(shù)據(jù)節(jié)點(diǎn)的存儲


      數(shù)據(jù)處理代理通過實(shí)例化block dmo類,調(diào)用該類中的與xml文件各個節(jié)點(diǎn)屬性對應(yīng)的屬性來儲存節(jié)點(diǎn)中各個屬性的值。而將數(shù)據(jù)存儲以后就要將存儲的信息還原在界面上,如圖4所示。

      圖4 運(yùn)行時界面還原過程


      數(shù)據(jù)處理代理首先調(diào)用自身的pasedata方法,利用blockdmo類將各個節(jié)點(diǎn)中的數(shù)據(jù)存儲在一個以blockdmo為存儲類型的堆棧中。再通過blockdmocreat方法,遍歷各個blockdmo類型的數(shù)據(jù),通過blockdmo自身的creat方法將自身創(chuàng)建出來。這個創(chuàng)建過程實(shí)質(zhì)上是:blockdmo通過調(diào)用公共基類,將相應(yīng)的數(shù)據(jù)信息傳遞給繼承于公共基類的相應(yīng)控件類,于是,這些控件類便可以利用傳入的blockdmo中的相應(yīng)數(shù)據(jù)將自己給創(chuàng)建并顯示出來,同時將采集到的每臺風(fēng)機(jī)所需要的各種數(shù)據(jù)綁定到.xml文件中所指定的演示這些數(shù)據(jù)的各個控件上。

      3 風(fēng)電場組態(tài)應(yīng)用

        首先,可以由設(shè)計(jì)時生成一個xap包,該包內(nèi)包含用戶需要查看的各種信息和資源,設(shè)計(jì)時接到這個xap包后,最主要的是解析該包中的.xml文件,充分利用.xml文件中的信息還原出用戶所需要利用哪種控件查看哪種信息,創(chuàng)建出相應(yīng)控件,并對其所要顯示的數(shù)據(jù)進(jìn)行實(shí)時更新。主要流程如圖5所示。

      圖5 整體框架流程圖

      由設(shè)計(jì)時生成的文件如圖6所示。

      圖6


      由設(shè)計(jì)時提供的文件中不僅有一個單獨(dú)的config.xml文件,在xap包中也包含了同樣一個.xml文件以便運(yùn)行時進(jìn)行查看和解析。由運(yùn)行時對設(shè)計(jì)時生成的文件進(jìn)行解析過后還原出的界面分別如圖7、圖8所示。

      圖7 運(yùn)行時還原風(fēng)場全景圖界面

      圖8 運(yùn)行時還原風(fēng)場詳細(xì)圖界面


      4 結(jié)束語

      組態(tài)軟件通過靈活的組態(tài)方式,以“搭積木式”的方式靈活配置、組合各功能模塊,為用戶提供快速構(gòu)建工業(yè)自動控制系統(tǒng)監(jiān)控功能的、通用層次的軟件工具。本文基于這種思想,實(shí)現(xiàn)了組態(tài)運(yùn)行時界面的還原,并將其運(yùn)用到風(fēng)電場的實(shí)時監(jiān)控組態(tài)系統(tǒng),使用戶可以方便的查看風(fēng)場的實(shí)時信息。


      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 亚洲精品精华液一区二区| 亚洲一区二区三区亚瑟| 精品国产毛片一区二区无码| 国产乱码一区二区三区爽爽爽 | 日韩一区二区三区在线观看| 国产一区高清视频| 日本不卡一区二区视频a| 日本香蕉一区二区三区| 亚洲一区二区三区香蕉| 日美欧韩一区二去三区| 无码毛片视频一区二区本码| 国产高清在线精品一区二区三区| 99久久无码一区人妻a黑| 久久久精品人妻一区二区三区| 国产福利一区二区精品秒拍| 伊人久久大香线蕉av一区| 国产一区二区福利| 精品亚洲综合在线第一区| 成人区人妻精品一区二区不卡视频 | 一区二区三区免费在线视频| 中文字幕日韩欧美一区二区三区 | 久久精品无码一区二区三区不卡| 无码人妻一区二区三区免费看| 国产精品男男视频一区二区三区| 免费萌白酱国产一区二区| 视频一区二区三区人妻系列| 在线日韩麻豆一区| 精品国产区一区二区三区在线观看 | 日韩一区二区三区不卡视频| 国产精品无码一区二区三区免费| 国产精品亚洲专一区二区三区| 另类ts人妖一区二区三区| 国产精品亚洲综合一区在线观看 | 中文字幕一区二区视频| 国产一区二区高清在线播放| 夜色福利一区二区三区| 无码人妻精品一区二区三区不卡 | 亚洲AV无码一区二区三区人| 麻豆va一区二区三区久久浪| 国产伦精品一区二区三区精品| 久久婷婷色综合一区二区|