如何解决如何在 Powerfactory 15.2 中输出电压?
我使用 Powerfactory 15.2,但在导出电压电平时遇到问题。
“GetAttribute”的正常方式不起作用。
有没有人知道如何解决这个问题?
我必须导出所有信息。
我的脚本结构是:
- 导入所有相关对象
- 说出有多少和哪个
- 循环获取实习生信息
在下面我展示了我的脚本:
import sys,os,csv
if __name__ == "__main__": #import powerfactory module
import powerfactory
sys.path.append(r"C:\Program Files\DIgSILENT\PowerFactory 15.2\Python\3.4")
app = powerfactory.GetApplication()
user = app.GetCurrentUser()
project = app.GetActiveProject()
sel = app.GetDiagramSelection()
sel1 = app.GetbrowserSelection()
ldf = app.GetFromStudyCase("ComLdf")
ElmRes = app.GetFromStudyCase('*.ElmRes')
objects = app.GetCalcRelevantObjects() #Alles Objekte
lines = app.GetCalcRelevantObjects("*.ElmLne") #Leitungen
terms = app.GetCalcRelevantObjects("*.ElmTerm") #Klemmleisten
Lasten = app.GetCalcRelevantObjects("*.ElmLod") #lastabfall
PV = app.GetCalcRelevantObjects("*.ElmGenstat") #PV-Anlagen
Trafo = app.GetCalcRelevantObjects("*.ElmTr2") #Trafo
schalter = app.GetCalcRelevantObjects("*.ElmCoup") #Schalter
Feld = app.GetCalcRelevantObjects("*.StaCubic") #Felder
anlage = app.GetCalcRelevantObjects("*.ElmSubstat") #Anlagen
ElmResult = app.GetCalcRelevantObjects("*.ElmRes")
test11 = app.GetCalcRelevantObjects("ComProtreport")
objects2 = app.GetCalcRelevantObjects("*.ElmArea")
exportObj= user.CreateObject('CompfdExport','Export')
#Aktiviertes Project:
#____________________________________________________________________________________________________________________________________________________________________#
app.PrintPlain("Active Project: " + str(project))
#Ausagaben
#____________________________________________________________________________________________________________________________________________________________________#
#app.PrintPlain("Active Objekte: " + str(objects)) #Objekte mit Pointer auf speicherort?
#app.PrintPlain("Active Kabel: " + str(lines))
app.PrintPlain('____________________________________________________________________________________________________________________')
app.PrintPlain("Objekst Anzahl: %d" % len(objects)) #Info über Anzahl der Objekte
app.PrintPlain("Gefunde Klemmleisten: %d" % len(terms)) #Info über Anzahl der Klemmleisten/Knoten
app.PrintPlain('Linen %i'% len(lines)) #Info über Anzahl der Leitungen
app.PrintPlain("Last %i" % len(Lasten)) #Info über Anzahl der Verbraucher
app.PrintPlain("PV-Anlagen %i" % len(PV)) #Info über Anzahl der PV-Anlagen
app.PrintPlain("Transformator %i" % len(Trafo)) #Info über Anzahl der Transformatoren
app.PrintPlain("Schalter %i" % len(schalter)) #Info über Anzahl der Schalter
app.PrintPlain("Felder %i" % len(Feld)) #Info über Anzahl der Felder
app.PrintPlain("Anlagen %i" % len(anlage)) #Info über Anzahl der Anlagen
app.PrintPlain('____________________________________________________________________________________________________________________')
#Test-Funktionen
#____________________________________________________________________________________________________________________________________________________________________#
for l in lines:
app.PrintPlain("Kabel: " + str(l))
a = l.GetType() # vorhanden
app.PrintPlain("Kabeltype: " + str(a))
laenge= l.dline # vorhanden
app.PrintPlain("Kabellänge: %.3f" % laenge)
f = l.FitParams()
if f==1:
app.PrintPlain("AC-Leitung")
if f==0:
app.PrintPlain("DC-Leitung")
g = l.GetIthr() # vorhanden
app.PrintPlain("Bemessungs-Kurzschlussstrom des leiters: %.3f" %g)
verbunden = l.GetConnectedElements() # vorhanden
app.PrintPlain("Verbunden mit: " + str(verbunden))
r = l.GetRegion() # vorhanden
app.PrintPlain("Region : %i" %r)
k = l.GetSystemGrounding()
if k==-1:
app.PrintPlain("Kein Grounding-type gefunden")
if k==0:
app.PrintPlain("System ist geerdet")
if k==1:
app.PrintPlain("System wird kompensiert")
if k==2:
app.PrintPlain("System ist isoliert ")
app.PrintPlain('-------------------------------------------------------------------------------------------------------------------')
app.PrintPlain('____________________________________________________________________________________________________________________')
for term in terms:
app.PrintPlain("Knoten:" + str (term))
Cub= term.GetCalcRelevantCubicles()
app.PrintPlain("Relevante Felder:" +str(Cub))
#voltages[term.loc_name]= term.GetAttribute('m:u')
#app.PrintPlain(voltages)
verbunden = term.GetConnectedElements()
app.PrintPlain("Verbunden mit: " + str(verbunden))
app.PrintPlain('-------------------------------------------------------------------------------------------------------------------')
app.PrintPlain('____________________________________________________________________________________________________________________')
for last in Lasten:
app.PrintPlain("Lasten :" + str(last))
verbunden = last.GetConnectedElements()
app.PrintPlain("Verbunden mit: " + str(verbunden))
app.PrintPlain('-------------------------------------------------------------------------------------------------------------------')
app.PrintPlain('____________________________________________________________________________________________________________________')
for b in PV:
app.PrintPlain("PV-Anlagen :" + str(b))
verbunden = b.GetConnectedElements()
app.PrintPlain("Verbunden mit: " + str(verbunden))
app.PrintPlain('-------------------------------------------------------------------------------------------------------------------')
app.PrintPlain('____________________________________________________________________________________________________________________')
for t in Trafo:
app.PrintPlain("Transformaoren : " + str(t))
verbunden = t.GetConnectedElements()
app.PrintPlain("Verbunden mit: " + str(verbunden))
app.PrintPlain('-------------------------------------------------------------------------------------------------------------------')
app.PrintPlain('____________________________________________________________________________________________________________________')
for s in schalter:
app.PrintPlain("Schalter :" + str(s))
verbunden = s.GetConnectedElements()
app.PrintPlain("Verbunden mit: " + str(verbunden))
app.PrintPlain('-------------------------------------------------------------------------------------------------------------------')
app.PrintPlain('____________________________________________________________________________________________________________________')
for f in Feld:
app.PrintPlain("Feld:" + str(f))
verbunden = f.GetConnectedElements()
app.PrintPlain("Verbunden mit: " + str(verbunden))
app.PrintPlain('-------------------------------------------------------------------------------------------------------------------')
app.PrintPlain('____________________________________________________________________________________________________________________')
for a in anlage:
app.PrintPlain("Schaltanlage :" +str(a))
verbunden = a.GetConnectedElements()
app.PrintPlain("Verbunden mit: " + str(verbunden))
daten = a.GetSuppliedElements()
app.PrintPlain(daten)
app.PrintPlain('-------------------------------------------------------------------------------------------------------------------')
app.PrintPlain('____________________________________________________________________________________________________________________')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。