[email protected]m http:// www.powerworld.com 01 South First Street ampaign, Illinois 61820 (217) 384.6330 01 South First Street ampaign, Illinois 61820 (217) 384.6330 Automatic Generation Control in Transient Stability Simulation WECC MVWG November 20, 2014 Jamie Weber, Ph.D. Director of Software Development [email protected]217 384 6330 ext 13
26
Embed
[email protected] 2001 South First Street Champaign, Illinois 61820 +1 (217) 384.6330 Incorporation of Automatic Generation.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
–Area AGC Model – New Model• Industry has always used a modular approach for generator models
– Machine (Generator/Converter Model)– Exciter (P and Q controller)– Governor (Drive Train)– Stabilizer (Pitch Control)– Relay Model– Under Excitation Limiter– Over Excitation Limiter– Compensator Model – Aerodynamic Model (recent addition for Type 3 Wind)– Pref Controller (recent addition for renewable and LCFB1)– Plant Controller (recent addition for renewable)
Mode Integer Value 0 (OFF), 1 (ON), 2 (LOCAL), or 3 (BASELOAD)• OFF – means it’s ignored for AGC purposes• ON – means it participates in AGC• LOCAL – means it normally doesn’t particular in AGC, but
during Panic Mode it will participate• BASELOAD – means it only participates if moving Pref pushes
the generator back toward it’s initial valueDefault Integer Value 0 (No, use specific values), 1 (get values from case)
If value set to 1, then PartFact, Pmax, and Pmin will be obtained from the power flow input data and stability record values are ignored
Mode Integer Value 0 (OFF), 1 (ON), 2 (LOCAL), or 3 (BASELOAD)
Default Integer Value 0 (No, use specific values), 1 (get values from case)If value set to 1, then PartFact, Pmax, and Pmin will be obtained from the power flow input data and stability record values are ignored
PartFact Participation Factor for us in AGC None
Pmax Maximum Power reference signal output MW
Pmin Minimum Power reference signal output MW
PulseRate Rate at which the MWReference signal changes MW/Second
PulseLength Length of time that the pulse up or down occurs. This should normally be less than the Area AGC Model’s UpdateTime. Thus the UpdateTime may be 10 seconds and PulseLength is 2 seconds
Second
PulseLengthPanic When Area AGC Model enters panic mode, then you can increase the length of the pulse.
• Using ACE value, process through all generators in the Area to calculate whether that generator will respond and what the summation of the participation factors are– GenAGC.UpdateAGCSignal(
Inputs: Time, ACE, AGCStatus; Outputs: PartFactSum, AGCActive);
• Then ask each GenAGC model to respond to the ACE signal and pass in the PartFactSum.– GenAGCx.RespondToAGCSignal(
Inputs: Time, ACE, AGCStatus,PartFactSum , AGCActive);
// Note: AGCStatus = OFF, ON, LOCAL, or BASELOAD// Parameters of GenAGC Controller// Mode, PartFact, Pmax, Pmin
AGCActive = false; if Mode <> OFF then begin // generator AGC is set off so it won't respond if (Pelec > PMax) or (PElec < PMin) then begin AGCActive = True; end else if (Mode = ON) or // Generator is on normal AGC mode (AGCStatus = PanicHigh) or (AGCStatus = PanicLow) // Area on PANIC mode! then begin AGCActive = True; PartFactSum = PartFactSum + PartFact; end else if (Mode = BASELOAD) then begin // Unless under "panic" mode, BaseLoad units try to return to their initial value! local_DeltaPElec := Pelec - GetPGenInitialInMW; if ((local_DeltaPElec > +MWAGCTolerance) and (ACE >= 0)) or ((local_DeltaPElec < -MWAGCTolerance) and (ACE <= 0)) then begin AGCActive = True; PartFactSum = PartFactSum + PartFact; end; end; end;
Unit outside limit
Unit Mode = ONor during Panic
include LOCAL, BASELOAD
Mode = BASELOADOnly respond if pushing back toward initial value
• This new MWReference will then be passed to the appropriate generator model to respond
• Various types of model must take this as an input1. Each Plant Controller (REPC_A)2. Each Pref Controller (LCFB1, WTGTRQ_A)3. WT3P (old type 3 pitch control)4. Each Governor (all the dozens of governor types)
• The software will send this signal to the model in the order of precedence above
• If none of these model exist, then just change P Mechanical for the machine model appropriately
• If no machine model exists, just change the Pelec for the algebraic model
• Conversion is unique for each model – Be careful of per unit base!
If RSelect = 0 Then begin Error Condition because Isochronous end Else If Kigov <> 0 Then Begin Case RSelect of -1,-2 : Pref = (MWReference/(TurbineMVARate*Kturb)+wfnl)*R; 1 : Pref = (MWReference/(TurbineMVARate)*R; End; End Else Begin Pref:= aDeltaMWOutput/(GetTRate*fKTurb*fKpgov); Case fRSelect of -1,-2 : Pref = (MWReference/(TurbineMVARate*Kturb) + wfnl)/Kpgov*(1+R*Kpgov); 1 : Pref = (MWReference/(TurbineMVARate*Kturb) + wfnl)/Kpgov + R*MWReference/TurbineRate; End; End; // If Kimw <> 0 then you also must change PMWSet value If fKimw <> 0 Then PmwSet := PMWSet + MWReference/GetTRate;
𝑮𝒐𝒗𝑶𝒖𝒕=(𝑷𝒓𝒆𝒇 −𝑹∗𝑮𝒐𝒗𝑶𝒖𝒕 )∗𝑲𝒑𝒈𝒐𝒗
𝑮𝒐𝒗𝑶𝒖𝒕=(𝑷𝒓𝒆𝒇 −𝑹∗ 𝑷𝑮𝒆𝒏𝑴𝑾𝑻𝒓𝒂𝒕𝒆 )∗𝑲𝒑𝒈𝒐𝒗
𝟎=𝑷𝒓𝒆𝒇 −𝑹∗𝑷𝑮𝒆𝒏𝑴𝑾𝑻𝒓𝒂𝒕𝒆
𝟎=𝑷𝒓𝒆𝒇 −𝑹∗𝑮𝒐𝒗𝑶𝒖𝒕
All conditions must meet
In addition, we must enforce equation below depending on other input parameters