modelCurrentLimitLogicREECA
Current limit logic for REECA
Information
The pseudo-code for the current limit logic in the REECA electrical controller detailed below:
Ipre = sqrt(Imax) - sqrt(abs(Ipcmd));
if Ipre is less than 0:
Ipost = 0;
else:
Ipost = sqrt(Ipre);
if Pqflag = true:
Ipmax = min(VDL2_out, Imax);
Ipmin = 0;
Iqmax = min(Ipost, VDL1_out);
Iqmin = -Iqmax;
end
if Pqflag = false:
Ipmax = min(Ipost, VDL2_out);
Ipmin = 0;
Iqmax = min(VDL1_out, Imax);
Iqmin = -Iqmax;
end
The modelling of the current limit logic for the REECA electrical controller is based on the following references:
- Siemens: "PSS®E Model Library" [PSSE-MODELS],
- WECC: "Wind Power Plant Dynamic Modeling Guideline" [WECCWind].
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| OpenIPSL.Types.PerUnit | start_ii | Starting current value from Iqcmd (comes from power flow simulation) | |
| OpenIPSL.Types.PerUnit | start_ir | Starting current value from Ipcmd (comes from power flow simulation) | |
| OpenIPSL.Types.PerUnit | Imax | Maximum limit on total converter current |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Interfaces.RealInput | VDL1_out | ||
| Modelica.Blocks.Interfaces.BooleanInput | pqflag | ||
| Modelica.Blocks.Interfaces.RealInput | VDL2_out | ||
| Modelica.Blocks.Interfaces.RealInput | Iqcmd | ||
| Modelica.Blocks.Interfaces.RealInput | Ipcmd | ||
| Modelica.Blocks.Interfaces.RealOutput | Iqmax | ||
| Modelica.Blocks.Interfaces.RealOutput | Iqmin | ||
| Modelica.Blocks.Interfaces.RealOutput | Ipmax | ||
| Modelica.Blocks.Interfaces.RealOutput | Ipmin |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| OpenIPSL.Types.PerUnit | Ipost | ||
| OpenIPSL.Types.PerUnit | Ipre |