Skip to main content

cimstructs/
WindLookupTableFunctionKind.rs

1/// Function of the lookup table.
2#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
3pub enum WindLookupTableFunctionKind {
4    /// Power versus speed change (negative slip) lookup table (prr(deltaomega)). It is used for the rotor resistance control model, IEC 61400-27-1:2015, 5.6.5.3.
5    prr,
6    /// Power vs. speed lookup table (omega(p)). It is used for the P control model type 3, IEC 61400-27-1:2015, 5.6.5.4.
7    omegap,
8    /// Lookup table for voltage dependency of active current limits (ipmax(uWT)). It is used for the current limitation model, IEC 61400-27-1:2015, 5.6.5.8.
9    ipmax,
10    /// Lookup table for voltage dependency of reactive current limits (iqmax(uWT)). It is used for the current limitation model, IEC 61400-27-1:2015, 5.6.5.8.
11    iqmax,
12    /// Power vs. frequency lookup table (pWPbias(f)). It is used for the wind power plant frequency and active power control model, IEC 61400-27-1:2015, Annex D.
13    pwp,
14    /// Crowbar duration versus voltage variation look-up table (TCW(du)). It is a case-dependent parameter. It is used for the type 3B generator set model, IEC 61400-27-1:2015, 5.6.3.3.
15    tcwdu,
16    /// Lookup table to determine the duration of the power reduction after a voltage dip, depending on the size of the voltage dip (Td(uWT)). It is a type-dependent parameter. It is used for the pitch control power model, IEC 61400-27-1:2015, 5.6.5.1.
17    tduwt,
18    /// Lookup table for active power dependency of reactive power maximum limit (qmaxp(p)). It is used for the QP and QU limitation model, IEC 61400-27-1:2015, 5.6.5.10.
19    qmaxp,
20    /// Lookup table for active power dependency of reactive power minimum limit (qminp(p)). It is used for the QP and QU limitation model, IEC 61400-27-1:2015, 5.6.5.10.
21    qminp,
22    /// Lookup table for voltage dependency of reactive power maximum limit (qmaxu(p)). It is used for the QP and QU limitation model, IEC 61400-27-1:2015, 5.6.5.10.
23    qmaxu,
24    /// Lookup table for voltage dependency of reactive power minimum limit (qminu(p)). It is used for the QP and QU limitation model, IEC 61400-27-1:2015, 5.6.5.10.
25    qminu,
26    /// Disconnection time versus over-voltage lookup table (Tuover(uWT)). It is used for the grid protection model, IEC 61400-27-1:2015, 5.6.6.
27    tuover,
28    /// Disconnection time versus under-voltage lookup table (Tuunder(uWT)). It is used for the grid protection model, IEC 61400-27-1:2015, 5.6.6.
29    tuunder,
30    /// Disconnection time versus over-frequency lookup table (Tfover(fWT)). It is used for the grid protection model, IEC 61400-27-1:2015, 5.6.6.
31    tfover,
32    /// Disconnection time versus under-frequency lookup table (Tfunder(fWT)). It is used for the grid protection model, IEC 61400-27-1:2015, 5.6.6.
33    tfunder,
34    /// Look up table for the UQ static mode (qWP(uerr)). It is used for the voltage and reactive power control model, IEC 61400-27-1:2015, Annex D.
35    qwp,
36}
37
38impl WindLookupTableFunctionKind {
39    pub fn uri(&self) -> &'static str {
40        match self {
41            WindLookupTableFunctionKind::prr => "http://iec.ch/TC57/CIM100#WindLookupTableFunctionKind.prr",
42            WindLookupTableFunctionKind::omegap => "http://iec.ch/TC57/CIM100#WindLookupTableFunctionKind.omegap",
43            WindLookupTableFunctionKind::ipmax => "http://iec.ch/TC57/CIM100#WindLookupTableFunctionKind.ipmax",
44            WindLookupTableFunctionKind::iqmax => "http://iec.ch/TC57/CIM100#WindLookupTableFunctionKind.iqmax",
45            WindLookupTableFunctionKind::pwp => "http://iec.ch/TC57/CIM100#WindLookupTableFunctionKind.pwp",
46            WindLookupTableFunctionKind::tcwdu => "http://iec.ch/TC57/CIM100#WindLookupTableFunctionKind.tcwdu",
47            WindLookupTableFunctionKind::tduwt => "http://iec.ch/TC57/CIM100#WindLookupTableFunctionKind.tduwt",
48            WindLookupTableFunctionKind::qmaxp => "http://iec.ch/TC57/CIM100#WindLookupTableFunctionKind.qmaxp",
49            WindLookupTableFunctionKind::qminp => "http://iec.ch/TC57/CIM100#WindLookupTableFunctionKind.qminp",
50            WindLookupTableFunctionKind::qmaxu => "http://iec.ch/TC57/CIM100#WindLookupTableFunctionKind.qmaxu",
51            WindLookupTableFunctionKind::qminu => "http://iec.ch/TC57/CIM100#WindLookupTableFunctionKind.qminu",
52            WindLookupTableFunctionKind::tuover => "http://iec.ch/TC57/CIM100#WindLookupTableFunctionKind.tuover",
53            WindLookupTableFunctionKind::tuunder => "http://iec.ch/TC57/CIM100#WindLookupTableFunctionKind.tuunder",
54            WindLookupTableFunctionKind::tfover => "http://iec.ch/TC57/CIM100#WindLookupTableFunctionKind.tfover",
55            WindLookupTableFunctionKind::tfunder => "http://iec.ch/TC57/CIM100#WindLookupTableFunctionKind.tfunder",
56            WindLookupTableFunctionKind::qwp => "http://iec.ch/TC57/CIM100#WindLookupTableFunctionKind.qwp",
57        }
58    }
59}