?

火電廠語音報警系統中的數據通信研究與實現

2017-03-01 08:58劉鋼劉馮洋
中國新通信 2016年23期
關鍵詞:數據通信火電廠機組

劉鋼+劉馮洋

【摘要】 在回顧控制系統報警功能的基礎上上,綜合分析了基于Modbus的DCS數據通信、基于OPC的DCS數據通信和基于實時歷史數據庫的數據采集,給出了數據通信在火電廠語音報警系統中的應用方法和實例。

【關鍵詞】 語音報警數據采集 ModbusOPC

一、引言

報警系統作為流程型生產企業安全生產不可或缺的重要環節,是大型火電單元機組熱工自動化控制、報警、監測、保護的四大功能之一[1],也是火電廠運行人員實際集中監控過程中依賴程度很高的重要系統。國內外的主要分散控制系統(DCS)中均設置了專門的報警模塊,但DCS中的報警模塊一般采用顯示器或光字牌等形式實現,這類實現方式對運行人員的主動性要求較高,即使通過聲音方式進行提醒,也往往是單一的警示聲,這并不利于運行人員快速發現異常并定位異常位置進而快速確認報警進行下一步工作,因此在傳統的DCS系統之外,需要加裝專門的語音報警系統以語音的方式明確地播報報警類型[2-3]。DCS是火電廠信息化框架中的底層現場數據來源,以外加裝置形式存在的語音報警系統需要通過數據通信的方式從DCS(或輔控等其它主要控制系統)中獲取生產數據并進行處理,本文主要討論火電廠1000MW機組DCS加裝語音報警系統中的數據通信問題。

二、基于Modbus的DCS數據通信

Modbus是由Modicon提出并實現的工業現場總線協議,是各家DCS生產廠商均支持的通用工業標準,因此Modbus是從DCS進行數據采集的首選通信方式。若語音報警系統設置在電子間或工程師站,距離作為通信站的DCS控制站較近,一般采用基于串行異步通信的Modbus協議,如果距離較遠,則可采用基于TCP/IP協議棧的Modbus-TCP協議,本文重點討論基于串口的情況。

標準Modbus端口采用的是定義了連接器、連接電纜、波特率、基本校驗方法、信號等級的RS232兼容串口,Modbus控制器使用“主-從”模式進行通信的,即主站以查詢方式主動發起數據連接,從站根據現場情況和主站指令進行響應。在語音報警系統的數據采集過程中,語音報警系統的數據采集程序以主站方式存在,DCS通信模件以從站的方式存在,通信的發起是由語音報警系統發起的。

由于DCS中的Modbus模件采用的通訊模式是RTU(遠程終端單元),因此語音報警系統主要采用RTU方式進行通信,典型的Modbus信息幀如圖1所示。其中ADU是應用數據單元,PDU是協議數據單元[4]。

根據以上分析,可知基于Modbus的數據采集過程,如圖2所示。

為了確保DCS中報警信息與語音報警系統中報警信息的一致性,語音報警系統僅從DCS中獲取開關量(線圈狀態)而不是獲取模擬量進行比對,因此,整個通訊過程僅需要使用功能碼“01”讀線圈狀態。當DCS從站地址為1時,典型的請求指令(請求起始地址為1的16個數據點)和回應指令如圖3所示。

三、基于OPC的DCS數據通信

OPC是基于微軟DCOM實現的工業通信標準,一般由DCS實現OPC服務器并通過專門內部協議與OPC服務器進行通信,客戶端通過OPC服務器獲取現場數據。在語音報警系統中實現OPC客戶端即可完成現場數據采集。在編制OPC客戶端時,首先實現OPC對象,由此靠右使用OPC對象的各類屬性和方法[5],典型的OPC服務器對象如圖4所示。

典型的訪問OPC服務器數據代碼如下(以C#為例):

//建立OPC服務器

pIOPCServer = (IOPCServer)Activator.CreateInstance(svrCo mponenttyp);

//建立OPC組

p I O P C S e r v e r . A d d G r o u p ( G R O U P _ N A M E , 0 , d w R e q u e s t e d U p d a t e R a t e , h C l i e n t G r o u p , h T i m e B i a s . A d d r O f P i n n e d O b j e c t ( ) , h D e a d b a n d . AddrOfPinnedObject(),LOCALE_ID, out pSvrGroupHandle, out pRevUpdateRate, ref iidRequiredInterface, out pobjGroup1);

//定義OPC點并進行初始化,初始化內容包括:szItemID、hClient、bActive、dwBlobSize

OPCITEMDEF opcitem = new OPCITEMDEF();

//添加數據點

((IOPCItemMgt)pobjGroup1).AddItems(LO.Count, ItemDeffArray, out pResults, out pErrors);

//讀取數據值

OPCITEMRESULT result = (OPCITEMRESULT)Marshal. PtrToStructure(pos, typeof(OPCITEMRESULT));

四、基于實時歷史數據庫應用開發接口的數據通信

在諸如DCS負荷較高、DCS通信模件不足等情況下,需要從SIS(廠級監控信息系統)中間接獲取現場數據。SIS中一般采用諸如PI、eDNA等實時歷史數據庫作為核心,通過這些實時歷史數據庫提供的API(應用開發接口)可獲取數據。

對于eDNA數據庫,一般采用DNAGetRTValue方法獲取實時值。該函數的原型為:

IntWINAPI DNAGetRTValue(const char *szPoint,double*pdValue);

在使用時打包為C#函數

[DllImport(“ezdnaapi.dll”,EntryPoint=”DNAGetRTVal ue”)]

Public static extern intDNAGetRTValue(string szPoint,ref double pdValue);

其中szPoint是要獲取數據點的點名,通過對報警點表循環調用該函數,即可獲取各個開關量的狀態,從而進行報警。

對于PI數據庫,可以選擇使用PI-SDK進行訪問,一般的訪問步驟包括:

1)連接到PI

PISDK.IPISDK piSDK= new PISDK.PISDKClass();

PISDKDlg.ConnectionspiConn=new PISDKDlg. ConnectionsClass();

PISDK.ServerpiServer;

piServer=piSDK.Servers[“192.168.103.101”];

piConn.Login(ref piServer,refUID,refPWD,true,false);

2)讀取數據

PISDK.PIPointpiPoint;

piPoint=piServer.PIPoints[“TagName”];

piTagValue=Convert.ToDouble(piPoint.Data.Snapshot.Value);

五、現場應用

以上對語音報警系統中現場數據采集常用方法進行了分析,在實際應用中需要根據現場實際情況進行分析。以平圩電廠三期2*1000MW機組工程為例,該工程采用Ovation作為DCS,以DCS為監控核心,實現對單元機組機、爐、電集中控制。Ovation按照開放式網絡標準建立了整套工業系統[6],在設計期加裝了Mobus串口通信模件并提供了開放的工業化通信環境,因此在該工程中采用Modbus與DCS進行通信,通信數據點每臺機組232個,其中備用點80個,數據點涵蓋了電力生產的各個重要環節,通信速度可以達到每秒1000點次,完全可以滿足語音報警的數據要求。

參 考 文 獻

[1]黃勇. 火電廠熱工自動化的安全系統研究[J]. 硅谷,2011,20:81.

[2]李延華.1000MW機組熱控自動化設計方案探討[J].中國高新技術企業,2013,36:49-51.

[3]王君宇,王明春.電廠新型語音報警系統的研究和開發[J].發電設備,2014,06:421-423+427.

[4] 于樹新,戴毅姜,周黎輝,陳潔.Modbus協議在DCS通信中的應用[J].儀器儀表與分析監測,2007,01:1-2+6.

[5] 劉志強.OPC數據存取服務器和客戶端的研究與設計[D].內蒙古大學,2011.

[6] 李濱.OVATION控制系統在1000MW超超臨界機組的應用[J].華東電力,2012,08:1452-1455.

猜你喜歡
數據通信火電廠機組
火電廠環保設施節能改造技術探索
關于間接蒸發冷機組在數據中心中應用的節能分析
考慮故障相關性的風電機組維修策略
先導式輸灰技術在某火電廠的應用
火電廠600MW機組集控運行現狀及改善對策分析
田灣核電5號機組首次并網成功
川航備降機組獲“英雄機組”稱號,機長劉傳健被授英雄機長
加強火電廠行政事務管理工作的策略
基于EDA技術的通用異步收發器設計
北斗衛星同步技術在電力行業中的運用簡析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合