opc規(guī)范是由世界領(lǐng)先的自動化廠商與微軟合作制定的一項(xiàng)工業(yè)標(biāo)準(zhǔn),它以com/dcom為基礎(chǔ),采用標(biāo)準(zhǔn)的client/server模式,定義了一組com對象及其接口規(guī)范。
opc規(guī)范定義了客戶程序與服務(wù)器程序進(jìn)行交互的方法,但沒有規(guī)定具體實(shí)現(xiàn),opc服務(wù)器可由不同的硬件生產(chǎn)商提供,其代碼決定了服務(wù)器訪問物理設(shè)備的方式、數(shù)據(jù)處理等細(xì)節(jié)。但這些對客戶來說是透明的,只要遵循opc規(guī)范就能讀取服務(wù)器中的數(shù)據(jù),圖9-10表示了opc客戶與服務(wù)器的互聯(lián)模型。opc服務(wù)器相當(dāng)于硬件生產(chǎn)商為其設(shè)備提供的一個標(biāo)準(zhǔn)的驅(qū)動程序??蛻艉头?wù)器之間是多對多的關(guān)系,即一個客戶可同時訪問多個opc服務(wù)器,同時一個opc服務(wù)器也可被多個客戶訪問。圖1示意了客戶與opc服務(wù)器的多對多關(guān)系。利用dcom技術(shù),客戶程序和服務(wù)器程序可以分布在不同的主機(jī)上,形成網(wǎng)絡(luò)化的制造信息系統(tǒng)。
圖1 opc客戶與服務(wù)器的互聯(lián)模型
從圖2可以看出,無論是供應(yīng)商還是最終用戶都可以從opc技術(shù)中獲得巨大的益處。首先,opc技術(shù)把硬件設(shè)備和應(yīng)用軟件有效地分離開,硬件廠商只需提供一套軟件組件,所有的opc客戶程序都可使用這些組件,無需重復(fù)開發(fā)設(shè)備的驅(qū)動程序。一旦硬件升級,只需修改服務(wù)器端的i/o接口部分,無需改動客戶端程序。其次,工控軟件公司只要開發(fā)一套o(hù)pc接口就可采用統(tǒng)一的方式訪問不同硬件廠商的設(shè)備,保證了軟件對客戶的透明性,使用戶完全從底層驅(qū)動的開發(fā)中脫離出來。
圖2 opc客戶、服務(wù)器關(guān)系
負(fù)責(zé)制定opc規(guī)范的組織是opc基金會,它是一個非盈利性的組織。目前,已有會員220余家,世界各主要的工業(yè)自動化儀表、控制系統(tǒng)廠商都是基金會的會員。目前,國內(nèi)很多工控軟、硬件生產(chǎn)商都是基金會會員,如北京華控公司、華富惠通公司。 opc規(guī)范的最初目標(biāo)是盡快制定一個開放、靈活、即插即用的工業(yè)標(biāo)準(zhǔn),因此最初版本側(cè)重于實(shí)時數(shù)據(jù)訪問、報警事件處理、歷史數(shù)據(jù)訪問等方面。安全性、批處理等附加功能在隨后的版本中定義。 自基金會于1996年8月完成最初的opc規(guī)范后,1997年9月發(fā)布了opc規(guī)范1.0a,并更名為數(shù)據(jù)訪問規(guī)范opc da 1.0a;2001年12月發(fā)布了opc da 2.05a。目前opc數(shù)據(jù)訪問規(guī)范的最高版本是于2003年3月發(fā)布的opc da 3.00。數(shù)據(jù)訪問規(guī)范定義了opc服務(wù)器中的一組com對象和接口,并規(guī)定了客戶程序?qū)Ψ?wù)器程序進(jìn)行數(shù)據(jù)訪問時需要遵循的標(biāo)準(zhǔn)。 opc成功解決了企業(yè)范圍內(nèi)同構(gòu)計(jì)算機(jī)間的信息交換問題,但這一互操作性不適用于異構(gòu)計(jì)算機(jī),同時dcom無法穿透防火墻,因而一個企業(yè)的opc客戶無法通過internet直接訪問另一個企業(yè)的opc服務(wù)器。xml因其良好的平臺無關(guān)性、易傳輸性、可靠性逐漸發(fā)展為新一代的標(biāo)準(zhǔn)網(wǎng)絡(luò)語言,基金會緊隨網(wǎng)絡(luò)發(fā)展的最新趨勢,并利用這一新技術(shù)來增強(qiáng)opc技術(shù),使其更適合于internet應(yīng)用。因此,基金會于1999年10月6日宣布基金會將發(fā)布與微軟biztalk體系兼容的xml大綱,定義基于xml的opc接口,從而在現(xiàn)場控制層實(shí)現(xiàn)opc與xml的集成,把internet技術(shù)應(yīng)用到過程控制中。opc與xml的集成可實(shí)現(xiàn)opc的跨平臺性,支持xml的任何平臺都可通過基于xml的opc接口進(jìn)行通訊。