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 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
Event: Overcurrent protector settings have been changed.
Definition: OverCurrentProtector.idl:81
Settings newSettings
Settings after change.
Definition: OverCurrentProtector.idl:83
Settings oldSettings
Settings before change.
Definition: OverCurrentProtector.idl:82
Overcurrent protector settings.
Definition: OverCurrentProtector.idl:76
string name
User-defined name.
Definition: OverCurrentProtector.idl:77
Numerical usage ratings.
Definition: Nameplate.idl:15