基于PLC的發電機故障錄波系統的研究與設計2009
圖2. 錄波子程序流程圖
4. 上位機程序設計
上位機程序設計是以Visual Basic 6.0 為平臺,利用MS Comm控件,以事件驅動方式實現計算機與PLC之間串行通訊,完成數據間的交換。上位機程序包括用戶界面設計、通訊和數據處理程序、顯示程序等。
4.1 用戶界面設計
本系統中,設計了兩個窗體(Form1和Form2)。其中Form1為主界面,Form2為波形顯示界面。在Form1中設計了一個MSComm控件、一個定時器控件(Timer1)和兩個按鈕控件(Command1和Command2)。其中Command1是開始按鈕,即按下時開始和PLC通訊,讀取其中的數據。Command2是顯示按鈕,即按下時調用窗體Form2,顯示每個運行量的波形曲線。在Form2中設計了一個圖片框控件(Picture1),用來顯示圖形。
4.2 通訊和數據處理程序設計
設置Timer1 的Interval屬性等于500,MSComm的InputMode屬性為二進制方式,RThreshold屬性等于5010。定時器每隔500毫秒發送一次傳送命令,當發送到第26次時,關閉定時器,這時接收緩沖區將收到5010個字節的數據并觸發MSComm的OnComm事件。在OnComm事件子程序中,將接收緩沖區中的數據依次分配到全局數組U_data、If_data、P_data、Q_data和Ug_data中,再根據各運行量的額定值計算出百分比值。各個數組的前350字節需要根據指針Index進行調整,具體方法是將數組下標范圍Index~349的數據移到前面,下標范圍1~Index-1的數據移到后面。
4.3 顯示程序設計
在窗體Form2的裝載事件Form_Load中編寫圖形顯示程序。首先在圖片框控件Picture1中設置自定義坐標系。設置ScaleMode屬性值等于3,即以象素為度量單位。然后在該坐標系下畫出坐標軸。X軸以秒為單位,曲線上兩點間的時間間隔是40毫秒,換算成象素等于1.47。Y軸以百分比為單位,每個單位刻度換算成象素等于2.1。最后根據數組U_data、If_data、P_data、Q_data和Ug_data分別畫出相應運行量的波形圖。以機端電壓波形為例,給出編寫的程序如下:
Picture1.DrawWidth = 1 ‘線寬為1
Picture1.CurrentX = 0 ‘指定當前坐標的位置
Picture1.CurrentY = U_data(0) * 2.1
For i= 1 To 499 ‘畫出曲線
Picture1.Line -(1.47 * i, U_data(i) * 2.1), vbBlue
Next i
5. 系統的運行與實驗結果
在系統運行前,要對PLC的通訊參數進行設置,包括波特率、校驗方式、數據位位數和停止位位數等,此設置要和上位機一致。在S7-226中使用自由口模式和上位機進行串口通信時,可以通過特殊寄存器SMB30(端口0)或SMB130(端口1)來設定。下面以發電機空載停機實驗為例說明系統的運行過程。
當發電機在正常空載下停機時,PLC檢測到停機信號,將故障標志置位,然后記錄下停機后13秒的數據。運行上位機程序,在主界面上按下“傳送”按鈕后,上位機開始讀取PLC中數據。等到程序提示“數據傳送完畢”后,按下“顯示”按鈕,將彈出“波形顯示”窗口如圖3所示。從圖中可以看出,該曲線較好的反映了發電機停機前后機端電壓、勵磁電流的變化。
圖3 波形顯示窗口
6. 結束語
此系統已經成功應用于中、小型同步發電機勵磁系統中,通過發電機的動態模擬實驗和實際中的應用來看,該系統性能可靠、操作方便、界面友好,能夠較好地滿足電力系統對于故障記錄、故障分析的需要。
一般情況下,采用微機控制或以微處理器為內核的工業嵌入式發電機勵磁調節器較容易實現發電機運行參量的故障錄波,采用PLC作為發電機勵磁調節器的硬件平臺,具有應用成本低、運行可靠性高但程序設計難度大的特點,其內部成功地嵌入發電機重要運行參量的故障錄波具有較大的實用價值,尤其適用于目前大量開發的中小型水力發電站的水輪發電機組,對于保證發電機組的安全、穩定、可靠運行具有重要的意義。
評論