當前位置:首頁 > 測試測量 > 測試測量
[導讀]摘 要:OPC是連接數(shù)據(jù)源(OPC服務器)和數(shù)據(jù)的使用者(OPC應用程序)之間的軟件接口標準。這里以C#為開發(fā)工具,按照OPC技術(shù)的規(guī)范標準,將OPC技術(shù)應用到虛擬儀器顯示組件中。具體實現(xiàn)了OPC客戶端數(shù)據(jù)訪問服務器的過程,接

摘 要:OPC是連接數(shù)據(jù)源(OPC服務器)和數(shù)據(jù)的使用者(OPC應用程序)之間的軟件接口標準。這里以C#為開發(fā)工具,按照OPC技術(shù)的規(guī)范標準,將OPC技術(shù)應用到虛擬儀器顯示組件中。具體實現(xiàn)了OPC客戶端數(shù)據(jù)訪問服務器的過程,接口步驟及其讀寫數(shù)據(jù)的方法,并根據(jù)OPC服務器提供的數(shù)據(jù),最終在虛擬儀器顯示組件中生成了虛擬的正弦波、方波、鋸齒波、三角波等。
關(guān)鍵詞:OPC;OPC接口;OPC服務器;C#


0 引 言
    隨著計算機技術(shù)和數(shù)字信號處理技術(shù)的發(fā)展,人們可以用計算機軟件替代傳統(tǒng)的硬件實現(xiàn)的一些功能,將計算機硬件和軟件有機的融合為一體,這就是所謂的虛擬儀器。近年來,世界各國的虛擬儀器公司開發(fā)了不少基于LabVIEW,Matlab,VC++,VB等虛擬儀器開發(fā)平臺軟件,當硬件操作的設備驅(qū)動改變時,軟件開發(fā)人員需要修改大量的驅(qū)動程序來連接此設備,因此使得虛擬儀器開發(fā)平臺開發(fā)難度大、通用性差。為此,提出了基于OPC技術(shù)的虛擬儀器,它是由硬件供應商和軟件開發(fā)商之間建立一套完整的“規(guī)則”,只要遵循這套規(guī)則,數(shù)據(jù)交互對兩者來說都是透明的,硬件供應商無需考慮應用程序的多種需求和傳輸協(xié)議,軟件開發(fā)商也無需了解硬件的實質(zhì)和操作過程。


l OPC技術(shù)
    OPC(OLE Process Contro1)是OPC基金會組織倡導的工業(yè)控制和生產(chǎn)自動化領域中使用的硬件和軟件的接口標準,以便有效地在應用和過程控制設備之間讀寫數(shù)據(jù),具體的功能實現(xiàn)要由開發(fā)商根據(jù)需要自主的進行研究與開發(fā)。換句話說OPC規(guī)范是一套公共的軟件標準,任何OPC開發(fā)人員所開發(fā)的OPC軟件都要符合這個標準。
    OPC技術(shù)的特點可概括為如下3個方面:開放性(Openness)、產(chǎn)業(yè)性(Productivity)和“即插即用”的互聯(lián)性(Connectivity),因此可以說,“OPC=Openness+Productivity+Connectivity”,這也是對OPC優(yōu)點最概括的描述。因此OPC在短時間內(nèi)取得了飛速的發(fā)展。
1.1 OPC服務器的組成
    OPC標準采用C/S模式,OPC服務器負責向OPC客戶端不斷的提供數(shù)據(jù)。OPC服務器包括3類對象(Object):服務器對象(Server)、組對象(roup)和項對象(Item)。3類對象都包括一系列接口,關(guān)系如圖1所示。

    OPC服務器對象維護有關(guān)服務器信息,并作為OPC組對象的包容器,它提供了對數(shù)據(jù)源進行讀/寫和通信的接口方法,可以動態(tài)地創(chuàng)建或釋放組對象。
    OPC組對象由客戶端定義和維護,它維護有關(guān)其自身的信息,提供包容OPC項對象的機制,從邏輯上實現(xiàn)對OPC項的管理。
    OPC項對象包含在OPC組中,可由客戶端定義和維護。項代表了與數(shù)據(jù)源的連接,所有的OPC項的操作都是通過包容此項的OPc組對象完成的。
1.2 OPC的接口方式
    OPC服務器通常支持兩種類型的訪問接口:自定義接口(The OPC Custom Interfaces)和自動化接口(The OPC Automation Interfaces),它們分別為不同的編程語言環(huán)境提供訪問機制。
    自定義接口是任何OPC服務器所必須實現(xiàn)的接口,它描述了OPC組件對象的接口和其實現(xiàn)的方法,適合C++語言設計,并可實現(xiàn)最佳運行性能的客戶應用程序。
    自動化接口是可選接口(Optional Interface),它提供了自動配置和存取過程控制數(shù)據(jù)的接口,方便了Visual Basic,Delphi,C#及其他可以使用自動化服務器應用程序接口的高級商業(yè)軟件使用。自動化接口實際上是定制接口上的自動化封裝,OPC規(guī)范通過提供一套標準的自動化接口包裝器來實現(xiàn)這一功。
1.3 OPC通信方式
    OPC規(guī)范規(guī)定了兩種通信方式:同步通信方式和異步通信方式。
    同步通信時,OPC客戶程序?qū)PC服務器進行讀寫操作時,OPC客戶程序必須等到OPC服務器對應的操作全部完成以后才能返回,在此期間OPC客戶程序一直處于等待狀態(tài)。如果有大量數(shù)據(jù)進行操作或者有大量OPC客戶程序?qū)PC服務器進行讀寫操作,必然造成OPC客戶程序的阻塞現(xiàn)象。因此同步通信適用于OPC客戶較少,數(shù)據(jù)量較小時的場合。
    異步通信時,OPC客戶程序?qū)Ψ掌鬟M行讀寫操作時,OPC客戶程序操作后立刻返回,不用等待OPC服務器的操作,可以進行其他操作。當0PC服務器完成操作后再通知OPC客戶程序。因此,相對于同步通信和異步通信的效率更高,適用于多客戶訪問同一OPC服務器和大量數(shù)據(jù)的場合。


2 OPC客戶端程序的設計方法
    (1)安裝OPC自動化接口服務。在.NET環(huán)境下,點擊“項目”子菜單下,“添加引用”,在彈出的對話框COM中選中“OPC DA Automation Wrapper2.02”項,點擊“確定”按鈕,這樣才能使用自動化接口的服務。
    (2)連接OPC服務器。本例中使用的OPC服務器名為“ICONICS.Simulator OPCDA.2”。首先聲明變量,這樣才能觸發(fā)事件(DataChange)來獲取實時數(shù)據(jù)。連接不同的OPC服務器只要改變其服務器名稱和OPC服務器所在的計算機名稱即可。
    (3)添加組


    (5)OPC數(shù)據(jù)的讀和寫。對OPC服務器中的數(shù)據(jù)項數(shù)讀可以通過group組的DataChange事件觸發(fā)來讀取。該事件有多個參數(shù):其中:NumItems是指數(shù)據(jù)項的個數(shù);ltemValues為數(shù)據(jù)項的數(shù)據(jù);Qualities為數(shù)據(jù)項的品質(zhì);TimeStamps為數(shù)據(jù)項的更改時間;Cli—entHandles是數(shù)據(jù)項的標簽索引,其所指的OPC標簽的值在ItemValues(1)中,只有數(shù)據(jù)發(fā)生變化時才會觸發(fā)該事件。也只會傳輸發(fā)生了變化的數(shù)據(jù),沒有變化的數(shù)據(jù)不會出現(xiàn)在本事件ItemValues中。使用C#事件處理機制,將DataChange注冊到事件,一旦服務器端數(shù)據(jù)有變化,自動觸發(fā)此過程,觸發(fā)函數(shù)為:


    (6)斷開OPC服務器。OPC客戶端連接后占用服務器的資源,所以長時間不需要使用的OPC讀寫數(shù)據(jù),則應及時斷開OPC連接以釋放資源。


    采用C#開發(fā)工具,按照OPC規(guī)范來實現(xiàn)OPC客戶程序。OPC客戶程序?qū)崿F(xiàn)的功能有:通過OPC標準接口與OPC數(shù)據(jù)服務器連接,按照OPC服務器提供的Sine,Triangle,R8等波形數(shù)據(jù),并取得OPC服務器中相關(guān)OPC點的數(shù)據(jù),并對這些數(shù)據(jù)進行綜合處理,實現(xiàn)各種波形圖案,運行程序結(jié)果如圖2所示。

3 結(jié) 語
    OPC規(guī)范的應用簡化了OPC客戶/服務器的開發(fā)過程,統(tǒng)一了數(shù)據(jù)存取的接口標準,將硬件供應商與應用軟件開發(fā)者分離,使得軟件開發(fā)者無需了解硬件的實質(zhì)和操作過程,只要遵循OPC標準進行開發(fā),就能夠訪問OPC服務器中的數(shù)據(jù),大大簡化了過去傳輸數(shù)據(jù)的復雜過程。在此介紹了在Visual C#環(huán)境下,遵循OPC標準提出了基于OPC技術(shù)的系統(tǒng)設計方案及數(shù)據(jù)接口開發(fā)關(guān)鍵代碼,以快速、高效地進行底層數(shù)據(jù)采集,安全、靈活的數(shù)據(jù)處理,便捷的圖形界面,為虛擬儀器提供了嶄新的解決方案,具有較大的應用價值。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉