从 Python 代码的 PSSE 获取机器的 Mbase (MVA)

Get Mbase (MVA) of Machine from PSSE for Python code

请帮我从 PSSE 获取 Machine 的 Mbase (MVA) for Python。

我想用这个来计算惯性(H)值。

虽然我可以得到 H 作为语法如下,我不知道如何得到 Mbase (MVA)。

ierr = psspy.rwdy(option1=2,option2=0,out=0,ofile="C:\Program Files (x86)\PTI\PSSE34\EXAMPLE\python_test1.out")

21421 'GENROU' 1 11.000 0.47000E-01 0.67000 0.50000E-01 6.2300 0.0000 2.1000 1.5500 0.21000 0.40000 0.16000 0.13000 0.36100 0.69300

谢谢!

您可以按如下方式使用 psspy.macdat() 将值存储在新变量中 mbase:

ierr, mbase = psspy.macdat(
    ibus=bus_number,  # bus number where machine is connected as an `int` object
    id=id_,           # machine ID as a `str` object
    string='MBASE',  
)

您当然需要已经定义了 bus_numberid_

您可以通过阅读文档字符串看到其他选项:

import psse34
import psspy

help(psspy.macdat)

感谢您的支持。

根据你的介绍,我可以搞定Mbase了。

由于机器很多,所以我不得不使用for loop来获取所有机器的功率数据。请给我一些建议,除了使用 for loop 是否还有其他方法。

请在Notepad++上查看图片结果 enter image description here

你太好了。

import psse34
import psspy

# Last case:
CASE = r"C:\Program Files (x86)\PTI\PSSE34\EXAMPLE\savnw.sav"
psspy.psseinit(12000)
psspy.case(CASE)

ierr = psspy.dyre_add(dyrefile="C:\Program Files (x86)\PTI\PSSE34\EXAMPLE\savnw.dyr")
ierr = psspy.rstr("C:\Program Files (x86)\PTI\PSSE34\EXAMPLE\savnw.snp")
ierr = psspy.rwdy(1,1,ofile="C:\Program Files (x86)\PTI\PSSE34\EXAMPLE\python_test1.out") # find inertia (H) of machine
machine1=[101,102,206,211,3011,3018]
for x in machine1:
    ierr, mbase = psspy.macdat(ibus=x, id='1', string='MBASE') # find power of machine
    print(mbase)