zepben.ewb 1.0.0b9__py3-none-any.whl → 1.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- zepben/ewb/auth/client/zepben_token_fetcher.py +62 -42
- zepben/ewb/database/sqlite/common/base_cim_reader.py +7 -7
- zepben/ewb/database/sqlite/common/base_database_writer.py +2 -2
- zepben/ewb/database/sqlite/network/network_cim_reader.py +20 -20
- zepben/ewb/database/sqlite/network/network_database_reader.py +4 -2
- zepben/ewb/database/sqlite/tables/iec61968/common/table_documents.py +5 -5
- zepben/ewb/database/sqlite/tables/iec61968/common/table_street_addresses.py +1 -1
- zepben/ewb/database/sqlite/tables/iec61968/infiec61968/infassets/table_poles.py +1 -1
- zepben/ewb/database/sqlite/tables/iec61970/base/core/table_identified_objects.py +3 -3
- zepben/ewb/database/sqlite/tables/iec61970/base/core/table_power_system_resources.py +1 -1
- zepben/ewb/database/sqlite/tables/iec61970/base/meas/table_analogs.py +1 -1
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_energy_consumers.py +1 -1
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_energy_sources.py +1 -1
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_regulating_cond_eq.py +1 -1
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_shunt_compensators.py +1 -1
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_tap_changers.py +1 -1
- zepben/ewb/database/sqlite/tables/iec61970/base/wires/table_transformer_ends.py +1 -1
- zepben/ewb/model/cim/iec61968/common/document.py +5 -5
- zepben/ewb/model/cim/iec61968/common/street_address.py +2 -2
- zepben/ewb/model/cim/iec61968/common/street_detail.py +8 -7
- zepben/ewb/model/cim/iec61968/infiec61968/infassets/pole.py +1 -1
- zepben/ewb/model/cim/iec61968/metering/meter.py +4 -2
- zepben/ewb/model/cim/iec61968/metering/usage_point.py +1 -1
- zepben/ewb/model/cim/iec61970/base/core/curve.py +2 -1
- zepben/ewb/model/cim/iec61970/base/core/identified_object.py +8 -3
- zepben/ewb/model/cim/iec61970/base/core/name_type.py +2 -2
- zepben/ewb/model/cim/iec61970/base/core/power_system_resource.py +2 -2
- zepben/ewb/model/cim/iec61970/base/meas/analog.py +3 -1
- zepben/ewb/model/cim/iec61970/base/wires/energy_consumer.py +1 -1
- zepben/ewb/model/cim/iec61970/base/wires/energy_source.py +1 -1
- zepben/ewb/model/cim/iec61970/base/wires/regulating_cond_eq.py +1 -1
- zepben/ewb/model/cim/iec61970/base/wires/shunt_compensator.py +1 -1
- zepben/ewb/model/cim/iec61970/base/wires/synchronous_machine.py +1 -1
- zepben/ewb/model/cim/iec61970/base/wires/tap_changer.py +1 -1
- zepben/ewb/model/cim/iec61970/base/wires/transformer_end.py +1 -1
- zepben/ewb/model/cim/iec61970/base/wires/transformer_star_impedance.py +4 -4
- zepben/ewb/services/common/translator/base_cim2proto.py +21 -9
- zepben/ewb/services/common/translator/base_proto2cim.py +13 -8
- zepben/ewb/services/customer/translator/customer_cim2proto.py +10 -10
- zepben/ewb/services/customer/translator/customer_proto2cim.py +9 -9
- zepben/ewb/services/diagram/translator/diagram_cim2proto.py +8 -8
- zepben/ewb/services/diagram/translator/diagram_proto2cim.py +8 -8
- zepben/ewb/services/network/tracing/phases/phase_inferrer.py +2 -2
- zepben/ewb/services/network/translator/network_cim2proto.py +451 -322
- zepben/ewb/services/network/translator/network_proto2cim.py +305 -287
- {zepben_ewb-1.0.0b9.dist-info → zepben_ewb-1.0.1.dist-info}/METADATA +4 -6
- {zepben_ewb-1.0.0b9.dist-info → zepben_ewb-1.0.1.dist-info}/RECORD +50 -50
- {zepben_ewb-1.0.0b9.dist-info → zepben_ewb-1.0.1.dist-info}/WHEEL +0 -0
- {zepben_ewb-1.0.0b9.dist-info → zepben_ewb-1.0.1.dist-info}/licenses/LICENSE +0 -0
- {zepben_ewb-1.0.0b9.dist-info → zepben_ewb-1.0.1.dist-info}/top_level.txt +0 -0
|
@@ -325,7 +325,7 @@ from zepben.ewb.model.cim.iec61970.base.wires.transformer_star_impedance import
|
|
|
325
325
|
from zepben.ewb.model.cim.iec61970.base.wires.winding_connection import *
|
|
326
326
|
from zepben.ewb.model.cim.iec61970.infiec61970.feeder.circuit import *
|
|
327
327
|
from zepben.ewb.services.common.translator.base_proto2cim import identified_object_to_cim, organisation_role_to_cim, document_to_cim, add_to_network_or_none, \
|
|
328
|
-
bind_to_cim
|
|
328
|
+
bind_to_cim, get_nullable
|
|
329
329
|
from zepben.ewb.services.common.translator.util import int_or_none, float_or_none, long_or_none, str_or_none, uint_or_none
|
|
330
330
|
from zepben.ewb.services.network.network_service import NetworkService
|
|
331
331
|
from zepben.ewb.services.network.tracing.feeder.feeder_direction import FeederDirection
|
|
@@ -341,11 +341,12 @@ def relay_info_to_cim(pb: PBRelayInfo, network_service: NetworkService) -> Optio
|
|
|
341
341
|
# noinspection PyUnresolvedReferences
|
|
342
342
|
cim = RelayInfo(
|
|
343
343
|
mrid=pb.mrid(),
|
|
344
|
-
curve_setting=
|
|
345
|
-
reclose_fast=
|
|
344
|
+
curve_setting=get_nullable(pb, 'curveSetting'),
|
|
345
|
+
reclose_fast=get_nullable(pb, 'recloseFast'),
|
|
346
346
|
reclose_delays=list(pb.recloseDelays)
|
|
347
347
|
)
|
|
348
348
|
|
|
349
|
+
|
|
349
350
|
asset_info_to_cim(pb.ai, cim, network_service)
|
|
350
351
|
return cim
|
|
351
352
|
|
|
@@ -365,7 +366,7 @@ def pan_demand_response_function_to_cim(pb: PBPanDemandResponseFunction, network
|
|
|
365
366
|
"""
|
|
366
367
|
# noinspection PyUnresolvedReferences
|
|
367
368
|
cim = PanDemandResponseFunction(mrid=pb.mrid())
|
|
368
|
-
cim.appliance =
|
|
369
|
+
cim.appliance = get_nullable(pb, 'appliance')
|
|
369
370
|
cim.kind = EndDeviceFunctionKind(pb.kind)
|
|
370
371
|
end_device_function_to_cim(pb.edf, cim, network_service)
|
|
371
372
|
|
|
@@ -445,15 +446,15 @@ def distance_relay_to_cim(pb: PBDistanceRelay, network_service: NetworkService)
|
|
|
445
446
|
# noinspection PyUnresolvedReferences
|
|
446
447
|
cim = DistanceRelay(
|
|
447
448
|
mrid=pb.mrid(),
|
|
448
|
-
backward_blind=
|
|
449
|
-
backward_reach=
|
|
450
|
-
backward_reactance=
|
|
451
|
-
forward_blind=
|
|
452
|
-
forward_reach=
|
|
453
|
-
forward_reactance=
|
|
454
|
-
operation_phase_angle1=
|
|
455
|
-
operation_phase_angle2=
|
|
456
|
-
operation_phase_angle3=
|
|
449
|
+
backward_blind=get_nullable(pb, 'backwardBlind'),
|
|
450
|
+
backward_reach=get_nullable(pb, 'backwardReach'),
|
|
451
|
+
backward_reactance=get_nullable(pb, 'backwardReactance'),
|
|
452
|
+
forward_blind=get_nullable(pb, 'forwardBlind'),
|
|
453
|
+
forward_reach=get_nullable(pb, 'forwardReach'),
|
|
454
|
+
forward_reactance=get_nullable(pb, 'forwardReactance'),
|
|
455
|
+
operation_phase_angle1=get_nullable(pb, 'operationPhaseAngle1'),
|
|
456
|
+
operation_phase_angle2=get_nullable(pb, 'operationPhaseAngle2'),
|
|
457
|
+
operation_phase_angle3=get_nullable(pb, 'operationPhaseAngle3'),
|
|
457
458
|
)
|
|
458
459
|
|
|
459
460
|
protection_relay_function_to_cim(pb.prf, cim, network_service)
|
|
@@ -461,17 +462,17 @@ def distance_relay_to_cim(pb: PBDistanceRelay, network_service: NetworkService)
|
|
|
461
462
|
|
|
462
463
|
|
|
463
464
|
def protection_relay_function_to_cim(pb: PBProtectionRelayFunction, cim: ProtectionRelayFunction, network_service: NetworkService):
|
|
464
|
-
cim.model =
|
|
465
|
-
cim.reclosing =
|
|
465
|
+
cim.model = get_nullable(pb, 'model')
|
|
466
|
+
cim.reclosing = get_nullable(pb, 'reclosing')
|
|
466
467
|
for time_limit in pb.timeLimits:
|
|
467
468
|
cim.add_time_limit(time_limit)
|
|
468
469
|
for threshold in pb.thresholds:
|
|
469
470
|
cim.add_threshold(relay_setting_to_cim(threshold))
|
|
470
|
-
cim.relay_delay_time =
|
|
471
|
+
cim.relay_delay_time = get_nullable(pb, 'relayDelayTime')
|
|
471
472
|
cim.protection_kind = ProtectionKind(pb.protectionKind)
|
|
472
473
|
for mrid in pb.protectedSwitchMRIDs:
|
|
473
474
|
network_service.resolve_or_defer_reference(resolver.prf_protected_switch(cim), mrid)
|
|
474
|
-
cim.directable =
|
|
475
|
+
cim.directable = get_nullable(pb, 'directable')
|
|
475
476
|
cim.power_direction = PowerDirectionKind(pb.powerDirection)
|
|
476
477
|
for mrid in pb.sensorMRIDs:
|
|
477
478
|
network_service.resolve_or_defer_reference(resolver.prf_sensor(cim), mrid)
|
|
@@ -519,7 +520,7 @@ def protection_relay_system_to_cim(pb: PBProtectionRelaySystem, network_service:
|
|
|
519
520
|
|
|
520
521
|
def relay_setting_to_cim(pb: PBRelaySetting) -> Optional[RelaySetting]:
|
|
521
522
|
return RelaySetting(
|
|
522
|
-
name=pb
|
|
523
|
+
name=get_nullable(pb, 'name'),
|
|
523
524
|
unit_symbol=unit_symbol_from_id(pb.unitSymbol),
|
|
524
525
|
value=float_or_none(pb.value)
|
|
525
526
|
)
|
|
@@ -551,10 +552,10 @@ def battery_control_to_cim(pb: PBBatteryControl, network_service: NetworkService
|
|
|
551
552
|
# noinspection PyUnresolvedReferences
|
|
552
553
|
cim = BatteryControl(
|
|
553
554
|
mrid=pb.mrid(),
|
|
554
|
-
charging_rate=
|
|
555
|
-
discharging_rate=
|
|
556
|
-
reserve_percent=
|
|
557
|
-
control_mode=BatteryControlMode(pb.controlMode)
|
|
555
|
+
charging_rate=get_nullable(pb, 'chargingRate'),
|
|
556
|
+
discharging_rate=get_nullable(pb, 'dischargingRate'),
|
|
557
|
+
reserve_percent=get_nullable(pb, 'reservePercent'),
|
|
558
|
+
control_mode=BatteryControlMode(pb.controlMode),
|
|
558
559
|
)
|
|
559
560
|
|
|
560
561
|
regulating_control_to_cim(pb.rc, cim, network_service)
|
|
@@ -583,11 +584,11 @@ def no_load_test_to_cim(pb: PBNoLoadTest, network_service: NetworkService) -> Op
|
|
|
583
584
|
# noinspection PyUnresolvedReferences
|
|
584
585
|
cim = NoLoadTest(
|
|
585
586
|
mrid=pb.mrid(),
|
|
586
|
-
energised_end_voltage=
|
|
587
|
-
exciting_current=
|
|
588
|
-
exciting_current_zero=
|
|
589
|
-
loss=
|
|
590
|
-
loss_zero=
|
|
587
|
+
energised_end_voltage=get_nullable(pb, 'energisedEndVoltage'),
|
|
588
|
+
exciting_current=get_nullable(pb, 'excitingCurrent'),
|
|
589
|
+
exciting_current_zero=get_nullable(pb, 'excitingCurrentZero'),
|
|
590
|
+
loss=get_nullable(pb, 'loss'),
|
|
591
|
+
loss_zero=get_nullable(pb, 'lossZero'),
|
|
591
592
|
)
|
|
592
593
|
|
|
593
594
|
transformer_test_to_cim(pb.tt, cim, network_service)
|
|
@@ -600,11 +601,11 @@ def open_circuit_test_to_cim(pb: PBOpenCircuitTest, network_service: NetworkServ
|
|
|
600
601
|
# noinspection PyUnresolvedReferences
|
|
601
602
|
cim = OpenCircuitTest(
|
|
602
603
|
mrid=pb.mrid(),
|
|
603
|
-
energised_end_step=
|
|
604
|
-
energised_end_voltage=
|
|
605
|
-
open_end_step=
|
|
606
|
-
open_end_voltage=
|
|
607
|
-
phase_shift=
|
|
604
|
+
energised_end_step=get_nullable(pb, 'energisedEndStep'),
|
|
605
|
+
energised_end_voltage=get_nullable(pb, 'energisedEndVoltage'),
|
|
606
|
+
open_end_step=get_nullable(pb, 'openEndStep'),
|
|
607
|
+
open_end_voltage=get_nullable(pb, 'openEndVoltage'),
|
|
608
|
+
phase_shift=get_nullable(pb, 'phaseShift'),
|
|
608
609
|
)
|
|
609
610
|
|
|
610
611
|
transformer_test_to_cim(pb.tt, cim, network_service)
|
|
@@ -640,16 +641,16 @@ def short_circuit_test_to_cim(pb: PBShortCircuitTest, network_service: NetworkSe
|
|
|
640
641
|
# noinspection PyUnresolvedReferences
|
|
641
642
|
cim = ShortCircuitTest(
|
|
642
643
|
mrid=pb.mrid(),
|
|
643
|
-
current=
|
|
644
|
-
energised_end_step=
|
|
645
|
-
grounded_end_step=
|
|
646
|
-
leakage_impedance=
|
|
647
|
-
leakage_impedance_zero=
|
|
648
|
-
loss=
|
|
649
|
-
loss_zero=
|
|
650
|
-
power=
|
|
651
|
-
voltage=
|
|
652
|
-
voltage_ohmic_part=
|
|
644
|
+
current=get_nullable(pb, 'current'),
|
|
645
|
+
energised_end_step=get_nullable(pb, 'energisedEndStep'),
|
|
646
|
+
grounded_end_step=get_nullable(pb, 'groundedEndStep'),
|
|
647
|
+
leakage_impedance=get_nullable(pb, 'leakageImpedance'),
|
|
648
|
+
leakage_impedance_zero=get_nullable(pb, 'leakageImpedanceZero'),
|
|
649
|
+
loss=get_nullable(pb, 'loss'),
|
|
650
|
+
loss_zero=get_nullable(pb, 'lossZero'),
|
|
651
|
+
power=get_nullable(pb, 'power'),
|
|
652
|
+
voltage=get_nullable(pb, 'voltage'),
|
|
653
|
+
voltage_ohmic_part=get_nullable(pb, 'voltageOhmicPart'),
|
|
653
654
|
)
|
|
654
655
|
|
|
655
656
|
transformer_test_to_cim(pb.tt, cim, network_service)
|
|
@@ -662,10 +663,10 @@ def shunt_compensator_info_to_cim(pb: PBShuntCompensatorInfo, network_service: N
|
|
|
662
663
|
# noinspection PyUnresolvedReferences
|
|
663
664
|
cim = ShuntCompensatorInfo(
|
|
664
665
|
mrid=pb.mrid(),
|
|
665
|
-
max_power_loss=
|
|
666
|
-
rated_current=
|
|
667
|
-
rated_reactive_power=
|
|
668
|
-
rated_voltage=
|
|
666
|
+
max_power_loss=get_nullable(pb, 'maxPowerLoss'),
|
|
667
|
+
rated_current=get_nullable(pb, 'ratedCurrent'),
|
|
668
|
+
rated_reactive_power=get_nullable(pb, 'ratedReactivePower'),
|
|
669
|
+
rated_voltage=get_nullable(pb, 'ratedVoltage'),
|
|
669
670
|
)
|
|
670
671
|
|
|
671
672
|
asset_info_to_cim(pb.ai, cim, network_service)
|
|
@@ -678,7 +679,7 @@ def switch_info_to_cim(pb: PBSwitchInfo, network_service: NetworkService) -> Opt
|
|
|
678
679
|
# noinspection PyUnresolvedReferences
|
|
679
680
|
cim = SwitchInfo(
|
|
680
681
|
mrid=pb.mrid(),
|
|
681
|
-
rated_interrupting_time=
|
|
682
|
+
rated_interrupting_time=get_nullable(pb, 'ratedInterruptingTime')
|
|
682
683
|
)
|
|
683
684
|
|
|
684
685
|
asset_info_to_cim(pb.ai, cim, network_service)
|
|
@@ -692,14 +693,14 @@ def transformer_end_info_to_cim(pb: PBTransformerEndInfo, network_service: Netwo
|
|
|
692
693
|
cim = TransformerEndInfo(
|
|
693
694
|
mrid=pb.mrid(),
|
|
694
695
|
connection_kind=WindingConnection(pb.connectionKind),
|
|
695
|
-
emergency_s=
|
|
696
|
+
emergency_s=get_nullable(pb, 'emergencyS'),
|
|
696
697
|
end_number=pb.endNumber,
|
|
697
|
-
insulation_u=
|
|
698
|
-
phase_angle_clock=
|
|
699
|
-
r=
|
|
700
|
-
rated_s=
|
|
701
|
-
rated_u=
|
|
702
|
-
short_term_s=
|
|
698
|
+
insulation_u=get_nullable(pb, 'insulationU'),
|
|
699
|
+
phase_angle_clock=get_nullable(pb, 'phaseAngleClock'),
|
|
700
|
+
r=get_nullable(pb, 'r'),
|
|
701
|
+
rated_s=get_nullable(pb, 'ratedS'),
|
|
702
|
+
rated_u=get_nullable(pb, 'ratedU'),
|
|
703
|
+
short_term_s=get_nullable(pb, 'shortTermS'),
|
|
703
704
|
)
|
|
704
705
|
|
|
705
706
|
network_service.resolve_or_defer_reference(resolver.transformer_tank_info(cim), pb.transformerTankInfoMRID)
|
|
@@ -728,14 +729,14 @@ def transformer_tank_info_to_cim(pb: PBTransformerTankInfo, network_service: Net
|
|
|
728
729
|
|
|
729
730
|
|
|
730
731
|
def transformer_test_to_cim(pb: PBTransformerTest, cim: TransformerTest, network_service: NetworkService):
|
|
731
|
-
cim.base_power =
|
|
732
|
-
cim.temperature =
|
|
732
|
+
cim.base_power = get_nullable(pb, 'basePower')
|
|
733
|
+
cim.temperature = get_nullable(pb, 'temperature')
|
|
733
734
|
|
|
734
735
|
identified_object_to_cim(pb.io, cim, network_service)
|
|
735
736
|
|
|
736
737
|
|
|
737
738
|
def wire_info_to_cim(pb: PBWireInfo, cim: WireInfo, network_service: NetworkService):
|
|
738
|
-
cim.rated_current =
|
|
739
|
+
cim.rated_current = get_nullable(pb, 'ratedCurrent')
|
|
739
740
|
cim.material = WireMaterialKind(pb.material)
|
|
740
741
|
|
|
741
742
|
asset_info_to_cim(pb.ai, cim, network_service)
|
|
@@ -797,7 +798,7 @@ def streetlight_to_cim(pb: PBStreetlight, network_service: NetworkService) -> Op
|
|
|
797
798
|
# noinspection PyUnresolvedReferences
|
|
798
799
|
cim = Streetlight(
|
|
799
800
|
mrid=pb.mrid(),
|
|
800
|
-
light_rating=
|
|
801
|
+
light_rating=get_nullable(pb, 'lightRating'),
|
|
801
802
|
lamp_kind=StreetlightLampKind(pb.lampKind)
|
|
802
803
|
)
|
|
803
804
|
|
|
@@ -834,27 +835,30 @@ def position_point_to_cim(pb: PBPositionPoint) -> Optional[PositionPoint]:
|
|
|
834
835
|
|
|
835
836
|
def street_address_to_cim(pb: PBStreetAddress) -> Optional[StreetAddress]:
|
|
836
837
|
return StreetAddress(
|
|
837
|
-
postal_code=pb
|
|
838
|
+
postal_code=get_nullable(pb, 'postalCode'),
|
|
838
839
|
town_detail=town_detail_to_cim(pb.townDetail) if pb.HasField("townDetail") else None,
|
|
839
|
-
po_box=pb
|
|
840
|
+
po_box=get_nullable(pb, 'poBox'),
|
|
840
841
|
street_detail=street_detail_to_cim(pb.streetDetail) if pb.HasField("streetDetail") else None
|
|
841
842
|
)
|
|
842
843
|
|
|
843
844
|
|
|
844
845
|
def street_detail_to_cim(pb: PBStreetDetail) -> Optional[StreetDetail]:
|
|
845
846
|
return StreetDetail(
|
|
846
|
-
building_name=pb
|
|
847
|
-
floor_identification=pb
|
|
848
|
-
name=pb
|
|
849
|
-
number=pb
|
|
850
|
-
suite_number=pb
|
|
851
|
-
type=pb
|
|
852
|
-
display_address=pb
|
|
847
|
+
building_name=get_nullable(pb, 'buildingName'),
|
|
848
|
+
floor_identification=get_nullable(pb, 'floorIdentification'),
|
|
849
|
+
name=get_nullable(pb, 'name'),
|
|
850
|
+
number=get_nullable(pb, 'number'),
|
|
851
|
+
suite_number=get_nullable(pb, 'suiteNumber'),
|
|
852
|
+
type=get_nullable(pb, 'type'),
|
|
853
|
+
display_address=get_nullable(pb, 'displayAddress'),
|
|
853
854
|
)
|
|
854
855
|
|
|
855
856
|
|
|
856
857
|
def town_detail_to_cim(pb: PBTownDetail) -> Optional[TownDetail]:
|
|
857
|
-
return TownDetail(
|
|
858
|
+
return TownDetail(
|
|
859
|
+
name=get_nullable(pb, 'name'),
|
|
860
|
+
state_or_province=get_nullable(pb, 'stateOrProvince'),
|
|
861
|
+
)
|
|
858
862
|
|
|
859
863
|
|
|
860
864
|
#####################################
|
|
@@ -867,18 +871,18 @@ def current_transformer_info_to_cim(pb: PBCurrentTransformerInfo, network_servic
|
|
|
867
871
|
# noinspection PyUnresolvedReferences
|
|
868
872
|
cim = CurrentTransformerInfo(
|
|
869
873
|
mrid=pb.mrid(),
|
|
870
|
-
accuracy_class=
|
|
871
|
-
accuracy_limit=
|
|
872
|
-
core_count=
|
|
873
|
-
ct_class=
|
|
874
|
-
knee_point_voltage=
|
|
874
|
+
accuracy_class=get_nullable(pb, 'accuracyClass'),
|
|
875
|
+
accuracy_limit=get_nullable(pb, 'accuracyLimit'),
|
|
876
|
+
core_count=get_nullable(pb, 'coreCount'),
|
|
877
|
+
ct_class=get_nullable(pb, 'ctClass'),
|
|
878
|
+
knee_point_voltage=get_nullable(pb, 'kneePointVoltage'),
|
|
875
879
|
max_ratio=ratio_to_cim(pb.maxRatio) if pb.HasField("maxRatio") else None,
|
|
876
880
|
nominal_ratio=ratio_to_cim(pb.nominalRatio) if pb.HasField("nominalRatio") else None,
|
|
877
|
-
primary_ratio=
|
|
878
|
-
rated_current=
|
|
879
|
-
secondary_fls_rating=
|
|
880
|
-
secondary_ratio=
|
|
881
|
-
usage=
|
|
881
|
+
primary_ratio=get_nullable(pb, 'primaryRatio'),
|
|
882
|
+
rated_current=get_nullable(pb, 'ratedCurrent'),
|
|
883
|
+
secondary_fls_rating=get_nullable(pb, 'secondaryFlsRating'),
|
|
884
|
+
secondary_ratio=get_nullable(pb, 'secondaryRatio'),
|
|
885
|
+
usage=get_nullable(pb, 'usage'),
|
|
882
886
|
)
|
|
883
887
|
|
|
884
888
|
asset_info_to_cim(pb.ai, cim, network_service)
|
|
@@ -891,12 +895,12 @@ def potential_transformer_info_to_cim(pb: PBPotentialTransformerInfo, network_se
|
|
|
891
895
|
# noinspection PyUnresolvedReferences
|
|
892
896
|
cim = PotentialTransformerInfo(
|
|
893
897
|
mrid=pb.mrid(),
|
|
894
|
-
accuracy_class=
|
|
898
|
+
accuracy_class=get_nullable(pb, 'accuracyClass'),
|
|
895
899
|
nominal_ratio=ratio_to_cim(pb.nominalRatio) if pb.HasField("nominalRatio") else None,
|
|
896
|
-
primary_ratio=
|
|
897
|
-
pt_class=
|
|
898
|
-
rated_voltage=
|
|
899
|
-
secondary_ratio=
|
|
900
|
+
primary_ratio=get_nullable(pb, 'primaryRatio'),
|
|
901
|
+
pt_class=get_nullable(pb, 'ptClass'),
|
|
902
|
+
rated_voltage=get_nullable(pb, 'ratedVoltage'),
|
|
903
|
+
secondary_ratio=get_nullable(pb, 'secondaryRatio'),
|
|
900
904
|
)
|
|
901
905
|
|
|
902
906
|
asset_info_to_cim(pb.ai, cim, network_service)
|
|
@@ -911,7 +915,10 @@ def potential_transformer_info_to_cim(pb: PBPotentialTransformerInfo, network_se
|
|
|
911
915
|
@add_to_network_or_none
|
|
912
916
|
def pole_to_cim(pb: PBPole, network_service: NetworkService) -> Optional[Pole]:
|
|
913
917
|
# noinspection PyUnresolvedReferences
|
|
914
|
-
cim = Pole(
|
|
918
|
+
cim = Pole(
|
|
919
|
+
mrid=pb.mrid(),
|
|
920
|
+
classification=get_nullable(pb, 'classification')
|
|
921
|
+
)
|
|
915
922
|
|
|
916
923
|
for mrid in pb.streetlightMRIDs:
|
|
917
924
|
network_service.resolve_or_defer_reference(resolver.streetlights(cim), mrid)
|
|
@@ -983,10 +990,10 @@ def usage_point_to_cim(pb: PBUsagePoint, network_service: NetworkService) -> Opt
|
|
|
983
990
|
cim = UsagePoint(mrid=pb.mrid())
|
|
984
991
|
|
|
985
992
|
network_service.resolve_or_defer_reference(resolver.usage_point_location(cim), pb.usagePointLocationMRID)
|
|
986
|
-
cim.is_virtual = pb
|
|
987
|
-
cim.connection_category = pb
|
|
988
|
-
cim.rated_power =
|
|
989
|
-
cim.approved_inverter_capacity =
|
|
993
|
+
cim.is_virtual = get_nullable(pb, 'isVirtual')
|
|
994
|
+
cim.connection_category = get_nullable(pb, 'connectionCategory')
|
|
995
|
+
cim.rated_power = get_nullable(pb, 'ratedPower')
|
|
996
|
+
cim.approved_inverter_capacity = get_nullable(pb, 'approvedInverterCapacity')
|
|
990
997
|
cim.phase_code = phase_code_by_id(pb.phaseCode)
|
|
991
998
|
|
|
992
999
|
for mrid in pb.equipmentMRIDs:
|
|
@@ -1025,7 +1032,7 @@ def auxiliary_equipment_to_cim(pb: PBAuxiliaryEquipment, cim: AuxiliaryEquipment
|
|
|
1025
1032
|
@add_to_network_or_none
|
|
1026
1033
|
def current_transformer_to_cim(pb: PBCurrentTransformer, network_service: NetworkService) -> Optional[CurrentTransformer]:
|
|
1027
1034
|
# noinspection PyUnresolvedReferences
|
|
1028
|
-
cim = CurrentTransformer(mrid=pb.mrid(), core_burden=int_or_none(pb
|
|
1035
|
+
cim = CurrentTransformer(mrid=pb.mrid(), core_burden=int_or_none(get_nullable(pb, 'coreBurden')))
|
|
1029
1036
|
|
|
1030
1037
|
# noinspection PyUnresolvedReferences
|
|
1031
1038
|
network_service.resolve_or_defer_reference(resolver.current_transformer_info(cim), pb.asset_info_mrid())
|
|
@@ -1111,7 +1118,12 @@ def curve_to_cim(pb: PBCurve, cim: Curve, network_service: NetworkService):
|
|
|
1111
1118
|
|
|
1112
1119
|
|
|
1113
1120
|
def curve_data_to_cim(pb: PBCurveData) -> Optional[CurveData]:
|
|
1114
|
-
return CurveData(
|
|
1121
|
+
return CurveData(
|
|
1122
|
+
pb.xValue,
|
|
1123
|
+
pb.y1Value,
|
|
1124
|
+
get_nullable(pb, 'y2Value'),
|
|
1125
|
+
get_nullable(pb, 'y3Value'),
|
|
1126
|
+
)
|
|
1115
1127
|
|
|
1116
1128
|
|
|
1117
1129
|
def equipment_to_cim(pb: PBEquipment, cim: Equipment, network_service: NetworkService):
|
|
@@ -1237,22 +1249,22 @@ def equivalent_branch_to_cim(pb: PBEquivalentBranch, network_service: NetworkSer
|
|
|
1237
1249
|
# noinspection PyUnresolvedReferences
|
|
1238
1250
|
cim = EquivalentBranch(
|
|
1239
1251
|
mrid=pb.mrid(),
|
|
1240
|
-
negative_r12=
|
|
1241
|
-
negative_r21=
|
|
1242
|
-
negative_x12=
|
|
1243
|
-
negative_x21=
|
|
1244
|
-
positive_r12=
|
|
1245
|
-
positive_r21=
|
|
1246
|
-
positive_x12=
|
|
1247
|
-
positive_x21=
|
|
1248
|
-
r=
|
|
1249
|
-
r21=
|
|
1250
|
-
x=
|
|
1251
|
-
x21=
|
|
1252
|
-
zero_r12=
|
|
1253
|
-
zero_r21=
|
|
1254
|
-
zero_x12=
|
|
1255
|
-
zero_x21=
|
|
1252
|
+
negative_r12=get_nullable(pb, 'negativeR12'),
|
|
1253
|
+
negative_r21=get_nullable(pb, 'negativeR21'),
|
|
1254
|
+
negative_x12=get_nullable(pb, 'negativeX12'),
|
|
1255
|
+
negative_x21=get_nullable(pb, 'negativeX21'),
|
|
1256
|
+
positive_r12=get_nullable(pb, 'positiveR12'),
|
|
1257
|
+
positive_r21=get_nullable(pb, 'positiveR21'),
|
|
1258
|
+
positive_x12=get_nullable(pb, 'positiveX12'),
|
|
1259
|
+
positive_x21=get_nullable(pb, 'positiveX21'),
|
|
1260
|
+
r=get_nullable(pb, 'r'),
|
|
1261
|
+
r21=get_nullable(pb, 'r21'),
|
|
1262
|
+
x=get_nullable(pb, 'x'),
|
|
1263
|
+
x21=get_nullable(pb, 'x21'),
|
|
1264
|
+
zero_r12=get_nullable(pb, 'zeroR12'),
|
|
1265
|
+
zero_r21=get_nullable(pb, 'zeroR21'),
|
|
1266
|
+
zero_x12=get_nullable(pb, 'zeroX12'),
|
|
1267
|
+
zero_x21=get_nullable(pb, 'zeroX21'),
|
|
1256
1268
|
)
|
|
1257
1269
|
|
|
1258
1270
|
equivalent_equipment_to_cim(pb.ee, cim, network_service)
|
|
@@ -1280,8 +1292,8 @@ def battery_unit_to_cim(pb: PBBatteryUnit, network_service: NetworkService) -> O
|
|
|
1280
1292
|
cim = BatteryUnit(
|
|
1281
1293
|
mrid=pb.mrid(),
|
|
1282
1294
|
battery_state=BatteryStateKind(pb.batteryState),
|
|
1283
|
-
rated_e=
|
|
1284
|
-
stored_e=
|
|
1295
|
+
rated_e=get_nullable(pb, "ratedE"),
|
|
1296
|
+
stored_e=get_nullable(pb, "storedE"),
|
|
1285
1297
|
)
|
|
1286
1298
|
|
|
1287
1299
|
for mrid in pb.batteryControlMRIDs:
|
|
@@ -1302,8 +1314,8 @@ def photo_voltaic_unit_to_cim(pb: PBPhotoVoltaicUnit, network_service: NetworkSe
|
|
|
1302
1314
|
|
|
1303
1315
|
|
|
1304
1316
|
def power_electronics_unit_to_cim(pb: PBPowerElectronicsUnit, cim: PowerElectronicsUnit, network_service: NetworkService):
|
|
1305
|
-
cim.max_p =
|
|
1306
|
-
cim.min_p =
|
|
1317
|
+
cim.max_p = get_nullable(pb, 'maxP')
|
|
1318
|
+
cim.min_p = get_nullable(pb, 'minP')
|
|
1307
1319
|
|
|
1308
1320
|
network_service.resolve_or_defer_reference(resolver.unit_power_electronics_connection(cim), pb.powerElectronicsConnectionMRID)
|
|
1309
1321
|
|
|
@@ -1338,7 +1350,7 @@ def accumulator_to_cim(pb: PBAccumulator, network_service: NetworkService) -> Op
|
|
|
1338
1350
|
@add_to_network_or_none
|
|
1339
1351
|
def analog_to_cim(pb: PBAnalog, network_service: NetworkService) -> Optional[Analog]:
|
|
1340
1352
|
# noinspection PyUnresolvedReferences
|
|
1341
|
-
cim = Analog(mrid=pb.mrid(), positive_flow_in=pb
|
|
1353
|
+
cim = Analog(mrid=pb.mrid(), positive_flow_in=get_nullable(pb, "positiveFlowIn"))
|
|
1342
1354
|
|
|
1343
1355
|
measurement_to_cim(pb.measurement, cim, network_service)
|
|
1344
1356
|
return cim
|
|
@@ -1394,9 +1406,9 @@ def current_relay_to_cim(pb: PBCurrentRelay, network_service: NetworkService) ->
|
|
|
1394
1406
|
# noinspection PyUnresolvedReferences
|
|
1395
1407
|
cim = CurrentRelay(
|
|
1396
1408
|
mrid=pb.mrid(),
|
|
1397
|
-
current_limit_1=
|
|
1398
|
-
inverse_time_flag=
|
|
1399
|
-
time_delay_1=
|
|
1409
|
+
current_limit_1=get_nullable(pb, "currentLimit1"),
|
|
1410
|
+
inverse_time_flag=get_nullable(pb, "inverseTimeFlag"),
|
|
1411
|
+
time_delay_1=get_nullable(pb, "timeDelay1"),
|
|
1400
1412
|
)
|
|
1401
1413
|
|
|
1402
1414
|
protection_relay_function_to_cim(pb.prf, cim, network_service)
|
|
@@ -1467,7 +1479,7 @@ def breaker_to_cim(pb: PBBreaker, network_service: NetworkService) -> Optional[B
|
|
|
1467
1479
|
# noinspection PyUnresolvedReferences
|
|
1468
1480
|
cim = Breaker(
|
|
1469
1481
|
mrid=pb.mrid(),
|
|
1470
|
-
in_transit_time=
|
|
1482
|
+
in_transit_time=get_nullable(pb, "inTransitTime")
|
|
1471
1483
|
)
|
|
1472
1484
|
|
|
1473
1485
|
protected_switch_to_cim(pb.sw, cim, network_service)
|
|
@@ -1490,7 +1502,7 @@ def clamp_to_cim(pb: PBClamp, network_service: NetworkService) -> Optional[Clamp
|
|
|
1490
1502
|
# noinspection PyUnresolvedReferences
|
|
1491
1503
|
cim = Clamp(mrid=pb.mrid())
|
|
1492
1504
|
|
|
1493
|
-
cim.length_from_terminal_1 =
|
|
1505
|
+
cim.length_from_terminal_1 = get_nullable(pb, "lengthFromTerminal1")
|
|
1494
1506
|
network_service.resolve_or_defer_reference(resolver.clamp_ac_line_segment(cim), pb.acLineSegmentMRID)
|
|
1495
1507
|
|
|
1496
1508
|
conducting_equipment_to_cim(pb.ce, cim, network_service)
|
|
@@ -1498,9 +1510,9 @@ def clamp_to_cim(pb: PBClamp, network_service: NetworkService) -> Optional[Clamp
|
|
|
1498
1510
|
|
|
1499
1511
|
|
|
1500
1512
|
def conductor_to_cim(pb: PBConductor, cim: Conductor, network_service: NetworkService):
|
|
1501
|
-
cim.length =
|
|
1502
|
-
cim.design_temperature =
|
|
1503
|
-
cim.design_rating =
|
|
1513
|
+
cim.length = get_nullable(pb, 'length')
|
|
1514
|
+
cim.design_temperature = get_nullable(pb, 'designTemperature')
|
|
1515
|
+
cim.design_rating = get_nullable(pb, 'designRating')
|
|
1504
1516
|
|
|
1505
1517
|
# noinspection PyUnresolvedReferences
|
|
1506
1518
|
network_service.resolve_or_defer_reference(resolver.wire_info(cim), pb.asset_info_mrid())
|
|
@@ -1518,7 +1530,7 @@ def cut_to_cim(pb: PBCut, network_service: NetworkService) -> Optional[Cut]:
|
|
|
1518
1530
|
# noinspection PyUnresolvedReferences
|
|
1519
1531
|
cim = Cut(mrid=pb.mrid())
|
|
1520
1532
|
|
|
1521
|
-
cim.length_from_terminal_1 =
|
|
1533
|
+
cim.length_from_terminal_1 = get_nullable(pb, 'lengthFromTerminal1')
|
|
1522
1534
|
network_service.resolve_or_defer_reference(resolver.cut_ac_line_segment(cim), pb.acLineSegmentMRID)
|
|
1523
1535
|
|
|
1524
1536
|
switch_to_cim(pb.sw, cim, network_service)
|
|
@@ -1536,7 +1548,7 @@ def disconnector_to_cim(pb: PBDisconnector, network_service: NetworkService) ->
|
|
|
1536
1548
|
|
|
1537
1549
|
|
|
1538
1550
|
def earth_fault_compensator_to_cim(pb: PBEarthFaultCompensator, cim: EarthFaultCompensator, network_service: NetworkService):
|
|
1539
|
-
cim.r =
|
|
1551
|
+
cim.r = get_nullable(pb, 'r')
|
|
1540
1552
|
|
|
1541
1553
|
conducting_equipment_to_cim(pb.ce, cim, network_service)
|
|
1542
1554
|
|
|
@@ -1551,13 +1563,13 @@ def energy_consumer_to_cim(pb: PBEnergyConsumer, network_service: NetworkService
|
|
|
1551
1563
|
# noinspection PyUnresolvedReferences
|
|
1552
1564
|
cim = EnergyConsumer(
|
|
1553
1565
|
mrid=pb.mrid(),
|
|
1554
|
-
customer_count=
|
|
1555
|
-
grounded=pb
|
|
1566
|
+
customer_count=get_nullable(pb, "customerCount"),
|
|
1567
|
+
grounded=get_nullable(pb, 'grounded'),
|
|
1556
1568
|
phase_connection=PhaseShuntConnectionKind(pb.phaseConnection),
|
|
1557
|
-
p=
|
|
1558
|
-
p_fixed=
|
|
1559
|
-
q=
|
|
1560
|
-
q_fixed=
|
|
1569
|
+
p=get_nullable(pb, 'p'),
|
|
1570
|
+
p_fixed=get_nullable(pb, 'pFixed'),
|
|
1571
|
+
q=get_nullable(pb, 'q'),
|
|
1572
|
+
q_fixed=get_nullable(pb, 'qFixed'),
|
|
1561
1573
|
)
|
|
1562
1574
|
|
|
1563
1575
|
for mrid in pb.energyConsumerPhasesMRIDs:
|
|
@@ -1574,10 +1586,10 @@ def energy_consumer_phase_to_cim(pb: PBEnergyConsumerPhase, network_service: Net
|
|
|
1574
1586
|
cim = EnergyConsumerPhase(
|
|
1575
1587
|
mrid=pb.mrid(),
|
|
1576
1588
|
phase=single_phase_kind_by_id(pb.phase),
|
|
1577
|
-
p=
|
|
1578
|
-
p_fixed=
|
|
1579
|
-
q=
|
|
1580
|
-
q_fixed=
|
|
1589
|
+
p=get_nullable(pb, 'p'),
|
|
1590
|
+
p_fixed=get_nullable(pb, 'pFixed'),
|
|
1591
|
+
q=get_nullable(pb, 'q'),
|
|
1592
|
+
q_fixed=get_nullable(pb, 'qFixed'),
|
|
1581
1593
|
)
|
|
1582
1594
|
|
|
1583
1595
|
network_service.resolve_or_defer_reference(resolver.energy_consumer(cim), pb.energyConsumerMRID)
|
|
@@ -1592,31 +1604,31 @@ def energy_source_to_cim(pb: PBEnergySource, network_service: NetworkService) ->
|
|
|
1592
1604
|
# noinspection PyUnresolvedReferences
|
|
1593
1605
|
cim = EnergySource(
|
|
1594
1606
|
mrid=pb.mrid(),
|
|
1595
|
-
active_power=
|
|
1596
|
-
reactive_power=
|
|
1597
|
-
voltage_angle=
|
|
1598
|
-
voltage_magnitude=
|
|
1599
|
-
r=
|
|
1600
|
-
x=
|
|
1601
|
-
p_max=
|
|
1602
|
-
p_min=
|
|
1603
|
-
r0=
|
|
1604
|
-
rn=
|
|
1605
|
-
x0=
|
|
1606
|
-
xn=
|
|
1607
|
-
is_external_grid=pb
|
|
1608
|
-
r_min=
|
|
1609
|
-
rn_min=
|
|
1610
|
-
r0_min=
|
|
1611
|
-
x_min=
|
|
1612
|
-
xn_min=
|
|
1613
|
-
x0_min=
|
|
1614
|
-
r_max=
|
|
1615
|
-
rn_max=
|
|
1616
|
-
r0_max=
|
|
1617
|
-
x_max=
|
|
1618
|
-
xn_max=
|
|
1619
|
-
x0_max=
|
|
1607
|
+
active_power=get_nullable(pb, 'activePower'),
|
|
1608
|
+
reactive_power=get_nullable(pb, 'reactivePower'),
|
|
1609
|
+
voltage_angle=get_nullable(pb, 'voltageAngle'),
|
|
1610
|
+
voltage_magnitude=get_nullable(pb, 'voltageMagnitude'),
|
|
1611
|
+
r=get_nullable(pb, 'r'),
|
|
1612
|
+
x=get_nullable(pb, 'x'),
|
|
1613
|
+
p_max=get_nullable(pb, 'pMax'),
|
|
1614
|
+
p_min=get_nullable(pb, 'pMin'),
|
|
1615
|
+
r0=get_nullable(pb, 'r0'),
|
|
1616
|
+
rn=get_nullable(pb, 'rn'),
|
|
1617
|
+
x0=get_nullable(pb, 'x0'),
|
|
1618
|
+
xn=get_nullable(pb, 'xn'),
|
|
1619
|
+
is_external_grid=get_nullable(pb, 'isExternalGrid'),
|
|
1620
|
+
r_min=get_nullable(pb, 'rMin'),
|
|
1621
|
+
rn_min=get_nullable(pb, 'rnMin'),
|
|
1622
|
+
r0_min=get_nullable(pb, 'r0Min'),
|
|
1623
|
+
x_min=get_nullable(pb, 'xMin'),
|
|
1624
|
+
xn_min=get_nullable(pb, 'xnMin'),
|
|
1625
|
+
x0_min=get_nullable(pb, 'x0Min'),
|
|
1626
|
+
r_max=get_nullable(pb, 'rMax'),
|
|
1627
|
+
rn_max=get_nullable(pb, 'rnMax'),
|
|
1628
|
+
r0_max=get_nullable(pb, 'r0Max'),
|
|
1629
|
+
x_max=get_nullable(pb, 'xMax'),
|
|
1630
|
+
xn_max=get_nullable(pb, 'xnMax'),
|
|
1631
|
+
x0_max=get_nullable(pb, 'x0Max'),
|
|
1620
1632
|
)
|
|
1621
1633
|
|
|
1622
1634
|
for mrid in pb.energySourcePhasesMRIDs:
|
|
@@ -1674,7 +1686,7 @@ def ground_disconnector_to_cim(pb: PBGroundDisconnector, network_service: Networ
|
|
|
1674
1686
|
@add_to_network_or_none
|
|
1675
1687
|
def grounding_impedance_to_cim(pb: PBGroundingImpedance, network_service: NetworkService) -> Optional[GroundingImpedance]:
|
|
1676
1688
|
# noinspection PyUnresolvedReferences
|
|
1677
|
-
cim = GroundingImpedance(mrid=pb.mrid(), x=
|
|
1689
|
+
cim = GroundingImpedance(mrid=pb.mrid(), x=get_nullable(pb, "x"))
|
|
1678
1690
|
|
|
1679
1691
|
earth_fault_compensator_to_cim(pb.efc, cim, network_service)
|
|
1680
1692
|
return cim
|
|
@@ -1710,10 +1722,10 @@ def linear_shunt_compensator_to_cim(pb: PBLinearShuntCompensator, network_servic
|
|
|
1710
1722
|
# noinspection PyUnresolvedReferences
|
|
1711
1723
|
cim = LinearShuntCompensator(
|
|
1712
1724
|
mrid=pb.mrid(),
|
|
1713
|
-
b0_per_section=
|
|
1714
|
-
b_per_section=
|
|
1715
|
-
g0_per_section=
|
|
1716
|
-
g_per_section=
|
|
1725
|
+
b0_per_section=get_nullable(pb, 'b0PerSection'),
|
|
1726
|
+
b_per_section=get_nullable(pb, 'bPerSection'),
|
|
1727
|
+
g0_per_section=get_nullable(pb, 'g0PerSection'),
|
|
1728
|
+
g_per_section=get_nullable(pb, 'gPerSection'),
|
|
1717
1729
|
)
|
|
1718
1730
|
|
|
1719
1731
|
shunt_compensator_to_cim(pb.sc, cim, network_service)
|
|
@@ -1763,14 +1775,14 @@ def per_length_sequence_impedance_to_cim(pb: PBPerLengthSequenceImpedance, netwo
|
|
|
1763
1775
|
# noinspection PyUnresolvedReferences
|
|
1764
1776
|
cim = PerLengthSequenceImpedance(
|
|
1765
1777
|
mrid=pb.mrid(),
|
|
1766
|
-
r=
|
|
1767
|
-
x=
|
|
1768
|
-
r0=
|
|
1769
|
-
x0=
|
|
1770
|
-
bch=
|
|
1771
|
-
gch=
|
|
1772
|
-
b0ch=
|
|
1773
|
-
g0ch=
|
|
1778
|
+
r=get_nullable(pb, 'r'),
|
|
1779
|
+
x=get_nullable(pb, 'x'),
|
|
1780
|
+
r0=get_nullable(pb, 'r0'),
|
|
1781
|
+
x0=get_nullable(pb, 'x0'),
|
|
1782
|
+
bch=get_nullable(pb, 'bch'),
|
|
1783
|
+
gch=get_nullable(pb, 'gch'),
|
|
1784
|
+
b0ch=get_nullable(pb, 'b0ch'),
|
|
1785
|
+
g0ch=get_nullable(pb, 'g0ch'),
|
|
1774
1786
|
)
|
|
1775
1787
|
|
|
1776
1788
|
per_length_impedance_to_cim(pb.pli, cim, network_service)
|
|
@@ -1781,7 +1793,7 @@ def per_length_sequence_impedance_to_cim(pb: PBPerLengthSequenceImpedance, netwo
|
|
|
1781
1793
|
@add_to_network_or_none
|
|
1782
1794
|
def petersen_coil_to_cim(pb: PBPetersenCoil, network_service: NetworkService) -> Optional[PetersenCoil]:
|
|
1783
1795
|
# noinspection PyUnresolvedReferences
|
|
1784
|
-
cim = PetersenCoil(mrid=pb.mrid(), x_ground_nominal=
|
|
1796
|
+
cim = PetersenCoil(mrid=pb.mrid(), x_ground_nominal=get_nullable(pb, 'xGroundNominal'))
|
|
1785
1797
|
|
|
1786
1798
|
earth_fault_compensator_to_cim(pb.efc, cim, network_service)
|
|
1787
1799
|
return cim
|
|
@@ -1796,10 +1808,10 @@ def phase_impedance_data_to_cim(pb: PBPhaseImpedanceData) -> Optional[PhaseImped
|
|
|
1796
1808
|
return PhaseImpedanceData(
|
|
1797
1809
|
single_phase_kind_by_id(pb.fromPhase),
|
|
1798
1810
|
single_phase_kind_by_id(pb.toPhase),
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1811
|
+
get_nullable(pb, "b"),
|
|
1812
|
+
get_nullable(pb, "g"),
|
|
1813
|
+
get_nullable(pb, "r"),
|
|
1814
|
+
get_nullable(pb, "x"),
|
|
1803
1815
|
)
|
|
1804
1816
|
|
|
1805
1817
|
|
|
@@ -1809,37 +1821,37 @@ def power_electronics_connection_to_cim(pb: PBPowerElectronicsConnection, networ
|
|
|
1809
1821
|
# noinspection PyUnresolvedReferences
|
|
1810
1822
|
cim = PowerElectronicsConnection(
|
|
1811
1823
|
mrid=pb.mrid(),
|
|
1812
|
-
max_i_fault=
|
|
1813
|
-
p=
|
|
1814
|
-
q=
|
|
1815
|
-
max_q=
|
|
1816
|
-
min_q=
|
|
1817
|
-
rated_s=
|
|
1818
|
-
rated_u=
|
|
1819
|
-
inverter_standard=
|
|
1820
|
-
sustain_op_overvolt_limit=
|
|
1821
|
-
stop_at_over_freq=
|
|
1822
|
-
stop_at_under_freq=
|
|
1823
|
-
inv_volt_watt_resp_mode=
|
|
1824
|
-
inv_watt_resp_v1=
|
|
1825
|
-
inv_watt_resp_v2=
|
|
1826
|
-
inv_watt_resp_v3=
|
|
1827
|
-
inv_watt_resp_v4=
|
|
1828
|
-
inv_watt_resp_p_at_v1=
|
|
1829
|
-
inv_watt_resp_p_at_v2=
|
|
1830
|
-
inv_watt_resp_p_at_v3=
|
|
1831
|
-
inv_watt_resp_p_at_v4=
|
|
1832
|
-
inv_volt_var_resp_mode=
|
|
1833
|
-
inv_var_resp_v1=
|
|
1834
|
-
inv_var_resp_v2=
|
|
1835
|
-
inv_var_resp_v3=
|
|
1836
|
-
inv_var_resp_v4=
|
|
1837
|
-
inv_var_resp_q_at_v1=
|
|
1838
|
-
inv_var_resp_q_at_v2=
|
|
1839
|
-
inv_var_resp_q_at_v3=
|
|
1840
|
-
inv_var_resp_q_at_v4=
|
|
1841
|
-
inv_reactive_power_mode=
|
|
1842
|
-
inv_fix_reactive_power=
|
|
1824
|
+
max_i_fault=get_nullable(pb, "maxIFault"),
|
|
1825
|
+
p=get_nullable(pb, 'p'),
|
|
1826
|
+
q=get_nullable(pb, 'q'),
|
|
1827
|
+
max_q=get_nullable(pb, 'maxQ'),
|
|
1828
|
+
min_q=get_nullable(pb, 'minQ'),
|
|
1829
|
+
rated_s=get_nullable(pb, 'ratedS'),
|
|
1830
|
+
rated_u=get_nullable(pb, 'ratedU'),
|
|
1831
|
+
inverter_standard=get_nullable(pb, 'inverterStandard'),
|
|
1832
|
+
sustain_op_overvolt_limit=get_nullable(pb, 'sustainOpOvervoltLimit'),
|
|
1833
|
+
stop_at_over_freq=get_nullable(pb, 'stopAtOverFreq'),
|
|
1834
|
+
stop_at_under_freq=get_nullable(pb, 'stopAtUnderFreq'),
|
|
1835
|
+
inv_volt_watt_resp_mode=get_nullable(pb, "invVoltWattRespMode"),
|
|
1836
|
+
inv_watt_resp_v1=get_nullable(pb, 'invWattRespV1'),
|
|
1837
|
+
inv_watt_resp_v2=get_nullable(pb, 'invWattRespV2'),
|
|
1838
|
+
inv_watt_resp_v3=get_nullable(pb, 'invWattRespV3'),
|
|
1839
|
+
inv_watt_resp_v4=get_nullable(pb, 'invWattRespV4'),
|
|
1840
|
+
inv_watt_resp_p_at_v1=get_nullable(pb, 'invWattRespPAtV1'),
|
|
1841
|
+
inv_watt_resp_p_at_v2=get_nullable(pb, 'invWattRespPAtV2'),
|
|
1842
|
+
inv_watt_resp_p_at_v3=get_nullable(pb, 'invWattRespPAtV3'),
|
|
1843
|
+
inv_watt_resp_p_at_v4=get_nullable(pb, 'invWattRespPAtV4'),
|
|
1844
|
+
inv_volt_var_resp_mode=get_nullable(pb, "invVoltVarRespMode"),
|
|
1845
|
+
inv_var_resp_v1=get_nullable(pb, 'invVarRespV1'),
|
|
1846
|
+
inv_var_resp_v2=get_nullable(pb, 'invVarRespV2'),
|
|
1847
|
+
inv_var_resp_v3=get_nullable(pb, 'invVarRespV3'),
|
|
1848
|
+
inv_var_resp_v4=get_nullable(pb, 'invVarRespV4'),
|
|
1849
|
+
inv_var_resp_q_at_v1=get_nullable(pb, 'invVarRespQAtV1'),
|
|
1850
|
+
inv_var_resp_q_at_v2=get_nullable(pb, 'invVarRespQAtV2'),
|
|
1851
|
+
inv_var_resp_q_at_v3=get_nullable(pb, 'invVarRespQAtV3'),
|
|
1852
|
+
inv_var_resp_q_at_v4=get_nullable(pb, 'invVarRespQAtV4'),
|
|
1853
|
+
inv_reactive_power_mode=get_nullable(pb, "invReactivePowerMode"),
|
|
1854
|
+
inv_fix_reactive_power=get_nullable(pb, 'invFixReactivePower'),
|
|
1843
1855
|
)
|
|
1844
1856
|
|
|
1845
1857
|
for mrid in pb.powerElectronicsUnitMRIDs:
|
|
@@ -1860,8 +1872,8 @@ def power_electronics_connection_phase_to_cim(
|
|
|
1860
1872
|
# noinspection PyUnresolvedReferences
|
|
1861
1873
|
cim = PowerElectronicsConnectionPhase(
|
|
1862
1874
|
mrid=pb.mrid(),
|
|
1863
|
-
p=
|
|
1864
|
-
q=
|
|
1875
|
+
p=get_nullable(pb, "p"),
|
|
1876
|
+
q=get_nullable(pb, "q"),
|
|
1865
1877
|
phase=single_phase_kind_by_id(pb.phase)
|
|
1866
1878
|
)
|
|
1867
1879
|
|
|
@@ -1878,7 +1890,7 @@ def power_transformer_to_cim(pb: PBPowerTransformer, network_service: NetworkSer
|
|
|
1878
1890
|
cim = PowerTransformer(
|
|
1879
1891
|
mrid=pb.mrid(),
|
|
1880
1892
|
vector_group=VectorGroup(pb.vectorGroup),
|
|
1881
|
-
transformer_utilisation=
|
|
1893
|
+
transformer_utilisation=get_nullable(pb, "transformerUtilisation"),
|
|
1882
1894
|
construction_kind=TransformerConstructionKind(pb.constructionKind),
|
|
1883
1895
|
function=TransformerFunctionKind(pb.function)
|
|
1884
1896
|
)
|
|
@@ -1898,17 +1910,17 @@ def power_transformer_end_to_cim(pb: PBPowerTransformerEnd, network_service: Net
|
|
|
1898
1910
|
# noinspection PyUnresolvedReferences
|
|
1899
1911
|
cim = PowerTransformerEnd(
|
|
1900
1912
|
mrid=pb.mrid(),
|
|
1901
|
-
rated_u=
|
|
1902
|
-
r=
|
|
1903
|
-
r0=
|
|
1904
|
-
x=
|
|
1905
|
-
x0=
|
|
1906
|
-
b=
|
|
1907
|
-
b0=
|
|
1908
|
-
g=
|
|
1909
|
-
g0=
|
|
1913
|
+
rated_u=get_nullable(pb, 'ratedU'),
|
|
1914
|
+
r=get_nullable(pb, 'r'),
|
|
1915
|
+
r0=get_nullable(pb, 'r0'),
|
|
1916
|
+
x=get_nullable(pb, 'x'),
|
|
1917
|
+
x0=get_nullable(pb, 'x0'),
|
|
1918
|
+
b=get_nullable(pb, 'b'),
|
|
1919
|
+
b0=get_nullable(pb, 'b0'),
|
|
1920
|
+
g=get_nullable(pb, 'g'),
|
|
1921
|
+
g0=get_nullable(pb, 'g0'),
|
|
1910
1922
|
connection_kind=WindingConnection(pb.connectionKind),
|
|
1911
|
-
phase_angle_clock=
|
|
1923
|
+
phase_angle_clock=get_nullable(pb, 'phaseAngleClock'),
|
|
1912
1924
|
)
|
|
1913
1925
|
|
|
1914
1926
|
for rating in pb.ratings:
|
|
@@ -1922,7 +1934,7 @@ def power_transformer_end_to_cim(pb: PBPowerTransformerEnd, network_service: Net
|
|
|
1922
1934
|
|
|
1923
1935
|
|
|
1924
1936
|
def protected_switch_to_cim(pb: PBProtectedSwitch, cim: ProtectedSwitch, network_service: NetworkService):
|
|
1925
|
-
cim.breaking_capacity =
|
|
1937
|
+
cim.breaking_capacity = get_nullable(pb, 'breakingCapacity')
|
|
1926
1938
|
|
|
1927
1939
|
for mrid in pb.relayFunctionMRIDs:
|
|
1928
1940
|
network_service.resolve_or_defer_reference(resolver.ps_relay_function(cim), mrid)
|
|
@@ -1936,7 +1948,7 @@ def ratio_tap_changer_to_cim(pb: PBRatioTapChanger, network_service: NetworkServ
|
|
|
1936
1948
|
# noinspection PyUnresolvedReferences
|
|
1937
1949
|
cim = RatioTapChanger(
|
|
1938
1950
|
mrid=pb.mrid(),
|
|
1939
|
-
step_voltage_increment=
|
|
1951
|
+
step_voltage_increment=get_nullable(pb, "stepVoltageIncrement")
|
|
1940
1952
|
)
|
|
1941
1953
|
|
|
1942
1954
|
network_service.resolve_or_defer_reference(resolver.transformer_end(cim), pb.transformerEndMRID)
|
|
@@ -1966,7 +1978,7 @@ def recloser_to_cim(pb: PBRecloser, network_service: NetworkService) -> Optional
|
|
|
1966
1978
|
|
|
1967
1979
|
|
|
1968
1980
|
def regulating_cond_eq_to_cim(pb: PBRegulatingCondEq, cim: RegulatingCondEq, network_service: NetworkService):
|
|
1969
|
-
cim.control_enabled = pb
|
|
1981
|
+
cim.control_enabled = get_nullable(pb, 'controlEnabled')
|
|
1970
1982
|
network_service.resolve_or_defer_reference(resolver.rce_regulating_control(cim), pb.regulatingControlMRID)
|
|
1971
1983
|
|
|
1972
1984
|
energy_connection_to_cim(pb.ec, cim, network_service)
|
|
@@ -1976,27 +1988,27 @@ def regulating_control_to_cim(pb: PBRegulatingControl, cim: RegulatingControl, n
|
|
|
1976
1988
|
cim.discrete = None if pb.HasField("discreteNull") else pb.discreteSet
|
|
1977
1989
|
cim.mode = RegulatingControlModeKind(pb.mode)
|
|
1978
1990
|
cim.monitored_phase = phase_code_by_id(pb.monitoredPhase)
|
|
1979
|
-
cim.target_deadband =
|
|
1980
|
-
cim.target_value =
|
|
1981
|
-
cim.enabled =
|
|
1982
|
-
cim.max_allowed_target_value =
|
|
1983
|
-
cim.min_allowed_target_value =
|
|
1984
|
-
cim.rated_current =
|
|
1991
|
+
cim.target_deadband = get_nullable(pb, 'targetDeadband')
|
|
1992
|
+
cim.target_value = get_nullable(pb, 'targetValue')
|
|
1993
|
+
cim.enabled = get_nullable(pb, 'enabled')
|
|
1994
|
+
cim.max_allowed_target_value = get_nullable(pb, 'maxAllowedTargetValue')
|
|
1995
|
+
cim.min_allowed_target_value = get_nullable(pb, 'minAllowedTargetValue')
|
|
1996
|
+
cim.rated_current = get_nullable(pb, 'ratedCurrent')
|
|
1985
1997
|
network_service.resolve_or_defer_reference(resolver.rc_terminal(cim), pb.terminalMRID)
|
|
1986
1998
|
for mrid in pb.regulatingCondEqMRIDs:
|
|
1987
1999
|
network_service.resolve_or_defer_reference(resolver.rc_regulating_cond_eq(cim), mrid)
|
|
1988
|
-
cim.ct_primary =
|
|
1989
|
-
cim.min_target_deadband =
|
|
2000
|
+
cim.ct_primary = get_nullable(pb, 'ctPrimary')
|
|
2001
|
+
cim.min_target_deadband = get_nullable(pb, 'minTargetDeadband')
|
|
1990
2002
|
|
|
1991
2003
|
power_system_resource_to_cim(pb.psr, cim, network_service)
|
|
1992
2004
|
|
|
1993
2005
|
|
|
1994
2006
|
def rotating_machine_to_cim(pb: PBRotatingMachine, cim: RotatingMachine, network_service: NetworkService):
|
|
1995
|
-
cim.rated_power_factor =
|
|
1996
|
-
cim.rated_s =
|
|
1997
|
-
cim.rated_u =
|
|
1998
|
-
cim.p =
|
|
1999
|
-
cim.q =
|
|
2007
|
+
cim.rated_power_factor = get_nullable(pb, 'ratedPowerFactor')
|
|
2008
|
+
cim.rated_s = get_nullable(pb, 'ratedS')
|
|
2009
|
+
cim.rated_u = get_nullable(pb, 'ratedU')
|
|
2010
|
+
cim.p = get_nullable(pb, 'p')
|
|
2011
|
+
cim.q = get_nullable(pb, 'q')
|
|
2000
2012
|
|
|
2001
2013
|
regulating_cond_eq_to_cim(pb.rce, cim, network_service)
|
|
2002
2014
|
|
|
@@ -2007,12 +2019,12 @@ def series_compensator_to_cim(pb: PBSeriesCompensator, network_service: NetworkS
|
|
|
2007
2019
|
# noinspection PyUnresolvedReferences
|
|
2008
2020
|
cim = SeriesCompensator(
|
|
2009
2021
|
mrid=pb.mrid(),
|
|
2010
|
-
r=
|
|
2011
|
-
r0=
|
|
2012
|
-
x=
|
|
2013
|
-
x0=
|
|
2014
|
-
varistor_rated_current=
|
|
2015
|
-
varistor_voltage_threshold=
|
|
2022
|
+
r=get_nullable(pb, 'r'),
|
|
2023
|
+
r0=get_nullable(pb, 'r0'),
|
|
2024
|
+
x=get_nullable(pb, 'x'),
|
|
2025
|
+
x0=get_nullable(pb, 'x0'),
|
|
2026
|
+
varistor_rated_current=get_nullable(pb, 'varistorRatedCurrent'),
|
|
2027
|
+
varistor_voltage_threshold=get_nullable(pb, 'varistorVoltageThreshold'),
|
|
2016
2028
|
)
|
|
2017
2029
|
|
|
2018
2030
|
conducting_equipment_to_cim(pb.ce, cim, network_service)
|
|
@@ -2022,9 +2034,9 @@ def series_compensator_to_cim(pb: PBSeriesCompensator, network_service: NetworkS
|
|
|
2022
2034
|
def shunt_compensator_to_cim(pb: PBShuntCompensator, cim: ShuntCompensator, network_service: NetworkService):
|
|
2023
2035
|
# noinspection PyUnresolvedReferences
|
|
2024
2036
|
network_service.resolve_or_defer_reference(resolver.shunt_compensator_info(cim), pb.asset_info_mrid())
|
|
2025
|
-
cim.sections =
|
|
2026
|
-
cim.grounded = pb
|
|
2027
|
-
cim.nom_u =
|
|
2037
|
+
cim.sections = get_nullable(pb, 'sections')
|
|
2038
|
+
cim.grounded = get_nullable(pb, 'grounded')
|
|
2039
|
+
cim.nom_u = get_nullable(pb, 'nomU')
|
|
2028
2040
|
cim.phase_connection = PhaseShuntConnectionKind(pb.phaseConnection)
|
|
2029
2041
|
|
|
2030
2042
|
regulating_cond_eq_to_cim(pb.rce, cim, network_service)
|
|
@@ -2042,11 +2054,11 @@ def static_var_compensator_to_cim(pb: PBStaticVarCompensator, network_service: N
|
|
|
2042
2054
|
# noinspection PyUnresolvedReferences
|
|
2043
2055
|
cim = StaticVarCompensator(
|
|
2044
2056
|
mrid=pb.mrid(),
|
|
2045
|
-
capacitive_rating=
|
|
2046
|
-
inductive_rating=
|
|
2047
|
-
q=
|
|
2057
|
+
capacitive_rating=get_nullable(pb, 'capacitiveRating'),
|
|
2058
|
+
inductive_rating=get_nullable(pb, 'inductiveRating'),
|
|
2059
|
+
q=get_nullable(pb, 'q'),
|
|
2048
2060
|
svc_control_mode=SVCControlMode(pb.svcControlMode),
|
|
2049
|
-
voltage_set_point=
|
|
2061
|
+
voltage_set_point=get_nullable(pb, 'voltageSetPoint'),
|
|
2050
2062
|
)
|
|
2051
2063
|
|
|
2052
2064
|
regulating_cond_eq_to_cim(pb.rce, cim, network_service)
|
|
@@ -2056,7 +2068,7 @@ def static_var_compensator_to_cim(pb: PBStaticVarCompensator, network_service: N
|
|
|
2056
2068
|
def switch_to_cim(pb: PBSwitch, cim: Switch, network_service: NetworkService):
|
|
2057
2069
|
# noinspection PyUnresolvedReferences
|
|
2058
2070
|
network_service.resolve_or_defer_reference(resolver.switch_info(cim), pb.asset_info_mrid())
|
|
2059
|
-
cim.rated_current =
|
|
2071
|
+
cim.rated_current = get_nullable(pb, 'ratedCurrent')
|
|
2060
2072
|
cim.set_normally_open(pb.normalOpen)
|
|
2061
2073
|
cim.set_open(pb.open)
|
|
2062
2074
|
|
|
@@ -2069,25 +2081,25 @@ def synchronous_machine_to_cim(pb: PBSynchronousMachine, network_service: Networ
|
|
|
2069
2081
|
# noinspection PyUnresolvedReferences
|
|
2070
2082
|
cim = SynchronousMachine(
|
|
2071
2083
|
mrid=pb.mrid(),
|
|
2072
|
-
base_q=
|
|
2073
|
-
condenser_p=
|
|
2074
|
-
earthing=pb
|
|
2075
|
-
earthing_star_point_r=
|
|
2076
|
-
earthing_star_point_x=
|
|
2077
|
-
ikk=
|
|
2078
|
-
max_q=
|
|
2079
|
-
max_u=
|
|
2080
|
-
min_q=
|
|
2081
|
-
min_u=
|
|
2082
|
-
mu=
|
|
2083
|
-
r=
|
|
2084
|
-
r0=
|
|
2085
|
-
r2=
|
|
2086
|
-
sat_direct_subtrans_x=
|
|
2087
|
-
sat_direct_sync_x=
|
|
2088
|
-
sat_direct_trans_x=
|
|
2089
|
-
x0=
|
|
2090
|
-
x2=
|
|
2084
|
+
base_q=get_nullable(pb, 'baseQ'),
|
|
2085
|
+
condenser_p=get_nullable(pb, 'condenserP'),
|
|
2086
|
+
earthing=get_nullable(pb, 'earthing'),
|
|
2087
|
+
earthing_star_point_r=get_nullable(pb, 'earthingStarPointR'),
|
|
2088
|
+
earthing_star_point_x=get_nullable(pb, 'earthingStarPointX'),
|
|
2089
|
+
ikk=get_nullable(pb, 'ikk'),
|
|
2090
|
+
max_q=get_nullable(pb, 'maxQ'),
|
|
2091
|
+
max_u=get_nullable(pb, 'maxU'),
|
|
2092
|
+
min_q=get_nullable(pb, 'minQ'),
|
|
2093
|
+
min_u=get_nullable(pb, 'minU'),
|
|
2094
|
+
mu=get_nullable(pb, 'mu'),
|
|
2095
|
+
r=get_nullable(pb, 'r'),
|
|
2096
|
+
r0=get_nullable(pb, 'r0'),
|
|
2097
|
+
r2=get_nullable(pb, 'r2'),
|
|
2098
|
+
sat_direct_subtrans_x=get_nullable(pb, 'satDirectSubtransX'),
|
|
2099
|
+
sat_direct_sync_x=get_nullable(pb, 'satDirectSyncX'),
|
|
2100
|
+
sat_direct_trans_x=get_nullable(pb, 'satDirectTransX'),
|
|
2101
|
+
x0=get_nullable(pb, 'x0'),
|
|
2102
|
+
x2=get_nullable(pb, 'x2'),
|
|
2091
2103
|
type=SynchronousMachineKind(pb.type),
|
|
2092
2104
|
operating_mode=SynchronousMachineKind(pb.operatingMode)
|
|
2093
2105
|
)
|
|
@@ -2100,13 +2112,13 @@ def synchronous_machine_to_cim(pb: PBSynchronousMachine, network_service: Networ
|
|
|
2100
2112
|
|
|
2101
2113
|
|
|
2102
2114
|
def tap_changer_to_cim(pb: PBTapChanger, cim: TapChanger, network_service: NetworkService):
|
|
2103
|
-
cim.high_step =
|
|
2104
|
-
cim.step =
|
|
2105
|
-
cim.neutral_step =
|
|
2106
|
-
cim.normal_step =
|
|
2107
|
-
cim.low_step =
|
|
2108
|
-
cim.neutral_u =
|
|
2109
|
-
cim.control_enabled = pb
|
|
2115
|
+
cim.high_step = get_nullable(pb, 'highStep')
|
|
2116
|
+
cim.step = get_nullable(pb, 'step')
|
|
2117
|
+
cim.neutral_step = get_nullable(pb, 'neutralStep')
|
|
2118
|
+
cim.normal_step = get_nullable(pb, 'normalStep')
|
|
2119
|
+
cim.low_step = get_nullable(pb, 'lowStep')
|
|
2120
|
+
cim.neutral_u = get_nullable(pb, 'neutralU')
|
|
2121
|
+
cim.control_enabled = get_nullable(pb, 'controlEnabled')
|
|
2110
2122
|
network_service.resolve_or_defer_reference(resolver.tc_tap_changer_control(cim), pb.tapChangerControlMRID)
|
|
2111
2123
|
|
|
2112
2124
|
power_system_resource_to_cim(pb.psr, cim, network_service)
|
|
@@ -2118,15 +2130,15 @@ def tap_changer_control_to_cim(pb: PBTapChangerControl, network_service: Network
|
|
|
2118
2130
|
# noinspection PyUnresolvedReferences
|
|
2119
2131
|
cim = TapChangerControl(
|
|
2120
2132
|
mrid=pb.mrid(),
|
|
2121
|
-
limit_voltage=
|
|
2122
|
-
line_drop_compensation=
|
|
2123
|
-
line_drop_r=
|
|
2124
|
-
line_drop_x=
|
|
2125
|
-
reverse_line_drop_r=
|
|
2126
|
-
reverse_line_drop_x=
|
|
2127
|
-
forward_ldc_blocking=
|
|
2128
|
-
time_delay=
|
|
2129
|
-
co_generation_enabled=
|
|
2133
|
+
limit_voltage=get_nullable(pb, 'limitVoltage'),
|
|
2134
|
+
line_drop_compensation=get_nullable(pb, "lineDropCompensation"),
|
|
2135
|
+
line_drop_r=get_nullable(pb, 'lineDropR'),
|
|
2136
|
+
line_drop_x=get_nullable(pb, 'lineDropX'),
|
|
2137
|
+
reverse_line_drop_r=get_nullable(pb, 'reverseLineDropR'),
|
|
2138
|
+
reverse_line_drop_x=get_nullable(pb, 'reverseLineDropX'),
|
|
2139
|
+
forward_ldc_blocking=get_nullable(pb, "forwardLDCBlocking"),
|
|
2140
|
+
time_delay=get_nullable(pb, 'timeDelay'),
|
|
2141
|
+
co_generation_enabled=get_nullable(pb, "coGenerationEnabled"),
|
|
2130
2142
|
)
|
|
2131
2143
|
|
|
2132
2144
|
regulating_control_to_cim(pb.rc, cim, network_service)
|
|
@@ -2135,9 +2147,9 @@ def tap_changer_control_to_cim(pb: PBTapChangerControl, network_service: Network
|
|
|
2135
2147
|
|
|
2136
2148
|
def transformer_end_to_cim(pb: PBTransformerEnd, cim: TransformerEnd, network_service: NetworkService):
|
|
2137
2149
|
cim.end_number = pb.endNumber
|
|
2138
|
-
cim.grounded = pb
|
|
2139
|
-
cim.r_ground =
|
|
2140
|
-
cim.x_ground =
|
|
2150
|
+
cim.grounded = get_nullable(pb, 'grounded')
|
|
2151
|
+
cim.r_ground = get_nullable(pb, 'rGround')
|
|
2152
|
+
cim.x_ground = get_nullable(pb, 'xGround')
|
|
2141
2153
|
|
|
2142
2154
|
network_service.resolve_or_defer_reference(resolver.te_terminal(cim), pb.terminalMRID)
|
|
2143
2155
|
network_service.resolve_or_defer_reference(resolver.te_base_voltage(cim), pb.baseVoltageMRID)
|
|
@@ -2155,7 +2167,13 @@ def transformer_end_rated_s_to_cim(pb: PBTransformerEndRatedS) -> Optional[Trans
|
|
|
2155
2167
|
@add_to_network_or_none
|
|
2156
2168
|
def transformer_star_impedance_to_cim(pb: PBTransformerStarImpedance, network_service: NetworkService) -> Optional[TransformerStarImpedance]:
|
|
2157
2169
|
# noinspection PyUnresolvedReferences
|
|
2158
|
-
cim = TransformerStarImpedance(
|
|
2170
|
+
cim = TransformerStarImpedance(
|
|
2171
|
+
mrid=pb.mrid(),
|
|
2172
|
+
r=get_nullable(pb, 'r'),
|
|
2173
|
+
r0=get_nullable(pb, 'r0'),
|
|
2174
|
+
x=get_nullable(pb, 'x'),
|
|
2175
|
+
x0=get_nullable(pb, 'x0'),
|
|
2176
|
+
)
|
|
2159
2177
|
|
|
2160
2178
|
network_service.resolve_or_defer_reference(resolver.star_impedance_transformer_end_info(cim), pb.transformerEndInfoMRID)
|
|
2161
2179
|
|