labview的深入探索----OPC系列之基本概念
OPC自從1994年制定標(biāo)準(zhǔn),迄今已經(jīng)10多年了,越來越多設(shè)備制造商和儀器制造商都開始支持OPC了,下面以NI 的OPC 服務(wù)器為例,介紹以下OPC的基本概念和使用方法。
NI的OPC SERVER是WINDOWS 32位應(yīng)用程序,它為PC用戶提供了訪問外部設(shè)備數(shù)據(jù)和信息的通道或者說手段,通過OPC,設(shè)備變成了PC網(wǎng)絡(luò)的一個成員。
OPC的概念
OPC是OLE FOR PROCES CONTROL的英文縮寫,直譯是OLE用于過程控制,OLE是WINDOWS的一個基本概念,是對象嵌入鏈接的縮寫,過程控制實(shí)際是工業(yè)自動化控制的概念,目前,PLC技術(shù)和NC技術(shù)、CAD CAM技術(shù)以及工業(yè)控制總線已經(jīng)成了工業(yè)自動化控制的核心,因此可以說OPC本身就是PC在工業(yè)自動化控制領(lǐng)域的擴(kuò)展。
1994年,世界一些知名的工業(yè)設(shè)備制造商成立了一個專業(yè)組織,宗旨是為各種各樣的工業(yè)設(shè)備指定一個統(tǒng)一的軟件數(shù)據(jù)通訊(不是物理層的通訊)標(biāo)準(zhǔn),這就是后來為大家熟知的OPC。
OPC的一個主要目的是避免PC客戶為工業(yè)設(shè)備開發(fā)通訊驅(qū)動程序,為一個特定設(shè)備開發(fā)驅(qū)動程序是極其復(fù)雜和耗時的,因?yàn)樵O(shè)備千差萬別,硬件接口也是多種多樣的,對于一般的軟件開發(fā)人員是很那作到的,一個更好的辦法是制定一個統(tǒng)一的數(shù)據(jù)訪問標(biāo)準(zhǔn),而硬件驅(qū)動的部分有硬件廠商或者專門OPC開發(fā)人員負(fù)責(zé),這樣,PC用戶就可以依據(jù)這個標(biāo)準(zhǔn),和外部工業(yè)設(shè)備無逢連接,這個數(shù)據(jù)訪問標(biāo)準(zhǔn)就是OPC。
通過OPC,一個PC客戶(OPC客戶)可以訪問多個外部設(shè)備
多個OPC客戶(可能是網(wǎng)絡(luò)上的)可以訪問多個外部設(shè)備
對于OPC CLIENT,OPC SERVER提供了幾個高層對象供CLIENT訪問,分別是SERVER,GROUP和ITMES,這非常類似DDE通訊。
SERVER對象提供的是服務(wù)的有關(guān)信息,同時有是GROUP對象的容器。
GROUP對象提供的性能相似的分類信息,OPC CLIENT可以配置是否允許GROUP和GROUP
組數(shù)據(jù)的更新頻率,同時也提供了如果數(shù)據(jù)訪問失敗的錯誤信息。GROUP同時也是ITEM對象的容器。
ITEM對象是每個特定的數(shù)據(jù)項目,比如可能是設(shè)備一個特定的寄存器。
這是一個典型的分層結(jié)構(gòu),如果我們要訪問一個ITEM,途徑必須是
SERVER----》GRUOP----》ITEM
OPC CLIENT是沒有辦法直接訪問具體的ITEM,這樣有效地實(shí)現(xiàn)了數(shù)據(jù)的封裝。
有兩種形式的OPC GROUP,公有或者私有(也稱做局部),公有可以被所有的OPC CLIENT訪問,私有只能被特定的OPC CLIENT訪問。
每一個GROUP對象都包括多個ITEM對象。
對于每一個具體的ITEM,又由三部分組成,VALUE,QUALITY和TIMESTAMP
VALUE是變體數(shù)據(jù),表示ITEM當(dāng)前值,QUALITY與總線形式有關(guān),TIMESTAMP是時間戳。
雖然OPC主要用于網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)訪問,但是在單機(jī)控制設(shè)備時也經(jīng)常使用。
OPC服務(wù)器的內(nèi)核是COM的DCOM,對于PC CLIENT提供了兩種接口,一種是針對C++客戶,可以直接訪問,速度較快,另外一種是通過AUTOMATION自動化服務(wù)器,這是VB和腳本語言用戶使用的接口,因?yàn)镺PC需要對其進(jìn)行解釋,相對速度較慢。