def network_service(): return NetworkService()
def __init__(self): self.network = NetworkService()
def test_add_pb(self): """Test addition to the network works for CableInfo PB type.""" # Create network network = NetworkProtoToCim(NetworkService()) # BaseVoltage1 io_bv1 = PBIdentifiedObject(mRID="bv1", name="bv1") bv1 = PBBaseVoltage(io=io_bv1, nominalVoltage=22000) network.add_from_pb(bv1) # BaseVoltage2 io_bv2 = PBIdentifiedObject(mRID="bv2", name="bv2") bv2 = PBBaseVoltage(io=io_bv2, nominalVoltage=415) network.add_from_pb(bv2) # Terminal io_ad = PBIdentifiedObject(mRID="t", name="t") ad = PBAcDcTerminal(io=io_ad, connected=True) t = PBTerminal(ad=ad, connectivityNodeMRID="c1") eq = PBEquipment(inService=True) ce1 = PBConductingEquipment(eq=eq, baseVoltageMRID="bv1", terminalMRIDs=["t"]) ec = PBEnergyConnection(ce=ce1) es = PBEnergySource(ec=ec) network.add_from_pb(es) # PerLengthSequenceImpedance io_lp = PBIdentifiedObject(mRID="plsi1", name="plsi1") lp = PBPerLengthLineParameter(io=io_lp) pli = PBPerLengthImpedance(lp=lp) plsi = PBPerLengthSequenceImpedance(pli=pli) network.add_from_pb(plsi) # CableInfo io_ci = PBIdentifiedObject(mRID="7", name="ci") ai = PBAssetInfo(io=io_ci) wi = PBWireInfo(ai=ai, ratedCurrent=12, material=PBWireMaterialKind.aaac) ci = PBCableInfo(wi=wi) network.add_from_pb(ci) # AcLineSegment ce2 = PBConductingEquipment(baseVoltageMRID="bv1") cd = PBConductor(ce=ce2) acls = PBAcLineSegment(cd=cd, perLengthSequenceImpedanceMRID="plsi1") network.add_from_pb(acls) # PowerTransformerInfo io_pti1 = PBIdentifiedObject(mRID="pti1", name="pti1") ai_pti1 = PBAssetInfo(io=io_pti1) pti1 = PBPowerTransformerInfo(ai=ai_pti1) network.add_from_pb(pti1) # PowerTransformer psr1_pt = PBPowerSystemResource(assetInfoMRID=pti1.ai.io.mRID) eq_pt = PBEquipment(psr=psr1_pt) ce3_pt = PBConductingEquipment(eq=eq_pt, baseVoltageMRID="bv2") pt = PBPowerTransformer(ce=ce3_pt) network.add_from_pb(pt) # Breaker ce4 = PBConductingEquipment(baseVoltageMRID="bv2") sw = PBSwitch(ce=ce4) psw = PBProtectedSwitch(sw=sw) br = PBBreaker(sw=psw) network.add_from_pb(br) # DOES THIS EXIST? # cust = PBCustomer() # OverheadWireInfo io_owi = PBIdentifiedObject(mRID="8", name="owi") ai2 = PBAssetInfo(io=io_owi) wi2 = PBWireInfo(ai=ai2) owi = PBOverheadWireInfo(wi=wi2) network.add_from_pb(owi) # UsagePoint io_up = PBIdentifiedObject(mRID="up1", name="up") up = PBUsagePoint(io=io_up) network.add_from_pb(up) # Meter ed = PBEndDevice(usagePointMRIDs=["up1"]) me = PBMeter(ed=ed) network.add_from_pb(me) print(network.service)