• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      OPC多通道協(xié)同通信模型設(shè)計(jì)與應(yīng)用

      2011-02-19 07:49:50胡浩民王澤杰
      制造業(yè)自動化 2011年3期
      關(guān)鍵詞:實(shí)時性組態(tài)數(shù)據(jù)包

      胡浩民,王澤杰

      HU Hao-min,WANG Ze-jie

      (上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201620)

      0 引言

      SCADA(Supervisory Control And Data Acquisition,監(jiān)控與數(shù)據(jù)采集)系統(tǒng)是以計(jì)算機(jī)為基礎(chǔ)的生產(chǎn)過程控制與調(diào)度自動化系統(tǒng),它可以對現(xiàn)場的運(yùn)行設(shè)備進(jìn)行監(jiān)視和控制,以實(shí)現(xiàn)數(shù)據(jù)采集、設(shè)備控制、測量、參數(shù)調(diào)節(jié)以及各類信號報(bào)警等各項(xiàng)功能[1]。系統(tǒng)具有實(shí)時、多任務(wù)、開放式體系結(jié)構(gòu)以及分布式功能設(shè)計(jì)等特點(diǎn),已在電力系統(tǒng)、樓宇自動化、生產(chǎn)線管理等領(lǐng)域使用。SCADA包含三個部分:分布式的數(shù)據(jù)采集系統(tǒng)(下位機(jī));過程監(jiān)控與管理系統(tǒng)(上位機(jī));以及數(shù)據(jù)通信網(wǎng)絡(luò)??删幊炭刂破鱌LC是廣泛采用的下位機(jī)設(shè)備;組態(tài)軟件則是上位機(jī)的核心組成部分。

      由于上位機(jī)采集數(shù)據(jù)具有全面性和完整性,監(jiān)控中心的控制管理也具有全局性,能更好地實(shí)現(xiàn)整個系統(tǒng)的合理、優(yōu)化運(yùn)行[2]。但是在某些應(yīng)用領(lǐng)域,通過組態(tài)軟件把PLC獲取的數(shù)據(jù)采集到中央控制室往往并不能滿足需求。例如,希望將設(shè)備運(yùn)作狀態(tài)發(fā)送到定制的LED、數(shù)碼管等顯示設(shè)備,這就需要把數(shù)據(jù)根據(jù)特定協(xié)議重新組成數(shù)據(jù)包進(jìn)行發(fā)送。針對這些特殊的應(yīng)用,目前已有不少解決方案,本文將比較這些方案的不足之處,并提出多通道協(xié)同模型以提高通信性能。

      1 系統(tǒng)結(jié)構(gòu)與通信方法

      1.1 系統(tǒng)結(jié)構(gòu)

      SCADA系統(tǒng)中,組態(tài)應(yīng)用作為數(shù)據(jù)采集、處理、轉(zhuǎn)發(fā)中心,在上位機(jī)中處于核心位置;它與各種控制、檢測設(shè)備(如現(xiàn)場總線上的PLC、智能儀表等)共同構(gòu)成快速響應(yīng)控制中心(如圖1所示)。通過組態(tài)應(yīng)用,操作人員可以完成如現(xiàn)場數(shù)據(jù)及流程畫面的查看;歷史生產(chǎn)報(bào)表的打?。贿^程報(bào)警的獲得,以及生產(chǎn)過程參數(shù)和狀態(tài)的修改等任務(wù)。但有時需要對組態(tài)應(yīng)用中的數(shù)據(jù)進(jìn)行二次利用,如前所述,把數(shù)據(jù)實(shí)時地組成數(shù)據(jù)包發(fā)送到定制的專用監(jiān)控設(shè)備,這就需要有相應(yīng)的應(yīng)用程序從組態(tài)應(yīng)用取得數(shù)據(jù)。

      組態(tài)軟件提供了相應(yīng)的通信接口,但選擇何種通信方法,以及采用怎樣的通信模型與算法,將會在很大程度上影響應(yīng)用的實(shí)時性。

      圖1 系統(tǒng)結(jié)構(gòu)

      1.2 通信方法與存在問題

      與組態(tài)軟件通信方法常用有:歸檔數(shù)據(jù)庫訪問、腳本通信、動態(tài)數(shù)據(jù)交換(Dynamic Data Exchange,DDE)、以及OPC(OLE for Process Control)接口通信等。

      歸檔數(shù)據(jù)庫是組態(tài)軟件將采集的數(shù)據(jù)作為歷史記錄進(jìn)行周期性地存儲。由于采集周期和歸檔周期可以不同,且歸檔周期是采集周期的整數(shù)倍,因此數(shù)個過程值才產(chǎn)生一個歸檔值[3]。這會影響過程值的真實(shí)性,所以歸檔數(shù)據(jù)庫常用于為報(bào)表系統(tǒng)提供數(shù)據(jù)源,而對于轉(zhuǎn)發(fā)到專用監(jiān)控設(shè)備的特殊應(yīng)用,則難以滿足實(shí)時性需求。

      腳本語言是很多組態(tài)軟件提供的功能。在組態(tài)系統(tǒng)中,通過腳本編程讀取過程值,并周期性地寫到共享文件;應(yīng)用程序?qū)蚕砦募M(jìn)行周期性地讀操作。這種通過共享文件的讀寫實(shí)現(xiàn)數(shù)據(jù)交互的通信方式過于頻繁地訪問外存,效率比較低,而且不利于設(shè)備的穩(wěn)定。

      動態(tài)數(shù)據(jù)交換DDE是一種基于Windows消息傳遞而建立的進(jìn)程間通信技術(shù),DDE客戶端通過服務(wù)名和主題名,建立起與DDE服務(wù)器的連接,從而形成雙向的數(shù)據(jù)連接通道。但是這種方式通信效率不高,一般適合于少量數(shù)據(jù)的傳輸。DDE技術(shù)已趨于淘汰,實(shí)現(xiàn)大批量數(shù)據(jù)的通信不僅造成資源消耗大,而且效率很低[4]。

      OPC規(guī)范以組件對象模型和分布式組件對象模型(COM/DCOM)技術(shù)為基礎(chǔ),采用客戶、服務(wù)器模式,定義了一組COM對象及其接口規(guī)范[5]。這種客戶/服務(wù)器模式與前三種通信方法相比,具有更好的可靠性和更高的穩(wěn)定性。但即使采用OPC技術(shù),如果采用的通信模型不同,效率也會有很大差異。比如單線程輪詢方式簡單易實(shí)現(xiàn),但效率低下,實(shí)時性難以保證;多通道協(xié)同通信模型就是為提高通信效率,又合理利用系統(tǒng)資源而設(shè)計(jì)的一種通信方法。

      圖2 模型原理

      2 模型設(shè)計(jì)

      2.1 設(shè)計(jì)原理

      在自動化控制領(lǐng)域,采集上百個點(diǎn)的過程數(shù)據(jù)是比較常見的。如果以輪詢方式采集數(shù)據(jù),即使使用可靠性與穩(wěn)定性比較好的OPC技術(shù),也會使得系統(tǒng)效率低下。以圖1所示的監(jiān)控系統(tǒng)結(jié)構(gòu)為例,以輪詢方式從組態(tài)應(yīng)用逐項(xiàng)獲取每個標(biāo)簽值,然后組成數(shù)據(jù)包進(jìn)行發(fā)送,這樣會嚴(yán)重影響實(shí)時性。尤其當(dāng)采集的標(biāo)簽量比較多的情況,刷新的周期會相當(dāng)長。如果采用簡單的并發(fā)模式,為每個標(biāo)簽創(chuàng)建一個組態(tài)服務(wù)的OPC連接,又會極大地浪費(fèi)系統(tǒng)資源。

      針對以上情況,設(shè)計(jì)了多通道協(xié)同通信模型(如圖2所示)。模型首先建立若干個與組態(tài)系統(tǒng)OPC服務(wù)器建立連接的通道,并將要通信的標(biāo)簽分配到通道中。每個通道只為其中的標(biāo)簽服務(wù),通過訪問通道獲取標(biāo)簽對應(yīng)的過程值。

      在具體實(shí)現(xiàn)上,每個通道可以由一個工作者進(jìn)程/線程進(jìn)行維護(hù)(以下稱“通道維護(hù)者”)。通道維護(hù)者從通道讀取標(biāo)簽值,對比上一次讀取的數(shù)據(jù),如果發(fā)生變化,說明監(jiān)控儀表設(shè)備的數(shù)據(jù)需要刷新,通道維護(hù)者根據(jù)相應(yīng)協(xié)議組成數(shù)據(jù)包,并通過映射關(guān)系放到緩沖列表,同時置發(fā)送標(biāo)記為“需要發(fā)送”狀態(tài)。通道之間由于沒有競爭的資源,可以完全并發(fā)處理。這樣有利于提高數(shù)據(jù)采集的實(shí)時性。

      “數(shù)據(jù)發(fā)送者”也可以由工作者進(jìn)程/線程實(shí)現(xiàn),用于訪問緩沖列表中的每個數(shù)據(jù)項(xiàng)。通過判斷數(shù)據(jù)包發(fā)送標(biāo)記是否為“需要發(fā)送”狀態(tài),決定是否發(fā)送數(shù)據(jù)。如果需要發(fā)送,則發(fā)送數(shù)據(jù)包,并重置發(fā)送標(biāo)記為“已發(fā)送”狀態(tài)。因此“發(fā)送標(biāo)記”成為了通道維護(hù)者和數(shù)據(jù)發(fā)送者的臨界資源,可以使用信號量來實(shí)現(xiàn)對臨界資源的互斥操作。

      2.2 算法描述

      OPC技術(shù)的實(shí)現(xiàn)由OPC服務(wù)器和OPC客戶端應(yīng)用兩部分完成。其中,服務(wù)器實(shí)現(xiàn)現(xiàn)場設(shè)備的數(shù)據(jù)采集,并通過標(biāo)準(zhǔn)的OPC接口供OPC客戶端訪問。OPC服務(wù)器對象被分為3層結(jié)構(gòu):服務(wù)器對象(Sever)、組(Group)和項(xiàng)(Item)[6]。

      通道維護(hù)者和數(shù)據(jù)發(fā)送者對臨界資源(發(fā)送標(biāo)記)的互斥訪問由信號量和PV原語操作來完成。OPC標(biāo)簽項(xiàng)的所有操作封裝成COpcTagItem類;通道維護(hù)者封裝成CChannelWorker類;數(shù)據(jù)發(fā)送者封裝成CSendWorker類。對圖2所示的模型用類C++描述如下:

      緩沖列表BufferList中的每個對象為COpcTagItem類型,其中包含了模型中提到的標(biāo)簽ID、名稱、采集的數(shù)據(jù)、數(shù)據(jù)包、發(fā)送標(biāo)記等信息:

      除以上成員變量之外,該類還有如連接通道的方法ConnectChannel();從通道獲取標(biāo)簽值的方法GetTagItemValue()等。信號量對象Smph的初值為1。

      通道維護(hù)者類CChannelWorker繼承了線程類TThread[7],包含了ChannelID(通道ID)、OpcChannel(Opc通道指針,指針指向?qū)崿F(xiàn)OPC通信功能的COpcComm類對象)等數(shù)據(jù)成員。以及用于啟用通道的方法Startup();關(guān)閉通道的方法Shutdown();為通道分配標(biāo)簽的方法AssignTags()。Execute()完成通道維護(hù)的主要功能,其中的算法描述如下:

      從算法可知,通道維護(hù)者和數(shù)據(jù)發(fā)送者通過對緩沖列表中每個OPC標(biāo)簽項(xiàng)的信號量成員Smph進(jìn)行PV操作,實(shí)現(xiàn)兩者之間的協(xié)同。同時,多個通道維護(hù)者之間又是一種可以完全并行處理的協(xié)同關(guān)系,這將有效提高數(shù)據(jù)的采集與發(fā)送的通信效率。

      3 應(yīng)用實(shí)例

      已將OPC多通道協(xié)同通信模型,應(yīng)用到污水處理、輪胎熱裂解、變電站、造船基地給排水等自動化監(jiān)控領(lǐng)域。圖3所示是某污水處理廠流程模擬圖(部分)。以氧化溝系統(tǒng)為例,需要監(jiān)控點(diǎn)就有28處(包括曝氣機(jī)、攪拌機(jī)、推進(jìn)器狀態(tài),污泥濃度計(jì)MLSS30X、溶解氧探頭DO30X值等)。整個污水處理系統(tǒng)還包括了:污水提升泵站、旋流沉砂池、離子除臭系統(tǒng)、污泥脫水間、除磷劑投加系統(tǒng)、二沉池、污泥泵房、清水池及貯泥池等若干部分,要監(jiān)控的設(shè)備多達(dá)上百個。

      確保所有設(shè)備監(jiān)控?cái)?shù)據(jù)的準(zhǔn)確性與實(shí)時性是自動化控制的重要組成部分。實(shí)踐表明,采用1.2所述的“歸檔數(shù)據(jù)庫訪問”、“腳本通信”、“動態(tài)數(shù)據(jù)交換”這幾種通信方法,效果不理想,使用“OPC接口通信”,效率高于前三者,而在此基礎(chǔ)上采用多通道協(xié)同通信模型,通信效率得到了明顯提高。

      圖3 污水處理流程(部分)

      4 結(jié)束語

      多通道協(xié)同通信模型是對通信因子負(fù)載平衡的一種抽象。通過多通道,使得對組態(tài)OPC服務(wù)的連接數(shù)量維持合理的水平,起到既實(shí)現(xiàn)并發(fā)處理,提高速度;又合理使用資源的作用。根據(jù)該模型設(shè)計(jì)的算法與實(shí)現(xiàn)的程序已應(yīng)用于污水處理、橡膠熱裂解、變配電所等自動化控制領(lǐng)域。實(shí)踐應(yīng)用表明,該模型有效地提高了與組態(tài)軟件的通信速度,能滿足工業(yè)的實(shí)時性需求。

      [1]王振明.SCADA監(jiān)控與數(shù)據(jù)采集軟件系統(tǒng)的設(shè)計(jì)與開發(fā)[M].北京:機(jī)械工業(yè)出版社,2009:1-2.

      [2]王華忠.監(jiān)控與數(shù)據(jù)采集(SCADA)系統(tǒng)及其應(yīng)用[M].北京:電子工業(yè)出版社,2010:5-7.

      [3]西門子(中國)有限公司自動化與驅(qū)動集團(tuán).深入淺出--西門子WinCC V6(第2版)[M].北京:北京航空航天大學(xué)出版社,2005:69-70.

      [4]董超.OPC技術(shù)在異構(gòu)控制網(wǎng)絡(luò)互聯(lián)中的研究與應(yīng)用[J].自動化儀表,2009,30(12).

      [5]王小輝.OPC在智能樓宇系統(tǒng)應(yīng)用中的研究[D].湖北:武漢理工大學(xué),2007.

      [6]劉克勤.基于OPC的動態(tài)數(shù)據(jù)交換技術(shù)在工控系統(tǒng)集成中的應(yīng)用研究[J].重慶工學(xué)院學(xué)報(bào),2006,20,(2):106-109.

      [7]Borland/Inprise公司.C++ Builder 5 開發(fā)人員指南[M].北京:機(jī)械工業(yè)出版社,2000:105-111.

      猜你喜歡
      實(shí)時性組態(tài)數(shù)據(jù)包
      基于規(guī)則實(shí)時性的端云動態(tài)分配方法研究
      基于PLC及組態(tài)技術(shù)的恒溫控制系統(tǒng)開發(fā)探討
      SmartSniff
      基于虛擬局域網(wǎng)的智能變電站通信網(wǎng)絡(luò)實(shí)時性仿真
      基于PLC和組態(tài)的智能電動擰緊系統(tǒng)
      航空電子AFDX與AVB傳輸實(shí)時性抗干擾對比
      PLC組態(tài)控制在水箱控制系統(tǒng)的應(yīng)用
      鑄造行業(yè)三維組態(tài)軟件的應(yīng)用
      基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
      一種車載Profibus總線系統(tǒng)的實(shí)時性分析
      阜阳市| 正定县| 景泰县| 华容县| 英吉沙县| 郧西县| 县级市| 云梦县| 重庆市| 应城市| 洛隆县| 兰州市| 古蔺县| 望谟县| 北海市| 辽阳市| 泰顺县| 博白县| 红原县| 连城县| 五华县| 海淀区| 大邑县| 内丘县| 孝义市| 台中市| 盐亭县| 恩平市| 无极县| 托克托县| 庆城县| 吉隆县| 扎鲁特旗| 阿克| 宁陕县| 孝义市| 利津县| 塔城市| 灌南县| 杨浦区| 武平县|