Raritan / Server Technology Xerus™ PDU JSON-RPC API
OverCurrentProtector.idl
1 /* SPDX-License-Identifier: BSD-3-Clause */
2 /*
3  * Copyright 2009 Raritan Inc. All rights reserved.
4  */
5 
6 #ifndef __PDUMODEL_OVERCURRENTPROTECTOR_IDL__
7 #define __PDUMODEL_OVERCURRENTPROTECTOR_IDL__
8 
9 #include <Nameplate.idl>
10 #include <StateSensor.idl>
11 #include <NumericSensor.idl>
12 #include <ResidualCurrentStateSensor.idl>
13 #include <Pole.idl>
14 #include <Inlet.idl>
15 
16 /**
17  * PDU Model
18  */
19 module pdumodel {
20 
21  /** Overcurrent protector statistics */
23  int tripCnt; ///< Trip count
24  };
25 
26  /** Overcurrent protector interface */
27  interface OverCurrentProtector extends EDevice {
28 
29  /** Overcurrent protector type */
30  enumeration Type {
31  BREAKER_1POLE, ///< Single-pole circuit breaker
32  BREAKER_2POLE, ///< Two-pole circuit breaker
33  BREAKER_3POLE, ///< Three-pole circuit breaker
34  FUSE, ///< Fuse
35  FUSE_PAIR, ///< Fuse Pair
36  RCBO_2POLE, ///< Two-pole residual-current device including overcurrent protection
37  RCBO_3POLE, ///< Three-pole residual-current device including overcurrent protection
38  RCBO_4POLE ///< Four-pole residual-current device including overcurrent protection
39  };
40 
41  /** Overcurrent protector metadata */
42  structure MetaData {
43  string label; ///< OCP label
44  Nameplate namePlate; ///< %Nameplate information
45  Rating rating; ///< Numerical usage ratings
46  Type type; ///< OCP type
47  int maxTripCnt; ///< Maximum trip count
48  };
49 
50  /** Overcurrent protector sensors */
51  structure Sensors {
52  sensors.StateSensor trip; ///< Trip sensor (an instance of {@link OverCurrentProtectorTripSensor})
53  sensors.NumericSensor voltage; ///< RMS voltage sensor
54  sensors.NumericSensor current; ///< RMS current sensor
55  sensors.NumericSensor peakCurrent; ///< Peak current sensor
56  sensors.NumericSensor maximumCurrent; ///< Maximum current sensor
57  sensors.NumericSensor activePower; ///< Active power sensor
58  sensors.NumericSensor reactivePower; ///< Reactive power sensor
59  sensors.NumericSensor apparentPower; ///< Apparent power sensor
60  sensors.NumericSensor powerFactor; ///< Power factor sensor
61  sensors.NumericSensor displacementPowerFactor;///< Displacement power factor sensor
62  sensors.NumericSensor crestFactor; ///< Crest factor sensor
63  sensors.NumericSensor activeEnergy; ///< Active energy sensor
64  sensors.NumericSensor apparentEnergy; ///< Apparent energy sensor
65  sensors.NumericSensor phaseAngle; ///< Phase angle sensor
66  sensors.NumericSensor lineFrequency; ///< AC line frequency sensor
67  sensors.NumericSensor residualCurrent; ///< Residual current sensor
68  sensors.NumericSensor residualACCurrent; ///< AC Residual current sensor
69  ///< (AC portion of residual operating current)
70  sensors.NumericSensor residualDCCurrent; ///< DC Residual current sensor
71  ///< (DC portion of residual operating current)
72  ResidualCurrentStateSensor residualCurrentStatus; ///< Residual current monitor state sensor
73  };
74 
75  /** Overcurrent protector settings */
76  structure Settings {
77  string name; ///< User-defined name
78  };
79 
80  /** Event: Overcurrent protector settings have been changed */
81  valueobject SettingsChangedEvent extends event.UserEvent {
82  Settings oldSettings; ///< Settings before change
83  Settings newSettings; ///< Settings after change
84  };
85 
86  /**
87  * Retrieve the OCP metadata.
88  *
89  * @return OCP metadata
90  */
92 
93  /**
94  * Get the OCP sensors.
95  *
96  * @return OCP sensors
97  */
99 
100  /**
101  * Get the list of OCP poles.
102  *
103  * @return List of OCP poles
104  */
105  vector<DoublePole> getPoles();
106 
107  /**
108  * Get the inlet this OCP is connected to
109  *
110  * @return inlet
111  */
113 
114  /**
115  * Get parent OCP - next OCP going towards inlet (for cascaded OCPs).
116  *
117  * @return OCP or null
118  */
120 
121  /**
122  * Retrieve the OCP settings.
123  *
124  * @return OCP settings
125  */
127 
128  /**
129  * Change the OCP settings.
130  *
131  * @param settings New OCP settings
132  *
133  * @return 0 if OK
134  * @return 1 if any parameters are invalid
135  */
136  int setSettings(in Settings settings);
137 
138  };
139 
140 }
141 
142 #endif
Common base interface for any kind of electrical device that is used in the PDU model,...
Definition: EDevice.idl:27
Inlet interface
Definition: Inlet.idl:22
Overcurrent protector interface.
Definition: OverCurrentProtector.idl:27
MetaData getMetaData()
Retrieve the OCP metadata.
OverCurrentProtector getOCP()
Get parent OCP - next OCP going towards inlet (for cascaded OCPs).
Type
Overcurrent protector type.
Definition: OverCurrentProtector.idl:30
@ RCBO_3POLE
Three-pole residual-current device including overcurrent protection.
Definition: OverCurrentProtector.idl:37
@ BREAKER_3POLE
Three-pole circuit breaker.
Definition: OverCurrentProtector.idl:33
@ FUSE
Fuse.
Definition: OverCurrentProtector.idl:34
@ BREAKER_1POLE
Single-pole circuit breaker.
Definition: OverCurrentProtector.idl:31
@ BREAKER_2POLE
Two-pole circuit breaker.
Definition: OverCurrentProtector.idl:32
@ FUSE_PAIR
Fuse Pair.
Definition: OverCurrentProtector.idl:35
@ RCBO_2POLE
Two-pole residual-current device including overcurrent protection.
Definition: OverCurrentProtector.idl:36
Sensors getSensors()
Get the OCP sensors.
Settings newSettings
Settings after change.
Definition: OverCurrentProtector.idl:83
Settings getSettings()
Retrieve the OCP settings.
Inlet getInlet()
Get the inlet this OCP is connected to.
int setSettings(in Settings settings)
Change the OCP settings.
vector< DoublePole > getPoles()
Get the list of OCP poles.
Residual current state sensor interface.
Definition: ResidualCurrentStateSensor.idl:17
A sensor with numeric readings.
Definition: NumericSensor.idl:17
Sensor with discrete readings.
Definition: StateSensor.idl:43
PDU Model.
Definition: Ade.idl:12
Sensors Model.
Definition: AccumulatingNumericSensor.idl:13
Overcurrent protector statistics.
Definition: OverCurrentProtector.idl:22
int tripCnt
Trip count.
Definition: OverCurrentProtector.idl:23
Component nameplate information.
Definition: Nameplate.idl:23
Overcurrent protector metadata.
Definition: OverCurrentProtector.idl:42
Nameplate namePlate
Nameplate information
Definition: OverCurrentProtector.idl:44
string label
OCP label.
Definition: OverCurrentProtector.idl:43
int maxTripCnt
Maximum trip count.
Definition: OverCurrentProtector.idl:47
Rating rating
Numerical usage ratings.
Definition: OverCurrentProtector.idl:45
Type type
OCP type.
Definition: OverCurrentProtector.idl:46
Overcurrent protector sensors.
Definition: OverCurrentProtector.idl:51
sensors::NumericSensor peakCurrent
Peak current sensor.
Definition: OverCurrentProtector.idl:55
sensors::NumericSensor residualCurrent
Residual current sensor.
Definition: OverCurrentProtector.idl:67
ResidualCurrentStateSensor residualCurrentStatus
Residual current monitor state sensor.
Definition: OverCurrentProtector.idl:72
sensors::NumericSensor activeEnergy
Active energy sensor.
Definition: OverCurrentProtector.idl:63
sensors::NumericSensor maximumCurrent
Maximum current sensor.
Definition: OverCurrentProtector.idl:56
sensors::NumericSensor powerFactor
Power factor sensor.
Definition: OverCurrentProtector.idl:60
sensors::NumericSensor voltage
RMS voltage sensor.
Definition: OverCurrentProtector.idl:53
sensors::NumericSensor reactivePower
Reactive power sensor.
Definition: OverCurrentProtector.idl:58
sensors::NumericSensor activePower
Active power sensor.
Definition: OverCurrentProtector.idl:57
sensors::NumericSensor apparentEnergy
Apparent energy sensor.
Definition: OverCurrentProtector.idl:64
sensors::NumericSensor residualACCurrent
AC Residual current sensor.
Definition: OverCurrentProtector.idl:68
sensors::NumericSensor phaseAngle
Phase angle sensor.
Definition: OverCurrentProtector.idl:65
sensors::NumericSensor displacementPowerFactor
Displacement power factor sensor.
Definition: OverCurrentProtector.idl:61
sensors::NumericSensor current
RMS current sensor.
Definition: OverCurrentProtector.idl:54
sensors::StateSensor trip
Trip sensor (an instance of OverCurrentProtectorTripSensor)
Definition: OverCurrentProtector.idl:52
sensors::NumericSensor residualDCCurrent
DC Residual current sensor.
Definition: OverCurrentProtector.idl:70
sensors::NumericSensor crestFactor
Crest factor sensor.
Definition: OverCurrentProtector.idl:62
sensors::NumericSensor lineFrequency
AC line frequency sensor.
Definition: OverCurrentProtector.idl:66
sensors::NumericSensor apparentPower
Apparent power sensor.
Definition: OverCurrentProtector.idl:59
Overcurrent protector settings.
Definition: OverCurrentProtector.idl:76
string name
User-defined name.
Definition: OverCurrentProtector.idl:77
Numerical usage ratings.
Definition: Nameplate.idl:15