33
1 Folien , 13.12.2007 12:00 © ES 1 M. Sc. Gülden Bayrak Embedded Systems Universität Kassel www.es.eecs.uni-kassel.de PEARL Workshop 2007 06.12.2007 Echtzeit- und Regelungstechnische Aspekte bei der automatischen Transformation von Matlab/Simulink in SPS-basierten Steuerungscode M. Sc. Gülden Bayrak, Dipl.-Ing. Andreas Wannagat, Prof. Dr.-Ing. Vogel-Heuser

Echtzeit- und Regelungstechnische Aspekte bei der ... · PDF fileEmbedded Systems Universität Kassel ... dSpace •Modellierung in Matlab/Simulink •C-Code nur für Mikrokontroller

  • Upload
    vuthien

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

1Fo

lien

, 13.

12.2

007

12:0

ES

1

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

PEARL Workshop 200706.12.2007

Echtzeit- und Regelungstechnische Aspekte bei der automatischen Transformation von Matlab/Simulink in SPS-basierten Steuerungscode

M. Sc. Gülden Bayrak, Dipl.-Ing. Andreas Wannagat, Prof. Dr.-Ing. Vogel-Heuser

2Fo

lien

, 13.

12.2

007

12:0

ES

2

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Inhalt

• Motivation• Stand der Technik• Codegenerator

– Schnittstellen– Prinzip der Codegenerierung

• Evaluation• Zusammenfassung und Ausblick

3Fo

lien

, 13.

12.2

007

12:0

ES

3

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Inhalt

• Motivation• Stand der Technik• Codegenerator

– Schnittstellen– Prinzip der Codegenerierung

• Evaluation• Zusammenfassung und Ausblick

4Fo

lien

, 13.

12.2

007

12:0

ES

4

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Motivation: Matlab/Simulink - Typische Anwendungsgebiete

Automobiltechnik

Spritzgusstechnik

Windenergieanlagen

Medizintechnik

Luft- und Raumfahrt

Anwendungsgebiete:Messtechnik, Steuerungs- und

Regelungstechnik, Bildverarbeitung, Signalverarbeitung undKommunikation

5Fo

lien

, 13.

12.2

007

12:0

ES

5

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Motivation: Matlab/Simulink - Automatisierungstechnik

Automobiltechnik

Spritzgusstechnik

Windenergieanlagen

Medizintechnik

Luft- und Raumfahrt

AbfüllanlagenAutomatisierungstechnik

IEC 61131-3

6Fo

lien

, 13.

12.2

007

12:0

ES

6

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Motivation

6

Standard-LösungVorgehensweise ohne Codegenerierung

• Unterschiedliche Werkzeuge je nach Projektphase und Personengruppe• In der Entwicklung regelungstechnischer Modelle werden spezialisierte

Werkzeuge wie Matlab/Simulink eingesetzt• Manueller Übergang zwischen den Projektphasen

– Mehraufwand – Gefahr von Übertragungsfehlern

Phasen einer Reglerentwicklung

t

Ana

lyse

Ges

taltu

ng d

esM

odel

ls

Para

met

rieru

ng

Reg

lerd

esig

n

Sim

ulat

ion

manuelleImplementierung Te

st

7Fo

lien

, 13.

12.2

007

12:0

ES

7

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Motivation

7

Standard-LösungVorgehensweise ohne Codegenerierung

• Unterschiedliche Werkzeuge je nach Projektphase und Personengruppe• In der Entwicklung regelungstechnischer Modelle werden spezialisierte

Werkzeuge wie Matlab/Simulink eingesetzt• Manueller Übergang zwischen den Projektphasen

– Mehraufwand – Gefahr von Übertragungsfehlern

Phasen einer Reglerentwicklung

t

Ana

lyse

Ges

taltu

ng d

esM

odel

ls

Para

met

rieru

ng

Reg

lerd

esig

n

Sim

ulat

ion

manuelleImplementierung Te

st

8Fo

lien

, 13.

12.2

007

12:0

ES

8

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Motivation

8

Codegenerierung

• Unterschiedliche Werkzeuge je nach Projektphase und Personengruppe• In der Entwicklung regelungstechnischer Modelle werden spezialisierte

Werkzeuge wie Matlab/Simulink eingesetzt• Manueller Übergang zwischen den Projektphasen

– Mehraufwand – Gefahr von Übertragungsfehlern

Phasen einer Reglerentwicklung

t

Ana

lyse

Ges

taltu

ng d

esM

odel

ls

Para

met

rieru

ng

Reg

lerd

esig

n

Sim

ulat

ion

manuelleImplementierung Te

st

9Fo

lien

, 13.

12.2

007

12:0

ES

9

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Motivation

9

Codegenerierung

• Generierung von Steuerungscode– die gewohnte Entwicklungsumgebung mit ihren Vorteilen bleibt erhalten – der manuelle fehleranfällige Transfer in die Zielsprache fällt weg

Phasen einer Reglerentwicklung

t

Ana

lyse

Ges

taltu

ng d

esM

odel

ls

Para

met

rieru

ng

Reg

lerd

esig

n

Sim

ulat

ion

&Im

plem

.

manuelleImplementierungTe

st

Zeitgewinn

10Fo

lien

, 13.

12.2

007

12:0

ES

10

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Inhalt

• Motivation• Stand der Technik• Codegenerator

– Schnittstellen– Prinzip der Codegenerierung

• Evaluation• Zusammenfassung und Ausblick

11Fo

lien

, 13.

12.2

007

12:0

ES

11

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Stand der Technik

Vorteil NachteildSpace • Modellierung in Matlab/Simulink • C-Code nur für Mikrokontroller

• Zusätzliche Kosten (RTW)• Rückverfolgung schwierig

Bachmann • Modellierung in Matlab/Simulink • C- Code nur für ihre eigene M1-Steuerung

• Zusätzliche Kosten (RTW)• Rückverfolgung schwierig

HybridTech • Modellierung in Matlab/Simulink• Übersetzung in die DIN EN IEC

61131-3 Strukturierter Text

• Übersetzung nur in die Sprache des strukturierten Texts

• Rückverfolgung schwierig

12Fo

lien

, 13.

12.2

007

12:0

ES

12

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Uni Kassel: Codegenerator

Vorteil NachteildSpace • Modellierung in Matlab/Simulink • C-Code nur für Mikrokontroller

• Zusätzliche Kosten (RTW)• Rückverfolgung schwierig

Bachmann • Modellierung in Matlab/Simulink • C-Code nur für ihre eigene M1-Steuerung

• Zusätzliche Kosten (RTW)• Rückverfolgung schwierig

HybridTech • Modellierung in Matlab/Simulink• Übersetzung in die DIN EN IEC

61131-3 Strukturierter Text

• Übersetzung nur in die Sprache des strukturierten Textes

• Rückverfolgung schwierig

Code-generator

• Modellierung in Matlab/Simulink• Übersetzung in die grafische

Programmiersprache (FBD/CFC)Vergleichbarkeit der ModelleVereinfachung der Rückver-folgung bzw. der Fehlersuche

13Fo

lien

, 13.

12.2

007

12:0

ES

13

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Inhalt

• Motivation• Stand der Technik• Codegenerator

– Schnittstellen– Prinzip der Codegenerierung

• Evaluation• Zusammenfassung und Ausblick

14Fo

lien

, 13.

12.2

007

12:0

ES

14

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Inhalt

• Motivation• Stand der Technik• Codegenerator

– Schnittstellen– Prinzip der Codegenerierung

• Evaluation• Zusammenfassung und Ausblick

15Fo

lien

, 13.

12.2

007

12:0

ES

15

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Schnittstellen: Simulink

15

Speicherformat von Simulink

16Fo

lien

, 13.

12.2

007

12:0

ES

16

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Schnittstellen: MDL- Datei

17Fo

lien

, 13.

12.2

007

12:0

ES

17

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Inhalt

• Motivation• Stand der Technik• Codegenerator

– Schnittstellen– Prinzip der Codegenerierung

• Evaluation• Zusammenfassung und Ausblick

18Fo

lien

, 13.

12.2

007

12:0

ES

18

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

CFC

18

19Fo

lien

, 13.

12.2

007

12:0

ES

19

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Inhalt

• Motivation• Stand der Technik• Codegenerator

– Schnittstellen– Prinzip der Codegenerierung

• Evaluation• Zusammenfassung und Ausblick

20Fo

lien

, 13.

12.2

007

12:0

ES

20

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Zusammenhang der Modelle

20

Blockdiagramm

-BlockType-Name-Parameter

Block

Connection

CFC_Funktionsblock

Abarbeitungsnummer

1*

1

1

1*

*

* -TypeElement

Connection

*

*

21Fo

lien

, 13.

12.2

007

12:0

ES

21

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Transformation

Values

Zuordnungstabelle

… …

Simulink BibliothekBlockType ParameterTransferFcnSaturationPID

numeratormin, maxP, I, D

numeratormin,maxKp, Tn, Tv

FB_CTRL_TRANSFB_CTRL_LIMITER FB_CTRL_PID

ParameterControllerTypeTwinCAT Controller Bibliothek

FB_CTRL_TRANSFB_CTRL_LIMITERFB_CTRL_PID

TransferFcnSaturationPID

ControllerTypeBlockType

… … … …

Values

22Fo

lien

, 13.

12.2

007

12:0

ES

22

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

SIMULIN

KTW

INCA

T CFC

Simulink-Blöcke Parameterübergabe/ Umformungen

Baustein aus der CLC Bibliothek

Simulink-Blöcke Parameterübergabe/ Umformungen

Baustein aus der CLC Bibliothek

TransferFcn(string[]

NumDemStr, string nd)

Strukturähnliche Abbildung1. Möglichkeit: direkte Abbildung auf die Bausteine der CLC Bibliothek

23Fo

lien

, 13.

12.2

007

12:0

ES

23

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Strukturähnliche Abbildung2. Möglichkeit: Anpassung der Struktur

SIMULIN

KTW

INCA

T CFC

Simulink-Blöcke Parameterübergabe/ Umformungen

InstanzSimulink-Blöcke Parameterübergabe/ Umformungen

Instanz

TransferFcn(string[]

NumDemStr, string nd)

24Fo

lien

, 13.

12.2

007

12:0

ES

24

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Strukturähnliche Abbildung2. Möglichkeit: Anpassung der Struktur

24

Instanz des Controllerbausteines FB_CTRL_TRANSFER

Parameterwerte werde im Funktionsbaustein initialisiert

Simulink-Blöcke Parameterübergabe/ Umformungen

InstanzSimulink-Blöcke Parameterübergabe/ Umformungen

Instanz

TransferFcn(string[]

NumDemStr, string nd)

25Fo

lien

, 13.

12.2

007

12:0

ES

25

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Inhalt

• Motivation• Stand der Technik• Codegenerator

– Schnittstellen– Prinzip der Codegenerierung

• Evaluation• Zusammenfassung und Ausblick

26Fo

lien

, 13.

12.2

007

12:0

ES

26

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Evaluationl: Pitchregler

• Die Blattwinkelregelung hat als Eingangsgrößen:– die Drehzahl am Generator,– die Windgeschwindigkeit,– die Blattwinkel der drei Rotorblätter und – die Gondelbeschleunigung in Richtung der Rotorachse.

• Ausgangsgrößen:– Blattwinkel aller drei Rotorblätter

• Anzahl der Blöcke: 51• Anzahl der Verbindungen: 62• Anzahl der Subsysteme: 3

27Fo

lien

, 13.

12.2

007

12:0

ES

27

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

ModultestI WITH DRIFTKOMPENSATION

27Zeit t in sec

28Fo

lien

, 13.

12.2

007

12:0

ES

28

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Zeitvergleich zwischen manueller Übersetzung (ohne Berücksichtigung der SPS-Eigenschaften) und Simulink

-6

-5

-4

-3

-2

-1

0

1

2

3

0

0,02

0,04

0,06

0,08 0,1

0,12

0,14

0,16

0,18 0,2

0,22

0,24

0,26

0,28 0,3

0,32

0,34

0,36

0,38

Simulink

TwinCAT Datenfluss

29Fo

lien

, 13.

12.2

007

12:0

ES

29

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

IntegrationstestMit Rückkopplung

29

Zeit t in sec

-6

-5

-4

-3

-2

-1

0

1

2

3

0

0,02

0,04

0,06

0,08 0,1

0,12

0,14

0,16

0,18 0,2

0,22

0,24

0,26

0,28 0,3

0,32

0,34

0,36

0,38

Simulink

Codegenerator

30Fo

lien

, 13.

12.2

007

12:0

ES

30

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Inhalt

• Motivation• Stand der Technik• Codegenerator

– Schnittstellen– Prinzip der Codegenerierung

• Evaluation• Zusammenfassung und Ausblick

31Fo

lien

, 13.

12.2

007

12:0

ES

31

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Zusammenfassung

• Strukturähnliche Übersetzung• Übersetzung in Sekunden

– Übersetzung des Beispielmodells (Blattwinkelregelung) ≈ 1 Sekunde• Keine zusätzlichen Kosten (durch die Anschaffung von RTW)• Korrekte Funktionsweise wurde evaluiert (Blattwinkelregler)• Berücksichtigung der SPS Eigenschaften

– Zeitverhalten nahezu identisch wie in Simulink

32Fo

lien

, 13.

12.2

007

12:0

ES

32

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Ausblick

• Realisierung der Rücktransformation, um die verschiedenen Modelle auch nach Änderungen synchronisieren zu können

• Transformation des Zustandsdiagramms (aus Simulink) in die Ablaufsprache der IEC 61131-3

• Online-Verbindung zwischen Simulink und der Steuerungssoftware, um die Fehlersuche im Sinne eines „Debuggings“ zu ermöglichen

33Fo

lien

, 13.

12.2

007

12:0

ES

33

M. Sc. Gülden BayrakEmbedded SystemsUniversität Kasselwww.es.eecs.uni-kassel.de

Fragen?

Vielen Dank für Ihre Aufmerksamkeit!