![Page 1: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/1.jpg)
DIgSILENT GmbH(Digitale Simulation Elektrischer Netze)
Softwareentwicklung in der industriellen Praxis
Vinzent Krauß[email protected]+49 (0)7072 9168-304
Marcus [email protected]+49 (0)7072 9168-303
Softwareentwicklung in der industriellen Praxis 1
![Page 2: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/2.jpg)
Aufbau Stromnetz
Softwareentwicklung in der industriellen Praxis
Niederspannung230 – 400 V
Mittelspannung3 – 30 kV
Hochspannung60 – 110 kV
Höchstspannung220 – 380 kV
2
![Page 3: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/3.jpg)
Aufbau Stromnetz – Deutschland
Komplexer Verbund aus Nieder-, Mittel-, Hoch- und Höchstpannungsleitungen
Ca. 900 Betreiber für Verteilnetze (Nieder- und Hochspannung)
3Softwareentwicklung in der industriellen Praxis
Quelle: https://de.wikipedia.org/wiki/Stromnetz
![Page 4: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/4.jpg)
Aufbau Stromnetz – Deutschland
Komplexer Verbund aus Nieder-, Mittel-, Hoch- und Höchstpannungsleitungen
Ca. 900 Betreiber für Verteilnetze (Nieder- und Hochspannung)
4 verschiedene Regelzonen für das Höchstspannungsnetz
Softwareentwicklung in der industriellen Praxis 4
Quelle: https://wiki.openstreetmap.org/wiki/WikiProject_Power_networks/Germany
![Page 5: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/5.jpg)
Aufbau Stromnetz – Europa
Überregionales Hoch- und Höchstspannungsnetz
Überregionale Bereitstellung von Reserveleistung
Versorgung von ca. 450 Mio. Menschen
Hohe Anforderungen an Zuverlässigkeit
Großteils betrieben mit Dreiphasenwechselstrom bei 50 Hz
Softwareentwicklung in der industriellen Praxis 5
Quelle: https://www.flosm.de
![Page 6: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/6.jpg)
DIgSILENT – PowerFactory
6Softwareentwicklung in der industriellen Praxis
![Page 7: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/7.jpg)
DIgSILENT – PowerFactory Historie
• Seit 2016 jährliches Release einer neuen Hauptversion (aktuell PowerFactory 2019)
• Service Packs für Verbesserungen / Problembehebungen• In diversen Sprachen verfügbar: EN, DE, FR, ES, TR, RU, CN
Softwareentwicklung in der industriellen Praxis 7
2000Release
PowerFactory 12
19861st Release of „IEEP“ Power
System Analysis Software (Unix)
1998Release
PowerFactory
19921st DIgSILENT
version for Windows 3.1
2001Release
PowerFactory 12.1
2018Release
PowerFactory 19
2017Release
PowerFactory 18...
...2018
ReleasePowerFactory 18
SP 1-4
![Page 8: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/8.jpg)
DIgSILENT – Unternehmen
Mitarbeiterca. 80 Mitarbeiter in Deutschland, davon
• ~ 45 Mitarbeiter Entwicklung (R&D und Custom Development)
• ~ 25 Mitarbeiter in Application Engineering Consulting
• ~ 15 Mitarbeiter in Vertrieb, Shared Services, Accounting, IT
Softwareentwicklung
Entwicklung aller Softwareprodukte findet am deutschen Firmensitz statt
Konzentriertes Expertenwissen (Elektrotechniker, Informatiker, Mathematiker, Physiker,..)
Kein „Outsourcing“, kein Zukauf von Komponenten für die Standardprodukte
8Softwareentwicklung in der industriellen Praxis
![Page 9: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/9.jpg)
DIgSILENT – Standort Dresden
DIgSILENT GmbHStandort Dresden: Tiergartenstraße 32, 01219 Dresden (12 Mitarbeiter)
9Softwareentwicklung in der industriellen Praxis
![Page 10: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/10.jpg)
DIgSILENT betreut mehr als 2500 Kunden (mit >12.000 Lizenzen)in über 140 Ländern.
DIgSILENT – International
Softwareentwicklung in der industriellen Praxis 10
![Page 11: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/11.jpg)
SoftwarePowerFactorySimulations- und Netzberechnungssoftware
StationWareAsset Management System
GridCodeÜberwachung von Anschlussbedingungen
DIgSILENT – Produkte & Dienstleistungen
Hardware/SoftwarePowerFactory MonitorDynamic Performance Monitoring System
ServicesConsultingBeratung und Forschung für Netzbetreiber, Erneuerbare Energien, etc.
Support , Training Kundenbetreuung, Seminare, Schulungen, Workshops, etc.
System Integration & IT-ServicesCustom Software Development
11Softwareentwicklung in der industriellen Praxis
![Page 12: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/12.jpg)
ENEDIS (FR) UK Power Networks (UK)
ESKOM (ZA)CGE (CL)
DELAPAZ (BOL)EnBW (D)Mitnetz (D)ENSO (D)
ca. 100 Stadtwerke zBsp.SW MünchenSW Tübingen
Fairenergie (RT)badenova
…
DIgSILENT– Kunden
Übertragungsnetze Verteilnetze IndustrieConsulting &Forschung
TenneT (NL) 50Hertz (D)
National Grid (UK)EDF Energy (UK)energinet.dk (DK)
Elia (BE)Swissgrid (CH)
Austrian Power Grid (AU)Terna (I)
ESKOM T&D (ZA)Western Power (AU)
CDEC (CL)EGAT (Thailand)
…
PetronasShell
ChevronTechnip
PetrobrasVattenfall-Mining
BMWAudiVWFord
HenkelABB Industries
Siemens…
KEMA (NL)CESI (IT)
Fichtner (D)TÜV (D)
GOPA-Intec (D)TCS (Indien)
Fraunhofer (D)DEWI (D)ISE (D)
Risø (Dänemark)IEN (PL)
Über 200 Universitäten…
12Softwareentwicklung in der industriellen Praxis
![Page 13: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/13.jpg)
DIgSILENT PowerFactory
Softwareentwicklung in der industriellen Praxis 13
![Page 14: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/14.jpg)
PowerFactory – Modulkonzept
Softwareentwicklung in der industriellen Praxis 14
PowerFactory
Lastflussberechnung Netzplanvisualisierung Modellierungswerkzeuge Berichtswerkzeuge …
Ausfallanalyse
Zusatzmodule
Netzreduktion
Schutzfunktion
Programmierung & Automatisierung
Zuverlässigkeitsanalyse
Probabilistische Analyse
…
![Page 15: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/15.jpg)
DIgSILENT PowerFactory
Vorführung PowerFactory
Softwareentwicklung in der industriellen Praxis 15
![Page 16: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/16.jpg)
PowerFactoryPowerFactory
PowerFactory – Kundenschnittstellen
Softwareentwicklung in der industriellen Praxis 16
PowerFactory
Integral Siemens PSSE CYME ...
Konkurrenzprodukte
Standards
UCT
CIM / CGMES
...
Netzleittechnik (Echtzeitdaten)
OPC
Siemens PCS ...
Externe Anwendungen(evtl. Automatisierung,Remote)
Matlab
Python-App.
...
GIS
![Page 17: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/17.jpg)
PowerFactory – Kundenschnittstellen
• Anbindung an Fremdsysteme sollte einfach, flexibel und für Kunden verständlich sein
• Fremdsysteme meist sehr komplex und nur schwer modifizierbar – feste Abläufe und Dateiformate
• Entwickelte Lösungen und Programminterfaces müssen abwärtskompatibel sein– Systeme sind häufig sicherheitskritisch und Updates nur mit viel Aufwand
einpflegbar• Alle Funktionen müssen automatisierbar sein
Realisierbar mithilfe verschiedener Skriptsprachen / Interfaces
Softwareentwicklung in der industriellen Praxis 17
![Page 18: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/18.jpg)
PowerFactory – Skriptinterfaces
• Alle Vorgänge in PowerFactory auch per Skript / API steuerbar• DPL ist von DIgSILENT entwickelte Skriptsprache• API-Klassen, -Funktionen und -Attribute über GUI sichtbar
(Objektstruktur)
Softwareentwicklung in der industriellen Praxis 18
PowerFactory
DPL
Python Script.pyPython
C++
Python API
C++ API
Scripting-Interface
C++ PF-Objects
Python – C++Wrapper
Internal ScriptingExternal Scripting
![Page 19: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/19.jpg)
PowerFactory – Objektstruktur
• Alle Dialoge und Elemente sind Objekte• Alle Objekte sind in Datenbank hierarchisch gespeichert
– Nutzer, Projekte, Berechnungskommandos, Netzmodellelemente, …
Softwareentwicklung in der industriellen Praxis 19
NutzerProjekte
Berechnungskommandos
Konfiguration
![Page 20: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/20.jpg)
PowerFactory – Objektstruktur
• Alle Dialoge und Elemente sind Objekte• Alle Objekte sind in Datenbank hierarchisch gespeichert
– Nutzer, Projekte, Berechnungskommandos, Netzmodellelemente, …• Objekte sind Instanzen einer Klasse (Typ)• Objekte besitzen Attribute (dargestellt als Checkbox, Textbox, etc...)
Softwareentwicklung in der industriellen Praxis 20
![Page 21: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/21.jpg)
PowerFactory – Objektstruktur
• Alle Dialoge und Elemente sind Objekte• Alle Objekte sind in Datenbank hierarchisch gespeichert
– Nutzer, Projekte, Berechnungskommandos, Netzmodellelemente, …• Objekte sind Instanzen einer Klasse (Typ)• Objekte besitzen Attribute (dargestellt als Checkbox, Textbox, etc...)• Objekte besitzen Funktionen (aufrufbar über Buttons)• Klassen nutzen Vererbung (für Nutzer anhand des Typnamens
erkennbar)
Softwareentwicklung in der industriellen Praxis 21
![Page 22: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/22.jpg)
DIgSILENT PowerFactory
Vorführung Objektstruktur
Softwareentwicklung in der industriellen Praxis 22
![Page 23: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/23.jpg)
PowerFactory – Codegenerator
• Verschiedene APIs werden mithilfe von Codegenerator konsistent gehalten
• Jede Klasse wird mithilfe von verschiedenen Dateien beschrieben– Attributbeschreibungsdatei (*.dod)
Softwareentwicklung in der industriellen Praxis 23
$OBJECT,ComLdf$$OBJ_PARAMETER # name |dtyp|dep|doc|lis|prop|dlen | init | unit |exp|mult|Ver.no| check(x) #‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐iopt_net |i | | x | | | | 0 | | | | 10.30| x >= 0 && x <=2iPST_at |i | | x | | | | 0 | | | | 17.00| x == 0 || x == 1fr_addopt|c | | | | | | | | | | 13.00|
$$DESCRIPTIONS# label |l|description (max. 60 chars)|short descr. (max. 15 chars)#‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐iopt_net |e|Calculation Methodiopt_net |d|Berechnungsmethode
iPST_at |e|Automatic tap adjustment of phase shiftersiPST_at |d|Automatische Stufeneinstellung von Phasenschiebern
fr_addopt |e|Additional Optionsfr_addopt |d|Zusätzliche Optionen
![Page 24: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/24.jpg)
PowerFactory – Codegenerator
• Verschiedene APIs werden mithilfe von Codegenerator konsistent gehalten
• Jede Klasse wird mithilfe von verschiedenen Dateien beschrieben– Attributbeschreibungsdatei (*.dod)– C++ Templatedatei (*.mod) mit Platzhaltern ($$xxx)
Softwareentwicklung in der industriellen Praxis 24
$$header///@file ComLdf.mod Load flow calculation command/E
$$hpp_include#include "bus/TopoProz.hpp"...
/E
$$cpp_include#include "vis/VISglInterface.hpp"...
/E$$Execute
...return IntExecute(0);
/E
![Page 25: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/25.jpg)
PowerFactory – Codegenerator
• Verschiedene APIs werden mithilfe von Codegenerator konsistent gehalten
• Jede Klasse wird mithilfe von verschiedenen Dateien beschrieben– Attributbeschreibungsdatei (*.dod)– C++ Templatedatei (*.mod)– Weitere C++ (*.hpp, *.cpp) und evtl. weitere *.dod-Beschreibungen (*.inc)
Softwareentwicklung in der industriellen Praxis 25
$OBJECT,ComLdf$$OBJ_PARAMETER @INCLUDE compar.inc
order | r | | x | | | |MIN_ORDER| | | | 11.00|addoptions | a | | x | | |MAX_COM_LEN | | | | | 14.00|
Compar.inc:
*.dod:
![Page 26: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/26.jpg)
PowerFactory – Codegenerator
• Verschiedene APIs werden mithilfe von Codegenerator konsistent gehalten
• Jede Klasse wird mithilfe von verschiedenen Dateien beschrieben– Attributbeschreibungsdatei (*.dod)– C++ Templatedatei (*.mod)– Weitere C++ (*.hpp, *.cpp) und evtl. weitere *.dod-Beschreibungen (*.inc)
• Annotationen an C++-Funktionen in *.mod-Datei
Softwareentwicklung in der industriellen Praxis 26
/* BEGIN SCRIPTING DOC(DPL, PYTHON, API)\function{IsBalanced}\begin{desc}
Check whether this load flow command is configured as balanced or unbalanced.\end{desc}\begin{returns}
Returns 1 if the load flow is balanced.\end{returns}
END SCRIPTING DOC */@MakeAvailable(ALL)int ComLdf::IsBalanced() {
return ...;}
![Page 27: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/27.jpg)
PowerFactory – Codegenerator
Softwareentwicklung in der industriellen Praxis 27
Class.mod
CodeGenerator
Class.dod
*.cpp
*.hppClass.cxx
Class.hxx
DPL Script Definition
Python Script Definition
C++ API Definition
include / link
C++ API Manual
Python API Manual
DPL API Manual
......
![Page 28: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/28.jpg)
DIgSILENT PowerFactory
Vorführung Skript API
Softwareentwicklung in der industriellen Praxis 28
![Page 29: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/29.jpg)
PowerFactory – GUI
Softwareentwicklung in der industriellen Praxis 29
• PowerFactory basiert derzeit auf altem GUI Framework (Starview)• Beschreibung der Dialoge ebenfalls in *.dod-Datei• Definition von Textfeldern / Fehlermeldungen in Grundsprachen DE /
EN ebenfalls in *.dod-Datei
$OBJECT,ComLdf$$OBJ_PARAMETER # name |dtyp|dep|doc|lis|prop|dlen | init | unit |exp|mult|Ver.no| check(x) #‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐iopt_net |i | | x | | | | 0 | | | | 10.30| x >= 0 && x <=2
$$DESCRIPTIONS# label |l|description (max. 60 chars)|short descr. (max. 15 chars)#‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐iopt_net |e|Calculation Methodiopt_net |d|Berechnungsmethode
$$DIALOG# label | typ |page |spage| x | y | dx | dy | extdata |browser|marker #‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐iopt_net | 0 | | 1 | 5 | 5 | 220 | 4 | | |x
![Page 30: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/30.jpg)
PowerFactory – GUI
Softwareentwicklung in der industriellen Praxis 30
• Verschiedene Eingabemasken kodiert als Integer
• Stark vereinfachtes und veraltetes Konzept (kein WYSIWYG)• Jedoch problemlos auf jedes GUI-Framework übertragbar
Control type IDsDialog 100, 101, 103Tabs (Labeled pages) 11, 12, 111Group box 0, 3, 30, 38, 64Separator line 83Radio button 1, 85Check box and Tri state box 2, 55
Text box 4, 19, 21, 25, 29, 42, 43, 49, 71, 81, 88, 89, 1016
Spin box (Numerical text box with spin buttons) 56, 62, 119
… ...
ID Description19 Text box with description71 Text box for passwords with description… ...
![Page 31: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/31.jpg)
PowerFactory – GUI
Softwareentwicklung in der industriellen Praxis 31
$OBJECT,ComLdf$$DESCRIPTIONS# label |l|description (max. 60 chars)|short descr. (max. 15 chars)#‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐iopt_net |e|Calculation Methodiopt_net |d|Berechnungsmethode
iopt_ac |e|AC Load Flow, balanced, positive sequence|Balancediopt_ac |d|AC Lastfluss, symmetrisch, Mitsystem|Symmetrisch...
$$DIALOG# label | typ |page |spage| x | y | dx | dy | extdata |browser|marker #‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐iopt_net | 0 | | 1 | 5 | 5 | 220 | 4 | | |xiopt_ac | 1 | | 1 | | | | | | |...
![Page 32: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/32.jpg)
PowerFactory – Codegenerator II
Softwareentwicklung in der industriellen Praxis 32
Class.mod
CodeGenerator
Class.dod
*.cpp
*.hppClass.cxx
Class.hxx
DPL Script Definition
Python Script Definition
C++ API Definition
include / link
C++ API Manual
Python API Manual
DPL API Manual
GuiClass.cxx
GuiClass.hxx
StarView Framework
Qt Framework
![Page 33: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/33.jpg)
PowerFactory – Buildenvironment
Softwareentwicklung in der industriellen Praxis 33
• Entwicklung mit Visual Studio und Microsoft C++ Compiler– Teile des Codes werden auch mit Clang übersetzt
• Buildsystem Rake (Ruby) in Kombination mit MSBuild• Jenkins für automatisierte Builds und Tests
![Page 34: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/34.jpg)
DIgSILENT Dresden
Softwareentwicklung in der industriellen Praxis 34
![Page 35: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/35.jpg)
DIgSILENT – Dresden
• Entwicklung einzelner Klassen und Funktionen für PowerFactory (meist Interfacebezogen)
• Automatisierungsprojekte im Umfeld von PowerFactory• Integration in kundenspezifische Systemlandschaften• Entwicklung eigener Produkte für einfache Automatisierung von
PowerFactory– Setzen nur auf offizielle API von PowerFactory auf
• Machbarkeitsstudien, Benchmarks bei neuen Kundenanforderungen
Softwareentwicklung in der industriellen Praxis 35
![Page 36: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/36.jpg)
DIgSILENT – Dresden
• Beispiel einer Anwendung ist EngineManager– Ermöglicht Steuerung von mehreren PowerFactory-Instanzen über einen
RESTful Webservice– PowerFactory-Instanzen werden ohne GUI gestartet und von
EngineManager verwaltet
Softwareentwicklung in der industriellen Praxis 36
PowerFactoryPowerFactoryPowerFactoryEngineManager(Webservice)Client
HTTP C++ API
![Page 37: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/37.jpg)
DIgSILENT – Dresden
• Beispiel eines Integrationsprojekts (mit Python- und DPL-Skripten)
Softwareentwicklung in der industriellen Praxis 37
![Page 38: Digitale Si lation Elektrischer Netze)st.inf.tu-dresden.de/files/teaching/ws18/ring/Ringvorlesung TUD DigSILENT.pdf · DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung](https://reader030.vdokument.com/reader030/viewer/2022041302/5e13808c091dc320801f1be2/html5/thumbnails/38.jpg)
DIgSILENT GmbH(Digitale Simulation Elektrischer Netze)
Softwareentwicklung in der industriellen Praxis
Vinzent Krauß[email protected]+49 (0)7072 9168-304
Marcus [email protected]+49 (0)7072 9168-303
Softwareentwicklung in der industriellen Praxis 38