• 
    

    
    

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

      ?

      基于OPC的隧道監(jiān)控軟件性能優(yōu)化

      2014-11-10 06:18:44肖又發(fā)
      關(guān)鍵詞:數(shù)據(jù)項(xiàng)應(yīng)用程序客戶端

      肖又發(fā)

      (中海網(wǎng)絡(luò)科技股份有限公司,上海200135)

      0 引 言

      公路隧道屬于整個(gè)路段中的特殊構(gòu)造段,因?yàn)槠鋬?nèi)部空間小、密閉性強(qiáng),一旦發(fā)生火災(zāi)、交通事故、交通擁堵,環(huán)境會(huì)發(fā)生急劇惡化,將直接影響司乘人員的健康和生命安全。因此,建立功能完善、運(yùn)行可靠的監(jiān)控系統(tǒng)非常重要。當(dāng)前的隧道監(jiān)控軟件主要是基于成熟的組態(tài)軟件或用于過程控制的OLE(OLE f or Pr ocess Control,OPC)開發(fā)的。但采用OPC自動(dòng)化接口進(jìn)行開發(fā)的程序存在嚴(yán)重不足,當(dāng)監(jiān)控點(diǎn)數(shù)達(dá)到一定數(shù)量后,軟件響應(yīng)速度將急劇下降。為此,提出采用分布式系統(tǒng)架構(gòu)及數(shù)據(jù)訂閱的方式獲取反饋數(shù)據(jù),使基于OPC開發(fā)的隧道監(jiān)控軟件盡量不受監(jiān)控點(diǎn)數(shù)的限制,從而適用于長大隧道及隧道群的實(shí)時(shí)性監(jiān)控需求。

      1 OPC概述

      OPC是一個(gè)工業(yè)標(biāo)準(zhǔn)。它采用客戶/服務(wù)器體系,基于微軟的COM/DCOM的接口技術(shù),為硬件廠商和應(yīng)用軟件開發(fā)者提供一套標(biāo)準(zhǔn)。OPC規(guī)范包括OPC服務(wù)器和OPC客戶端兩部分,其實(shí)質(zhì)是在硬件供應(yīng)商和軟件開發(fā)商之間建立一套完整的“規(guī)則”。只要遵循這套規(guī)則,對兩者來說數(shù)據(jù)交互都是透明的,硬件供應(yīng)商無需考慮應(yīng)用程序的需求和傳輸協(xié)議,軟件開發(fā)商也無需了解硬件的實(shí)質(zhì)和操作過程。應(yīng)用程序作為OPC客戶端 ,硬件驅(qū)動(dòng)程序作為OPC接口中的OPC服務(wù)器端,OPC的訪問關(guān)系見圖1。

      OPC規(guī)范中定義了2種標(biāo)準(zhǔn)接口:自定義接口(custo m interface)和自動(dòng)化接口(auto mation interface)。其中,自動(dòng)化接口是對自定義接口的進(jìn)一步封裝。使用OPC定制接口進(jìn)行數(shù)據(jù)訪問具有效率高、速度快、靈活等優(yōu)點(diǎn),但是基于定制接口的客戶端的開發(fā)使用的是C/C++語言,要求程序員掌握較深的COM/DCOM知識(shí),開發(fā)難度較大,同時(shí)開發(fā)時(shí)間也會(huì)較長。自動(dòng)化技術(shù)作為COM的一種特例或者說是一種應(yīng)用,為一些弱類型的高級語言(比如Visual Basic,VBA等)提供了另一條使程序間相互通信的途徑,而且這種通信方式非常直觀,對雙方都很友好。使用OPC自動(dòng)化接口進(jìn)行數(shù)據(jù)訪問具有簡單、易于編程、不需要開發(fā)者有相應(yīng)的COM知識(shí)等優(yōu)點(diǎn),但是在程序的效率上存在不足。

      圖1 OPC架構(gòu)圖

      2 OPC自動(dòng)化接口性能測試

      2.1 自動(dòng)化接口對象

      在架構(gòu)上,OPC服務(wù)器共分為3層:OPC Server(服務(wù)器對象),OPC Gr oup(組對象),OPC Item(數(shù)據(jù)項(xiàng))。OPC Server擁有服務(wù)器的所有信息,同時(shí)也是OPC Group的容器;OPC Group為OPC客戶程序提供了一種用來組織數(shù)據(jù)的方法;OPC Item是服務(wù)器端定義的對象,通常指向設(shè)備的一個(gè)寄存器單元,OPC客戶程序可以加入多個(gè)OPC Item到OPC Group。

      OPC客戶程序?qū)υO(shè)備寄存器的操作都是通過其數(shù)據(jù)項(xiàng)來完成的,通過OPC Item可以盡可能地隱藏設(shè)備的特殊信息,使OPC Server的通用性大大增強(qiáng)。OPC Item并不提供對外接口,客戶不能直接對之進(jìn)行操作,所有的操作都是通過OPC Group進(jìn)行的。每個(gè)OPC Item的數(shù)據(jù)結(jié)構(gòu)包含3個(gè)成員變量:數(shù)據(jù)值、數(shù)據(jù)質(zhì)量和時(shí)間戳。

      2.2 性能測試

      測試環(huán)境為:PLC采用菲尼克斯的ILC 171 ET H 2TX,自動(dòng)化接口封裝庫采用OPCDa Auto.dll,OPC Server采用菲尼克斯的AX OPC SERVER,該OPC服務(wù)器支持OPC標(biāo)準(zhǔn)功能和所有可選接口(符合OPC DA 1.0a和DA 2.04/2.05規(guī)范),可同時(shí)支持多個(gè)控制器,支持多種數(shù)據(jù)類型,開發(fā)語言選用C#。

      1)測試方案:在PLC連續(xù)地址上建立10 000個(gè)數(shù)據(jù)項(xiàng),同時(shí)對10個(gè)數(shù)據(jù)項(xiàng)進(jìn)行累加操作,PLC不進(jìn)行其他數(shù)據(jù)采集及運(yùn)算工作,盡量避免由于PLC性能原因?qū)y試結(jié)果造成不利影響。使用Microsoft Visual St udio.NET 2012簡體中文專業(yè)版開發(fā)一個(gè)簡單的OPC Ite m讀寫操作程序,程序不進(jìn)行其他操作。

      2)測試結(jié)果:程序添加OPC Item到不同的OPC Group,當(dāng)添加到約1 500個(gè)時(shí),加入速度已明顯變慢,加入每個(gè)標(biāo)簽的時(shí)間由開始的不到1 ms達(dá)到2 s。當(dāng)數(shù)據(jù)項(xiàng)到達(dá)2 000時(shí),加入每個(gè)標(biāo)簽的時(shí)間超過5 s。且隨著數(shù)量的增加,時(shí)間越來越長,程序?qū)⒆兊煤茈y響應(yīng)其他操作命令。此時(shí)查看OPC Server上監(jiān)視的10個(gè)累加數(shù)據(jù)項(xiàng),發(fā)現(xiàn)數(shù)據(jù)依然在按PLC里邊設(shè)定的頻率變化,表明OPC Ser ver本身運(yùn)行正常。

      通過該測試可以確定,通過自動(dòng)化接口,每個(gè)OPC客戶端可正常監(jiān)控的數(shù)據(jù)項(xiàng)有很大限制。

      3 性能優(yōu)化方案

      對于一個(gè)約2 000 m的長隧道,控制及反饋數(shù)據(jù)項(xiàng)大約為1 000條;對于隧道群或特長隧道來說,數(shù)據(jù)項(xiàng)基本上都會(huì)超過2 000條,如果不進(jìn)行優(yōu)化,使用OPC自動(dòng)化接口將很難正常監(jiān)控。為解決這個(gè)問題,在開發(fā)隧道監(jiān)控軟件時(shí),從系統(tǒng)架構(gòu)、軟件內(nèi)部實(shí)現(xiàn)兩方面入手進(jìn)行優(yōu)化。

      3.1 系統(tǒng)架構(gòu)優(yōu)化方案

      系統(tǒng)采用以服務(wù)總線為核心的分層架構(gòu),實(shí)現(xiàn)服務(wù)的注冊、數(shù)據(jù)的訂閱與分發(fā)等功能。其中客戶端軟件為用戶提供界面以監(jiān)視系統(tǒng)運(yùn)行狀況,同時(shí)提供外場設(shè)備控制、運(yùn)營管理和應(yīng)急處置的功能。服務(wù)總線軟件是系統(tǒng)的核心,接收并處理數(shù)據(jù)訂閱、服務(wù)注冊命令,同時(shí)負(fù)責(zé)接收、匯集、轉(zhuǎn)發(fā)系統(tǒng)實(shí)時(shí)數(shù)據(jù)、控制命令等。用OPC通信軟件與OPC Server進(jìn)行通信,采集設(shè)備數(shù)據(jù)并進(jìn)行處理,隨后發(fā)送給服務(wù)總線;同時(shí),接收服務(wù)總線轉(zhuǎn)發(fā)的控制命令,將該控制命令發(fā)送給OPC Server并返回控制結(jié)果。監(jiān)控系統(tǒng)總體架構(gòu)見圖2。

      3.1.1 分布式 OPC通信

      系統(tǒng)采用分布式的OPC通信架構(gòu),根據(jù)不同設(shè)備的功能運(yùn)用不同、用戶要求不同、速率快慢要求不同、監(jiān)控設(shè)備所處區(qū)域不同等情況,將單一的OPC應(yīng)用程序拆分成多個(gè)OPC通信軟件,每一個(gè)OPC通信軟件掌管一種或幾種設(shè)備的數(shù)據(jù)交換。OPC通信軟件可以根據(jù)現(xiàn)場要求安裝在不同的應(yīng)用服務(wù)器上或同一臺(tái)應(yīng)用服務(wù)器上,采用多進(jìn)程的運(yùn)行模式,從而保證一種設(shè)備或一個(gè)區(qū)域的通信操作不會(huì)對其他設(shè)備或其他區(qū)域的通信產(chǎn)生影響,開發(fā)難度和維護(hù)難度大大降低。

      在數(shù)據(jù)處理方面,傳統(tǒng)的OPC應(yīng)用程序往往是集原始數(shù)據(jù)獲取、數(shù)據(jù)分析及界面展示功能于一體,這樣雖然減少了中間環(huán)節(jié)出錯(cuò)的概率,但同時(shí)也加重了OPC應(yīng)用程序的數(shù)據(jù)分析和處理的負(fù)擔(dān);而采用分布式處理方式,每個(gè)軟件僅負(fù)責(zé)系統(tǒng)中的部分功能,所以更能夠勝任數(shù)據(jù)的預(yù)處理和最終處理。

      3.1.2 數(shù)據(jù)訂閱

      在服務(wù)總線軟件內(nèi)部建立所需數(shù)據(jù)的動(dòng)態(tài)緩存,當(dāng)數(shù)據(jù)發(fā)生變化時(shí)對動(dòng)態(tài)緩存進(jìn)行刷新,并發(fā)送給訂閱了這些數(shù)據(jù)的客戶端。這使得網(wǎng)絡(luò)上的請求包數(shù)大大減少,并有效降低了對服務(wù)器的重復(fù)訪問次數(shù)。在數(shù)據(jù)點(diǎn)很多的情況下,這種通信方式的優(yōu)勢更能凸現(xiàn)出來。此外,客戶端還可通過數(shù)據(jù)訂閱功能實(shí)現(xiàn)只訂閱當(dāng)前界面顯示的數(shù)據(jù),能夠大大降低數(shù)據(jù)處理數(shù)量,提高界面響應(yīng)速度。

      3.1.3 服務(wù)注冊

      OPC通信軟件根據(jù)加載的設(shè)備生成服務(wù)注冊命令,通知服務(wù)總線自己管理哪些設(shè)備。注冊成功后,當(dāng)總線收到客戶端軟件發(fā)送的控制命令并查詢服務(wù)注冊表后,將命令發(fā)送給指定的OPC通信軟件,由具體的OPC通信軟件完成設(shè)備控制。

      圖2 監(jiān)控系統(tǒng)總體架構(gòu)

      3.2 軟件優(yōu)化方案

      主要針對OPC數(shù)據(jù)訪問及隧道監(jiān)控設(shè)備的特點(diǎn),對OPC通信軟件進(jìn)行性能方面的優(yōu)化。

      3.2.1 OPC數(shù)據(jù)訪問分析

      OPC的數(shù)據(jù)訪問方法有同步訪問、異步訪問和訂閱式數(shù)據(jù)采集三種。

      3.2.1.1 同步方式

      OPC應(yīng)用程序向OPC服務(wù)程序發(fā)出數(shù)據(jù)讀取或?qū)懭胝埱蠛?,在結(jié)果被返回之前必須處于等待狀態(tài)。同步訪問的特點(diǎn)為:讀取指定OPC標(biāo)簽對應(yīng)的過程數(shù)據(jù)時(shí),應(yīng)用程序要一直等到數(shù)據(jù)被讀取完。寫入指定OPC標(biāo)簽對應(yīng)的過程數(shù)據(jù)時(shí),應(yīng)用程序要一直等待,直到數(shù)據(jù)被寫入完成為止。當(dāng)客戶數(shù)據(jù)較少且同服務(wù)器交互的數(shù)據(jù)量比較少時(shí)可以采用這種方式,但是當(dāng)網(wǎng)絡(luò)堵塞或大量客戶訪問時(shí)會(huì)造成系統(tǒng)的性能、效率下降。

      3.2.1.2 異步方式

      OPC Server將讀、寫操作排隊(duì)進(jìn)行,使客戶方的調(diào)用函數(shù)可立刻返回。當(dāng)服務(wù)器讀寫操作完成后,主動(dòng)觸發(fā)OPC應(yīng)用程序的異步訪問完成事件,將數(shù)據(jù)訪問結(jié)果傳送給OPC應(yīng)用程序。OPC應(yīng)用程序在其事件處理程序中接收從OPC Server傳來的數(shù)據(jù)。其特點(diǎn)為:異步方式不會(huì)阻塞OPC應(yīng)用程序的執(zhí)行,可提高OPC應(yīng)用程序的效率。

      3.2.1.3 訂閱式數(shù)據(jù)的獲取

      OPC客戶應(yīng)用程序向OPC Server訂閱相關(guān)數(shù)據(jù)后,Ser ver周期性地掃描緩沖區(qū)的數(shù)據(jù),如果發(fā)現(xiàn)數(shù)據(jù)變化超過OPC應(yīng)用程序設(shè)置的幅度,更新數(shù)據(jù)緩沖器,并通知OPC應(yīng)用程序。訂閱式數(shù)據(jù)采集方式實(shí)際上也屬于異步讀取方式的一種。OPC Ser ver支持不敏感帶(Dead Band),當(dāng)OPC標(biāo)簽的數(shù)據(jù)類型是模擬量時(shí),只有變化幅度超過設(shè)置的限度才更新緩沖器數(shù)據(jù),并通知OPC應(yīng)用程序。由此可以忽略模擬值的微小變化,減輕OPC Server和OPC應(yīng)用程序的負(fù)荷。其特點(diǎn)為:Server用一定的周期檢查過程數(shù)據(jù),當(dāng)發(fā)現(xiàn)數(shù)字?jǐn)?shù)據(jù)變化或模擬數(shù)據(jù)的變化范圍超過設(shè)定值時(shí),立刻通知客戶程序,傳遞相應(yīng)信息。該方式可有效降低對服務(wù)器的重復(fù)訪問次數(shù),同時(shí)也可提高OPC客戶應(yīng)用程序的響應(yīng)速度。

      3.2.2 軟件實(shí)現(xiàn)

      通過對OPC數(shù)據(jù)獲取方式進(jìn)行分析可知,隧道監(jiān)控實(shí)時(shí)性要求高,數(shù)據(jù)獲取應(yīng)盡量采用數(shù)據(jù)訂閱的方式,這樣可以降低OPC客戶應(yīng)用程序?qū)PC Ser ver的訪問次數(shù),避免過多的數(shù)據(jù)訪問對OPC Ser ver性能產(chǎn)生影響,同時(shí)也可以提高OPC客戶應(yīng)用程序的性能。隧道監(jiān)控系統(tǒng)中,大部分設(shè)備的控制信號(hào)和反饋信號(hào)是分開的,如風(fēng)機(jī)、車道指示燈、交通信號(hào)燈等,每一個(gè)信號(hào)都對應(yīng)一個(gè)OPC Item。當(dāng)需要控制某個(gè)設(shè)備時(shí),可通過將值寫入控制信號(hào)對應(yīng)的OPC Item來實(shí)現(xiàn),是否控制成功及當(dāng)前設(shè)備所處的運(yùn)行狀態(tài)如何,則通過讀取反饋信號(hào)對應(yīng)的OPC Item的值來確定。同時(shí),由于多客戶控制問題,OPC客戶應(yīng)用程序不知道設(shè)備的運(yùn)行狀態(tài)何時(shí)發(fā)生變化。因此,將設(shè)備控制信號(hào)與反饋信號(hào)對應(yīng)的OPC Item放入不同的OPC Group中,反饋信號(hào)所在的OPC Gr oup采用訂閱方式獲取數(shù)據(jù)(OPC Gr oup的Is Subscribed屬性置為Tr ue)。

      根據(jù)分析,采用OPC異步方式寫入數(shù)據(jù)不會(huì)防礙OPC客戶應(yīng)用程序的執(zhí)行,但對于自動(dòng)化接口,如果采用異步方式讀取、寫入指定OPC Item數(shù)據(jù),OPC Item所在OPC Gr oup的Is Subscribed必須置為Tr ue,也就是說必須采用訂閱方式。如果這樣,當(dāng)控制變量發(fā)生變化時(shí),會(huì)觸發(fā)對委托函數(shù)的調(diào)用,在隧道監(jiān)控系統(tǒng)中這根本是沒有必要的,反而會(huì)大大降低程序的性能。因此,OPC客戶應(yīng)用程序采用多線程同步方式發(fā)送控制命令。這樣在同一個(gè)過程中就可以得知控制命令是否成功寫入OPC服務(wù)器。

      4 結(jié) 語

      使用OPC自動(dòng)化接口進(jìn)行數(shù)據(jù)訪問具有簡單、易于編程、不需要開發(fā)者有相應(yīng)的COM知識(shí)等優(yōu)點(diǎn),但是傳統(tǒng)系統(tǒng)架構(gòu)在程序效率上存在嚴(yán)重不足。測試顯示,當(dāng)數(shù)據(jù)項(xiàng)達(dá)到2 000條時(shí),監(jiān)控效率將大大降低,數(shù)據(jù)項(xiàng)越多,效率越低。為解決這個(gè)問題,提出了分布式的軟件系統(tǒng)架構(gòu),避免單個(gè)OPC應(yīng)用程序監(jiān)控?cái)?shù)據(jù)項(xiàng)過多的問題。同時(shí),針對隧道監(jiān)控的特點(diǎn),盡量采用訂閱方式訪問OPC Server,避免多個(gè)OPC應(yīng)用程序定時(shí)訪問OPC Ser ver對OPC Server的性能產(chǎn)生影響。優(yōu)化后的軟件在昆明繞城高速公路西北段隧道群監(jiān)控系統(tǒng)(數(shù)據(jù)項(xiàng)大約5 000條)中得到了應(yīng)用,控制車道指示器等設(shè)備的反饋時(shí)間約為1 s,取得了良好的優(yōu)化效果。

      [1] 趙鍵.樓宇監(jiān)控系統(tǒng)中的OPC客戶端與服務(wù)器應(yīng)用程序設(shè)計(jì)[D].電子科技大學(xué),2009.

      [2] 毛曉羽.OPC技術(shù)在數(shù)據(jù)采集與智能監(jiān)控系統(tǒng)中的研究與應(yīng)用[D].武漢理工大學(xué),2012.

      [3] OPC Task Force.OPC Co mmon Definitions and Interfaces(Vcrsion 1.0)[S].Opc Co mn.doc,1998.

      [4] OPC Foundation.Data Access Custo m Interface Standard Specification 2.O[s],1998.

      [5] OPC Foundation.Data Access Auto mation Interface Standar d(Version 2.02)[S].Opcda20_auto mdoc,1999.

      猜你喜歡
      數(shù)據(jù)項(xiàng)應(yīng)用程序客戶端
      一種多功能抽簽選擇器軟件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
      甘肅科技(2020年19期)2020-03-11 09:42:42
      非完整數(shù)據(jù)庫Skyline-join查詢*
      刪除Win10中自帶的應(yīng)用程序
      基于Python的Asterix Cat 021數(shù)據(jù)格式解析分析與實(shí)現(xiàn)
      縣級臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
      傳媒評論(2018年4期)2018-06-27 08:20:24
      孵化垂直頻道:新聞客戶端新策略
      傳媒評論(2018年4期)2018-06-27 08:20:16
      基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
      電子測試(2018年10期)2018-06-26 05:53:34
      客戶端空間數(shù)據(jù)緩存策略
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      多數(shù)據(jù)項(xiàng)請求的多信道并行廣播調(diào)度算法
      繁昌县| 凭祥市| 峡江县| 集贤县| 张家口市| 京山县| 孝义市| 西林县| 色达县| 扶绥县| 顺义区| 景洪市| 定陶县| 泗洪县| 长宁县| 平遥县| 鲁甸县| 普陀区| 宁远县| 富锦市| 谷城县| 保山市| 锦州市| 无为县| 从江县| 西宁市| 龙井市| 灌南县| 双辽市| 江阴市| 习水县| 贵州省| 常山县| 汤原县| 徐闻县| 东方市| 大石桥市| 紫阳县| 百色市| 乾安县| 苏尼特左旗|