psspy.bsys(1, 0, [0.0, 0.0], 0, [], 1, [45082], 0, [], 0, [])
    psspy.conl(1, 0, 2, [0, 0], [51.36, 59.32, -228.04, 254.01])
    psspy.bsys(1, 0, [0.0, 0.0], 0, [], 9,
               [40320, 40340, 40350, 40970, 40980, 40990, 41050, 41071, 41120],
               0, [], 0, [])
    psspy.conl(1, 0, 2, [0, 0], [100.0, 0.0, 0.0, 100.0])
    psspy.conl(0, 1, 2, [0, 0], [100.0, 0.0, -306.02, 303.0])
    psspy.conl(0, 1, 3, [0, 0], [100.0, 0.0, -306.02, 303.0])
    psspy.ordr(0)
    psspy.fact()
    psspy.tysl(0)
    psspy.bsys(0, 0, [0.4, 500.], 0, [], 0, [], 0, [], 0, [])

    psspy.strt_2([0, 0], OutputFilePath)
    psspy.run(0, 0.5, 1000, 1, 0)
    psspy.change_var(var_ppc_setp + 68, 1.05)
    psspy.change_var(var_ppc_setp + 10, 100)
    psspy.run(0, 1, 1000, 1, 0)
    # psspy.change_var(var_ppc_setp + 68, 1.05)
    # psspy.run(0, 3, 1000, 1, 0)

    for i in range(0, 1):

        if i == 0:
            psspy.branch_chng_3(
                400, 950, r"""1""", [_i, _i, _i, _i, _i, _i],
                [_f, 0.204585 * 0.09, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f],
                [_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f], "")
            psspy.seq_branch_data_3(
                400, 950, r"""1""", _i,
                [0.198244 * 0.00001, _f, _f, _f, _f, _f, _f, _f])
Esempio n. 2
0
#
# psspy.change_con(var_inv1_con+12,-0.35)	# Inverter Con, Looks good
# psspy.change_con(var_inv1_con+13, 0.59)	# Inverter Con, Looks good
#
# psspy.change_con(var_inv2_con+15,0.85)	# Not Final
# psspy.change_con(var_inv2_con+16,0.10)	# Not Final
#
# psspy.change_con(var_inv2_con+12,-0.35)	# Inverter Con, Looks good
# psspy.change_con(var_inv2_con+13, 0.59)	# Inverter Con, Looks good
#
# # start simulation


psspy.strt_2([0,0], OutputFilePath)
psspy.run(0, 1, 1000,  1, 0)
psspy.change_var(var_ppc_setp+68,1.05)
psspy.change_var(var_ppc_setp+10,85)

psspy.run(0,5,  1000,  1, 0)
psspy.change_var(var_ppc_setp+10,68)
psspy.run(0, 55, 1000,  1, 0)
psspy.change_var(var_ppc_setp+10,85)

psspy.run(0, 105, 1000,  1, 0)
# psspy.change_var(var_ppc_setp+10,65)
# psspy.run(0, 130, 1000,  1, 0)
# psspy.change_var(var_ppc_setp+10,85)
#
# psspy.run(0,180,1000,1,0)

Esempio n. 3
0
            psspy.conl(0, 1, 3, [0, 0], [0.0, 0.0, 0.1, 0.0])
            psspy.ordr(0)
            psspy.fact()
            psspy.tysl(0)

            # psspy.add_plant_model(600, r"""1""", 6, r"""SEXS""", 0, "", 0, [], [], 6, [0.0, 0.0, 0.0, 0.0, 0.0, 0.0])
            # psspy.change_plmod_con(600, r"""1""", r"""SEXS""", 1, 0.1)
            # psspy.change_plmod_con(600, r"""1""", r"""SEXS""", 2, 10.0)
            # psspy.change_plmod_con(600, r"""1""", r"""SEXS""", 3, 50.0)
            # psspy.change_plmod_con(600, r"""1""", r"""SEXS""", 4, 0.05)
            # psspy.change_plmod_con(600, r"""1""", r"""SEXS""", 6, 2.5)
            psspy.change_plmod_con(600, r"""1""", r"""GENCLS""", 1, 0.9)
            psspy.change_plmod_con(600, r"""1""", r"""GENCLS""", 2, 1)

            for t_var in range(1, 9000):
                psspy.change_var(t_var, 0)

            [ierr, var_ppc_conp] = psspy.mdlind(101, '1', 'EXC', 'CON')
            [ierr, var_ppc_setp] = psspy.mdlind(101, '1', 'EXC', 'VAR')
            [ierr, var_ppc_mode] = psspy.mdlind(101, '1', 'EXC', 'ICON')
            [ierr, var_inv_con] = psspy.mdlind(101, '1', 'GEN', 'CON')
            [ierr, var_inv_var] = psspy.mdlind(101, '1', 'GEN', 'VAR')
            [ierr, var_inv_stt] = psspy.mdlind(101, '1', 'GEN', 'STATE')
            psspy.bus_frequency_channel([1, 400], r"""System frequency""")
            psspy.voltage_channel([2, -1, -1, 101],
                                  r"""Inverter Voltage Mag.""")
            psspy.voltage_channel([3, -1, -1, 400],
                                  r"""WD SF POC Voltage Mag.""")
            psspy.branch_p_and_q_channel(
                [4, -1, -1, 400, 46660], r"""1""",
                [r"""P Injection""", r"""Q Injection"""])
Esempio n. 4
0
psspy.change_plmod_con(101, r"""1""", r"""HWS2000""", 13, -0.3)
psspy.change_plmod_con(101, r"""1""", r"""HWS2000""", 14, 0.5)
psspy.change_plmod_con(102, r"""1""", r"""HWS2000""", 13, -0.3)
psspy.change_plmod_con(102, r"""1""", r"""HWS2000""", 14, 0.5)
psspy.change_plmod_con(103, r"""1""", r"""HWS2000""", 13, -0.3)
psspy.change_plmod_con(103, r"""1""", r"""HWS2000""", 14, 0.5)
psspy.change_plmod_con(104, r"""1""", r"""HWS2000""", 13, -0.3)
psspy.change_plmod_con(104, r"""1""", r"""HWS2000""", 14, 0.5)
psspy.change_plmod_con(101, r"""1""", r"""GPMPPC""", 10, 1.0)
psspy.change_plmod_icon(101, r"""1""", r"""GPMPPC""", 4, 2)
psspy.change_plmod_con(101, r"""1""", r"""GPMPPC""", 23, 0.001)
psspy.change_plmod_con(101, r"""1""", r"""GPMPPC""", 24, 0.4)

for t_var in range(1, 9000):
    psspy.change_var(t_var, 0)

[ierr, var_ppc_conp] = psspy.mdlind(101, '1', 'EXC', 'CON')
[ierr, var_ppc_setp] = psspy.mdlind(101, '1', 'EXC', 'VAR')
[ierr, var_ppc_mode] = psspy.mdlind(101, '1', 'EXC', 'ICON')
[ierr, var_inv_con] = psspy.mdlind(101, '1', 'GEN', 'CON')
[ierr, var_inv_var] = psspy.mdlind(101, '1', 'GEN', 'VAR')
[ierr, var_inv_stt] = psspy.mdlind(101, '1', 'GEN', 'STATE')
psspy.bus_frequency_channel([1, 400], r"""System frequency""")
psspy.voltage_channel([2, -1, -1, 101], r"""Inverter Voltage Mag.""")
psspy.voltage_channel([3, -1, -1, 400], r"""WD SF POC Voltage Mag.""")
psspy.branch_p_and_q_channel([4, -1, -1, 400, 46660], r"""1""",
                             [r"""P Injection""", r"""Q Injection"""])
psspy.branch_p_and_q_channel([7, -1, -1, 101, 111], r"""1""",
                             [r"""P Injection""", r"""Q Injection"""])
psspy.var_channel([9, var_ppc_setp + 68], r"""Voltage Setpoint""")
# psspy.change_con(var_inv1_con+16,0.10)	# Not Final
#
# psspy.change_con(var_inv1_con+12,-0.35)	# Inverter Con, Looks good
# psspy.change_con(var_inv1_con+13, 0.59)	# Inverter Con, Looks good
#
# psspy.change_con(var_inv2_con+15,0.85)	# Not Final
# psspy.change_con(var_inv2_con+16,0.10)	# Not Final
#
# psspy.change_con(var_inv2_con+12,-0.35)	# Inverter Con, Looks good
# psspy.change_con(var_inv2_con+13, 0.59)	# Inverter Con, Looks good
#
# # start simulation

psspy.strt_2([0, 0], OutputFilePath)
psspy.run(0, 1, 1000, 1, 0)
psspy.change_var(var_ppc_setp + 68, 1.01)
psspy.change_var(var_ppc_setp + 10, 85)

psspy.run(0, 5, 1000, 1, 0)
psspy.change_var(var_ppc_setp + 10, 30)
psspy.run(0, 75, 1000, 1, 0)
psspy.change_var(var_ppc_setp + 10, 50)

psspy.run(0, 110, 1000, 1, 0)
psspy.change_var(var_ppc_setp + 10, 65)
psspy.run(0, 130, 1000, 1, 0)
psspy.change_var(var_ppc_setp + 10, 85)

psspy.run(0, 180, 1000, 1, 0)

GraphPath = FigurePath + ClauseName + '/'
Esempio n. 6
0
psspy.conl(1, 0, 2, [0, 0], [52.75, 58.13, 5.97, 95.52])
psspy.bsys(1, 0, [0.0, 0.0], 0, [], 1, [21790], 0, [], 0, [])
psspy.conl(1, 0, 2, [0, 0], [86.63, 25.19, -378.97, 347.97])
psspy.bsys(1, 0, [0.0, 0.0], 0, [], 1, [45082], 0, [], 0, [])
psspy.conl(1, 0, 2, [0, 0], [51.36, 59.32, -228.04, 254.01])
psspy.bsys(1, 0, [0.0, 0.0], 0, [], 9, [40320, 40340, 40350, 40970, 40980, 40990, 41050, 41071, 41120], 0, [], 0, [])
psspy.conl(1, 0, 2, [0, 0], [100.0, 0.0, 0.0, 100.0])
psspy.conl(0, 1, 2, [0, 0], [100.0, 0.0, -306.02, 303.0])
psspy.conl(0, 1, 3, [0, 0], [100.0, 0.0, -306.02, 303.0])
psspy.ordr(0)
psspy.fact()
psspy.tysl(0)
psspy.bsys(0, 0, [0.4, 500.], 0, [], 0, [], 0, [], 0, [])

for t_var in range(1, 9000):
    psspy.change_var(t_var, 0)

[ierr, var_ppc_conp] = psspy.mdlind(101, '1', 'EXC','CON')  # Use this API to return plant-related model starting array indices and status. get the EXC (GPMPPC)'s CON
[ierr, var_ppc_setp] = psspy.mdlind(101, '1', 'EXC', 'VAR')
[ierr, var_ppc_mode] = psspy.mdlind(101, '1', 'EXC', 'ICON')
[ierr, var_inv_con] = psspy.mdlind(101, '1', 'GEN', 'CON')
[ierr, var_inv_var] = psspy.mdlind(101, '1', 'GEN', 'VAR')
[ierr, var_inv_stt] = psspy.mdlind(101, '1', 'GEN', 'STATE')
psspy.bus_frequency_channel([1, 46660], r"""System frequency""")
psspy.voltage_channel([2, -1, -1, 101], r"""Inverter Voltage Mag.""")
psspy.voltage_channel([3, -1, -1, 400], r"""NEOEN SF POC Voltage Mag.""")
psspy.branch_p_and_q_channel([4, -1, -1, 400, 46660], r"""1""", [r"""P Injection""", r"""Q Injection"""])
ierr = psspy.machine_array_channel([7, 2, 101], r"""1""", r"""Pelec 101""")
ierr = psspy.machine_array_channel([8, 3, 101], r"""1""", r"""Qelec 101""")
ierr = psspy.machine_array_channel([9, 2, 102], r"""1""", r"""Pelec 102""")
ierr = psspy.machine_array_channel([10, 3, 102], r"""1""", r"""Qelec 102""")
psspy.conl(1, 0, 2, [0, 0], [86.63, 25.19, -378.97, 347.97])
psspy.bsys(1, 0, [0.0, 0.0], 0, [], 1, [45082], 0, [], 0, [])
psspy.conl(1, 0, 2, [0, 0], [51.36, 59.32, -228.04, 254.01])
psspy.bsys(1, 0, [0.0, 0.0], 0, [], 9,
           [40320, 40340, 40350, 40970, 40980, 40990, 41050, 41071, 41120], 0,
           [], 0, [])
psspy.conl(1, 0, 2, [0, 0], [100.0, 0.0, 0.0, 100.0])
psspy.conl(0, 1, 2, [0, 0], [100.0, 0.0, -306.02, 303.0])
psspy.conl(0, 1, 3, [0, 0], [100.0, 0.0, -306.02, 303.0])
psspy.ordr(0)
psspy.fact()
psspy.tysl(0)
psspy.bsys(0, 0, [0.4, 500.], 0, [], 0, [], 0, [], 0, [])

for t_var in range(1, 9000):
    psspy.change_var(t_var, 0)

[ierr, var_ppc_conp] = psspy.mdlind(
    101, '1', 'EXC', 'CON'
)  # Use this API to return plant-related model starting array indices and status. get the EXC (GPMPPC)'s CON
[ierr, var_ppc_setp] = psspy.mdlind(101, '1', 'EXC', 'VAR')
[ierr, var_ppc_mode] = psspy.mdlind(101, '1', 'EXC', 'ICON')
[ierr, var_inv_con] = psspy.mdlind(101, '1', 'GEN', 'CON')
[ierr, var_inv_var] = psspy.mdlind(101, '1', 'GEN', 'VAR')
[ierr, var_inv_stt] = psspy.mdlind(101, '1', 'GEN', 'STATE')
psspy.bus_frequency_channel([1, 400], r"""System frequency""")
psspy.voltage_channel([2, -1, -1, 101], r"""Inverter Voltage Mag.""")
psspy.voltage_channel([3, -1, -1, 400], r"""NEOEN SF POC Voltage Mag.""")
psspy.branch_p_and_q_channel([4, -1, -1, 400, 46660], r"""1""",
                             [r"""P Injection""", r"""Q Injection"""])
ierr = psspy.machine_array_channel([7, 2, 101], r"""1""", r"""Pelec 101""")
Esempio n. 8
0
psspy.change_plmod_con(101, r"""1""", r"""HWS2000""", 13, -0.5)
psspy.change_plmod_con(101, r"""1""", r"""HWS2000""", 14, 0.5)
psspy.change_plmod_con(102, r"""1""", r"""HWS2000""", 13, -0.5)
psspy.change_plmod_con(102, r"""1""", r"""HWS2000""", 14, 0.5)
psspy.change_plmod_con(103, r"""1""", r"""HWS2000""", 13, -0.5)
psspy.change_plmod_con(103, r"""1""", r"""HWS2000""", 14, 0.5)
psspy.change_plmod_con(104, r"""1""", r"""HWS2000""", 13, -0.5)
psspy.change_plmod_con(104, r"""1""", r"""HWS2000""", 14, 0.5)
psspy.change_plmod_con(101, r"""1""", r"""GPMPPC""", 10, 1.0)
psspy.change_plmod_icon(101, r"""1""", r"""GPMPPC""", 4, 2)
psspy.change_plmod_con(101, r"""1""", r"""GPMPPC""", 23, 0.001)
psspy.change_plmod_con(101, r"""1""", r"""GPMPPC""", 24, 0.4)

for t_var in range(1, 9000):
    psspy.change_var(t_var, 0)

[ierr, var_ppc_conp] = psspy.mdlind(101, '1', 'EXC', 'CON')
[ierr, var_ppc_setp] = psspy.mdlind(101, '1', 'EXC', 'VAR')
[ierr, var_ppc_mode] = psspy.mdlind(101, '1', 'EXC', 'ICON')
[ierr, var_inv_con] = psspy.mdlind(101, '1', 'GEN', 'CON')
[ierr, var_inv_var] = psspy.mdlind(101, '1', 'GEN', 'VAR')
[ierr, var_inv_stt] = psspy.mdlind(101, '1', 'GEN', 'STATE')
psspy.bus_frequency_channel([1, 400], r"""System frequency""")
psspy.voltage_channel([2, -1, -1, 101], r"""Inverter Voltage Mag.""")
psspy.voltage_channel([3, -1, -1, 400], r"""WD SF POC Voltage Mag.""")
psspy.branch_p_and_q_channel([4, -1, -1, 400, 46660], r"""1""",
                             [r"""P Injection""", r"""Q Injection"""])
psspy.branch_p_and_q_channel([7, -1, -1, 101, 111], r"""1""",
                             [r"""P Injection""", r"""Q Injection"""])
psspy.var_channel([9, var_ppc_setp + 68], r"""Voltage Setpoint""")
        # psspy.change_con(var_ppc_conp+9, 1.0)  #Reactive power inverters do not reduce active power

        # psspy.change_con(var_inv1_con+15,0.85)	# Not Final #LVRT
        # psspy.change_con(var_inv1_con+16,0.10)	# Not Final  #LVRT

        # psspy.change_con(var_inv1_con+12,-0.35)	# Inverter Con, Looks good PQ curve Qmin -0.09
        # psspy.change_con(var_inv1_con+13, 0.59)	# Inverter Con, Looks good PQ curve Qmax 0.46

        # start simulation

        psspy.strt_2([0, 0], OutputFilePath)
        psspy.run(0, 1, 1000, 1, 0)
        # #
        # psspy.run(0, 1, 1000,  1, 0)
        psspy.change_var(var_ppc_setp + 68, 1.01)
        psspy.change_var(var_ppc_setp + 10, 85)

        psspy.run(0, 5, 1000, 1, 0)
        psspy.change_var(var_ppc_setp + 68, 1.06)
        psspy.run(0, 15, 1000, 1, 0)
        psspy.change_var(var_ppc_setp + 68, 0.99)

        psspy.run(0, 25, 1000, 1, 0)
        psspy.change_var(var_ppc_setp + 68, 1.01)
        psspy.run(0, 35, 1000, 1, 0)
        psspy.change_var(var_ppc_setp + 68, 0.985)

        psspy.run(0, 45, 1000, 1, 0)
        psspy.change_var(var_ppc_setp + 68, 1.035)
        psspy.run(0, 55, 1000, 1, 0)
psspy.change_plmod_con(102, r"""1""", r"""HWS2000""", 13, -t_q)
psspy.change_plmod_con(102, r"""1""", r"""HWS2000""", 14, t_q)
psspy.change_plmod_con(103, r"""1""", r"""HWS2000""", 13, -t_q)
psspy.change_plmod_con(103, r"""1""", r"""HWS2000""", 14, t_q)
psspy.change_plmod_con(104, r"""1""", r"""HWS2000""", 13, -t_q)
psspy.change_plmod_con(104, r"""1""", r"""HWS2000""", 14, t_q)
psspy.change_plmod_con(101, r"""1""", r"""GPMPPC""", 23, 0.001)  # QV droop deadband
psspy.change_plmod_con(101, r"""1""", r"""GPMPPC""", 24, 0.4)  # QV droop
psspy.change_plmod_icon(101, r"""1""", r"""GPMPPC""", 4, 2)  # kVar control =0, PF control = 1, Droop Control = 2, Voltage Control = 3
psspy.change_plmod_con(101, r"""1""", r"""GPMPPC""", 10, 1.0)


# start simulation
psspy.strt_2([0, 0], OutputFilePath)
psspy.run(0, 1, 1000,  1, 0)
psspy.change_var(var_ppc_setp+10,400)
#psspy.change_var(var_ppc_setp+11,0)
psspy.run(0, 10, 1000,  1, 0)
psspy.change_var(var_ppc_setp+10,100)
psspy.run(0, 20, 1000,  1, 0)


# start draw curves
# new folder if necessary
GraphPath= FigurePath + ClauseName
if not os.path.exists(GraphPath):
        os.makedirs(GraphPath)

# read data curves
chnfobj = dyntools.CHNF(OutputFilePath)
short_title, chanid, chandata = chnfobj.get_data()
Esempio n. 11
0
#
# psspy.change_con(var_inv1_con+12,-0.35)	# Inverter Con, Looks good
# psspy.change_con(var_inv1_con+13, 0.59)	# Inverter Con, Looks good
#
# psspy.change_con(var_inv2_con+15,0.85)	# Not Final
# psspy.change_con(var_inv2_con+16,0.10)	# Not Final
#
# psspy.change_con(var_inv2_con+12,-0.35)	# Inverter Con, Looks good
# psspy.change_con(var_inv2_con+13, 0.59)	# Inverter Con, Looks good

# start simulation

psspy.strt_2([0, 0], OutputFilePath)
psspy.run(0, 1, 1000, 1, 0)
# psspy.change_var(var_ppc_setp+68,1.05)
psspy.change_var(var_ppc_setp + 10, 85)

psspy.run(0, 10, 1000, 1, 0)
psspy.two_winding_chng_5(
    900, 950, r"""1""",
    [_i, _i, _i, _i, _i, _i, _i, _i, 900, _i, _i, 0, _i, _i, _i], [
        _f, _f, _f, 0.90 / 1.05, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f,
        _f, _f, _f, _f, _f, _f
    ], [_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f], "", "")
psspy.run(0, 15, 1000, 1, 0)
psspy.two_winding_chng_5(
    900, 950, r"""1""",
    [_i, _i, _i, _i, _i, _i, _i, _i, 900, _i, _i, 0, _i, _i, _i], [
        _f, _f, _f, 1.05 / 1.05, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f,
        _f, _f, _f, _f, _f, _f
    ], [_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f], "", "")
    psspy.change_plmod_icon(101, r"""1""", r"""GPMPPC""", 4, 3)
    psspy.change_plmod_icon(101, r"""1""", r"""GPMPPC""", 8, 1)
    psspy.add_plant_model(600, r"""1""", 6, r"""SEXS""", 0, "", 0, [], [], 6, [0.0, 0.0, 0.0, 0.0, 0.0, 0.0])
    psspy.change_plmod_con(600, r"""1""", r"""SEXS""", 1, 0.1)
    psspy.change_plmod_con(600, r"""1""", r"""SEXS""", 2, 10.0)
    psspy.change_plmod_con(600, r"""1""", r"""SEXS""", 3, 100.0)
    psspy.change_plmod_con(600, r"""1""", r"""SEXS""", 4, 0.1)
    psspy.change_plmod_con(600, r"""1""", r"""SEXS""", 5, -10.0)
    psspy.change_plmod_con(600, r"""1""", r"""SEXS""", 6, 10.0)
    psspy.change_plmod_con(600, r"""1""", r"""GENCLS""", 1, 0.5)
    psspy.change_plmod_con(600, r"""1""", r"""GENCLS""", 2, 0.1)
    psspy.resq(GridInfoPath + file_name + ".seq")
    psspy.load_data_3(600, r"""1""", [_i, _i, _i, _i, _i], [300, 20, _f, _f, _f, _f])  # apply assumption load
    psspy.fdns([1, 0, 0, 1, 0, 0, 99, 0])
    for t_var in range(1, 500):
        psspy.change_var(t_var, 0)

    psspy.bus_frequency_channel([1, 400], r"""System frequency""")
    psspy.voltage_channel([2, -1, -1, 101], r"""Inverter Voltage Mag.""")
    psspy.voltage_channel([3, -1, -1, 400], r"""WD SF POC Voltage Mag.""")
    psspy.branch_p_and_q_channel([4, -1, -1, 400, 46660], r"""1""", [r"""P Injection""", r"""Q Injection"""])
    ierr = psspy.machine_array_channel([7, 2, 101], r"""1""", r"""Pelec101""")
    ierr = psspy.machine_array_channel([8, 3, 101], r"""1""", r"""Qelec101""")
    [ierr, var_ppc_conp] = psspy.mdlind(101, '1', 'EXC', 'CON')
    [ierr, var_ppc_setp] = psspy.mdlind(101, '1', 'EXC', 'VAR')
    [ierr, var_ppc_mode] = psspy.mdlind(101, '1', 'EXC', 'ICON')
    [ierr, var_inv_con] = psspy.mdlind(101, '1', 'GEN', 'CON')
    [ierr, var_inv_var] = psspy.mdlind(101, '1', 'GEN', 'VAR')

    # convert load , do not change
    psspy.cong(0)