Modellbasierte Software- Entwicklung eingebetteter Systeme

Modellbasierte SoftwareEntwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer...
Author: Jakob Ritter
2 downloads 2 Views 419KB Size
Modellbasierte SoftwareEntwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und

Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik

Von der SystemSpec zur SWSpec • Identifikation, welche Anforderungen durch Software •

gelöst werden können / sollen Beschreibung der Schnittstellen der SW zur Außenwelt

 Analoge Ein / Ausgänge (Sensoren, Aktuatoren)  Digitale Ein / Ausgänge (Knöpfe, Schalter, Lämpchen, Displays, Kommunikationskanäle, Signale, Parameter)

• Beschreibung der Funktionalität der SW bezogen auf



die Schnittstellen Beziehungen zwischen SRS und SWRS

H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 2

physikalische Modellierung 1. Identifikation der relevanten Umgebungsgrößen 2. Repräsentation durch mathematische Variablen 3. Eigenschaften / Relationen der Variablen festlegen  die relevanten Variablen sind im Allgemeinen zeitabhängig  Funktionen über der Zeit! - Zustand: Wert aller Funktionen zu einem gegebenen Zeitpunkt - Trajektorie: Veränderung des Zustandes in der Zeit  Festlegung: überwachte und geregelte Variablen („monitorierte“ und „kontrollierte“ Größen)

H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 3

Beispiel Füllstandsregelung Zulauf

Füllstandsanzeiger max min

Ablauf

Variable

Typ

Beschreibung

Werteber eich

Einheit

f

m

Füllstand

0-100

mm

z

c

Zulauf

0-1

prozentuale Öffnung

Ablauf

0-1

nicht zugänglich

a min

konstant

Minimalfüllstand

86

mm

max

konstant

Maximalfüllstand

95

mm

Bemerku ng

• informelle Anforderungen:  Wenn f < min, Zulauf einschalten  Wenn f > max, Zulauf ausschalten

• Stellvertretend für Heizungsthermostat, Batterieladegerät, Dämmerungslicht, …

H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 4

Festlegung in Systemspezifikation • Randbedingungen  von der Natur oder vom Auftraggeber vorgegeben - z.B. physikalische Beschränkungen - z.B. Altsysteme, zu beachtende Restriktionen etc.  Verantwortlichkeit des Auftraggebers!

• Steuerfunktionalität  Abbildung von überwachten in gesteuerte Größen  i.A. mehrdeutig, relational; Definitionsbereich von Randbedingungen eingeschränkt, Wertebereich gibt zulässige Trajektorien an  Verantwortlichkeit des Systemingenieurs H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 5

Zulauf

im Beispiel

Füllstandsanzeiger

max min

• Randbedingungen

Ablauf

 0  f(t)  h  0 < f(t) < h  f´(t)= k1*z(t) – k2*a(t)

• Steuerfunktionalität  als Klauseln

f(t)  min  z(t) = 1 f(t)  max  z(t) = 0

 als partielle Funktion z(t) =

1 0  undef

falls f(t)  min falls f(t)  max sonst

 als Abbildung C ={(f(t), z(t)) | (f(t)  min  z(t) = 1)  (f(t)  max  z(t) = 0)} H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 6

Trajektorienbereiche

t

• intendierte, erlaubte und verboten H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 7

Zulauf

im Beispiel

Füllstandsanzeiger

max min Ablauf

• Zulauf sei kontinuierlich regelbar (0  z(t)  1); der

Füllstand sollte möglichst nahe an soll=(min+max)/2 gehalten werden  intendiertes Verhalten: je näher der Füllstand bei soll ist, desto mehr wird der Zulauf geschlossen  erlaubtes Verhalten: voller Zulauf bis soll erreicht wird, dann zu (oszilliert, ruiniert auf Dauer das Ventil)  verboten: max wird irgendwann überschritten und Ventil ist auf

 gesucht: „sanfte“ Regelung (PID) H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 8

Katze-und-Maus-Problem

• fängt die Katze die Maus oder nicht? (trifft die Abwehrrakete das Projektil oder nicht?) H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 9

Modellierung Konstante: vk, vm, xz, yz, xm(0), ym(0), xk(0), yk(0)

Katze Geschwindigkeit vk Position (xk(t),yk(t)) Ziel (xz,yz)

Maus Geschw. vm Pos. (xm(t),ym(t))

Geschwindigkeitsvektor Maus vm2 = xm2+ym2 xm = xz-xm(0) , ym = yz-ym(0) dmz= sqrt(xm2+ ym2) xm/ vm= xm/ dmz , ym/vm = ym/ dmz Geschwindigkeitsvektor Katze vk2 = xk2+yk2 xk = xm-xk , yk = ym-yk dkm= sqrt(xk2+ yk2) xk/ vk= xk/ dkm , yk/ vk = yk/ dkm

• Differentialgleichungssystem für diese Variablen H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 10

Datenflussmodellierung • Beispiel ist stark datenorientiert  Kontrollfluss nur zum Abbruch

• Modellierung durch Datenflussdiagramm  jede „Leitung“ entspricht einer Variablen  Konstante als spezielle Variable

• Integratoren • Rückkoppelungen H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 11

H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 12

Simulationsergebnis

H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 13

H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 14

Abstraktion • Hauptstärke von

SimuLink besteht in der Möglichkeit, Blöcke zusammenzufassen  Abstraktion von Verhalten  baumartige Navigation  Parametrisierung  Modulbibliotheken  externe Erweiterungen  Codeanbindung

• Modelltransformation und –entwicklung!

H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 15

Crashkurs Regelungstechnik • Eingebettetes System: System Umgebung

• Allgemeines Schema eines Regelkreises:

© Prof. Dr.-Ing. Ch. Ament

H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 16

H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 17

Reglerklassen • Proportionaler, integraler und differentialer Anteil bei der Regelung      

P-Regler: u(t)=k*e(t) I-Regler: u(t)=k*e(t) dt D-Regler: u(t) = k*e(t) PI-Regler: u(t) = k1*e(t) + k2*e(t) dt PD-Regler: u(t) = k1*e(t) + k2*e(t) PID-Regler: u(t) = k1*e(t) + k2*e(t) dt + k3*e(t) u(t) = KP*[e(t) + 1/TI*e(t) dt + TD *e(t)]

KP: Proportionalbeiwert, TI: Nachstellzeit, TD: Vorhaltezeit

• Ziel: Vermeidung bzw. Dämpfung von Überschwingungen • „Reiner“ Differenzierer nicht realisierbar (Verzögerung!) H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 18

informell • PID-Regler:  P(proportionaler) Anteil: „Je größer die Regelabweichung, umso größer muß die Stellgröße sein“  I(integraler) Anteil: „Solange eine Regelabweichung vorliegt, muß die Stellgröße verändert werden“  D(differentieller) Anteil: „Je stärker sich die Regelabweichung verändert, umso stärker muß die Regelung eingreifen“

H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 19

PID in Simulink du/dt

10

Derivative 0.3

pos error

Kd -K-

desired pos

Kp 1 s Integrator

f (t)

-K-

1 s

x_ddot

1/m1

1 s

x_dot

velocity

x

position

Scope

1

output 4.5

Ki

To Workspace

c -Kk 0.1

m1 = 2.3 kg k = 250 N/m c = 4.5 N sec/m L0 = 0.1 m x1(0) = L0 x1_dot(0) = 0

L0

• Als fester vorgegebener Block verfügbar! H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 20

Einstellung des Reglers • Erst den proportionalen Anteil einstellen  erhöhen bis leichte Oszillation auftritt

• Dann integralen Teil hochregeln  solange bis die Oszillation aufhört

• Dann differentiellen Anteil

 damit Zielgerade möglichst schnell erreicht wird

Parameter

Anstiegszeit

Überschwingung

Einschwingzeit

Abweichung

P

--

+

+-

-

I

--

++

+

0

D

+-

--

--

+-

H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 21

Beispiel Wasserstandsregelung

H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme

Folie 22