OPC技術

OPC技術

OPC(OLE for Process Control)技術是指為了給工業控制系統應用程式之間的通信建立一個接口標準,在工業控制設備與控制軟體之間建立統一的數據存取規範。它給工業控制領域提供了一種標準數據訪問機制,將硬體與套用軟體有效地分離開來,是一套與廠商無關的軟體數據交換標準接口和規程,主要解決過程控制系統與其數據源的數據交換問題,可以在各個套用之間提供透明的數據訪問。

基本介紹

  • 中文名:OPC技術
  • 外文名:OLE for Process Control
  • 作用:主要解決過程控制系統與其數據源的數據交換問題
  • 基礎技術:OLE/COM技術
  • 套用:線上數據監測、歷史數據訪問等
  • 所屬領域:自動控制技術
簡述,作用,工作原理,特點,適用範圍,OPC伺服器的組成,接口方式,數據訪問方式,

簡述

OPC是OLE for Process Control的縮寫,即套用於過程控制的OLE
OLE原意是對象連線和嵌入,隨著OLE2的發行,其範圍已遠遠超出了這個概念。現在的OLE包含了許多新的特徵,如統一數據傳輸、結構化存儲和自動化,已經成為獨立於計算機語言作業系統甚至硬體平台的一種規範,是面向對象程式設計概念的進一步推廣。
OPC建立於OLE規範之上,它為工業控制領域提供了一種標準的數據訪問機制。工業控制領域用到大量的現場設備,在OPC出現以前,軟體開發商需要開發大量的驅動程式來連線這些設備。即使硬體供應商在硬體上做了一些小小改動,應用程式也可能需要重寫。同時,由於不同設備甚至同一設備不同單元的驅動程式也有可能不同,軟體開發商很難同時對這些設備進行訪問以最佳化操作。硬體供應商也在嘗試解決這個問題,然而由於不同客戶有著不同的需要、同時也存在著不同的數據傳輸協定,因此也一直沒有完整的解決方案。
自OPC提出以後,這個問題終於得到解決。OPC規範包括OPC伺服器和OPC客戶兩個部分。其實質是在硬體供應商和軟體開發商之間建立一套完整的“規則”。只要遵循這套規則,數據互動對兩者來說都是透明的,硬體供應商只需考慮應用程式的多種需求和傳輸協定,軟體開發商也不必了解硬體的實質和操作過程。

作用

OPC誕生以前,硬體的驅動器和與其連線的應用程式之間的接口沒有統一的標準。如在工廠自動化(Factory Automation,FA)領域,連線PLC等控制設備和SCADALVHMI軟體需要不同的工業自動化網路系統構成。OPC是為了不同供應廠商的設備和應用程式之間的軟體接口標準化,並使其間的數據交換更加簡單化的目的而提出的。它可以向用戶提供不依賴於特定開發語言和開發環境的、可以自由組合使用的過程控制軟體組件產品。OPC系統是由按照應用程式(客戶程式)的要求提供數據採集服務的OPC伺服器,使用OPC伺服器所必需的OPC接口,以及接受服務的OPC應用程式所構成。OPC伺服器是利用各個供應廠商的硬體所開發的,使之可以吸收各個供應廠商硬體和系統的差異,從而實現不依賴於硬體的系統構成。同時利用一種叫VARIANT的數據類型,可以不依賴於硬體中固有的數據類型,按照應用程式的要求提供數據格式。

工作原理

OPC以OLE/COM機製作為應用程式的通信標準,而OLE/COM是一種客戶端/伺服器模式,具有語言無關性、代碼重用性、易於集成性等優點。OPC伺服器中的代碼確定了伺服器所存取的設備和數據、數據項的命名規則和伺服器存取數據的細節,不管現場設備以何種形式存在,客戶都以統一的方式去訪問,從而保證軟體對客戶的透明性,使得用戶完全從低層的開發中脫離出來。客戶應用程式僅須使用標準接口和伺服器通信,而並不需要知道底層的實現細節。通過OPC伺服器,OPC客戶既可以直接讀寫物理VO設備的數據,也可操作SCADA,DCS等系統的連線埠變數(只要該系統提供OPC服務)。

特點

OPC是為了解決套用軟體與各種設備驅動程式的通信而產生的一項工業技術規範和標準。它採用客戶/伺服器體系,基於Microsoft的OLE/COM技術,為硬體廠商和套用軟體開發者提供了一套標準的接口。
綜合起來說,OPC有以下三個特點。
①計算機硬體廠商只需要編寫一套驅動程式就可以滿足不同用戶的需要。硬體供應商只需提供一套符合OPC Server規範的程式組,無需考慮工程人員需求。
②應用程式開發者只需編寫一個接口程式便可以連線不同的設備。軟體開發商無需重寫大量的設備驅動程式。
③工程人員在設備選型上有了更多的選擇。對於最終用戶而言,可以根據實際情況的不同,選擇符合實際的設備。
OPC擴展了設備的概念。只要符合OPC伺服器的規範,OPC客戶都可與之進行數據互動,而無需了解設備究竟是PLC還是智慧型儀表,甚至只要在資料庫系統上建立了OPC規範,OPC客戶就可與之方便地實現數據互動。
OPC把硬體廠商和套用軟體開發者分離開來,使得雙方的工作效率都有了很大的提高,因此OPC在短時間內取得了飛速的發展。

適用範圍

開發OPC的最終目標是在工業控制領域建立一套數據傳輸規範,現有的OPC規範涉及以下五個領域。
①線上數據監測。OPC實現了應用程式和工業控制設備之間高效、靈活的數據讀寫。
②報警和事件處理。OPC提供了OPC伺服器發生異常時以及OPC伺服器設定事件到來時,向OPC客戶傳送通知的一種機制。
③歷史數據訪問。OPC實現了對歷史資料庫的讀取、操作和編輯。
④遠程數據訪問。藉助Microsoft的DCOM(Distributed Component Object Model)技術,OPC實現了高性能的遠程數據訪問能力。
⑤OPC實現的功能還包括安全性、批處理和歷史報警事件數據訪問等。

OPC伺服器的組成

OPC伺服器由三類對象組成,相當於三種層次上的接口:伺服器、組對象和數據項。
①伺服器對象包含伺服器的所有信息,同時也是組對象的容器。一個伺服器對應於一個OPC伺服器,即一種設備的驅動程式。在一個伺服器中,可以有若干個組。
②組對象包含本組的所有信息,同時包含並管理OPC數據項。OPC組對象為客戶提供了組織數據的一種方法。組是應用程式組織數據的一個單位,客戶可對其進行讀寫,還可設定客戶端的數據更新速率。當伺服器緩衝區內數據發生改變時,OPC伺服器將向客戶發出通知,客戶得到通知後再進行必要的處理,而無需浪費大量的時間進行查詢。OPC規範定義了兩種組對象:公共組(或稱全局組,public)和局部組(或稱局域組、私有組,local)。公共組由多個客戶共有,局域組只隸屬於一個OPC客戶。全局組對所有連線在伺服器上的應用程式都有效、而局域組只能對建立它的Client有效。一般說來,客戶和伺服器的一對連線只需要定義一個組對象。在一個組中,可以有若干個數據項。
③數據項是讀寫數據的最小邏輯單位,一個數據項與一個具體的位號相連。數據項不能獨立於組存在,必須隸屬於某一個組。在每個組對象中,客戶可以加入多個OPC數據項。
OPC數據項是伺服器端定義的對象,通常指向設備的一個暫存器單元。OPC客戶對設備暫存器的操作都是通過其數據項來完成的。通過定義數據項,OPC規範儘可能地隱藏了設備的特殊信息,也使OPC伺服器的通用性大大增強。OPC數據項並不提供對外接口,客戶不能直接對其進行操作,所有操作都是通過組對象進行的。
應用程式作為OPC接口中的Client方,硬體驅動程式作為OPC接口中的伺服器方,每一個OPC Client應用程式都可以連線若干個OPC伺服器,每一個硬體驅動程式可以為若干個應用程式提供數據。

接口方式

OPC規範提供了兩套接口方案,即COM接口和自動化接口。COM接口效率高,通過該接口,客戶能夠發揮OPC伺服器的最佳性能,採用C++語言的客戶一般採用COM接口方案。自動化接口使解釋性語言和宏語言訪問OPC伺服器成為可能,採用VB語言的客戶一般採用自動化接口。自動化接口使解釋性語言和宏語言編寫客戶應用程式變得簡單,然而自動化客戶運行時需進行類型檢查,這一點則大大犧牲了程式的運行速度。
OPC伺服器必須實現COM接口,是否實現自動化接口則取決於供應商的主觀意願。

數據訪問方式

(1)伺服器緩衝區數據和設備數據
OPC伺服器本身就是一個可執行程式,該程式以設定的速率不斷地同物理設備進行數據互動。伺服器內有一個數據緩衝區,其中存有最新的數據值、數據質量截和時間戳。時間戳表明伺服器最近一次從設備讀取數據的時間。伺服器對設備暫存器的讀取是不斷進行的,時間戳也在不斷更新。即使數據值和質量戳都沒有發生變化,時間戳也會進行更新。客戶既可從伺服器緩衝區讀取數據,又可直接從設備讀取數據,從設備直接讀取數據速度會慢一些,一般只有在故障診斷或極特殊的情況下才會採用。
(2)同步和異步
OPC客戶和OPC伺服器進行數據互動可以有兩種不同方式,即同步方式和異步方式。同步方式實現較為簡單,當客戶數目較少而且同伺服器互動的數據量也比較少的時候可以採用這種方式;異步方式實現較為複雜,需要在客戶程式中實現伺服器回調函式。然而當有大量客戶和大量數據互動時,異步方式的效率更高,能夠避免客戶數據請求的阻塞,並可以最大限度地節省CPU和網路資源。

相關詞條

熱門詞條

聯絡我們