自動發電控制軟硬件系統設計
先掃個盲,在電力系統中,頻率質量對社會和電力企業的影響非常重大。眾所周知,電網頻率是電能質量三大指標之一,電網的頻率反映了發電有功功率和負荷之間的平衡關系,是電力系統運行的重要控制參數,與廣大用戶的電力設備以及發供電設備本身的安全和效率有著密切的關系。
本文引用地址:http://www.j9360.com/article/160308.htm(1) 頻率波動對發電廠設備的影響:頻率的波動可以造成水輪機導葉破壞嚴重,調速器使用壽命的下降等問題。
(2) 頻率波動對用戶設備的影響:
盡管許多用戶設備能在較寬的頻率范圍內正常工作,但隨著科學技術的發展,一些新的電子設備及精密加工設備對電網頻率提出了更高的要求,頻率的波動,會使產品質量下降或設備損壞。
(3) 頻率質量改善對經濟效益的影響:
頻率偏差反映了發電與負荷間的不平衡,特別是頻率偏高,反映發電量超出了用電的需求量,造成了用戶電費的額外支出,以及能源的浪費。頻率質量改善避免了這種能源的浪費。
針對這些問題,出路只有一個,即采用自動發電控制(AGC)的技術手段,對電力系統中的大部分發電機組,根據其本身的調節性能及在電網中的地位,分類進行控制,自動地維持電力系統中發供電功率的平衡,從而保證電力系統頻率的質量。
我負責其中的一個小模塊的代碼設計,先講一下硬件系統:
負荷優化控制系統(應用工作站)包括了AGC和AVC的聯合控制功能。該系統通過TCP/IP網絡接入電廠的ABB ADVANT控制系統。
應用工作站由一臺PC機和OLC(AGC/AVC)軟件組成。應用工作站中的軟件安裝AGC/AVC軟件。應用工作站使用Windows操作系統并通過TCP/IP網絡和11LPU及調度中心通信。
應用工作站技術數據如下:
19英寸機架安裝于11LPU柜內
繼電保護:ADI 公司生產的ADF7012: Multichannel ISM Band FSK/GFSK/OOK/GOOK/ASK Transmitter
1 x Pentium 4, 1.20 GHz
512 MB PC133 SDRAM
1 x 20 GB EIDE-Disk, ATA-100
1 x 10/100 Mbps 以太網適配器
15寸顯示器, 鍵盤, 鼠標
Windows 2000操作系統
在ADVANT控制器11LPU(AC450)將增加一塊TCP/IP接口板用于與應用工作站通訊。該控制器被稱作應用控制器,用于電廠的公共應用比如模擬屏控制和AGC/AVC與Advant系統的通訊。
AGC系統實現的主要功能包括有:站內總負荷設點控制,自動頻率控制,站內調度曲線控制,省調總負荷設點控制,省調調度曲線控制。為了實現上述功能,本文作者對AGC進行模塊化編程,主要涉及以下幾個方面:
(1)計算機組最小及最大功率以避免跨越震動區,核心程序如下:
void SetUnitVibMinMax(int UnitPos)
{
int PowerZone,UnitType;
int i1;
float min_var,max_var,LL,HL,DX,UnitPower;
UnitType = UNIT[UnitPos].Type;
UnitPower = UNIT[UnitPos].XAP_Setp;
min_var = 0;
max_var = AGC_Unit_Data[UnitType].MaxPower;
LL = min_var;
HL = max_var;
DX = 0;
i1 = 0;
PowerZone = 0;
if ((UnitType》0) (UnitType《=MaxUnitTypes)) {
while ((i1《MaxVibZones) (PowerZone==0)) {
i1++;
if (AGC_Unit_Vibr[UnitType].Vibration[i1].Used==true) {
max_var = AGC_Unit_Vibr[UnitType].Vibration[i1].AP_Begin;
DX = (AGC_Unit_Vibr[UnitType].Vibration[i1].AP_End -
AGC_Unit_Vibr[UnitType].Vibration[i1].AP_Begin) / 2;
HL = AGC_Unit_Vibr[UnitType].Vibration[i1].AP_Begin + DX;
} else {
max_var = AGC_Unit_Data[UnitType].MaxPower;
HL = max_var;
}
if ((UnitPower》=LL) (UnitPower《=HL)) {
PowerZone = i1;
} else {
if (AGC_Unit_Vibr[UnitType].Vibration[i1].Used==true) {
min_var = AGC_Unit_Vibr[UnitType].Vibration[i1].AP_End;
LL = min_var - DX;
}
}
}
}
if (PowerZone==0) {
min_var = UNIT[UnitPos].XAP_MIN;
max_var = UNIT[UnitPos].XAP_MAX;
}
if (min_var《UNIT[UnitPos].XAP_MIN) min_var = UNIT[UnitPos].XAP_MIN;
if (max_var》UNIT[UnitPos].XAP_MAX) max_var = UNIT[UnitPos].XAP_MAX;
UNIT[UnitPos].XVibMinPow = min_var;
UNIT[UnitPos].XVibMaxPow = max_var;
}
tcp/ip相關文章:tcp/ip是什么
評論