Präsentation herunterladen
Veröffentlicht von:Egon Zesiger Geändert vor über 10 Jahren
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 = xm2+ym2 xm = xz-xm(0) , ym = yz-ym(0) dmz= sqrt(xm2+ ym2) xm/ vm= xm/ dmz , ym/vm = ym/ dmz Geschwindigkeitsvektor Katze vk2 = xk2+yk2 xk = xm-xk , yk = ym-yk dkm= sqrt(xk2+ yk2) xk/ vk= xk/ dkm , yk/ 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
13
Simulationsergebnis
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
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.