Beispiel #1
0
def network_service():
    return NetworkService()
Beispiel #2
0
 def __init__(self):
     self.network = NetworkService()
Beispiel #3
0
    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)