1. 引言
發電機是電力系統的重要組成部分,它的可靠運行對于保證電力系統的穩定具有重要意義。發電機故障錄波裝置所記錄的數據為工作人員正確分析發電機故障原因,研究事故對策,及時處理事故提供了可靠的依據,同時,根據故障錄波數據還可以分析系統的故障參數、各電氣量的變化規律,進行故障定位等,這些對于保證電力系統的安全可靠運行起著十分重要的作用。可編程控制器(Programmable Logic Controller,簡稱PLC)作為工業控制專用的計算機,由于其結構簡單、性能優良,抗干擾性能好,可靠性高,在機械、化工、橡膠、電力等行業工業控制現場已日趨廣泛地得到應用,成為工控現場進行實時控制的最主要的控制裝置。本文介紹一種利用可編程控制器和擴展模擬量模塊實現發電機故障錄波的方法。
2. 系統的組成和工作原理
系統的組成框圖如圖1所示,由上位計算機和1套PLC測控系統組成。PLC通過外部變送器、互感器與發電機組相連,發電機機端電壓U、定子電流I為三相交流電,分別經電壓互感器(PT)和電流互感器(CT)轉換成三相100V、5A的二次信號,發電機轉子勵磁電流經過分流器RS轉換成75mV信號,再經過三相功率(含有功、無功)變送器、三相電壓變送器、直流電流變送器轉換成與其成比例的0~10V電壓信號后輸入到PLC的模擬量模塊。模擬量經過A/D轉換,然后根據互感器、變送器的變換比例計算出機端電壓U、轉子電流If、有功功率P和無功功率Q的等機組運行量。PLC每隔20毫秒采樣一次,每40毫秒將采樣的數據保存到故障數據區中。當發生故障后,PLC記錄下故障發生以后的13秒數據,故障數據記錄過程結束。當PLC接收到上位機發送來的傳送命令時,PLC將記錄的故障數據通過串口通訊傳送給上位機。上位機將數據完整的接收下來,經過數據處理顯示出機組運行量U、If、P、Q、Ug(電壓給定)在故障前7秒、后13秒的波形曲線,這樣就可以對發電機故障進行分析了。在本系統中,PLC選用SIMATIC S7-226;模擬量模塊選用與S7-226配套的產品EM235;PLC與計算機之間通過PC/PPI電纜連接以串行方式進行通訊。
圖1 發電機故障錄波系統框圖
3. 下位機程序設計
PLC屬于下位機,其程序共分為3個模塊,它們是初始化子程序、錄波子程序和通信子程序。以下將分別說明各模塊的設計思想。
3.1 初始化子程序
初始化子程序包括初始化自由口通信參數,設置接收命令RCV啟動和結束條件,數據指針賦初值,連接20ms采樣、接收和發送中斷。
3.2 錄波子程序
錄波子程序在20ms采樣中斷中調用,負責記錄機組運行量U、If、P、Q、Ug在故障前7秒、后13秒的數據。
在PLC中定義一個連續的數據區VW4000~VW8998,用來保存故障數據。每個運行量的數據占用1000字節的數據塊,地址分配如下,U:VW4000~VW4998 If:VW5000~VW5998 P:VW6000~VW6998 Q:VW7000~VW7998 Ug:VW8000~VW8998。
錄波子程序每隔40毫秒將采樣的數據送到各自的數據塊中。為每個數據塊定義一個數據指針,其初始值分別指向各數據塊的首地址。每傳送一次數據,各指針向下移動2字節。故障前7秒數據(350字節)是循環記錄的,即如果在故障到來之前數據已存滿,各數據指針將重新指向數據塊的首地址。定義指針index用來記錄20秒故障數據開始的位置。當故障到來時,數據指針指向故障后13秒數據(后650字節),此時指針index將前7秒數據分為前后兩部分,正確的順序是將前后兩部分交換過來。當后13秒數據記錄完后,錄波子程序結束。程序流程圖如圖2所示。
3.3 通信子程序
通信子程序負責與上位機通信,將存儲在數據區的故障數據通過串口分批傳送給上位機。上位機每發送一次傳送命令(用整數255表示),PLC在接收中斷程序中判斷收到的字符是否為傳送命令,如果是則將傳送命令標志M6.0置位并且在主程序中調用通信子程序。
定義指針tran_pointer用來指向待傳送數據的首地址,其初值為&VW4000,即指向數據區首地址。定義變量count用來記錄傳送的次數。在通信子程序中,首先停止自由口的接收,然后將以指針tran_pointer為首地址,大小200字節的數據傳送到發送緩沖區中,接著用發送命令通過串口發送出去。每發送一次數據,將指針tran_pointer向下移動200字節,變量count值加1, M6.0復位。當上位機發送完第26次傳送命令時,PLC中數據區VW4000~VW8998的5000個字節已發送完畢,再將額定電壓、額定電流、額定有功功率、額定無功功率和指針index發送出去, count值清零,指針tran_pointer重新初始化,M6.0復位。至此,一次完整的故障數據傳送過程結束。
圖2. 錄波子程序流程圖
4. 上位機程序設計
上位機程序設計是以Visual Basic 6.0 為平臺,利用MS Comm控件,以事件驅動方式實現計算機與PLC之間串行通訊,完成數據間的交換。上位機程序包括用戶界面設計、通訊和數據處理程序、顯示程序等。
4.1 用戶界面設計
本