跳到主要內容

深入淺出! OPC協定Hard lessons made easy! OPC protocol

深入淺出! OPC協定  Hard lessons made easy! OPC protocol


●起源

在1990年代的工業製造領域, 多種廠牌的機器設備勤奮的工作著, 廠家各自依自己設計的軟體運作, 尤其是資料及通訊方面, 百家爭鳴, 許多互不相容, 造成監控困難, 上層的製造執行系統( MES )、監控管理系統, 需耗費相當大的成本, 才能連接各種軟硬體設施, 甚至有些無法連結上, 僅能臨機操作.





為改善此一困境, 微軟( Microsoft )公司, 以自家Windows的DDE, COM, DCOM為基礎, 建立OPC ( OLE for Process Control )通訊協定之規範, 遵循此規範的軟硬體, 便可相互連結流通資料, 解決不相容問題, OPC就此誕生.





●OPC DA 是什麼?

應工業監控而生的OPC, 有著快速、穩定、安全等等特性, OPC規範標準由OPC基金會( OPC Foundation )開發及維護.
最初始的OPC規範就是 "OPC Data Access", 簡稱 "OPC DA", 規範包含:
▲ OPC server/client中的資料定義, 需定義資料的空間位址( address ).
▲ 可供瀏覽、讀取、寫入, 以及訂閱數值更新的通知.
▲ 資料傳輸必須包含名稱( name )、資料型態( data type )、數值( value )、時間( timestamp )、資料品質( quality )、等等訊息.

OPC DA的基礎架構分為server端與client端, Server負責與機器設備連接, 讀寫底層資料, Client則與server連接, 將server中的資料呈現給使用者, 並將使用者下達的指令傳給server, 例如讀寫指令.

OPC DA從1996年便開始, 已長久深入工業領域, 平常我們所稱呼的OPC, 大多是指OPC DA, 經過悠久歷史, 近乎所有工業監控系統都有它存在, 為工業自動化打下良好基礎.




●OPC UA是什麼?

在OPC DA運用了約10多年後, 嶄新的OPC UA ( Unified Architecture )協定加入, OPC UA同樣為OPC基金會所研發制定, 解除了OPC DA局限於Windows COM/DCOM技術的限制, 改以http為基礎而發展.

UA的特點除了繼承DA優點外, 在安全、功能、跨平台等等方面, 皆有相當大幅度進步:
▲ 支援嵌入式系統、微處理器平台.
▲ 支援https加密、憑證授權、session加密.
▲ 可直接瀏覽到本機或遠端網路的UA server.
▲ 資料以階層結構表示, 便於瀏覽資料.
▲ 支援 "訂閱" 模式, client端向server訂閱, 數值更新時通知.
▲ 跨平台: PC、PLC、ARM、Windows、Apple OS、Linux、Android.

OPC UA的基礎架構分為server端與client端, Server負責與機器設備連接, 讀寫底層資料, Client則與server連接, 將server中的資料呈現給使用者, 並將使用者下達的指令傳給server, 例如讀寫指令.





●OPC HDA是什麼?

OPC規範中, DA及UA是最多人知悉使用的, 除此外還有OPC HDA及OPC AE, 這兩樣較少有人注意.

OPC DA傳輸的是 "實時" 資料, 也就是當下產生的數值, 那麼如果要取得過往的舊資料呢? OPC HDA ( Historical Data Access ) 便是負責歷史資料的規範, HDA將資料以DA的格式儲存起來, 該格式指得是資料屬性, 如名稱、資料型態、數值、時間、資料品質, HDA特性是簡明、速度極快、檔案小, 常應用在趨勢圖繪製, 以及模擬當下機器設備運作狀況, 有別於常見的資料庫, OPC HDA是專精於工業領域的資料庫.




●OPC AE是什麼?

OPC DA及UA協助我們完成讀寫資料, 另一項重要的是數值 "監控", 我們需要在數值到達指定條件時, 能自動發出警報, 以及產線發生某些事件時, 能自動發出通報, 例如, 當某數值大於10時, 發出警報, 警報中包含數值、時間、詳細訊息等等, OPC AE ( Alarm and Event )便為此而生.

OPC AE明確的定義出警報及事件格式, 以及多重條件、警報確認等等, OPC AE的運作分成server及client端, Server端負責監測並發出警報, Client端負責接收警報並供使用者瀏覽, 其中server僅負責發出, 無法查看警報, Client則僅接收及查看警報, 無法監測數值, 一個Server可讓多個client連接.





●我們還需要認識 "Tag"

珍珠奶茶裝在杯子裡, 雞排放在紙袋裡, OPC的資料就放在tag裡.
在OPC中, 我們將資料儲存在 "tag", 中文叫 "點位", 少部分會稱作 "item", tag可存放的資料包含點名稱 ( Tag Name )、位址 (Address)、資料型態 (Data Type)、數值 (value)、時間戳記 (timestamp)、資料品質 (Quality)等等.

以modbus通訊的設備為例, 設備中測量溫度的modbus位址是40090, 我們便稱呼這是設備中的一個tag, tag name是溫度, address是40090.
當OPC server與此設備連接, 並將tag資料讀取進來後, 這個溫度的資料在OPC server中也稱呼為tag.

簡言之, tag就是OPC儲存資料的一個單位, 相當於資料庫中的一個row data, 也類似倉庫中的一個儲藏位置.


●搭配結合

對於OPC各種規範有了基本認識後, 我們將這些規範結合起來, 形成一個基本的OPC系統架構, 其中OPC server負責與機器連接, 對機器進行讀寫資料, OPC client向server下指令, 例如讀寫資料的指令, 並將資料呈現給使用者, 提供介面給使用者操作.




由此基礎架構開始, 並與SCADA、MES、ERP、DB等等, 互相連接搭配, 形成在工業自動化監控, 邁入工業4.0以及智慧製造的堅實基礎.

--- 壹年資訊 - OPC 建置專家 ---
侯奕年 Derek Hou
derekhou@oneyear.url.tw
0932-832-233

Line ID:oneyear
Skype ID:live:swallowtail233
Skype 對話:https://join.skype.com/invite/nadDmvb53SIF
壹年官網:www.oneyear.url.tw
壹年OPC技術教學:oneyearsoftware.blogspot.com

有任何問題, 我們一起解決!

留言

這個網誌中的熱門文章

OPC DA client 與 server 連接設定, 完全教學! (使用 TOP Server)

OPC DA client 與 server 連接設定,  完全教學!   (使用 TOP Server) 本文將詳細示範如何使用 OPC server 的 OPC DA client 功能, 與其他 OPC DA server 連接, 瀏覽 OPC DA server 中的 tag, 並讀取及寫入 tag 數值, 請參考此架構圖.    使用的 OPC DA client 軟體為 "TOP Server ", DA server 軟體為 "KEPServer", 也可 連接其他 OPC DA server, 例如 GE iFix、 Siemens OPC Server、 Honeywell EBI、 Wonderware InTouch、 Cogent DataHub 等等.  開始囉!  ●建立新專案, 建立 channel.  開啟 TOP Server 的 Configuration, 點擊左上方的 "New Project" 按鈕, 新建一個專 案.  在左方樹狀圖的 "Connectivity" 中, 點擊 "Click to add a channel", 會出現 "Add  Channel" 視窗.  ●選擇 driver.  出現 "Add Channel" 視窗後, 第一步需選擇 Driver, 在選單中選擇 "OPC DA Client",  點擊下一步按鈕.  ●設定 channel 名稱.  在 Name 輸入您欲使用的 channel 名稱, 本範例使用預設值 "Channel1", 點擊下一步 按鈕.  ●在 Optimization Method 選擇 "Write Only Latest Value for All Tags", 在 Duty  Cycle 輸入 "10", 點擊下一步按鈕. ●點擊 "Select Server" 按鈕, 會出現 "S

6分鐘認識 OPC, OPC Server

● 什麼 是OPC ?  OPC是工業常見的 " 通訊協定 " , 用來傳輸設備資料, 達到監控, 蒐集資料的目的, 例如, 圖控軟體(SCADA, HMI), 常透過OPC與OPC Server連接, 來監看, 以及控制產線狀況, 如此圖, ● 什麼是OPC Server ? OPC Server的功能, 主要分為兩個方向, " 向下 ", 以及 " 向上 ". ◎ 向下 向下, 便是資料的來源, 也就是與設備 ( 如三菱PLC控制器 ) 連接, 將資料讀取出來, 以及將資料寫入設備, 除了PLC外, OPC Server也可透過各種協定, 連接不同設備, 以"TOP Server"為例, 可連接Modbus, 資料庫, 控制器, 電表, 流量計, 感應器, 等等, 如此圖, ◎  向上 向上, 有各種應用, 例如連接圖控(SCADA, HMI), 可監控設備及產線;  連接資料庫, 可將數據儲存下來,  以"TOP Server"為例, 包含下列功能:         ◆  連接圖控 ( iFix, InTouch, Win CC ,ThingWorx )          ◆  連接資料庫 ( MSSQL, MySQL, Oracle )          ◆  物聯網IoT ( MQTT )         ◆   數值計算, Machine to Machine ( M2M )         ◆  OPC HD A, OPC Alarm & Event ●架構 如前所述, 上與下的結合, 須由OPC Server為核心, 居中連接, 處理各種應用,  形成一個基本的OPC架構. 更詳細的OPC介紹及應用, 請參考 壹年資訊 網站, 以及此篇 深入淺出! OPC 協定 . OPC架構圖: --- 壹年資訊 - OPC 建置專家 --- www.oneyear.url.tw 侯奕年 Derek Hou derekhou@oneyear.url.tw 0932 - 832 - 233 Line ID:oneyear Skype ID:liv