OPC技術在SCADA系統(tǒng)中的應用 - 全文
OPC(OLE for Process Control)是微軟公司的對象鏈接和嵌入技術在過程控制方面的應用,為工業(yè)自動化軟件面向?qū)ο蟮拈_發(fā)提供一項統(tǒng)一的標準。OPC的目的是為現(xiàn)場設備或數(shù)據(jù)庫中的大量數(shù)據(jù)源之間的通信提供一種標準的通信機制。
OPC技術是國外幾十年的軟件技術和工業(yè)自動化技術的完美結(jié) 合,凝聚了業(yè)界總結(jié)出的經(jīng)驗和教訓,對OPc的支持,肯定會使自己 的產(chǎn)品上一個檔次,它給工業(yè)控制系統(tǒng)中軟硬件系統(tǒng)的集成帶來了一 場革命,它代表了過程控制系統(tǒng)通信標準的發(fā)展方向
OPC(OLE for process control)作為一種工業(yè)標準,通過OPC標準,不同制造商的設備和應用程序能以統(tǒng)一的方式相互結(jié)合。
目前,工業(yè)控制中的各種儀器、儀表、PLC和單片機系統(tǒng)等都提供了與計算機的通訊協(xié)議,為計算機控制系統(tǒng)的設計提供了極大的方便。但是,由于不同的廠商提供的協(xié)議不同,甚至同一廠商的不同類型設備和計算機通信的協(xié)議也不相同,所以要與這些設備交換數(shù)據(jù),編寫接口程序就比較復雜。近年來,OPC技術的出現(xiàn)很好地解決了這一難題,OPC技術采用開放式數(shù)據(jù)交互,能使來自不同公司的軟硬件組成一個有機的整體。它傳輸可靠,速度快,而且適于大批量數(shù)據(jù)交換,目前已經(jīng)成為工控行業(yè)新的通訊標準,廣泛應用在工控行業(yè)的各個領域。OPC技術完全支 持分布式應用和異構(gòu)環(huán)境下應用程序之間軟件的無縫集成和互操作性,給工業(yè)控制系統(tǒng)應用程序間的通信建立一套符合工業(yè)控制要求的通信接口規(guī)范,使控制軟件可以高效、穩(wěn)定地對硬件設備進行數(shù)據(jù)存取操作,系統(tǒng)應用軟件之間也可以靈活地進行信息交互,極大的提高了控制系統(tǒng)的互操作性和適應性。
SCADA ( Supervisory Control And DataAcquisition)系統(tǒng),即數(shù)據(jù)采集與監(jiān)視控制系統(tǒng),作為生產(chǎn)過程和事物管理自動化最為有效的計算機軟硬件系統(tǒng)之一,大多采用 Client/Server(客戶/服務器)模型。由于開發(fā)商和設備的不同,各種自動化系統(tǒng)都設計了各自不同的接口,這樣不同開發(fā)商設計生產(chǎn)的產(chǎn)品就不能直接相互通信。
隨著 OLE/COM(對象鏈接與嵌入/組件對象模型)和 DCOM(分布式組件對象模型)的產(chǎn)生和發(fā)展,OPC (OLE for Process Control — - 用于過程控制的OLE)成為工業(yè)控制過程中的一個標準,它是許多世界上領先的自動化和軟硬件公司與微軟公司合作的結(jié)晶。這個標準定義了 Microsoft 操作系統(tǒng)下在基于PC 的客戶機之間交換自動化實時數(shù)據(jù)的方法。OPC規(guī)范定義了一個工業(yè)標準接口,這個標準使得 COM技術適用于過程控制和制造自動化等應用領域。OLE/COM 是一種客戶/服務器模式,具有語言無關性、代碼重用性、易于集成性等優(yōu)點。OPC 規(guī)范了接口函數(shù),不管現(xiàn)場設備以何種形式存在,客戶以統(tǒng)一的方式去訪問,從而保證軟件對客戶的透明性。
OPC 技術的優(yōu)勢
傳統(tǒng)的過程控制系統(tǒng)是一對一的系統(tǒng),任何一種HMI(Human Machine Interface)等上位監(jiān)控軟件或其它應用軟件(如趨勢圖軟件、數(shù)據(jù)報表等)在使用某種硬件設備時都需要開發(fā)專用的驅(qū)動程序。每增加一個新的硬件種類,N 個軟件需開發(fā) N 個新的設備驅(qū)動程序。每增加一個軟件,M 類硬件設備需要開發(fā) M個驅(qū)動程序。新增應用軟件或者硬件設備帶來的只會是驅(qū)動程序種類的迅速增長。如圖 1 所示。
基于 OPC 技術的過程控制系統(tǒng)則可以完美地解決傳統(tǒng)方式的上述問題。任何一種設備只需要提供一種驅(qū)動就可以供任何軟件系統(tǒng)使用。每增加 1 個新的應用軟件不需要另外開發(fā)硬件設備的驅(qū)動程序;每增加 1 個新的硬件設備只需要開發(fā) 1 個新設備的驅(qū)動程序。其基本系統(tǒng)結(jié)構(gòu)如圖 2 所示。
用 OPC 技術實現(xiàn)的 SCADA 系統(tǒng)
OPC 技術的實現(xiàn)包括兩個組成部分,OPC 服務器部分及 OPC 客戶應用部分。OPC 服務器是一典型現(xiàn)場數(shù)據(jù)源程序,它收集現(xiàn)場設備數(shù)據(jù)信息,通過標準 OPC 接口傳送給 OPC 客戶端應用。OPC 客戶應用是一典型的數(shù)據(jù)接收程序,如 HMI、SCADA 等。OPC客戶應用通過 OPC 標準接口與 OPC 服務器通信,獲取 OPC 服務器的各種信息。符合 OPC 標準的客戶應用可訪問來自任何生產(chǎn)廠商的 OPC 服務器程序。
把 OPC 技術運用到 SCADA 系統(tǒng)中,利用 OPC技術開發(fā)標準的 OPC 服務器來代替過去的驅(qū)動程序,并將各種應用軟件設計成 OPC 的客戶,這樣在 OPC客戶和 OPC 服務器之間進行通信和相互操作。而用戶通過現(xiàn)場總線很容易的將它們集成為完整的自動化系統(tǒng)。并且由于 OPC 規(guī)范基于 OLE/COM 技術,同時 OLE/COM 的擴展遠程 OLE 自動化與 DCOM 技術支持 TCP/IP 等多種網(wǎng)絡協(xié)議,因此可以將 OPC 客戶、服務器在物理上分開,分布于網(wǎng)絡不同節(jié)點上。按照軟件的模塊化設計思想,把數(shù)據(jù)處理部分作為OPC 數(shù)據(jù)服務器,協(xié)議轉(zhuǎn)換部分作為 OPC 協(xié)議服務器??蛻魬密浖ㄟ^ OPC 提供給客戶的標準接口進行數(shù)據(jù)訪問,以便對 RTU(遠程終端設備)進行監(jiān)視和控制。其具體的實現(xiàn)原理如圖 3。
OPC 服務器按照 OPC 數(shù)據(jù)訪問用戶接口標準(OPC data access custom interface standard)(2.04版) 和 OPC 數(shù)據(jù)訪問自動化接口(OPC data access automation interface standard)(2.02 版)設計而成。協(xié)議處理可選用 Modbus,Lonswork,Jbus 等通信協(xié)議設計,并據(jù)需要增加不同協(xié)議的接口。數(shù)據(jù)庫用來存放 OPC 服務器從 RTU 中采集的遙測、遙信、電能質(zhì)量等信號,以及客戶端下達的遙控、遙調(diào)信號等??蛻舳说膽贸绦蛲瓿蓴?shù)據(jù)的 SCADA 處理、圖形分析、報表輸出、事故追憶和報警處理等。工作時,下層的硬件設備按某種通信協(xié)議將實時數(shù)據(jù)傳到服務器的高速緩沖存儲器,協(xié)議服務器接到響應信息后進行通信協(xié)議的校驗碼校驗,正確后,再按協(xié)議數(shù)據(jù)格式在數(shù)據(jù)塊中對響應信息解析,去除無用信息后,將所需數(shù)據(jù)寫入內(nèi)存。數(shù)據(jù)處理服務器可以直接讀取內(nèi)存中的數(shù)據(jù),處理后送入數(shù)據(jù)庫。從而達到實時數(shù)據(jù)進行采集、監(jiān)控的要求。另外,OPC 客戶下達的命令,經(jīng)相應的處理,送入數(shù)據(jù)庫,由 OPC 數(shù)據(jù)處理服務器判斷后進行相應的預處理,再進行協(xié)議轉(zhuǎn)換,送入服務器的高速緩沖存儲器,然后通過某種通信協(xié)議將命令送至硬件設備
隨著 MIS(管理信息系統(tǒng))和 GIS(地理信息系統(tǒng))的發(fā)展,SCADA 系統(tǒng)要求與它們結(jié)合成功能更強大的系統(tǒng)。SCADA 系統(tǒng)與 MIS,GIS 結(jié)合最重要的一點是實現(xiàn)數(shù)據(jù)共享。傳統(tǒng)的 SCADA 系統(tǒng)與它們結(jié)合,需要開發(fā)不同的數(shù)據(jù)接口,系統(tǒng)集成難以保證質(zhì)量。采用OPC 技術后,結(jié)合變得很容易。這里SCADA,GIS,MIS 按 OPC 設計原理設計成 OPC 客戶。借助服務器開發(fā)工具,OPC 數(shù)據(jù)服務器、協(xié)議服務器、歷史服務器、報警服務器都很容易實現(xiàn)。根據(jù)現(xiàn)實需要,可以把這些服務器整合在一起或分布在不同的網(wǎng)絡節(jié)點上,由 OPC 客戶(SCADA,GIS,MIS)以統(tǒng)一的接口訪問。整個原理圖如圖 4。
湖南某電廠廠級實時監(jiān)視系統(tǒng)項目采用了 OPC技術,實現(xiàn) SCADA,GIS,MIS 的無縫結(jié)合。OPC Server將采集到的實時數(shù)據(jù)送至本機的 SCADA 建立過程數(shù)據(jù)庫,同時利用 OPC 采集器將當?shù)?OPC Server 中的實時數(shù)據(jù)送至歷史數(shù)據(jù)庫;SCADA 所負責采集和處理的實時遙測、遙信、事項記錄等可為整個系統(tǒng)的所有功能共享,保證了系統(tǒng)從底層的一體化;用戶界面上系統(tǒng)把基于電子地圖的空間查詢、統(tǒng)計、分析、各種圖形顯示等集成在一起,可直接在地理圖上進行調(diào)度操作、故障顯示、網(wǎng)絡拓撲動態(tài)著色等。真正做到了 SCADA/MIS/GIS 的一體化設計。
OPC 服務器的實現(xiàn)技術
從上述可看出基于 OPC 技術的 SCADA 系統(tǒng),最主要的實現(xiàn) OPC 服務器。OPC 服務器定義了兩種標準的 COM 對象,即 OPC Server 、OPC Group 對象。通過實現(xiàn)這兩種標準的 COM 對象及相應接口,完成了 OPC 服務器的開發(fā)。目前,OPC 服務器開發(fā)工具在國際工業(yè)控制領域中使用已相當廣泛,比較著名的供應廠商有 FactorySoft、Softing 等公司,但這些開發(fā)工具的價格十分昂貴。以下是一簡單開發(fā)工具實例。
(1) 開發(fā)工具初使化 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 開發(fā)工具 API 及獲取開發(fā)工具的運行狀態(tài) API
BOOL StartServerDLL()
BOOL StopServerDLL();
BOOL ServerDLLInUse();
(4) OPC 服務器變量寫值 API
HRESULT WriteCallback( WRITEPROC lpCallback);
?。?) 添加及刪除數(shù)據(jù)變量 API
HANDLE AddTag(CString name,VARIANT value,BOOL readOnly);
BOOL RemoveTag(HANDLE hTag);
?。?) 數(shù)據(jù)變量的更新 API
BOOL UpdateTag(HANDLE handle,VARIANT& var,WORD quality,F(xiàn)ILETIME timeStamp);
- 第 1 頁:OPC技術在SCADA系統(tǒng)中的應用
- 第 2 頁:OPC 技術的實現(xiàn)
本文導航
非常好我支持^.^
(44) 100%
不好我反對
(0) 0%
相關閱讀:
- [電子說] 什么是PLC和SCADA?PLC在SCADA系統(tǒng)中的作用 2023-09-22
- [智能電網(wǎng)] 新型電力系統(tǒng)數(shù)字技術支撐體系核心內(nèi)容(SCADA系統(tǒng)設計原則) 2023-08-09
- [電子說] PLC、DCS、SCADA系統(tǒng)通過OPC智能網(wǎng)關與云平臺實時通訊 2023-08-06
- [電子說] 虹科Panorama SCADA審計追蹤功能的應用 2023-07-06
- [電子說] 虹科干貨 | 解決連接到IEEE 1588高可用性網(wǎng)絡的SCADA系統(tǒng)的NTP同步參考問題 2022-12-05
- [電子說] 虹科方案 | 一種通過OPC技術提取數(shù)據(jù)庫數(shù)據(jù)的解決方案 2022-09-29
- [電子說] 數(shù)據(jù)協(xié)議處理、視頻協(xié)議處理、電氣IO量處理、嵌入式SCADA系統(tǒng)工業(yè)控制網(wǎng)關設 2022-08-22
- [電子說] 工業(yè)自動化 SCADA系統(tǒng)架構(gòu)類型 2023-06-19
( 發(fā)表人:李倩 )