日本在线www-日本在线播放一区-日本在线不卡免费视频一区-日本在线不卡视频-成人影院久久久久久影院-成人影院一区二区三区

ABB
關注中國自動化產(chǎn)業(yè)發(fā)展的先行者!
工業(yè)智能邊緣計算2025年會
CAIAC 2025
2025工業(yè)安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

激勵式仿真機實時數(shù)據(jù)OPC異步通訊的研究
  • 企業(yè):控制網(wǎng)     領域:電源     行業(yè):電力    
  • 點擊數(shù):2480     發(fā)布時間:2009-11-26 21:18:26
  • 分享到:
   摘  要:OPC (OLE for Process Control) 技術是隨著自動化生產(chǎn)和系統(tǒng)融合的需要而發(fā)展起來的,它繼承和發(fā)展OLE/COM 技術,在過程工業(yè)控制中方便地實現(xiàn)了不同系統(tǒng)之間的通訊和數(shù)據(jù)交換。本文通過介紹OPC技術的工作原理,結合激勵式仿真機的工作機制,給出OPC異步通訊的開發(fā)方法及使用Visual C++6.0的具體實現(xiàn)。根據(jù)仿真系統(tǒng)支撐平臺的實時性要求,利用內(nèi)存映射文件建立系統(tǒng)運行的實時數(shù)據(jù)庫,即通過內(nèi)存映射文件開辟共享內(nèi)存區(qū)并對其進行數(shù)據(jù)操作。該方法既能實現(xiàn)多個進程數(shù)據(jù)的共享,又保證了實時的響應速度以便在Ovation DCS服務器數(shù)據(jù)庫中讀寫數(shù)據(jù)。具有數(shù)據(jù)傳輸速率快,安全可靠性高的優(yōu)點,在火電廠自動化中有很強的通用性和實用性。

    關鍵詞:
激勵式仿真機;OPC;組件對象模型;異步通信;內(nèi)存映射文件

    Abstract:
With the development of automatic manufacture and unitized system, the OPC (OLE for Process Control) technology is growing and can satisfy the need of their development. The OPC technology inherit and develop the OLE/COM technology, and can easily realize the communication and datum exchange between the different systems in the process industry. This article provides the way of exploring OPC asynchronous communication and its fulfillment in Visual C++6.0 via the introduction of the working principles of OPC technology combined with the working mechanism of stimulative simulation system. According to the real time requirement of the supporting platform of simulation system, this paper establishes the real time database in the course of memory mapping file; sets up a sharing memory area by memory mapping file,and realizing the operations of the sharing memory area. This method not only has realized the sharing of a lot of process data,but also guaranteed the prompt response speed to read and write the Ovation DCS Server Database. The program have a lot of merits with fast data transfer rate and high security and authenticity, it has strong reliability and practicability in power plant automation.

    Key words
: Stimulative Simulation; OPC; Component object model; Asynchronous communication; Memory mapping file

    1 引言

    激勵式仿真機是仿真技術與DCS技術發(fā)展到一定階段相結合,將DCS與火電廠熱力設備和機組模型直接對接構成的仿真系統(tǒng),是從不同的角度思考并最終實現(xiàn)的嶄新的仿真模式。

    全激勵模式保留原有的分散控制系統(tǒng)軟件和硬件,接入一個只限于實現(xiàn)熱力設備和機組模型仿真的仿真計算機。由于此類仿真系統(tǒng)動態(tài)數(shù)據(jù)交換量龐大,為滿足數(shù)據(jù)通訊的實時性要求和避免系統(tǒng)的高負荷運行,激勵式系統(tǒng)DCS服務器數(shù)據(jù)庫至仿真計算機之間的數(shù)據(jù)通訊則可以通過仿真系統(tǒng)局域網(wǎng)中的兩臺PC機基于OPC技術實現(xiàn)。



圖1 激勵式仿真機系統(tǒng)軟件配置圖
    2  OPC技術

    OPC技術是OLE技術在控制領域的應用,它通過微軟的COM/DCOM組件實現(xiàn)一套標準的OLE接口,用這些接口,用戶可以無縫訪問火電機組生產(chǎn)現(xiàn)場中的數(shù)據(jù)。

    2.1 OPC技術基礎COM/DCOM

    COM (Component Object Model,組件對象模型)是由Microsoft提出的組件標準,客戶程序與COM組件程序進行交互的實體是COM對象。接口是包含了一組函數(shù)的數(shù)據(jù)結構,也是COM對象與外界進行交互的唯一途徑。如果一個COM對象支持一個或多個出接口,即組件對象要主動與客戶進行通信,則這樣的對象為可連接對象(Connectable Object),或者源對象(Source)。客戶與可連接對象之間的通信是雙向的。

    DCOM(分布式組件對象模型)是COM的擴展,它可以支持不同計算機上組件對象與客戶程序之間或者組件對象之間的相互通信,這些計算機可以在局域網(wǎng)內(nèi),也可以在廣域網(wǎng)上,甚至通過Internet進行連接。DCOM己經(jīng)處理了底層網(wǎng)絡協(xié)議的所有細節(jié),所以我們可把重點放在應用的業(yè)務邏輯上,而不必再為底層處理費時費力。

    2.2 OPC通訊方式比較

    OPCDA規(guī)范規(guī)定了兩種通訊方式:同步通訊和異步通訊。同步通訊時,OPC 客戶程序對OPC服務器進行相關操作時,客戶程序必須等到服務器對應的操作全部完成以后才能返回,在此期間客戶程序一直處于等待狀態(tài),如進行讀操作,那么必須等待服務器完成讀后才返回。因此在同步通訊時,如果有大量數(shù)據(jù)進行操作或者有很多OPC客戶程序對OPC服務器進行讀、寫操作,必然造成客戶端的阻塞現(xiàn)象。因此同步通訊適用于OPC客戶程序較少,數(shù)據(jù)量較小時的場合。

    異步通訊時,OPC客戶程序對服務器進行相關操作時,客戶程序操作后立刻返回,不用等待服務器的操作,可以進行其他操作。當服務器完成操作后再通知客戶程序,如進行讀操作,客戶程序通知服務器后離開返回,不等待服務器的讀完成,而服務器完成讀后,會自動的通知客戶程序,把讀結果傳送給客戶程序。因此相對于同步通訊,異步通訊的效率更高,適用于多客戶訪問同一OPC服務器和大量數(shù)據(jù)的場合。

    3   系統(tǒng)實現(xiàn)與測試

    3.1 異步通信實現(xiàn)

    Ovation DCS服務器數(shù)據(jù)庫中包括AI,AO,DI,DO數(shù)據(jù)類型,在實際DCS中對應現(xiàn)場的測點與執(zhí)行機構。對于全激勵式仿真模式,只涉及實際系統(tǒng)部件的建模,不涉及控制模型,因此首先需要實現(xiàn)模型側數(shù)據(jù)點與DCS數(shù)據(jù)點的匹配。

    其次,在全激勵式仿真機系統(tǒng)中,動態(tài)交互數(shù)據(jù)量龐大,同步通訊是絕對不能滿足要求,只能使用異步方式。異步通訊就是通過COM/DCOM機制中的連接點實現(xiàn)的。可連接點對象通過IConnectionPointContainer接口管理所有的出接口。

    對應于每一個出接口,可連接點對象又管理了一個連接點(connection point)對象,每一個連接點對象實現(xiàn)了IConnectionPoint接口,仿真機模型側通過連接點對象建立接收器與可連接對象的連接。為了使用連接點(IConnectionPointContainer 和 IConnectionPoint 接口),仿真機模型側必須創(chuàng)建一個對象支持IUnknown和IConnectionPoint接口,以便傳遞一個指針給IUnknown接口去激活DCS服務器的連接點。可連接對象的基本結構如圖1。



圖2 可連接對象基本結構
 
    最后,具體實現(xiàn)異步讀取數(shù)據(jù)時,DCS服務器主動和仿真機模型通信。此時,服務器提供出接口(Outgoing Interface),這些出接口是由仿真機模型實現(xiàn),并將接口指針告訴DCS服務器對象,然后服務器對象就利用此接口指針與仿真機模型進行通信。而仿真機模型側則通過接收器sink(其接收器應該至少實現(xiàn) IUnknown 和 IOPCDataCallBack 接口)來實現(xiàn)這些接口的對象。這樣對仿真機模型側來說,可以通過常規(guī)方式調(diào)用服務器的接口,也可以通過接收器接受DCS服務器發(fā)送的通知或事件,對DCS服務器來說,它的入接口和出接口分別承擔了這兩個通信過程,這樣就實現(xiàn)了C/S的雙向通信。異步通信的實現(xiàn)由定義接口開始,主要代碼如下:

    IConnectionPointerContainer* pCPC;

    IOPCAsyncIO2* pASIO2;

    IOPCDataCallBack* pDCB;

    IConnectionPoint* pCP;

    Punk->QueryInterface(IID_IConnection, PointContainer, &pCPC);

    PCPC->FindConnectionPoint(IID_IOPC, DataCallBack, &pCP);

    通過查詢,如果支持接收器對象,則在DCS服務器與仿真機模型之間建立連接,并返回連接點對象生成的唯一標志此連接的32位整數(shù)m_dwcookie:

    pCP->Advise(&pDCB,&m_dwcookie);

    設置刷新速率IOPCGroupStateMgt* pGSP;

    PGRP->SetState(&RequestedRate,&Rate, &Active, 0, 0,0,0);

    異步讀數(shù)據(jù), 傳遞事務ID給OnReadComplete函數(shù)。    

    pASIO2->Read(1000,&m_phserver, m_dwtranscationID, &m_pdwcancelID, &hr);

    異步寫數(shù)據(jù),傳遞事務ID給OnWriteComplete函數(shù)。

    pASIO2->Write(1000, &m_phserver, &m_pitemvalues,m_dwtransactionID, m_pdwcancelID, &hr);

    在仿真機模型側調(diào)用異步讀寫操作或者組對象項成員的數(shù)據(jù)發(fā)生變化時,組對象對仿真機模型側發(fā)出如下事件OnDataChange函數(shù),只需在該函數(shù)中添加一些讀寫共享內(nèi)存的語句。

    STDMETHODIMP OnDataChange(DWORD dwTransid,OPCHANDLE hGroup, HRESULT hrMasterquality, HRESULT

    hrMastererror, DWORD dwCount, OPCHANDLE __RPC_FAR *phClientItems, VARIANT __RPC_FAR *pvValues, WORD __RPC_FAR *pwQualities, FILETIME __RPC_FAR *pftTimeStamps, HRESULT __RPC_FAR *pErrors);

    dwTransid:由仿真機模型側發(fā)送的事務標識符。

    dwCount:要讀取的數(shù)據(jù)或品質發(fā)生變化的Item數(shù)目。

    phClientItems:OPC ITEM的客戶句柄數(shù)組。

    pvValues:返回的數(shù)值數(shù)組。

    pwQualities:返回的質量戳數(shù)組。

    pftTimeStamps:返回的時間戳數(shù)組。

    當仿真機模型側需要取消與DCS服務器的連接時,調(diào)用帶有同樣連接標識的Unadvise來取消連接。并且刪除Item,釋放異步接口,釋放Item管理接口,刪除Group對象,釋放OPC服務器,關閉COM庫等,以釋放占有資源。異步通信結構如圖2所示。



圖3  OPC異步通信結構示意圖
 
    3.2 內(nèi)存映射文件實現(xiàn)

    由于實時仿真數(shù)據(jù)庫被多個進程共享,必然涉及到仿真機支撐系統(tǒng)與OPC客戶端程序之間的實時數(shù)據(jù)通信。解決的有效方法就是利用內(nèi)存映射文件方式創(chuàng)建一個足夠大的共享內(nèi)存空間,由于32位Windows操作系統(tǒng)具有多達2GB的用戶可用的線性內(nèi)存空間,可以處理上百萬的變量,這樣完全滿足火電廠全激勵式仿真系統(tǒng)支撐平臺的要求,通過編制一系列的接口函數(shù)對建立的共享內(nèi)存中的數(shù)據(jù)進行操作。

    此外,由于該共享內(nèi)存中的數(shù)據(jù)可為多個進程共享,因此各個接口函數(shù)都提供了同步機制,使用互斥量的同步對象CMutex實現(xiàn)。這些接口函數(shù)都封裝在動態(tài)鏈接庫中,通過這些接口函數(shù),既能實現(xiàn)多個進程間數(shù)據(jù)的共享,又保證了實時的響應要求。實現(xiàn)關鍵代碼如下:

    HANDLE hFileMap = CreateFileMapping((HANDLE)0xFFFFFFFF, NULL, PAGE_READWRITE, 0, ShareMemory, MAP_FILE_NAME );  

    if ( hFileMap == NULL)   

          return;

realValue = (float *)MapViewOfFile( hFileMap,FILE_MAP_ALL_ACCESS,0, 0, ShareMemory );

if ( realValue == NULL ) { 

          CloseHandle( hFileMap ); 

          return;  

      }

    4  結論

    在實現(xiàn)全激勵式仿真機實時數(shù)據(jù)通信的過程中,起初鑒于ADO技術具有高速訪問數(shù)據(jù)源和程序占用內(nèi)存少的特點,曾采用了SQL Server 2000,Access等傳統(tǒng)數(shù)據(jù)庫作為實時數(shù)據(jù)庫,但實際使用中明顯有系統(tǒng)負荷高,占用資源大,響應速度慢等嚴重缺點。這是沒有充分考慮到具體系統(tǒng)條件及要求所造成的。

    通過改進實踐表明,基于OPC的全激勵式仿真系統(tǒng)實時數(shù)據(jù)異步通訊方案是可行的。并以內(nèi)存映射文件加以實現(xiàn)的實時數(shù)據(jù)庫在共享內(nèi)存中以結構數(shù)組的形式存儲,使得整個仿真機系統(tǒng)結構緊湊、效率高,且對系統(tǒng)資源的要求降低。實現(xiàn)了大量數(shù)據(jù)的快速交換,符合電力生產(chǎn)中數(shù)據(jù)的響應速度。

    參考文獻:

    [1] 何海江.OPC客戶端關鍵技術的實現(xiàn)[J].微計算機信息 2003,19(7):76—78.

    [2] 鄭立.OPC應用程序入門[M].OPC(中國)基金會,2002.5

    [3] 劉國平,柳林林,劉利云.基于OPC服務器自動化接口的客戶端程序的設計[J].自動化技術與應用,2005,24(9):33—35.

    [4] 潘愛民.COM原理與應用[M].北京:清華大學出版社,2000.3

    [5] 司紀剛.OPCDA服務器與客戶程序開發(fā)指南修訂版.2008.1

    [6] OPC Foundation,OPC Data Access Custom Interface Standard,Version 2.0



 

熱點新聞

推薦產(chǎn)品

x
  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 国产福利在线视频尤物tv-国产福利在线看-国产福利在线高清导航大全-国产福利在线-国产福利影视-国产福利一区二区麻豆 | 国产三级在线观看视频-国产三级在线免费-国产三级在线免费观看-国产三级自拍亚洲性爱在线-国产三级做爰在线播放-国产三級三級三級A片视频 | 国产精品va在线播放我和闺蜜-国产精品va在线观看无码不卡-国产精品V日韩精品V在线观看-国产精品V无码A片在线看-国产精品wwwcom976con-国产精品XXXXX免费A片 | 欧美日韩亚洲一区二区三区在线观看-欧美日韩亚洲第一区在线-欧美日韩亚洲成人-欧美日韩午夜群交多人轮换-bbwvideos欧美老妇-bbwvideoa欧美老妇 | 欧美综合亚洲,欧美激情91,亚洲 欧美 成人日韩,国产亚洲精品成人婷婷久久小说,国内精品久久久久影院不卡,曰韩在线 | 91香蕉导航-91香蕉成人免费高清网站-91香蕉成人-91午夜视频-91午夜精品亚洲一区二区三区-91网址在线观看 | 第一区免费在线观看-无码国产精品一区二区免费网曝-AV熟妇导航网-日韩欧美一区二区三区在线观看 -欧美乱人伦视频-啪啪视频一区 | 欧美在线日韩-欧美在线区-欧美在线看欧美视频免费网站-欧美在线精品一区二区在线观看-www..com黄-vr专区日韩精品中文字幕 | 日本在线一区二区三区-日本中出视频-日本中文不卡-日本中文视频-日本中文在线-日本中文在线播放 国产欧美日韩精品一区二区三区-国产欧美日韩精品一区二-国产欧美日韩精品高清二区综合区-国产欧美日韩精品第三区-天天舔天天操天天干-天天添天天干 | 人人澡人人爽人人精品-人人澡人人擦人人免费-人人在线碰碰视频免费-人人听力网mp3下载-俺也去最新地址-俺来也俺去也视频久久 | 亚洲精品成人一区-亚洲精品成人网久久久久久-亚洲精品成人久久久影院-亚洲精品成人久久-黑人巨大白妞出浆-黑人巨大vs小早川怜子 欧美日韩亚洲无线码在线观看,国产成人亚洲综合91精品555,欧美成人国产,国产成人青青热久免费精品,亚洲欧美日韩色图,国产三级网站在线观看 | 久久免费视频1-久久免费看视频-久久免费精品一区二区-久久免费精品视频-中文字幕亚洲专区-中文字幕亚洲一区二区三区 | 中文字幕第一页亚洲-中文字幕第一页国产-中文字幕第38页永久乱码-中文字幕不卡在线观看-久久久久青草大香线综合精品-久久久久青草 | 老司机亚洲精品影院-老司机午夜在线视频-老司机午夜影院-老司机午夜网站-亚洲国产精品热久久2022-亚洲国产精品毛片∧v卡在线 | 自拍偷拍另类-自拍偷拍国内-自拍偷拍国产-自拍偷拍第6页-自拍偷拍第4页-自拍偷拍第3页 | 国内自拍中文字幕,久久久一本精品99久久精品66,精品400部自拍视频在线播放,国产麻豆精品在线,日韩欧美高清视频,久久久免费精品视频 | 欧美一级视频精品观看-欧美一级三级-欧美一级日韩一级亚洲一级va-欧美一级日韩一级亚洲一级-中文字幕精品一区-中文字幕精品视频在线观看 | 国产一级免费-国产一级毛片网站-国产一级毛片潘金莲的奶头-国产一级毛片大陆-日本中文字幕免费-日本中文字幕高清 | 婷婷五色,五月天激情婷婷大综合,亚洲综合久久久久久中文字幕,国产ww久久久久久久久久,婷婷综合缴情亚洲五月伊,欧美日韩不卡在线 九九香蕉-九九线精品视频-九九五月天-九九天天影视-天天干b-天天干2018 | 一区二区视频在线观看高清视频在线-一区二区三区无码高清视频-一区二区三区无码被窝影院-一区二区三区四区国产-久久re视频精品538在线-久久re热在线视频精99 | 青草国产-青草草在线视频-青草草在线观看免费视频-青草草在线-国产高清自偷自在线观看-国产高清自拍视频 | 国产精品视频视频久久-国产精品视频全国免费观看-国产精品视频区-国产精品视频免费视频-四虎国产精品永免费-四虎国产精品永久在线播放 | 波多野结衣中文字幕教师-波多野结衣中文字幕2022免费-波多野结衣中文在线观看-波多野结衣中文在线播放-波多野结衣中文一区-波多野结衣中文丝袜字幕 | 与子敌伦刺激对白亂輪亂性-与嫂子同居的日子在线观看-与邻居换娶妻子2在线观看-瑜伽牲交AV-久久久96-久久久91精品国产一区二区 | 热久久国产-热99这里只有精品-热99这里有精品综合久久-热99在线观看-国产精品99久久久-国产精品99久久99久久久看片 | 亚洲另类电击调教在线观看-亚洲理论片在线中文字幕-亚洲看黄-亚洲卡一卡2卡三卡4麻豆-韩国xxxxx视频在线-韩国mmwutv福利视频 | 91麻豆精品国产一级-91啦国产-91蝌蚪在线视频-91蝌蚪在线播放-91蝌蚪网-91蝌蚪视频在线观看 | 欧美日韩一区二区三区在线观看-欧美日韩一区二区三区在线播放-欧美日韩一区二区三区在线-欧美日韩一区二区三区四区-欧美日韩一区二区三区视视频-欧美日韩一区二区三区视频播 | 性色做爰片在线观看WW-性夜影院午夜看片-性一交一乱一A片-性一交一乱一A片WWW-性一交一乱一交A片久久-性一交一乱一交A片久久四色 | 亚洲欧美在线x视频,国产97碰免费视频,88午夜理论不卡,伦理电影院一个免费看片高清在线欧美激情视频在线观看一区二区三区 | 午夜欧美福利-午夜欧美成人香蕉剧场-午夜欧美成人久久久久久-午夜久久网-国产亚洲男人的天堂在线观看-国产亚洲免费观看 | 久久九九99,伊人婷婷在线,日韩在线视频在线观看,黄色一级视频免费,日韩欧美亚州,亚洲精品在线免费 | 伊人色综合久久大香-伊人色综合久久-伊人色综合97-伊人色在线-免费永久在线观看黄网-免费永久国产在线视频 | 国产三级在线观看视频-国产三级在线免费-国产三级在线免费观看-国产三级自拍亚洲性爱在线-国产三级做爰在线播放-国产三級三級三級A片视频 | 波多野结衣中文字幕教师-波多野结衣中文字幕2022免费-波多野结衣中文在线观看-波多野结衣中文在线播放-波多野结衣中文一区-波多野结衣中文丝袜字幕 | 日韩精品在线视频观看-日韩精品在线播放-日韩精品影视-日韩精品一区在线观看-日韩精品一区二区亚洲AV观看-日韩精品一区二区三区在线观看l | 国产一级免费-国产一级毛片网站-国产一级毛片潘金莲的奶头-国产一级毛片大陆-日本中文字幕免费-日本中文字幕高清 | 99riav视频-99riav视频国产在线看-99ri精品视频在线观看播放-99ri在线-99rv精品视频在线播放-99r视频里面只有精品 | 美女搞j-美女干骚-美女范冰冰hdxxxx-美女吊逼-亚洲欧美在线观看-亚洲欧美一区二区三区在线 | 久 在线播放-九月婷婷人人澡人人添人人爽-九月婷婷人人澡人人爽人人爱-九月丁香婷婷亚洲综合色-天天干天天射天天-天天干天天色综合网 | 国产福利自产拍在线观看-国产福利资源网在线观看-国产福利资源-国产福利专区精品视频-双性少爷受糙汉攻h-双性肉文高h |