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') # convert load , do not change psspy.cong(0) psspy.bsys(0, 0, [0.0, 500.], 1, [7], 0, [], 0, [], 0, []) psspy.bsys(0, 0, [0.0, 500.], 1, [7], 0, [], 0, [], 0, []) psspy.conl(0, 0, 1, [0, 0], [91.27, 19.36, -126.88, 188.43]) psspy.conl(0, 0, 2, [0, 0], [91.27, 19.36, -126.88, 188.43]) psspy.bsys(1, 0, [0.0, 0.0], 0, [], 6, [37600, 37601, 37602, 37580, 37584, 38588], 0, [], 0, []) psspy.conl(1, 0, 2, [0, 0], [52.75, 58.13, 5.97, 95.52])
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"""]) ierr = psspy.machine_array_channel([7, 2, 101], r"""1""", r"""Pelec 100""")
# Initialize psspy.read(0, GridInfoPath + LoadScenario + "/" + file_name + ".raw") psspy.resq(GridInfoPath + LoadScenario + "/" + file_name + ".seq") psspy.dyre_new([1, 1, 1, 1], GridInfoPath + LoadScenario + "/" + file_name + ".dyr", "", "", "") psspy.addmodellibrary(GridInfoPath + 'dsusr.dll') psspy.addmodellibrary(HuaweiModelPath + 'HWH9001_342.dll') psspy.addmodellibrary(HuaweiModelPath + 'PPC_PSSE_ver_13_08_34_2_10082018_AUS.dll') psspy.addmodellibrary(HuaweiModelPath + 'MOD_GPM_SB_V7.dll') psspy.addmodellibrary(GridInfoPath + 'GEWTG34.dll') psspy.addmodellibrary(GridInfoPath + 'SMAPPC_B111_34_IVF111.dll') psspy.addmodellibrary(GridInfoPath + 'SMASC_C135_34_IVF111.dll') [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') psspy.machine_data_2(101, r"""1""", [_i, _i, _i, _i, _i, _i], [ ActivePowerSetpoint * S, _f, _f, _f, 120, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f ]) # psspy.machine_data_2(101, r"""1""", [_i, _i, _i, _i, _i, _i], # [_f, _f, ReactivePowerSetpoint * S, _f, 120, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f]) # psspy.machine_data_2(101, r"""1""", [_i, _i, _i, _i, _i, _i], # [_f, _f, _f, ReactivePowerSetpoint * S, 120, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, # _f]) psspy.machine_data_2(102, r"""1""", [_i, _i, _i, _i, _i, _i], [ ActivePowerSetpoint * S, _f, _f, _f, 120, _f, _f, _f, _f, _f, _f, _f, _f,
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""") [ierr, var_ppc_conp] = psspy.mdlind(100, '1', 'EXC', 'CON') [ierr, var_ppc_setp] = psspy.mdlind(100, '1', 'EXC', 'VAR') [ierr, var_ppc_mode] = psspy.mdlind(100, '1', 'EXC', 'ICON') [ierr, var_inv_con] = psspy.mdlind(100, '1', 'GEN', 'CON') [ierr, var_inv_var] = psspy.mdlind(100, '1', 'GEN', 'VAR') [ierr, var_inv_mod] = psspy.mdlind(100, '1', 'GEN', 'ICON') psspy.change_plmod_con(100, r"""1""", r"""SMASC161""", 38, 0.0) # FRT_VOLFILMOD psspy.change_plmod_con(100, r"""1""", r"""SMASC161""", 31, 0.115) # HVRT 1-J+30 psspy.change_plmod_con(100, r"""1""", r"""SMASC161""", 32, 0.095) # HVRT 1-J+31 psspy.strt_2([0, 0], OutputFilePath) J_vals = []
[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""") [ierr, var_sc_setp] = psspy.mdlind(100, '1', 'GEN', 'VAR') psspy.var_channel([13, var_sc_setp + 115], "LVRT Flag") psspy.var_channel([14, var_sc_setp + 116], "HVRT Flag") psspy.strt_2([0, 0], OutputFilePath) psspy.run(0, 80.0, 1000, 5, 5)