Skip to main content

cimstructs/
VsQpccControlKind.rs

1/// Kind of reactive power control at point of common coupling for a voltage source converter.
2#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
3pub enum VsQpccControlKind {
4    /// Control is reactive power at point of common coupling. Target is provided by VsConverter.targetQpcc.
5    reactivePcc,
6    /// Control is voltage at point of common coupling. Target is provided by VsConverter.targetUpcc.
7    voltagePcc,
8    /// Control is power factor at point of common coupling. Target is provided by VsConverter.targetPowerFactorPcc.
9    powerFactorPcc,
10    /// No explicit control. Pulse-modulation factor is directly set in magnitude (VsConverter.targetPWMfactor) and phase (VsConverter.targetPhasePcc).
11    pulseWidthModulation,
12}
13
14impl VsQpccControlKind {
15    pub fn uri(&self) -> &'static str {
16        match self {
17            VsQpccControlKind::reactivePcc => "http://iec.ch/TC57/CIM100#VsQpccControlKind.reactivePcc",
18            VsQpccControlKind::voltagePcc => "http://iec.ch/TC57/CIM100#VsQpccControlKind.voltagePcc",
19            VsQpccControlKind::powerFactorPcc => "http://iec.ch/TC57/CIM100#VsQpccControlKind.powerFactorPcc",
20            VsQpccControlKind::pulseWidthModulation => "http://iec.ch/TC57/CIM100#VsQpccControlKind.pulseWidthModulation",
21        }
22    }
23}