Skip to main content

cimstructs/
FrancisGovernorControlKind.rs

1/// Governor control flag for Francis hydro model.
2#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
3pub enum FrancisGovernorControlKind {
4    /// Mechanic-hydraulic regulator with tacho-accelerometer (Cflag = 1).
5    mechanicHydrolicTachoAccelerator,
6    /// Mechanic-hydraulic regulator with transient feedback (Cflag=2).
7    mechanicHydraulicTransientFeedback,
8    /// Electromechanical and electrohydraulic regulator (Cflag=3).
9    electromechanicalElectrohydraulic,
10}
11
12impl FrancisGovernorControlKind {
13    pub fn uri(&self) -> &'static str {
14        match self {
15            FrancisGovernorControlKind::mechanicHydrolicTachoAccelerator => "http://iec.ch/TC57/CIM100#FrancisGovernorControlKind.mechanicHydrolicTachoAccelerator",
16            FrancisGovernorControlKind::mechanicHydraulicTransientFeedback => "http://iec.ch/TC57/CIM100#FrancisGovernorControlKind.mechanicHydraulicTransientFeedback",
17            FrancisGovernorControlKind::electromechanicalElectrohydraulic => "http://iec.ch/TC57/CIM100#FrancisGovernorControlKind.electromechanicalElectrohydraulic",
18        }
19    }
20}