# ! Setup Dynamic Simulation parameters
    psspy.dynamics_solution_param_2([n_iteration, _i, _i, _i, _i, _i, _i, _i],
                                    [acceleration, tolerance, integration_step, _f, _f, _f, _f, _f])
    psspy.fdns([0, 0, 1, 1, 0, 0, 99, 0])

    # convert load , do not change
    psspy.cong(0)
    psspy.conl(0, 1, 1, [0, 0], [100.0, 0.0, 0.0, 100.0])
    psspy.conl(0, 1, 2, [0, 0], [100.0, 0.0, 0.0, 100.0])
    psspy.conl(0, 1, 3, [0, 0], [100.0, 0.0, 0.0, 100.0])
    psspy.ordr(0)  # ! Order the matrix: ORDR
    psspy.fact()  # ! Factorize the matrix: FACT
    psspy.tysl(0)  # ! TYSL

    psspy.bus_frequency_channel([1, 969], r"""System frequency""")
    psspy.voltage_channel([2, -1, -1, 969], r"""IB_Voltage""")
    psspy.voltage_channel([3, -1, -1, 100], r"""UUT_Voltage""")
    psspy.voltage_channel([4, -1, -1, 106], r"""POC_Voltage""")
    psspy.machine_array_channel([5, 2, 100], r"""1""", r"""UUT_Pelec""")
    psspy.machine_array_channel([6, 3, 100], r"""1""", r"""UUT_Qelec""")
    psspy.branch_p_and_q_channel([7, -1, -1, 105, 106], r"""1""", [r"""POC_Flow""", ""])
    psspy.machine_array_channel([9, 9, 100], r"""1""", r"""UUT_IDcmd""")
    psspy.machine_array_channel([10, 12, 100], r"""1""", r"""UUT_IQcmd""")
    psspy.machine_array_channel([11, 8, 100], r"""1""", r"""PPC_Pcmd""")
    psspy.machine_array_channel([12, 5, 100], r"""1""", r"""PPC_Qcmd""")

    # Run dynamic simulations
    psspy.strt_2([0, 0], OutputFilePath)
    psspy.run(0, 1.0, 1000, 5, 5)
    psspy.two_winding_chng_5(bus_flt, bus_IDTRF, r"""1""", realari4=1.10)
    psspy.run(0, 10.0, 1000, 5, 5)
示例#3
0
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.machine_array_channel([2, 4, 101],r"""1""", 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"""Pelec 101""")
ierr = psspy.machine_array_channel([8, 3, 101], r"""1""", r"""Qelec 101""")

psspy.cong(0)
psspy.conl(0, 1, 1, [0, 0], [0.0, 0.0, 0.1, 0.0])
psspy.conl(0, 1, 2, [0, 0], [0.0, 0.0, 0.1, 0.0])
psspy.conl(0, 1, 3, [0, 0], [0.0, 0.0, 0.1, 0.0])
psspy.ordr(1)
psspy.fact()
psspy.tysl(1)
psspy.change_plmod_con(600, r"""1""", r"""GENCLS""", 1, 8)
#psspy.change_plmod_icon(101,r"""1""",r"""GPMPPC""",4,0)
# start simulation
psspy.strt_2([0, 0], OutputFilePath)
示例#4
0
        _f, _f, _f, 1.0, _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], r"""SS-TF-1""",
    r"""YNYN0""")
psspy.machine_chng_2(
    500, r"""1""", [_i, _i, _i, _i, _i, _i],
    [_f, 0.0, 0, 0, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f])
psspy.load_data_3(1000, r"""1""", [_i, _i, _i, _i, _i],
                  [1000, 20, _f, _f, _f, _f])  # apply assumption load
psspy.fnsl([0, 0, 0, 1, 0, 0, 99, 0])

psspy.cong(0)
psspy.bus_frequency_channel([1, 800], r"""System frequency""")
ierr = psspy.machine_array_channel([2, 4, 500], r"""1""",
                                   r"""Inverter Terminal Voltage""")
ierr = psspy.voltage_channel([3, -1, -1, 800], r"""WISF PoC Voltage""")
psspy.branch_p_and_q_channel([4, -1, -1, 800, 900], r"""1""",
                             [r"""P Injection""", r"""Q Injection"""])
ierr = psspy.machine_array_channel([6, 2, 500], r"""1""",
                                   r"""Pelec Inverter""")
ierr = psspy.machine_array_channel([7, 3, 500], r"""1""",
                                   r"""Qelec Inverter""")
[ierr, var_ppc_conp] = psspy.mdlind(500, '1', 'EXC', 'CON')
[ierr, var_ppc_setp] = psspy.mdlind(500, '1', 'EXC', 'VAR')
[ierr, var_ppc_mode] = psspy.mdlind(500, '1', 'EXC', 'ICON')
[ierr, var_inv1_con] = psspy.mdlind(500, '1', 'GEN', 'CON')
[ierr, var_inv1_var] = psspy.mdlind(500, '1', 'GEN', 'VAR')
[ierr, var_inv1_mod] = psspy.mdlind(500, '1', 'GEN', 'ICON')

ierr = psspy.var_channel([8, var_ppc_setp + 68], "Voltage Setpoint")
ierr = psspy.var_channel([9, var_ppc_setp + 10], "Active Power Setpoint")
        ])
        psspy.machine_data_2(100, r"""1""", [_i, _i, _i, _i, _i, _i], [
            _f, _f, _f, 5, 132, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
        ])  # be careful, partial active power = not enough solar irraidance.
        psspy.fdns([1, 0, 0, 1, 0, 0, 99, 0])

        for t_var in range(0, 9000):
            psspy.change_var(t_var, 0)
        psspy.plmod_status(30531, r"""1""", 1, 0)
        psspy.plmod_status(30531, r"""1""", 6, 0)
        psspy.plmod_status(30531, r"""1""", 7, 0)
        psspy.plmod_status(37530, r"""1""", 1, 0)
        psspy.plmod_status(37530, r"""1""", 6, 0)
        psspy.plmod_status(37530, r"""1""", 7, 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"""WDs 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 100""")
        ierr = psspy.machine_array_channel([8, 3, 101], r"""1""",
                                           r"""Qelec 100""")
        [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)
# psspy.rstr(GridInfoPath+file_name+".snp")
psspy.resq(GridInfoPath + "/" + file_name + ".seq")
psspy.dyre_new([1, 1, 1, 1], GridInfoPath + "/" + file_name + ".dyr", "", "",
               "")
psspy.addmodellibrary(HuaweiModelPath + 'HWS2000_psse34.dll')
psspy.addmodellibrary(HuaweiModelPath + 'MOD_GPM_PPC_V13_34.dll')
psspy.addmodellibrary(HuaweiModelPath + 'MOD_GPM_SB_V7.dll')
psspy.dynamics_solution_param_2([_i, _i, _i, _i, _i, _i, _i, _i],
                                [0.300, _f, 0.001, 0.004, _f, _f, _f, _f])
psspy.machine_data_2(
    500, r"""1""", [_i, _i, _i, _i, _i, _i],
    [90, _f, _f, _f, 96.8, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f])
psspy.fnsl([0, 0, 0, 1, 1, 1, 99, 0])

psspy.bus_frequency_channel([1, 1000], r"""System frequency""")
psspy.voltage_channel([2, -1, -1, 500], r"""Inverter Voltage Mag.""")
psspy.voltage_channel([3, -1, -1, 800], r"""WISF POC Voltage Mag.""")
psspy.branch_p_and_q_channel([4, -1, -1, 800, 900], r"""1""",
                             [r"""P Injection""", r"""Q Injection"""])
ierr = psspy.machine_array_channel([6, 2, 500], r"""1""",
                                   r"""Pelec Inverter""")
ierr = psspy.machine_array_channel([7, 3, 500], r"""1""",
                                   r"""Qelec Inverter""")

[ierr, var_ppc_conp] = psspy.mdlind(500, '1', 'EXC', 'CON')
[ierr, var_ppc_setp] = psspy.mdlind(500, '1', 'EXC', 'VAR')
[ierr, var_ppc_mode] = psspy.mdlind(500, '1', 'EXC', 'ICON')
[ierr, var_inv1_con] = psspy.mdlind(500, '1', 'GEN', 'CON')
[ierr, var_inv1_var] = psspy.mdlind(500, '1', 'GEN', 'VAR')
[ierr, var_inv1_mod] = psspy.mdlind(500, '1', 'GEN', 'ICON')