Created
June 13, 2015 18:41
-
-
Save jmmauricio/1198491fa8223572881a to your computer and use it in GitHub Desktop.
PowerFactory DigSILENT Python Script to load flow, set variables to save, set event, initialize, run and save results to a txt file
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import sys | |
| sys.path.append(r"C:\DigSILENT15p1p7\python") | |
| # import PowerFactory module | |
| import powerfactory | |
| # start PowerFactory in engine mode | |
| app = powerfactory.GetApplication() | |
| user = app.GetCurrentUser() | |
| # activate project | |
| project = app.ActivateProject("Nine Bus System") | |
| prj = app.GetActiveProject() | |
| ldf = app.GetFromStudyCase("ComLdf") | |
| ini = app.GetFromStudyCase('ComInc') | |
| sim = app.GetFromStudyCase('ComSim') | |
| Shc_folder = app.GetFromStudyCase('IntEvt'); | |
| terminals = app.GetCalcRelevantObjects("*.ElmTerm") | |
| lines = app.GetCalcRelevantObjects("*.ElmTerm") | |
| syms = app.GetCalcRelevantObjects("*.ElmSym") | |
| Shc_folder.CreateObject('EvtSwitch', 'evento de generacion'); | |
| EventSet = Shc_folder.GetContents(); | |
| evt = EventSet[0]; | |
| evt.time =1.0 | |
| evt.p_target = syms[1] | |
| ldf.iopt_net = 0 | |
| ldf.Execute() | |
| elmres = app.GetFromStudyCase('Results.ElmRes') | |
| for terminal in terminals: | |
| elmres.AddVars(terminal,'m:u','m:phiu','m:fehz') | |
| for sym in syms: | |
| elmres.AddVars(sym,'s:xspeed') | |
| ini.Execute() | |
| sim.Execute() | |
| evt.Delete() | |
| comres = app.GetFromStudyCase('ComRes'); | |
| comres.iopt_csel = 0 | |
| comres.iopt_tsel = 0 | |
| comres.iopt_locn = 2 | |
| comres.ciopt_head = 1 | |
| comres.pResult=elmres | |
| comres.f_name = r'C:\Users\jmmauricio\hola.txt' | |
| comres.iopt_exp=4 | |
| comres.Execute() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Problem description (PowerFactory Python / IntForm / Line labels):
I am trying to automatically change the line (ElmLne) labels in the network diagram (Netzmodell) using Python by modifying the corresponding IntForm (e.g. ElmLne_basic_sym.IntForm).
I can successfully access the object:
...\ElmLne_basic_sym.IntForm
Question:
Where are the line label templates actually stored in PowerFactory (Symbol, IntForm, hidden child objects, or annotation layer), and what is the correct Python way to modify them so the diagram updates?