Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Modellbasierte Software-Entwicklung eingebetteter Systeme

Ähnliche Präsentationen


Präsentation zum Thema: "Modellbasierte Software-Entwicklung eingebetteter Systeme"—  Präsentation transkript:

1 Modellbasierte Software-Entwicklung eingebetteter Systeme
Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik

2 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

3 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)

4 Beispiel Füllstandsregelung
Füllstandsanzeiger Zulauf Ablauf max min Variable Typ Beschreibung Wertebereich Einheit Bemerkung f m Füllstand 0-100 mm z c Zulauf 0-1 prozentuale Öffnung a Ablauf nicht zugänglich min konstant Minimalfüllstand 86 max Maximalfüllstand 95 informelle Anforderungen: Wenn f < min, Zulauf einschalten Wenn f > max, Zulauf ausschalten Stellvertretend für Heizungsthermostat, Batterieladegerät, Dämmerungslicht, …

5 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

6 im Beispiel Randbedingungen Steuerfunktionalität 0  f(t)  h
Füllstandsanzeiger Zulauf Ablauf max min im Beispiel Randbedingungen 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  1 falls f(t)  min z(t) =  0 falls f(t)  max  undef sonst als Abbildung C ={(f(t), z(t)) | (f(t)  min  z(t) = 1)  (f(t)  max  z(t) = 0)}

7 Trajektorienbereiche
intendierte, erlaubte und verboten

8 im Beispiel  gesucht: „sanfte“ Regelung (PID)
Füllstandsanzeiger Zulauf Ablauf max min im Beispiel 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)

9 Katze-und-Maus-Problem
fängt die Katze die Maus oder nicht? (trifft die Abwehrrakete das Projektil oder nicht?)

10 Modellierung Differentialgleichungssystem für diese Variablen
Konstante: vk, vm, xz, yz, xm(0), ym(0), xk(0), yk(0) 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 Katze Geschwindigkeit vk Position (xk(t),yk(t)) Ziel (xz,yz) Maus Geschw. vm Pos. (xm(t),ym(t)) Differentialgleichungssystem für diese Variablen

11 Datenflussmodellierung
Beispiel ist stark datenorientiert Kontrollfluss nur zum Abbruch Modellierung durch Datenflussdiagramm jede „Leitung“ entspricht einer Variablen Konstante als spezielle Variable Integratoren Rückkoppelungen

12

13 Simulationsergebnis

14

15 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!

16 Crashkurs Regelungstechnik
Eingebettetes System: System Umgebung Allgemeines Schema eines Regelkreises: © Prof. Dr.-Ing. Ch. Ament

17

18 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!)

19 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“

20 PID in Simulink Als fester vorgegebener Block verfügbar!

21 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 ++ D

22 Beispiel Wasserstandsregelung


Herunterladen ppt "Modellbasierte Software-Entwicklung eingebetteter Systeme"

Ähnliche Präsentationen


Google-Anzeigen