@@ -13,14 +13,6 @@ package frequenz.api.common.v1alpha7.microgrid.electrical_components;
1313
1414import "frequenz/api/common/v1alpha7/metrics/bounds.proto" ;
1515import "frequenz/api/common/v1alpha7/metrics/metrics.proto" ;
16- import "frequenz/api/common/v1alpha7/microgrid/electrical_components/battery.proto" ;
17- import
18- "frequenz/api/common/v1alpha7/microgrid/electrical_components/ev_charger.proto";
19- import "frequenz/api/common/v1alpha7/microgrid/electrical_components/fuse.proto" ;
20- import "frequenz/api/common/v1alpha7/microgrid/electrical_components/grid.proto" ;
21- import "frequenz/api/common/v1alpha7/microgrid/electrical_components/inverter.proto" ;
22- import
23- "frequenz/api/common/v1alpha7/microgrid/electrical_components/transformer.proto";
2416import "frequenz/api/common/v1alpha7/microgrid/lifetime.proto" ;
2517
2618import "google/protobuf/timestamp.proto" ;
@@ -447,6 +439,137 @@ enum ElectricalComponentDiagnosticCode {
447439 ELECTRICAL_COMPONENT_DIAGNOSTIC_CODE_INVERTER_DC_OVERVOLTAGE = 81 ;
448440}
449441
442+ // Enumerated battery types.
443+ enum BatteryType {
444+ // Unspecified.
445+ BATTERY_TYPE_UNSPECIFIED = 0 ;
446+
447+ // Li-ion batteries.
448+ BATTERY_TYPE_LI_ION = 1 ;
449+
450+ // Sodium-ion batteries
451+ BATTERY_TYPE_NA_ION = 2 ;
452+ }
453+
454+ // A representation of a battery.
455+ message Battery {
456+ // The battery type.
457+ BatteryType type = 1 ;
458+ }
459+
460+ // Enumerated EV charger types.
461+ enum EvChargerType {
462+ // Default type.
463+ EV_CHARGER_TYPE_UNSPECIFIED = 0 ;
464+
465+ // The EV charging station supports AC charging only.
466+ EV_CHARGER_TYPE_AC = 1 ;
467+
468+ // The EV charging station supports DC charging only.
469+ EV_CHARGER_TYPE_DC = 2 ;
470+
471+ // The EV charging station supports both AC and DC.
472+ EV_CHARGER_TYPE_HYBRID = 3 ;
473+ }
474+
475+ // A representation of an EV charging station.
476+ message EvCharger {
477+ // The EV charger type.
478+ EvChargerType type = 1 ;
479+ }
480+
481+ // A representation of a fuse.
482+ // The fuse component represents a fuse in the microgrid. It is used to protect
483+ // components from overcurrents.
484+ message Fuse {
485+ // The rated current of the fuse in amperes.
486+ // This is the maximum current that the fuse can withstand for a long time.
487+ // This limit applies to currents both flowing in or out of each of the 3
488+ // phases individually.
489+ //
490+ // In other words, a current _i_ A at one of the phases of the node must
491+ // comply with the following constraint:
492+ // `-rated_fuse_current <= i <= rated_fuse_current`
493+ uint32 rated_current = 1 ;
494+ }
495+
496+ // A representation of a grid connection point. This is the point where a
497+ // microgrid connects to the grid.
498+ //
499+ // The terms "Grid Connection Point" and "Point of Common Coupling" (PCC) are
500+ // commonly used in the context.
501+ //
502+ // While both terms describe a connection point to the grid, the
503+ // `GridConnectionPoint` is specifically the physical connection point of the
504+ // generation facility to the grid, often concerned with the technical and
505+ // ownership aspects of the connection.
506+ //
507+ // In contrast, the PCC is is more specific in terms of electrical engineering.
508+ // It refers to the point where a customer's local electrical system (such as a
509+ // microgrid) connects to the utility distribution grid in such a way that it
510+ // can affect other customers’ systems connected to the same network. It is the
511+ // point where the grid and customer's electrical systems interface and where
512+ // issues like power quality and supply regulations are assessed.
513+ //
514+ // The term `GridConnectionPoint` is used to make it clear that what is referred
515+ // to here is the physical connection point of the local facility to the grid.
516+ // Note that this may also be the PCC in some cases.
517+ message GridConnectionPoint {
518+ // This refers to the maximum amount of electrical current, in amperes, that a
519+ // fuse at the grid connection point is designed to safely carry under normal
520+ // operating conditions.
521+ //
522+ // This limit applies to currents both flowing in or out of each of the 3
523+ // phases individually.
524+ //
525+ // In other words, a current _i_ A at one of the phases of the grid connection
526+ // point must comply with the following constraint:
527+ // `-rated_fuse_current <= i <= rated_fuse_current`
528+ uint32 rated_fuse_current = 1 ;
529+ }
530+
531+ // Enumerated inverter types.
532+ enum InverterType {
533+ // Unspecified.
534+ INVERTER_TYPE_UNSPECIFIED = 0 ;
535+
536+ // Battery inverter.
537+ INVERTER_TYPE_BATTERY = 1 ;
538+
539+ // PV (photovoltaic) inverter.
540+ INVERTER_TYPE_PV = 2 ;
541+
542+ // Hybrid inverter.
543+ INVERTER_TYPE_HYBRID = 3 ;
544+
545+ // Wind turbine inverter.
546+ INVERTER_TYPE_WIND_TURBINE = 4 ;
547+ }
548+
549+ // A representation of an inverter.
550+ // The inverter metadata.
551+ message Inverter {
552+ // The inverter type.
553+ InverterType type = 1 ;
554+ }
555+
556+ // A representation of a voltage transformer.
557+ // Voltage transformers are used to step up or step down the voltage, keeping
558+ // the power somewhat constant by increasing or decreasing the current.
559+ // If voltage is stepped up, current is stepped down, and vice versa.
560+ // Note that voltage transformers have efficiency losses, so the output power
561+ // is always less than the input power.
562+ message VoltageTransformer {
563+ // The primary voltage of the transformer.
564+ // This is the input voltage that is stepped up or down.
565+ float primary = 1 ;
566+
567+ // The secondary voltage of the transformer.
568+ // This is the output voltage that is the result of stepping the primary
569+ // voltage up or down.
570+ float secondary = 2 ;
571+ }
572+
450573// MetricConfigBounds describes a set of limits for a specific metric consisting
451574// of a lower and upper bound for said metric.
452575//
@@ -464,19 +587,16 @@ message MetricConfigBounds {
464587 frequenz.api.common.v1alpha7.metrics.Bounds config_bounds = 2 ;
465588}
466589
467- // Metadata specific to a microgrid component.
590+ // Information specific to a microgrid electrical component, based upon its
591+ // category.
468592message ElectricalComponentCategorySpecificInfo {
469593 oneof kind {
470- frequenz.api.common.v1alpha7.microgrid.electrical_components.Battery battery = 1 ;
471- frequenz.api.common.v1alpha7.microgrid.electrical_components.EvCharger
472- ev_charger = 2;
473- frequenz.api.common.v1alpha7.microgrid.electrical_components.Fuse fuse = 3 ;
474- frequenz.api.common.v1alpha7.microgrid.electrical_components.GridConnectionPoint
475- grid_connection_point = 4;
476- frequenz.api.common.v1alpha7.microgrid.electrical_components.Inverter
477- inverter = 5;
478- frequenz.api.common.v1alpha7.microgrid.electrical_components.VoltageTransformer
479- voltage_transformer = 6;
594+ Battery battery = 1 ;
595+ EvCharger ev_charger = 2 ;
596+ Fuse fuse = 3 ;
597+ GridConnectionPoint grid_connection_point = 4 ;
598+ Inverter inverter = 5 ;
599+ VoltageTransformer voltage_transformer = 6 ;
480600 }
481601}
482602
0 commit comments