2013年5月30日 星期四

什麼是OPC?

OPC 發展至經已經有15~6年的歷史了,主要被應用在工業自動化(industrial automation)上。

OPC 在一開始的定義是 OLE for Process Control。亦即採用OLE技術(Windows COM/DCOM) 
完成對硬體裝置的通訊控制。其最初的構想是想要定義一個統一的軟體介面,來存取各家硬體廠的IO裝置。

因為開發 I/O devices 的廠商很多,每家廠商都有自行開發的 device driver, 來存取自家的硬體裝置。然而這對系統廠或整合商來說就很麻蠻,必須要去學習各家的操作方式。

OPC 定義了一系列標準的軟體介面。系統廠可以透過這一系列的標準介面撰寫控制程(OPC Client),若要換或整合不同廠商的硬體,只要該廠商有提供此一標準介面(OPC server)即可。

又因為是採用OLE(COM/DCOM)技術來實作此介面,所以OPC只能在運用在Windows作業系統之上。

** 隨著時間的前進,OPC也與時俱進 **
到2006年 OPC 協會定義 OPC為 "OPC is open connectivity via open standards.", 是一系列的開放標準應用於通訊上。這一系列的標準如下面所列。其中,第一項是最早的OPC spec. 後面都是後來發展出來的。 
  OPC Data Access (這是最早的OPC spec.)
  OPC Alarms & Events
  OPC Batch
  OPC Data eXchange
  OPC Historical Data Access
  OPC Security
  OPC XML-DA
  OPC Complex Data
  OPC Commands
  OPC Unified Architecture (cross-platform capability)

甚至是最後一項新的Spec. 是定義跨平台的,已不單單只是運用在Windows上了。
在Wiki上查到現在OPC的定義已更改成:Open Platform Communications

所以OPC 現在所指是"一系列的工業通訊界面",但是大家目前在談的OPC還是比較偏向是 OPC Data aceess (OPC DA) 這個部分。( 因為大家都沒Update 到最新阿~~XD,看了我這篇之後應該要說OPC DA, 這樣就專業了! )

OPC DA 就是包含了大家所熟悉的 OPC Server 和 OPC Client 這兩個部分。
所以硬體廠商如果要提供OPC給客戶,就是必須把OPC DA server 這個部分給實做出來。
而客戶端就可以用OPC DA client來 access 硬體廠商的Hardware devices.


Reference:[1] wiki[2] OPC foundation[3] 淺談OPC Server之開發

沒有留言:

張貼留言