siemens x
PLC

基于OPC的實(shí)時(shí)數(shù)據(jù)獲取技術(shù)

2025China.cn   2012年09月19日

引言

  采用opc技術(shù)規(guī)范的產(chǎn)品實(shí)現(xiàn)了工業(yè)自動(dòng)化系統(tǒng)之間的互操作、無縫集成和現(xiàn)場過程控制設(shè)備的即插即用,為這一領(lǐng)域的軟件和硬件生產(chǎn)廠商以及最終用戶帶來了直接和明顯的經(jīng)濟(jì)利益。因此,國內(nèi)工業(yè)自動(dòng)化領(lǐng)域的研究機(jī)構(gòu)和廠家應(yīng)該加強(qiáng)opc技術(shù)應(yīng)用的研究,積極推廣使用具有opc接口標(biāo)準(zhǔn)軟硬件產(chǎn)品,跟上世界先進(jìn)自動(dòng)化技術(shù)的潮流。

 

1 簡介

  組態(tài)軟件通過i/o驅(qū)動(dòng)程序從現(xiàn)場i/o設(shè)備獲得實(shí)時(shí)數(shù)據(jù),對數(shù)據(jù)進(jìn)行必要的處理后,一方面以圖形方式直觀地顯示在計(jì)算機(jī)屏幕上,另一方面按照組態(tài)要求和操作人員的指令將控制數(shù)據(jù)送給i/o設(shè)備,對執(zhí)行機(jī)構(gòu)實(shí)施控制或調(diào)整控制參數(shù)[1,2]。

  目前,企業(yè)辦公自動(dòng)化已經(jīng)基本普及,windows操作平臺(tái)以及微軟的com/dcom/ole技術(shù)已成為應(yīng)用軟件之間通信的事實(shí)上的標(biāo)準(zhǔn)。在生產(chǎn)控制領(lǐng)域,dcs、scada、plc等技術(shù)已經(jīng)成熟,各種現(xiàn)場總線標(biāo)準(zhǔn)正在迅速推廣。但是,管控一體化存在一個(gè)嚴(yán)重的制約因素,即現(xiàn)場設(shè)備與應(yīng)用軟件之間難以實(shí)現(xiàn)開放的、無縫隙的連接。

  在生產(chǎn)現(xiàn)場,存在著大量控制器和現(xiàn)場數(shù)字設(shè)備,這些設(shè)備來自不同的制造商,遵從不同的通訊標(biāo)準(zhǔn),只能組成各自的控制系統(tǒng),與特定的應(yīng)用軟件通訊。雖然某些網(wǎng)絡(luò)之間可通過協(xié)議轉(zhuǎn)換實(shí)現(xiàn)互聯(lián),但并不具有普遍性。

  傳統(tǒng)的過程控制系統(tǒng)中,為使每一個(gè)應(yīng)用程序與設(shè)備交換信息,必須為每個(gè)設(shè)備提供相應(yīng)的驅(qū)動(dòng)程序,在數(shù)據(jù)源與客戶程序之間分別建立一對一的驅(qū)動(dòng)連接,如圖1所示。

  由于設(shè)備多樣性和驅(qū)動(dòng)程序不兼容性,這種方式存在以下缺陷:

  (1)應(yīng)用程序開發(fā)者必須花費(fèi)大量精力開發(fā)各種設(shè)備的驅(qū)動(dòng)接口,計(jì)算機(jī)硬件廠家要為不同的應(yīng)用軟件編寫不同的驅(qū)動(dòng)程序,這種程序可復(fù)用程度低,不符合軟件工程的發(fā)展趨勢,典型的高級語言軟件開發(fā)過程約有25~30%的時(shí)間用于編寫這類接口,使開發(fā)時(shí)間和費(fèi)用大大增加;

 ?。?) 設(shè)備不具有互操作性,使用中硬件的升級、變更和增加都可能造成驅(qū)動(dòng)程序的變化,從而在維護(hù)過程中引起二次投資;

 ?。?) 由于每一驅(qū)動(dòng)軟件有各自的驅(qū)動(dòng)程序,當(dāng)多個(gè)應(yīng)用軟件讀取同一數(shù)據(jù)源時(shí),經(jīng)常生沖突;

 ?。?) 設(shè)備廠商雖然可能提供驅(qū)動(dòng)程序,但與用戶開發(fā)應(yīng)用軟件往往不一致,限制了用戶對軟件和設(shè)備的自由選擇。

  可見,在現(xiàn)場設(shè)備與應(yīng)用軟件之間提供標(biāo)準(zhǔn)的接口,實(shí)現(xiàn)開放的、無縫隙的連接,是順利推進(jìn)企業(yè)管控一體化的關(guān)鍵。為此,在微軟的倡導(dǎo)下,世界范圍內(nèi)處于主導(dǎo)地位的硬件和軟件開發(fā)商組成了opc基金會(huì)組織(opc fondation),制定硬件和應(yīng)用軟件之間的接口標(biāo)準(zhǔn)-opc規(guī)范。文章對有關(guān)問題作如下簡要討論。

 

[DividePage:NextPage]

 

2 opc產(chǎn)生的背景

  opc(ole for process control)即用于過程控制領(lǐng)域的對象鏈接和嵌入技術(shù),這一概念是由fisher rosemount公司1995年首次提出的,它借用了微軟的ole(object linking and embedding)和com(component object model)/dcom( distributed component object model )技術(shù),并應(yīng)用于過程控制中。它為過程控制和工業(yè)自動(dòng)化領(lǐng)域提供了一套標(biāo)準(zhǔn)的接口、屬性和方法,是實(shí)現(xiàn)控制系統(tǒng)現(xiàn)場設(shè)備與過程監(jiān)控級進(jìn)行信息互連,實(shí)現(xiàn)控制系統(tǒng)開放性的關(guān)鍵技術(shù)[4,5]。

  提出opc技術(shù)最初是為了解決應(yīng)用軟件與各種設(shè)備驅(qū)動(dòng)程序的通信問題,簡化系統(tǒng)的i/o驅(qū)動(dòng)開發(fā)方式。沒有采用opc技術(shù)以前,對一個(gè)有m種應(yīng)用程序、n種設(shè)備的系統(tǒng),共需開發(fā)m×n個(gè)驅(qū)動(dòng)程序,而opc采用客戶/服務(wù)器體系,為服務(wù)器與客戶程序的鏈接提供統(tǒng)一、標(biāo)準(zhǔn)的接口規(guī)范。采用了opc技術(shù)以后,只需要開發(fā)m+n個(gè)與opc的接口,如圖2所示。

  正是opc的這種數(shù)據(jù)訪問特點(diǎn)使得使用opc技術(shù)有很大的技術(shù)優(yōu)勢和經(jīng)濟(jì)優(yōu)勢。它的優(yōu)點(diǎn)概括起來大致有以下3個(gè)方面:開放性(openness)、高生產(chǎn)率(productivity)、和“即插即用”的可連接性(connectivity),因此可以說opc=openness+productivity+connectivity。

3 opc的應(yīng)用模式及意義

  現(xiàn)在opc技術(shù)的發(fā)展已經(jīng)超出了原來取代驅(qū)動(dòng)程序的初衷,而成為微軟公司的制造業(yè)分布式網(wǎng)間應(yīng)用程序體系結(jié)構(gòu)(dna-m,distributed internet application architecture for manufacturing)的核心,如圖3所示。

  在這個(gè)體系結(jié)構(gòu)中,作為核心的opc就相當(dāng)于一塊軟件“主板”,它能夠直接連接現(xiàn)場的plc、工業(yè)控制網(wǎng)絡(luò)、數(shù)據(jù)采集和windowsce設(shè)備,通過快速有效的方式從現(xiàn)場獲取實(shí)時(shí)數(shù)據(jù)。pc機(jī)內(nèi)的各種監(jiān)視應(yīng)用、控制應(yīng)用、管理應(yīng)用等則像是插在opc主板上的軟件“芯片”,這些芯片之間按照opc協(xié)議進(jìn)行通信,它們可以通過opc獲取現(xiàn)場的實(shí)時(shí)數(shù)據(jù),也可以通過opc彼此交換信息。所以opc為企業(yè)內(nèi)部的信息交換提供了一個(gè)開放平臺(tái)。任何應(yīng)用軟件只要能夠支持opc接口就可以插入這塊opc主板,就像是將芯片插入到計(jì)算機(jī)主板中一樣,只要芯片的管腳和協(xié)議遵從主板的要求,它就可以即插即用。

  綜合而言,采用opc技術(shù)的意義在于:

 ?。?) 計(jì)算機(jī)硬件廠家只需要編寫一套驅(qū)動(dòng)程序、提供一套符合opc serve規(guī)范的程序組就可以滿足不同用戶的需要;

 ?。?) 對于一個(gè)應(yīng)用程序,開發(fā)者只需要編寫一個(gè)驅(qū)動(dòng)接口,設(shè)備便可以連接不同的設(shè)備,軟件開發(fā)商無需為硬件特性的修改或增加而重寫驅(qū)動(dòng)程序;

 

[DividePage:NextPage]

 

  (3) 用戶在開發(fā)集成制造系統(tǒng)時(shí)有了更多的軟件和設(shè)備選擇余地。

  在現(xiàn)場總線應(yīng)用方面,opc技術(shù)作為實(shí)現(xiàn)控制系統(tǒng)現(xiàn)場設(shè)備層與過程監(jiān)控層進(jìn)行信息交互,是實(shí)現(xiàn)控制系統(tǒng)開放性的關(guān)鍵技術(shù),其應(yīng)用模式如圖4所示。

  有了opc作為通用接口就可以把現(xiàn)場信號與scada上位監(jiān)控軟件、hmi人機(jī)界面軟件方便地鏈接起來,還可以把它們與pc機(jī)的某些通用開發(fā)平臺(tái)和應(yīng)用軟件平臺(tái)鏈接起來,如:vb、vc、c++、excel、access等。這幾部分的信號傳遞關(guān)系如圖5所示。

  opc開發(fā)的目的是為了給工業(yè)控制系統(tǒng)應(yīng)用程序之間的通訊建立一個(gè)接口標(biāo)準(zhǔn),在工業(yè)控制設(shè)備與控制軟件之間建立統(tǒng)一的數(shù)據(jù)存取規(guī)范,這個(gè)接口規(guī)范不但能夠應(yīng)用于單臺(tái)計(jì)算機(jī)內(nèi)部,而且可以支持網(wǎng)絡(luò)上分布式應(yīng)用程序之間通訊,以及不同平臺(tái)上應(yīng)用程序間的通訊。opc的基礎(chǔ)-微軟的ole/com及dcom技術(shù)完全支持上述分布式應(yīng)用和異構(gòu)環(huán)境下應(yīng)用的無縫集成。opc服務(wù)器在企業(yè)信息系統(tǒng)中的作用表現(xiàn)為,opc服務(wù)器在底層控制系統(tǒng)中采用統(tǒng)一標(biāo)準(zhǔn),實(shí)現(xiàn)了應(yīng)用程序與現(xiàn)場設(shè)備的有效連接,發(fā)揮了橋梁作用,促進(jìn)了企業(yè)現(xiàn)場控制層和過程監(jiān)控層、生產(chǎn)管理層以及經(jīng)營決策層的集成。opc服務(wù)器在企業(yè)信息系統(tǒng)內(nèi)的作用如圖6所示。

4 opc的技術(shù)本質(zhì)-com/dcom技術(shù)

  隨著計(jì)算機(jī)軟件科學(xué)的發(fā)展,應(yīng)用系統(tǒng)功能日趨復(fù)雜,程序愈加龐大,軟件開發(fā)的難度也更大。為此,需要將應(yīng)用程序化分為多個(gè)功能獨(dú)立的模塊,由各模塊協(xié)同完成實(shí)際的任務(wù)。這些模塊被稱為組件,它們可以被進(jìn)行單獨(dú)設(shè)計(jì)、編輯和調(diào)試,因此具有開放性、易升性、易維護(hù)等優(yōu)點(diǎn)。

  com(component object model)—組件對象模型,是由微軟公司提出的編程模型,其設(shè)計(jì)目的是提高軟件組態(tài)之間的互操作性并提高代碼的可復(fù)用能力。com標(biāo)準(zhǔn)包括規(guī)范和實(shí)現(xiàn)兩大部分,規(guī)范部分定義了組件之間通信的機(jī)制,這些規(guī)范不依賴于任何特定的語言和操作系統(tǒng),具有語言無關(guān)性;com標(biāo)準(zhǔn)的實(shí)現(xiàn)部分是com庫,com庫為com規(guī)范的具體實(shí)現(xiàn)提供了一些核心服務(wù)。由于com以客戶/服務(wù)器模型為基礎(chǔ),因此具有良好的穩(wěn)定性和很強(qiáng)的擴(kuò)展能力。在com模型中,軟件的功能被分解為一些組件,這些組件通過com協(xié)議在一定條件下連接起來,實(shí)現(xiàn)相應(yīng)的功能。一般來說,com對象可分為客戶端和服務(wù)器兩類,客戶端通過com接口實(shí)現(xiàn)對服務(wù)器的訪問。

  dcom(distributed component object model)—分布式組件對象模型是建立在com之上的一種規(guī)范和服務(wù),提供了一種使com組件加入網(wǎng)絡(luò)環(huán)境的透明網(wǎng)絡(luò)協(xié)議,實(shí)現(xiàn)了在分布式計(jì)算環(huán)境下不同進(jìn)程之間的通信與協(xié)作。

  客戶程序和com組件程序進(jìn)行交互的實(shí)體是com對象。com對象類似c++中的對象的概念,它是某個(gè)類(class)的一個(gè)實(shí)例,包括一組邏輯相關(guān)函數(shù)的集合。客戶程序必須通過接口才能獲得com對象的服務(wù)。

 

[DividePage:NextPage]

 

  基于上述技術(shù),opc技術(shù)具有如下特點(diǎn):

  (1) 客戶/服務(wù)器結(jié)構(gòu),端組件之間的通信由com/dcom提供底層支持,使底層的通信過程對客戶端和服務(wù)器透明;

 ?。?) 標(biāo)準(zhǔn)的訪問接口,接口標(biāo)準(zhǔn)由opc基金會(huì)提供;

 ?。?)高速可靠的數(shù)據(jù)通信,對于本地服務(wù)器的訪問,如果采用奔騰p233cpu,典型的速度為每秒5000個(gè)數(shù)據(jù)項(xiàng),此時(shí)客戶端和服務(wù)器的總cpu負(fù)載為8%;

 ?。?) 可實(shí)現(xiàn)遠(yuǎn)程通信,由于應(yīng)用微軟的dcom(分布式組件對象模型)技術(shù),opc可以方便地進(jìn)行遠(yuǎn)程通信。

5 opc的接口方式

  opc規(guī)范提供了2套接口方案,即自定義接口(custom interface)和自動(dòng)化接口(automation interface)。自定義接口是一組com接口,可以通過c/c++來進(jìn)行開發(fā)的訪問。opc基金會(huì)提供了標(biāo)準(zhǔn)的接口函數(shù),但對于服務(wù)器端的開發(fā),在不改動(dòng)原有接口函數(shù)的基礎(chǔ)上,也可以增加一些函數(shù)來擴(kuò)展功能。自動(dòng)化接口是對自定義進(jìn)一步封裝,實(shí)際上是屏蔽了自定義的接口虛函數(shù)表,使自定義com接口轉(zhuǎn)換為自動(dòng)化的ole接口。

  這兩種接口的關(guān)系如圖7所示。對于服務(wù)器端開發(fā),opc技術(shù)規(guī)范規(guī)定opc服務(wù)器必須提供自定義接口,而自動(dòng)化接口可以有選擇地提供。對于客戶端開發(fā),可以選擇訪問兩種接口的任意一種。一般來說,自定義接口的功能比較強(qiáng)大,需要掌握com技術(shù),而自動(dòng)化接口的開發(fā)比較容易,缺點(diǎn)是易受接口本身功能的限制。

  opc服務(wù)器對象被分為3層結(jié)構(gòu):服務(wù)器對象(sever)、組(group)和項(xiàng)(item)。server是group的容器,group是item的容器。opc規(guī)范定義了com接口,規(guī)定了服務(wù)器程序和客戶程序通過接口交互的標(biāo)準(zhǔn),但并沒有說明具體實(shí)現(xiàn)的方法。opc服務(wù)商必須根據(jù)各自硬件特性實(shí)現(xiàn)這些接口的成員函數(shù)。不論定制接口還是自動(dòng)化接口都可分為必選接口和可選接口。必選接口包括了客戶程序與服務(wù)器進(jìn)行交換的最基本功能;可選接口則規(guī)定了一些額外的高級功能,可根據(jù)需要有選擇地實(shí)現(xiàn)??蛻舫绦驊?yīng)通過查詢接口的方式來判斷服務(wù)器程序是否實(shí)現(xiàn)了可選接口的功能。

6 結(jié)束語

  采用opc技術(shù)規(guī)范的產(chǎn)品實(shí)現(xiàn)了工業(yè)自動(dòng)化系統(tǒng)之間的互操作、無縫集成和現(xiàn)場過程控制設(shè)備的即插即用,為這一領(lǐng)域的軟件和硬件生產(chǎn)廠商以及最終用戶帶來了直接和明顯的經(jīng)濟(jì)利益。因此,國內(nèi)工業(yè)自動(dòng)化領(lǐng)域的研究機(jī)構(gòu)和廠家應(yīng)該加強(qiáng)opc技術(shù)應(yīng)用的研究,積極推廣使用具有opc接口標(biāo)準(zhǔn)軟硬件產(chǎn)品,跟上世界先進(jìn)自動(dòng)化技術(shù)的潮流。

 

(轉(zhuǎn)載)

標(biāo)簽:OPC 實(shí)時(shí)數(shù)據(jù) 我要反饋 
2024世界人工智能大會(huì)專題
即刻點(diǎn)擊并下載ABB資料,好禮贏不停~
優(yōu)傲機(jī)器人下載中心
西克
2024全景工博會(huì)
專題報(bào)道