Skip to main content

cimstructs/
WindingConnection.rs

1/// Winding connection type.
2#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
3pub enum WindingConnection {
4    /// Delta.
5    D,
6    /// Wye.
7    Y,
8    /// ZigZag.
9    Z,
10    /// Wye, with neutral brought out for grounding.
11    Yn,
12    /// ZigZag, with neutral brought out for grounding.
13    Zn,
14    /// Autotransformer common winding.
15    A,
16    /// Independent winding, for single-phase connections.
17    I,
18}
19
20impl WindingConnection {
21    pub fn uri(&self) -> &'static str {
22        match self {
23            WindingConnection::D => "http://iec.ch/TC57/CIM100#WindingConnection.D",
24            WindingConnection::Y => "http://iec.ch/TC57/CIM100#WindingConnection.Y",
25            WindingConnection::Z => "http://iec.ch/TC57/CIM100#WindingConnection.Z",
26            WindingConnection::Yn => "http://iec.ch/TC57/CIM100#WindingConnection.Yn",
27            WindingConnection::Zn => "http://iec.ch/TC57/CIM100#WindingConnection.Zn",
28            WindingConnection::A => "http://iec.ch/TC57/CIM100#WindingConnection.A",
29            WindingConnection::I => "http://iec.ch/TC57/CIM100#WindingConnection.I",
30        }
31    }
32}