Skip to main content

cimstructs/
RemoteSignalKind.rs

1/// Type of input signal coming from remote bus.
2#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
3pub enum RemoteSignalKind {
4    /// Input is voltage frequency from remote terminal bus.
5    remoteBusVoltageFrequency,
6    /// Input is voltage frequency deviation from remote terminal bus.
7    remoteBusVoltageFrequencyDeviation,
8    /// Input is frequency from remote terminal bus.
9    remoteBusFrequency,
10    /// Input is frequency deviation from remote terminal bus.
11    remoteBusFrequencyDeviation,
12    /// Input is voltage amplitude from remote terminal bus.
13    remoteBusVoltageAmplitude,
14    /// Input is voltage from remote terminal bus.
15    remoteBusVoltage,
16    /// Input is branch current amplitude from remote terminal bus.
17    remoteBranchCurrentAmplitude,
18    /// Input is branch current amplitude derivative from remote terminal bus.
19    remoteBusVoltageAmplitudeDerivative,
20    /// Input is PU voltage derivative from remote terminal bus.
21    remotePuBusVoltageDerivative,
22}
23
24impl RemoteSignalKind {
25    pub fn uri(&self) -> &'static str {
26        match self {
27            RemoteSignalKind::remoteBusVoltageFrequency => "http://iec.ch/TC57/CIM100#RemoteSignalKind.remoteBusVoltageFrequency",
28            RemoteSignalKind::remoteBusVoltageFrequencyDeviation => "http://iec.ch/TC57/CIM100#RemoteSignalKind.remoteBusVoltageFrequencyDeviation",
29            RemoteSignalKind::remoteBusFrequency => "http://iec.ch/TC57/CIM100#RemoteSignalKind.remoteBusFrequency",
30            RemoteSignalKind::remoteBusFrequencyDeviation => "http://iec.ch/TC57/CIM100#RemoteSignalKind.remoteBusFrequencyDeviation",
31            RemoteSignalKind::remoteBusVoltageAmplitude => "http://iec.ch/TC57/CIM100#RemoteSignalKind.remoteBusVoltageAmplitude",
32            RemoteSignalKind::remoteBusVoltage => "http://iec.ch/TC57/CIM100#RemoteSignalKind.remoteBusVoltage",
33            RemoteSignalKind::remoteBranchCurrentAmplitude => "http://iec.ch/TC57/CIM100#RemoteSignalKind.remoteBranchCurrentAmplitude",
34            RemoteSignalKind::remoteBusVoltageAmplitudeDerivative => "http://iec.ch/TC57/CIM100#RemoteSignalKind.remoteBusVoltageAmplitudeDerivative",
35            RemoteSignalKind::remotePuBusVoltageDerivative => "http://iec.ch/TC57/CIM100#RemoteSignalKind.remotePuBusVoltageDerivative",
36        }
37    }
38}