基于PLC的發(fā)電機故障錄波系統的研究與設計
發(fā)電機是電力系統的重要組成部分,它的可靠運行對于保證電力系統的穩定具有重要意義。發(fā)電機故障錄波裝置所記錄的數據為工作人員正確分析發(fā)電機故障原因,研究事故對策,及時(shí)處理事故提供了可靠的依據,同時(shí),根據故障錄波數據還可以分析系統的故障參數、各電氣量的變化規律,進(jìn)行故障定位等,這些對于保證電力系統的安全可靠運行起著(zhù)十分重要的作用。可編程控制器(Programmable Logic Controller,簡(jiǎn)稱(chēng)PLC)作為工業(yè)控制專(zhuān)用的計算機,由于其結構簡(jiǎn)單、性能優(yōu)良,抗干擾性能好,可靠性高,在機械、化工、橡膠、電力等行業(yè)工業(yè)控制現場(chǎng)已日趨廣泛地得到應用,成為工控現場(chǎng)進(jìn)行實(shí)時(shí)控制的最主要的控制裝置。本文介紹一種利用可編程控制器和擴展模擬量模塊實(shí)現發(fā)電機故障錄波的方法。
2. 系統的組成和工作原理
系統的組成框圖如圖1所示,由上位計算機和1套PLC測控系統組成。PLC通過(guò)外部變送器、互感器與發(fā)電機組相連,發(fā)電機機端電壓U、定子電流I為三相交流電,分別經(jīng)電壓互感器(PT)和電流互感器(CT)轉換成三相100V、5A的二次信號,發(fā)電機轉子勵磁電流經(jīng)過(guò)分流器RS轉換成75mV信號,再經(jīng)過(guò)三相功率(含有功、無(wú)功)變送器、三相電壓變送器、直流電流變送器轉換成與其成比例的0~10V電壓信號后輸入到PLC的模擬量模塊。模擬量經(jīng)過(guò)A/D轉換,然后根據互感器、變送器的變換比例計算出機端電壓U、轉子電流If、有功功率P和無(wú)功功率Q的等機組運行量。PLC每隔20毫秒采樣一次,每40毫秒將采樣的數據保存到故障數據區中。當發(fā)生故障后,PLC記錄下故障發(fā)生以后的13秒數據,故障數據記錄過(guò)程結束。當PLC接收到上位機發(fā)送來(lái)的傳送命令時(shí),PLC將記錄的故障數據通過(guò)串口通訊傳送給上位機。上位機將數據完整的接收下來(lái),經(jīng)過(guò)數據處理顯示出機組運行量U、If、P、Q、Ug(電壓給定)在故障前7秒、后13秒的波形曲線(xiàn),這樣就可以對發(fā)電機故障進(jìn)行分析了。在本系統中,PLC選用SIMATIC S7-226;模擬量模塊選用與S7-226配套的產(chǎn)品EM235;PLC與計算機之間通過(guò)PC/PPI電纜連接以串行方式進(jìn)行通訊。
圖1 發(fā)電機故障錄波系統框圖
3. 下位機程序設計
PLC屬于下位機,其程序共分為3個(gè)模塊,它們是初始化子程序、錄波子程序和通信子程序。以下將分別說(shuō)明各模塊的設計思想。
3.1 初始化子程序
初始化子程序包括初始化自由口通信參數,設置接收命令RCV啟動(dòng)和結束條件,數據指針賦初值,連接20ms采樣、接收和發(fā)送中斷。
3.2 錄波子程序
錄波子程序在20ms采樣中斷中調用,負責記錄機組運行量U、If、P、Q、Ug在故障前7秒、后13秒的數據。
在PLC中定義一個(gè)連續的數據區VW4000~VW8998,用來(lái)保存故障數據。每個(gè)運行量的數據占用1000字節的數據塊,地址分配如下,U:VW4000~VW4998 If:VW5000~VW5998 P:VW6000~VW6998 Q:VW7000~VW7998 Ug:VW8000~VW8998。
錄波子程序每隔40毫秒將采樣的數據送到各自的數據塊中。為每個(gè)數據塊定義一個(gè)數據指針,其初始值分別指向各數據塊的首地址。每傳送一次數據,各指針向下移動(dòng)2字節。故障前7秒數據(350字節)是循環(huán)記錄的,即如果在故障到來(lái)之前數據已存滿(mǎn),各數據指針將重新指向數據塊的首地址。定義指針index用來(lái)記錄20秒故障數據開(kāi)始的位置。當故障到來(lái)時(shí),數據指針指向故障后13秒數據(后650字節),此時(shí)指針index將前7秒數據分為前后兩部分,正確的順序是將前后兩部分交換過(guò)來(lái)。當后13秒數據記錄完后,錄波子程序結束。程序流程圖如圖2所示。
3.3 通信子程序
通信子程序負責與上位機通信,將存儲在數據區的故障數據通過(guò)串口分批傳送給上位機。上位機每發(fā)送一次傳送命令(用整數255表示),PLC在接收中斷程序中判斷收到的字符是否為傳送命令,如果是則將傳送命令標志M6.0置位并且在主程序中調用通信子程序。
定義指針tran_pointer用來(lái)指向待傳送數據的首地址,其初值為VW4000,即指向數據區首地址。定義變量count用來(lái)記錄傳送的次數。在通信子程序中,首先停止自由口的接收,然后將以指針tran_pointer為首地址,大小200字節的數據傳送到發(fā)送緩沖區中,接著(zhù)用發(fā)送命令通過(guò)串口發(fā)送出去。每發(fā)送一次數據,將指針tran_pointer向下移動(dòng)200字節,變量count值加1, M6.0復位。當上位機發(fā)送完第26次傳送命令時(shí),PLC中數據區VW4000~VW8998的5000個(gè)字節已發(fā)送完畢,再將額定電壓、額定電流、額定有功功率、額定無(wú)功功率和指針index發(fā)送出去, count值清零,指針tran_pointer重新初始化,M6.0復位。至此,一次完整的故障數據傳送過(guò)程結束。
圖2. 錄波子程序流程圖
4. 上位機程序設計
上位機程序設計是以Visual Basic 6.0 為平臺,利用MS Comm控件,以事件驅動(dòng)方式實(shí)現計算機與PLC之間串行通訊,完成數據間的交換。上位機程序包括用戶(hù)界面設計、通訊和數據處理程序、顯示程序等。
4.1 用戶(hù)界面設計
本系統中,設計了兩個(gè)窗體(Form1和Form2)。其中Form1為主界面,Form2為波形顯示界面。在Form1中設計了一個(gè)MSComm控件、一個(gè)定時(shí)器控件(Timer1)和兩個(gè)按鈕控件(Command1和Command2)。其中Command1是開(kāi)始按鈕,即按下時(shí)開(kāi)始和PLC通訊,讀取其中的數據。Command2是顯示按鈕,即按下時(shí)調用窗體Form2,顯示每個(gè)運行量的波形曲線(xiàn)。在Form2中設計了一個(gè)圖片框控件(Picture1),用來(lái)顯示圖形。
4.2 通訊和數據處理程序設計
設置Timer1 的Interval屬性等于500,MSComm的InputMode屬性為二進(jìn)制方式,RThreshold屬性等于5010。定時(shí)器每隔500毫秒發(fā)送一次傳送命令,當發(fā)送到第26次時(shí),關(guān)閉定時(shí)器,這時(shí)接收緩沖區將收到5010個(gè)字節的數據并觸發(fā)MSComm的OnComm事件。在OnComm事件子程序中,將接收緩沖區中的數據依次分配到全局數組U_data、If_data、P_data、Q_data和Ug_data中,再根據各運行量的額定值計算出百分比值。各個(gè)數組的前350字節需要根據指針I(yè)ndex進(jìn)行調整,具體方法是將數組下標范圍Index~349的數據移到前面,下標范圍1~Index-1的數據移到后面。
4.3 顯示程序設計
在窗體Form2的裝載事件Form_Load中編寫(xiě)圖形顯示程序。首先在圖片框控件Picture1中設置自定義坐標系。設置ScaleMode屬性值等于3,即以象素為度量單位。然后在該坐標系下畫(huà)出坐標軸。X軸以秒為單位,曲線(xiàn)上兩點(diǎn)間的時(shí)間間隔是40毫秒,換算成象素等于1.47。Y軸以百分比為單位,每個(gè)單位刻度換算成象素等于2.1。最后根據數組U_data、If_data、P_data、Q_data和Ug_data分別畫(huà)出相應運行量的波形圖。以機端電壓波形為例,給出編寫(xiě)的程序如下:
Picture1.DrawWidth = 1 ‘線(xiàn)寬為1
Picture1.CurrentX = 0 ‘指定當前坐標的位置
Picture1.CurrentY = U_data(0) * 2.1
For i= 1 To 499 ‘畫(huà)出曲線(xiàn)
Picture1.Line -(1.47 * i, U_data(i) * 2.1), vbBlue
Next i
5. 系統的運行與實(shí)驗結果
在系統運行前,要對PLC的通訊參數進(jìn)行設置,包括波特率、校驗方式、數據位位數和停止位位數等,此設置要和上位機一致。在S7-226中使用自由口模式和上位機進(jìn)行串口通信時(shí),可以通過(guò)特殊寄存器SMB30(端口0)或SMB130(端口1)來(lái)設定。下面以發(fā)電機空載停機實(shí)驗為例說(shuō)明系統的運行過(guò)程。
當發(fā)電機在正??蛰d下停機時(shí),PLC檢測到停機信號,將故障標志置位,然后記錄下停機后13秒的數據。運行上位機程序,在主界面上按下“傳送”按鈕后,上位機開(kāi)始讀取PLC中數據。等到程序提示“數據傳送完畢”后,按下“顯示”按鈕,將彈出“波形顯示”窗口如圖3所示。從圖中可以看出,該曲線(xiàn)較好的反映了發(fā)電機停機前后機端電壓、勵磁電流的變化。
圖3 波形顯示窗口
6. 結束語(yǔ)
此系統已經(jīng)成功應用于中、小型同步發(fā)電機勵磁系統中,通過(guò)發(fā)電機的動(dòng)態(tài)模擬實(shí)驗和實(shí)際中的應用來(lái)看,該系統性能可靠、操作方便、界面友好,能夠較好地滿(mǎn)足電力系統對于故障記錄、故障分析的需要。
一般情況下,采用微機控制或以微處理器為內核的工業(yè)嵌入式發(fā)電機勵磁調節器較容易實(shí)現發(fā)電機運行參量的故障錄波,采用PLC作為發(fā)電機勵磁調節器的硬件平臺,具有應用成本低、運行可靠性高但程序設計難度大的特點(diǎn),其內部成功地嵌入發(fā)電機重要運行參量的故障錄波具有較大的實(shí)用價(jià)值,尤其適用于目前大量開(kāi)發(fā)的中小型水力發(fā)電站的水輪發(fā)電機組,對于保證發(fā)電機組的安全、穩定、可靠運行具有重要的意義。
評論