OPC技術
OPC(OLE for Process Control, 用於程序控制的OLE)是一個工業標準,管理這個標準國際組織是OPC基金會,OPC基金會現有會員已超過220家。遍佈全球,包括世界上所有主要的自動化控制系統、儀器儀錶及程序控制系統的公司。 基於微軟的OLE(現在的Active X)、COM (部件物件模型)和DCOM (分散式部件物件模型)技術。OPC包括一整套介面、屬性和方法的標準集,用於程序控制和製造業自動化系統。
中文名
OPC技術
外文名
OLE for Process Control
屬 性
一個工業標準
應 用
資料獲取技術等
目錄
1. 1 簡介
2. ▪ OPC的發展
3. ▪ OLE機制
4. ▪ OPC訪問介面
5. 2 規範
6. ▪ OPC的發展和完善
1. ▪ OLE三層介面
2. ▪ OPC技術規範設計系統
3. 3 應用
4. ▪ 1)資料獲取技術
5. ▪ 2)歷史資料訪問
6. ▪ 3)報警和事件處理
1. ▪ 4)資料冗餘技術
2. ▪ 5)遠端資料訪問
3. 4 工業領域
4. ▪ 解決了設備驅動程式開發中的異構問題
1. ▪ 可作為訪問專有資料庫的中介軟體
2. ▪ 便於集成不同的資料
3. ▪ 使控制軟體能夠與硬體分別設計
OPC全稱是OLE for Process Control,它的出現為基於Windows的應用程式和現場程序控制應用建立了橋樑。在過去,為了存取現場設備的資料資訊,每一個應用軟體發展商都需要編寫專用的介面函數。由於現場設備的種類繁多,且產品的不斷升級,往往給用戶和軟體發展商帶來了巨大的工作負擔。通常這樣也不能滿足工作的實際需要,系統集成商和開發商急切需要一種具有高效性、可靠性、開放性、可互通性的隨插即用的設備驅動程式。在這種情況下,OPC標準應運而生。OPC標準以微軟公司的OLE技術為基礎,它的制定是通過提供一套標準的OLE/COM介面完成的,在OPC技術中使用的是OLE 2技術,OLE標準允許多台微機之間交換文檔、圖形等物件。
COM是Component Object Model的縮寫,是所有OLE機制的基礎。COM是一種為了實現與程式設計語言無關的物件而制定的標準,該標準將Windows下的物件定義為獨立單元,可不受程式限制地訪問這些單元。這種標準可以使兩個應用程式通過物件化介面通訊,而不需要知道對方是如何創建的。例如,使用者可以使用C++語言創建一個Windows物件,它支援一個介面,通過該介面,使用者可以訪問該物件提供的各種功能,用戶可以使用Visual Basic,C,Pascal,Smalltalk或其它語言編寫物件訪問程式。在Windows NT4.0作業系統下,COM規範擴展到可訪問本機以外的其它物件,一個應用程式所使用的物件可分佈在網路上,COM的這個擴展被稱為DCOM(Distributed COM)。
通過DCOM技術和OPC標準,完全可以創建一個開放的、可交互操作的控制系統軟體。OPC採用客戶/伺服器模式,把開發訪問介面的任務放在硬體生產廠家或協力廠商廠家,以OPC伺服器的形式提供給用戶,解決了軟、硬體廠商的矛盾,完成了系統的集成,提高了系統的開放性和可互通性。
OPC伺服器通常支援兩種類型的訪問介面,它們分別為不同的程式設計語言環境提供存取機制。這兩種介面是:自動化介面(Automation interface);自訂介面(Custom interface)。自動化介面通常是為基於腳本程式設計語言而定義的標準介面,可以使用VisualBasic、Delphi、PowerBuilder等程式設計語言開發OPC伺服器的客戶應用。而自訂介面是專門為C++等高級程式設計語言而制定的標準介面。OPC現已成為工業界系統互聯的缺省方案,為工業監控程式設計帶來了便利,用戶不用為通訊協定的難題而苦惱。任何一家自動化軟體解決方案的提供者,如果它不能全方位地支援OPC,則必將被歷史所淘汰。
由OPC Task Force制定的OPC(OLE for Process Control)規範於1996年8月正式誕生了,隨著1997年2月Microsoft公司推出Windows95支援的DCOM技術,1997年9月新成立的OPC Foundation對OPC規範進行修改,增加了資料訪問等一些標準,OPC規範得到了進一步的完善。
“OPC 基於Microsoft公司的 Distributed interNet Application (DNA) 構架和 Component Object Model (COM) 技術的,根據易於擴展性而設計的。OPC規範定義了一個工業標準介面,這個標準使得COM技術適用於程序控制和製造自動化等應用領域。”OPC 基礎委員會主席Dave Rehbein是這樣描述的
OPC是以OLE/COM機制作為應用程式的通訊標準。OLE/COM是一種客戶/伺服器模式,具有語言無關性、代碼重用性、易於集成性等優點。OPC規範了介面函數,不管現場設備以何種形式存在,客戶都以統一的方式去訪問,從而保證軟體對客戶的透明性,使得用戶完全從低層的開發中脫離出來。
應用程式與OPC伺服器之間必須有OPC介面,OPC規範提供了兩套標準介面:Custom標準介面,OLE自動化標準介面。通常在系統設計中採用OLE自動化標準介面。
OLE自動化標準介面,及採用OLE自動化技術進行調用,其技術為上節所述的OLE自動化技術。OLE自動化標準介面定義了以下三層介面,依次呈包含關係。
OPC Server:OPC啟動伺服器,獲得其他物件和服務的起始類,並用於返回OPC Group類對象;
OPC Group:存儲由若干OPC Item組成的Group資訊,並用於返回OPC Item類物件。
OPC Item:存儲具體Item 的定義、資料值、狀態值等資訊。
由於OPC規範基於OLE/COM技術,同時OLE/COM的擴展遠端OLE自動化與DCOM技術支援TCP/IP等多種網路通訊協定,因此可以將OPC客戶、伺服器在物理上分開,分佈於網路不同節點上。
OPC規範可以應用在許多應用程式中,如它們可以應用於從SCADA 或者DCS系統的物理設備中獲取原始資料的最低層,它們同樣可以應用於從SCADA 或者DCS系統中獲取資料到應用程式中。實際上,OPC設計的目的就是從網路上某節點獲取資料。圖4.2.2OPC的客戶/伺服器關係圖同樣描述了OPC在SCADA系統的應用。
在進行新型微機遠動系統的研製中,各個電腦以及各個模組的資料交換應該按照OPC規範進行。這樣做有以下好處:
OPC規範以OLE/DCOM為技術基礎,而OLE/DCOM支援TCP/IP等網路通訊協定,因此可以將各個子系統從物理上分開,分佈於網路的不同節點上。
OPC按照物件導向的原則,將一個應用程式(OPC伺服器)作為一個物件封裝起來,只將介面方法暴露在外面,客戶以統一的方式去調用這個方法,從而保證軟體對客戶的透明性,使得用戶完全從低層的開發中脫離出來。
OPC實現了遠端調用,使得應用程式的分佈與系統硬體的分佈無關,便於系統硬體設定以及,使得系統的應用範圍更廣。
採用OPC規範,便於系統的組態化,將系統複雜性大大簡化,可以大大縮短軟體發展週期,提高軟體運行的可靠性和穩定性,便於系統的升級與維護。
OPC規範了介面函數,不管現場設備以何種形式存在,客戶都以統一的方式去訪問,從而實現系統的開放性,易於實現與其它系統的介面。
由於OPC技術的採用,使得可以以更簡單的系統結構、更長的壽命、更低的價格解決工業控制成為可能。同時現場設備與系統的連接也更加簡單、靈活、方便。因此OPC技術在國內的工業控制領域得到了廣泛的應用,主要應用領域如下:
OPC技術通常在資料獲取軟體中廣泛應用。現在眾多硬體廠商提供的產品均帶有標準的OPC介面,OPC實現了應用程式和工業控制設備之間高效、靈活的資料讀寫,可以編制符合標準OPC介面的用戶端應用軟體完成資料的採集任務。
OPC提供了讀取存儲在過程資料存檔檔、資料庫或遠端終端機設備中的歷史資料以及對其操作、編輯的方法。
OPC提供了OPC伺服器發生異常時,以及OPC伺服器設定事件到來時向OPC客戶發送通知的一種機制,通過使用OPC技術,能夠更好的捕捉控制過程中的各種報警和事件並給予相應的處理。
工控軟體發展中,冗餘技術是一項最為重要的技術,它是系統長期穩定工作的保障。OPC技術的使用可以更加方便的實現軟體冗餘,而且具有較好的開放性和可互通性。
借助Microsoft的DCOM(分散式元件物件模型)技術,OPC實現了高性能的遠端資料訪問能力,從而使得工業控制軟體之間的資料交換更加方便。
OPC技術對工業控制系統的影響及應用是基礎性和革命性的,簡單地說,它的作用主要表現在以下幾個方面:
OPC解決了設備驅動程式開發中的異構問題。隨著電腦技術的不斷發展,用戶需求的不斷提高,以DCS(集散控制系統)為主體的工業控制系統功能日趨強大,結構日益複雜,規模也越來越大,一套工業控制系統往往選用了幾家甚至十幾家不同公司的控制設備或系統集成一個大的系統,但由於缺乏統一的標準,開發商必須對系統的每一種設備都編寫相應的驅動程式,而且,當硬體設備升級、修改時,驅動程式也必須跟隨修改。同時,一個系統中如果運行不同公司的控制軟體,也存在著互衝突的風險。
有了OPC後,由於有了統一的介面標準,硬體廠商只需提供一套符合OPC技術的程式,軟體發展人員也只需編寫一個介面,而使用者可以方便地進行設備的選型和功能的擴充,只要它們提供了OPC支持,所有的資料交換都通過OPC介面進行,而不論連接的控制系統或設備是哪個具體廠商提供。
OPC解決了現場匯流排系統中異構網段之間資料交換的問題。現場匯流排系統仍然存在多種匯流排並存的局面,因此系統集成和異構控制網段之間的資料交換面臨許多困難。有了OPC作為異構網段集成的中介軟體,只要每個總線段提供各自的OPC伺服器,任一OPC用戶端軟體都可以通過一致的OPC介面訪問這些OPC伺服器,從而獲取各個總線段的資料, 並可以很好地實現異構總線段之間的資料交互。而且,當其中某個匯流排的協定版本做了升級,也只需對相對應匯流排的程式作升級修改。
OPC可作為訪問專有資料庫的中介軟體。實際應用中,許多控制軟體都採用專有的即時資料庫或歷史資料庫,這些資料庫由控制軟體的開發商自主開發。對這類資料庫的訪問不像訪問通用資料庫那麼容易,只能通過調用開發商提供的API函數或其它特殊的方式。然而不同開發商提供的API函數是不一樣的,這就帶來和硬體驅動器開發類似的問題:要訪問不同監控軟體的專有資料庫,必須編寫不同的代碼,這樣顯然十分繁瑣。採用OPC則能有效解決這個問題,只要專有資料庫的開發商在提供資料庫的同時也能提供一個訪問該資料庫的OPC伺服器,那麼當用戶要訪問時只需按照OPC規範的要求編寫OPC用戶端程式而無需瞭解該專有資料庫特定的介面要求。
OPC便於集成不同的資料,為控制系統向管理系統升級提供了方便。當前控制系統的趨勢之一就是網路化,控制系統內部採用網路技術,控制系統與控制系統之間也網路連接,組成更大的系統,而且,整個控制系統與企業的管理系統也網路連接,控制系統只是整個企業網的一個子網。在實現這樣的企業網路過程中,OPC也能夠發揮重要作用。在企業的資訊集成,包括現場設備與監控系統之間、監控系統內部各元件之間、監控系統與企業管理系統之間以及監控系統與Internet之間的資訊集成,OPC作為連接件,按一套標準的COM物件、方法和屬性,提供了方便的資訊流通和交換。無論是管理系統還是控制系統,無論是PLC(可程式設計控制器)還是DCS,或者是FCS(現場匯流排控制系統),都可以通過OPC快速可靠的彼此交換資訊。換句話說,OPC是整個企業網路的資料介面規範,所以,OPC提升了控制系統的功能,增強了網路的功能,提高了企業管理的水準。
OPC使控制軟體能夠與硬體分別設計、生產和發展,並有利於獨立的協力廠商軟體供應商產生與發展,從而形成新的社會分工,有更多的競爭機制,為社會提供更多更好的產品。
OPC作為一項逐漸成型的技術已得到國內外廠商的高度重視,許多公司都在原來產品的基礎上增加了對OPC的支援。由於統一了資料訪問的介面,使控制系統進一步走向開放,實現資訊的集成和共用,用戶能夠得到更多的方便。OPC技術改變了原有的控制系統模式,給國內系統生產廠商提出了一個發展的機遇和挑戰,符合OPC規範的軟、硬體也已被廣泛應用,給工業自動化領域帶來了勃勃生機。