38
DIgSILENT GmbH (Digitale Simulation Elektrischer Netze) Softwareentwicklung in der industriellen Praxis Vinzent Krauße [email protected] +49 (0)7072 9168-304 Marcus Walther [email protected] +49 (0)7072 9168-303 Softwareentwicklung in der industriellen Praxis 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

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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