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