微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Powerfactory 15.2 中输出电压?

如何解决如何在 Powerfactory 15.2 中输出电压?

我使用 Powerfactory 15.2,但在导出电压电平时遇到问题。

“GetAttribute”的正常方式不起作用。
有没有人知道如何解决这个问题? 我必须导出所有信息。

我的脚本结构是:

  1. 导入所有相关对象
  2. 说出有多少和哪个
  3. 循环获取实习生信息

在下面我展示了我的脚本:

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 举报,一经查实,本站将立刻删除。