【摘要】OPC規(guī)范是由OPC基金會制定的一個工業(yè)標準,它規(guī)范了過程控制和自動化軟件與工業(yè)現(xiàn)場設備之間的接口。OPC代表了今后一段時間內(nèi)過程控制系統(tǒng)通信標準的發(fā)展方向,本文對OPC技術的應用作了概括分析。
【關鍵詞】OPC;技術規(guī)范;應用
【中圖分類號】TP311【文獻標識碼】A【文章編號】1005-1074(2009)05-0236-01
OPC全稱是OLE for Process Control,它出現(xiàn)為基于Windows應用程序和現(xiàn)場過程控制應用建立了橋梁。過去,存取現(xiàn)場設備數(shù)據(jù)信息,每一個應用軟件開發(fā)商都需要編寫專用接口函數(shù)。現(xiàn)場設備種類繁多,且產(chǎn)品不斷升級,往往給用戶和軟件開發(fā)商帶來了巨大工作負擔。通常這樣能滿足工作實際需要,系統(tǒng)集成商和開發(fā)商急切需要一種具有高效性、可靠性、開放性、可互操作性即插即用設備驅(qū)動程序。這種情況下,OPC標準應運而生。OPC標準以微軟公司OLE技術為基礎,它制定是提供一套標準OLE/COM接口完成,OPC技術中使用是OLE2技術,OLE標準允許多臺微機之間交換文檔、圖形等對象。
COM是Component Object Model縮寫,是所有OLE機制基礎。COM是一種實現(xiàn)與編程語言無關對象而制定標準,該標準將Windows下對象定義為獨立單元,可不受程序限制訪問這些單元。這種標準可以使兩個應用程序?qū)ο蠡涌谕ㄓ崳恍枰缹Ψ绞侨绾蝿?chuàng)建。例如,用戶可以使用C++語言創(chuàng)建一個Windows對象,它支持一個接口,該接口,用戶可以訪問該對象提供各種功能,用戶可以使用Visual Basic,C,Pascal,Smalltalk或其它語言編寫對象訪問程序。Windows NT4.0操作系統(tǒng)下,COM規(guī)范擴展到可訪問本機以外其它對象,一個應用程序所使用對象可分布網(wǎng)絡上,COM這個擴展被稱為DCOM(Distributed COM)。
DCOM技術和OPC標準,完全可以創(chuàng)建一個開放、可互操作控制系統(tǒng)軟件。OPC采用客戶/服務器模式,把開發(fā)訪問接口任務放硬件生產(chǎn)廠家或第三方廠家,以OPC服務器形式提供給用戶,解決了軟、硬件廠商矛盾,完成了系統(tǒng)集成,提高了系統(tǒng)開放性和可互操作性。
OPC服務器通常支持兩種類型訪問接口,它們分別為不同編程語言環(huán)境提供訪問機制。這兩種接口是:自動化接口(Automation interface);自定義接口(Custom interface)。(見圖1)自動化接口通常是為基于腳本編程語言而定義標準接口,可以使用VisualBasic、Delphi、PowerBuilder等編程語言開發(fā)OPC服務器客戶應用。而自定義接口是專門為C++等高級編程語言而制定標準接口。OPC現(xiàn)已成為工業(yè)界系統(tǒng)互聯(lián)缺省方案,為工業(yè)監(jiān)控編程帶來了便利,用戶不用為通訊協(xié)議難題而苦惱。任何一家自動化軟件解決方案提供者,它不能全方位支持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服務器的操作,可以進行其他操作。當OPC服務器完成操作后再通知OPC客戶程序。因此相對于同步通訊,異步通訊的效率更高,適用于多客戶訪問同一OPC服務器和大量數(shù)據(jù)的場合。由于OPC技術的采用,解決了設備驅(qū)動程序開發(fā)中的異構問題。使得可以以更簡單的系統(tǒng)結構、更長的壽命、更低的價格解決工業(yè)控制成為可能。同時現(xiàn)場設備與系統(tǒng)的連接也更加簡單、靈活、方便。因此OPC技術在國內(nèi)的工業(yè)控制領域得到了廣泛的應用,主要應用領域如下:①數(shù)據(jù)采集技術:OPC技術通常在數(shù)據(jù)采集軟件中廣泛應用。現(xiàn)在眾多硬件廠商提供的產(chǎn)品均帶有標準的OPC接口,OPC實現(xiàn)了應用程序和工業(yè)控制設備之間高效、靈活的數(shù)據(jù)讀寫,可以編制符合標準OPC接口的客戶端應用軟件完成數(shù)據(jù)的采集任務;②歷史數(shù)據(jù)訪問:OPC提供了讀取存儲在過程數(shù)據(jù)存檔文件、數(shù)據(jù)庫或遠程終端設備中的歷史數(shù)據(jù)以及對其操作、編輯的方法;③報警和事件處理:OPC提供了OPC服務器發(fā)生異常時,以及OPC服務器設定事件到來時向OPC客戶發(fā)送通知的一種機制,通過使用OPC技術,能夠更好的捕捉控制過程中的各種報警和事件并給予相應的處理;④數(shù)據(jù)冗余技術:工控軟件開發(fā)中,冗余技術是一項最為重要的技術,它是系統(tǒng)長期穩(wěn)定工作的保障。OPC技術的使用可以更加方便的實現(xiàn)軟件冗余,而且具有較好的開放性和可互操作性;⑤遠程數(shù)據(jù)訪問:借助Microsoft 的DCOM(分散式組件對象模型)技術,OPC實現(xiàn)了高性能的遠程數(shù)據(jù)訪問能力,從而使得工業(yè)控制軟件之間的數(shù)據(jù)交換更加方便。
基于COM技術的OPC技術規(guī)范在短短幾年內(nèi)獲得極大的發(fā)展,OPC作為一項逐漸成型的技術已得到國內(nèi)外廠商的高度重視,具備OPC接口己經(jīng)成為工控廠家提高產(chǎn)品市場競爭力的一個先進技術手段,許多公司都在原來產(chǎn)品的基礎上增加了對OPC的支持,這使開發(fā)基于OPC的監(jiān)控系統(tǒng)具有廣闊的應用基礎。由于統(tǒng)一了數(shù)據(jù)訪問的接口,使控制系統(tǒng)進一步走向開放,實現(xiàn)信息的集成和共享,用戶能夠得到更多的方便。OPC技術改變了原有的控制系統(tǒng)模式,給國內(nèi)系統(tǒng)生產(chǎn)廠商提出了一個發(fā)展的機遇和挑戰(zhàn),符合OPC規(guī)范的軟、硬件也已被廣泛應用,給工業(yè)自動化領域帶來了勃勃生機。