OPC 技術的實現 - OPC技術在SCADA系統中的應用
用 OPC 技術實現的 SCADA 系統
OPC 技術的實現包括兩個組成部分,OPC 服務器部分及 OPC 客戶應用部分。OPC 服務器是一典型現場數據源程序,它收集現場設備數據信息,通過標準 OPC 接口傳送給 OPC 客戶端應用。OPC 客戶應用是一典型的數據接收程序,如 HMI、SCADA 等。OPC客戶應用通過 OPC 標準接口與 OPC 服務器通信,獲取 OPC 服務器的各種信息。符合 OPC 標準的客戶應用可訪問來自任何生產廠商的 OPC 服務器程序。
把 OPC 技術運用到 SCADA 系統中,利用 OPC技術開發標準的 OPC 服務器來代替過去的驅動程序,并將各種應用軟件設計成 OPC 的客戶,這樣在 OPC客戶和 OPC 服務器之間進行通信和相互操作。而用戶通過現場總線很容易的將它們集成為完整的自動化系統。并且由于 OPC 規范基于 OLE/COM 技術,同時 OLE/COM 的擴展遠程 OLE 自動化與 DCOM 技術支持 TCP/IP 等多種網絡協議,因此可以將 OPC 客戶、服務器在物理上分開,分布于網絡不同節點上。按照軟件的模塊化設計思想,把數據處理部分作為OPC 數據服務器,協議轉換部分作為 OPC 協議服務器??蛻魬密浖ㄟ^ OPC 提供給客戶的標準接口進行數據訪問,以便對 RTU(遠程終端設備)進行監視和控制。其具體的實現原理如圖 3。
OPC 服務器按照 OPC 數據訪問用戶接口標準(OPC data access custom interface standard)(2.04版) 和 OPC 數據訪問自動化接口(OPC data access automation interface standard)(2.02 版)設計而成。協議處理可選用 Modbus,Lonswork,Jbus 等通信協議設計,并據需要增加不同協議的接口。數據庫用來存放 OPC 服務器從 RTU 中采集的遙測、遙信、電能質量等信號,以及客戶端下達的遙控、遙調信號等??蛻舳说膽贸绦蛲瓿蓴祿?SCADA 處理、圖形分析、報表輸出、事故追憶和報警處理等。工作時,下層的硬件設備按某種通信協議將實時數據傳到服務器的高速緩沖存儲器,協議服務器接到響應信息后進行通信協議的校驗碼校驗,正確后,再按協議數據格式在數據塊中對響應信息解析,去除無用信息后,將所需數據寫入內存。數據處理服務器可以直接讀取內存中的數據,處理后送入數據庫。從而達到實時數據進行采集、監控的要求。另外,OPC 客戶下達的命令,經相應的處理,送入數據庫,由 OPC 數據處理服務器判斷后進行相應的預處理,再進行協議轉換,送入服務器的高速緩沖存儲器,然后通過某種通信協議將命令送至硬件設備
隨著 MIS(管理信息系統)和 GIS(地理信息系統)的發展,SCADA 系統要求與它們結合成功能更強大的系統。SCADA 系統與 MIS,GIS 結合最重要的一點是實現數據共享。傳統的 SCADA 系統與它們結合,需要開發不同的數據接口,系統集成難以保證質量。采用OPC 技術后,結合變得很容易。這里SCADA,GIS,MIS 按 OPC 設計原理設計成 OPC 客戶。借助服務器開發工具,OPC 數據服務器、協議服務器、歷史服務器、報警服務器都很容易實現。根據現實需要,可以把這些服務器整合在一起或分布在不同的網絡節點上,由 OPC 客戶(SCADA,GIS,MIS)以統一的接口訪問。整個原理圖如圖 4。
湖南某電廠廠級實時監視系統項目采用了 OPC技術,實現 SCADA,GIS,MIS 的無縫結合。OPC Server將采集到的實時數據送至本機的 SCADA 建立過程數據庫,同時利用 OPC 采集器將當地 OPC Server 中的實時數據送至歷史數據庫;SCADA 所負責采集和處理的實時遙測、遙信、事項記錄等可為整個系統的所有功能共享,保證了系統從底層的一體化;用戶界面上系統把基于電子地圖的空間查詢、統計、分析、各種圖形顯示等集成在一起,可直接在地理圖上進行調度操作、故障顯示、網絡拓撲動態著色等。真正做到了 SCADA/MIS/GIS 的一體化設計。
OPC 服務器的實現技術
從上述可看出基于 OPC 技術的 SCADA 系統,最主要的實現 OPC 服務器。OPC 服務器定義了兩種標準的 COM 對象,即 OPC Server 、OPC Group 對象。通過實現這兩種標準的 COM 對象及相應接口,完成了 OPC 服務器的開發。目前,OPC 服務器開發工具在國際工業控制領域中使用已相當廣泛,比較著名的供應廠商有 FactorySoft、Softing 等公司,但這些開發工具的價格十分昂貴。以下是一簡單開發工具實例。
?。?) 開發工具初使化 API
BOOL InitServerDLL(HINSTANCE hInstance, CLSID*pCLSID, UINT UpdateRate, CString vendorInfo, CString progId,CString versionId, CString description );
?。?) 注冊與注冊刪除 API
HRESULT RegisterOPC(void);
HRESULT UnRegisterOPC(void);
(3) 啟動/停止 OPC 開發工具 API 及獲取開發工具的運行狀態 API
BOOL StartServerDLL()
BOOL StopServerDLL();
BOOL ServerDLLInUse();
(4) OPC 服務器變量寫值 API
HRESULT WriteCallback( WRITEPROC lpCallback);
(5) 添加及刪除數據變量 API
HANDLE AddTag(CString name,VARIANT value,BOOL readOnly);
BOOL RemoveTag(HANDLE hTag);
(6) 數據變量的更新 API
BOOL UpdateTag(HANDLE handle,VARIANT& var,WORD quality,FILETIME timeStamp);
- 第 1 頁:OPC技術在SCADA系統中的應用
- 第 2 頁:OPC 技術的實現
本文導航
非常好我支持^.^
(44) 100%
不好我反對
(0) 0%
相關閱讀:
- [電子說] 什么是PLC和SCADA?PLC在SCADA系統中的作用 2023-09-22
- [智能電網] 新型電力系統數字技術支撐體系核心內容(SCADA系統設計原則) 2023-08-09
- [電子說] PLC、DCS、SCADA系統通過OPC智能網關與云平臺實時通訊 2023-08-06
- [電子說] 虹科Panorama SCADA審計追蹤功能的應用 2023-07-06
- [電子說] 虹科干貨 | 解決連接到IEEE 1588高可用性網絡的SCADA系統的NTP同步參考問題 2022-12-05
- [電子說] 虹科方案 | 一種通過OPC技術提取數據庫數據的解決方案 2022-09-29
- [電子說] 數據協議處理、視頻協議處理、電氣IO量處理、嵌入式SCADA系統工業控制網關設 2022-08-22
- [電子說] 工業自動化 SCADA系統架構類型 2023-06-19
( 發表人:李倩 )