Skip to content

Commit de9ac32

Browse files
Add new codes to ElectricalComponentDiagnosticCode enum (#353)
The following changes have been made to the `ElectricalComponentDiagnosticCode` enum (previously `ComponentErrorCode`): - The code `UNDERVOLTAGE_SHUTDOWN` has been removed in favour of `UNDERVOLTAGE`. - New diagnostic codes have been added to cover more cases, especially for inverters. - The codes have been renumbered. closes #231
2 parents 84fd05d + b92b654 commit de9ac32

File tree

2 files changed

+91
-18
lines changed

2 files changed

+91
-18
lines changed

RELEASE_NOTES.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@
4141
- Rename `SensorStateCode.SENSOR_STATE_CODE_ON` to `SensorStateCode.SENSOR_STATE_CODE_OK`, to better indicate that we do not control on/off state of sensors.
4242
- Rename `ComponentData` to `ElectricalComponentTelemetry` to better specify its purpose of encapsulating general telemetry data from electrical components.
4343
- Rename `SensorData` to `SensorTelemetry` to better specify its purpose of encapsulating general telemetry data from sensors.
44+
- The following changes have been made to the `ElectricalComponentDiagnosticCode` enum (previously `ComponentErrorCode`):
45+
- The code `UNDERVOLTAGE_SHUTDOWN` has been removed in favour of `UNDERVOLTAGE`.
46+
- New diagnostic codes have been added to cover more cases, especially for inverters.
47+
- The codes have been renumbered.
4448

4549
## Bug Fixes
4650

proto/frequenz/api/common/v1/microgrid/electrical_components/electrical_components.proto

Lines changed: 87 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -264,50 +264,97 @@ enum ElectricalComponentDiagnosticCode {
264264
// sanity checks to fail.
265265
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PLAUSIBILITY_ERROR = 13;
266266

267-
// There is or was a system shutdown due to undervoltage.
268-
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_UNDERVOLTAGE_SHUTDOWN = 14;
269-
270-
// There is an unexpected pilot failure in an electric vehicle (EV) component.
271-
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_UNEXPECTED_PILOT_FAILURE = 15;
272-
273267
// A fault current has been detected in the component.
274-
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_FAULT_CURRENT = 16;
268+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_FAULT_CURRENT = 14;
275269

276270
// A short circuit has been detected in the component.
277-
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_SHORT_CIRCUIT = 17;
271+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_SHORT_CIRCUIT = 15;
278272

279273
// The component has been configured incorrectly.
280-
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_CONFIG_ERROR = 18;
274+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_CONFIG_ERROR = 16;
281275

282276
// A illegal state has been requested for the component.
283277
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_ILLEGAL_COMPONENT_STATE_CODE_REQUESTED
284-
= 19;
278+
= 17;
285279

286280
// The hardware of the component is inaccessible.
287-
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_HARDWARE_INACCESSIBLE = 20;
281+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_HARDWARE_INACCESSIBLE = 18;
288282

289283
// There is an internal error within the component.
290-
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_INTERNAL = 21;
284+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_INTERNAL = 19;
291285

292286
// The component is unauthorized to perform the last requested action.
293-
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_UNAUTHORIZED = 22;
287+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_UNAUTHORIZED = 20;
288+
289+
// There is excessive leakage current in the component.
290+
// The threshold for excessive leakage current is defined by the component
291+
// manufacturer.
292+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EXCESS_LEAKAGE_CURRENT = 21;
293+
294+
// The component is inoperable due to the insulation resistance being too low.
295+
// The threshold for low insulation resistance is defined by the component
296+
// manufacturer, or can be configured by the user in the component.
297+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_LOW_SYSTEM_INSULATION_RESISTANCE = 22;
298+
299+
// The component is inoperable due to the faulty grounding.
300+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GROUND_FAULT = 23;
301+
302+
// The component is inoperable due to arcing.
303+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_ARC_FAULT = 24;
304+
305+
// The component is inoperable due to its fan being faulty.
306+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_FAN_FAULT = 25;
307+
308+
// The component is inoperable due to the component's hardware being faulty.
309+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_HARDWARE_FAULT = 26;
310+
311+
// The component is inoperable due to its hardware being faulty.
312+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PROTECTIVE_SHUTDOWN = 27;
313+
314+
// The component is inoperable due to the grid voltage being too high.
315+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_OVERVOLTAGE = 30;
316+
317+
// The component is inoperable due to the grid voltage being too low.
318+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_UNDERVOLTAGE = 31;
319+
320+
// The component is inoperable due to the grid frequency being too high.
321+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_OVERFREQUENCY = 32;
322+
323+
// The component is inoperable due to the grid frequency being too low.
324+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_UNDERFREQUENCY = 33;
325+
326+
// The component is inoperable due to the grid being disconnected, despite
327+
// the AC relay being closed.
328+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_DISCONNECTED = 34;
329+
330+
// The component is inoperable due to the grid voltage being imbalanced.
331+
// This happens when the voltage of one or more phases is outside the
332+
// acceptable range.
333+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_VOLTAGE_IMBALANCE = 35;
334+
335+
// The component is inoperable due to the grid being in a non-standard
336+
// configuration.
337+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_GRID_ABNORMAL = 36;
338+
339+
// There is an unexpected pilot failure in an electric vehicle (EV) component.
340+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_UNEXPECTED_PILOT_FAILURE = 40;
294341

295342
// The electric vehicle (EV) cable was abruptly unplugged from the charging
296343
// station.
297344
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_UNPLUGGED_FROM_STATION
298-
= 40;
345+
= 41;
299346

300347
// The electric vehicle (EV) cable was abruptly unplugged from the vehicle.
301-
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_UNPLUGGED_FROM_EV = 41;
348+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_UNPLUGGED_FROM_EV = 42;
302349

303350
// There is a cable lock failure with the electric vehicle (EV).
304-
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_LOCK_FAILED = 42;
351+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_LOCK_FAILED = 43;
305352

306353
// The electric vehicle (EV) charging cable is invalid.
307-
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_INVALID = 43;
354+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CHARGING_CABLE_INVALID = 44;
308355

309356
// The incompatible electric vehicle (EV) charging plug is invalid.
310-
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CONSUMER_INCOMPATIBLE = 44;
357+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_EV_CONSUMER_INCOMPATIBLE = 45;
311358

312359
// There is a battery system imbalance.
313360
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_BATTERY_IMBALANCE = 50;
@@ -329,6 +376,28 @@ enum ElectricalComponentDiagnosticCode {
329376

330377
// The battery's DC contactor or relays have reached end of life.
331378
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_RELAY_CYCLE_LIMIT_REACHED = 60;
379+
380+
// The PV panels have been connected with reversed polarity.
381+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PV_REVERSAL_POLARITY = 70;
382+
383+
// The PV panels are underperforming.
384+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PV_UNDERPERFORMANCE = 71;
385+
386+
// The PV panels have a fault.
387+
// The component is not able to determine or specify the fault.
388+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PV_FAULT = 72;
389+
390+
// The PV panels are receiving a reverse current.
391+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PV_REVERSE_CURRENT = 73;
392+
393+
// The PV panels are not grounded properly.
394+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_PV_GROUND_FAULT = 74;
395+
396+
// The inverter is inoperable due to the DC voltage being too low.
397+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_INVERTER_DC_UNDERVOLTAGE = 80;
398+
399+
// The inverter is inoperable due to the DC voltage being too high.
400+
ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_INVERTER_DC_OVERVOLTAGE = 81;
332401
}
333402

334403
// MetricConfigBounds describes a set of limits for a specific metric consisting

0 commit comments

Comments
 (0)