23.6.2009
Eingebettete SystemeQualität und Produktivität
Prof. Dr. Holger SchlingloffInstitut für Informatik der Humboldt Universität
und
Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik
23.6.2009 Folie 2H. Schlingloff, Eingebettete Systeme
War wir bislang hatten
1. Einführungsbeispiel (Mars Polar Lander)2. Automotive Software Engineering3. Anforderungsdefinition und -artefakte
• Lastenheft TSG• Ziele und Szenarien• Strategien
4. Modellierung• physikalische Modellierung• Anwendungs- und Verhaltensmodellierung• Berechnungsmodelle, zeitabhängige & hybride Automaten• Datenflussmodelle (Katze und Maus)
5. Regelungstechnik• PID-Regelung• HW für Regelungsaufgaben• speicherprogrammierbare Steuerungen
23.6.2009 Folie 3H. Schlingloff, Eingebettete Systeme
Eingebettete Systeme: Software
• keine dynamische Speicherzuteilung, möglichst keine Zeiger
• feste Instanziierung, festes Linking• Komponenten sind ereignisgetrieben, reagieren auf
Unterbrechungen von Sensoren oder Uhren, indem sie ihren Zustand ändern und Nachrichten verschicken Kommunikation über Nachrichten auf fest zugeteilten
Speicherplätzen
• Programmierung in den allermeisten Fällen C, selten Assembler, manchmal
Java Bytecode (JVM?), .Net? Spezifikation durch Modelle (z.B. StateCharts, SimuLink) Codegenerierung, Entwurfsmuster
23.6.2009 Folie 4H. Schlingloff, Eingebettete Systeme
Software-Entwurfsmuster
• Control Loop innerhalb einer festen Schleife werden die Sensorwerte
abgelesen, Aktionen berechnet, und Aktuatorausgänge angesteuert
• Special Task Agent Prozess wird durch Ereignis angestoßen, führt Berechnung
durch, legt sich wieder schlafen
• Watchdog Komponente, die regelmäßig angestoßen („gefüttert“)
werden muss, ansonsten leitet sie eine Ausnahmebehandlung an („beißt“)
• Sanity Check eine Task rechnet, die andere überwacht die Plausibilität
• TMR dreifach modulare Redundanz mit Voting, siehe nachher
23.6.2009 Folie 5H. Schlingloff, Eingebettete Systeme
• speicherprogrammierbare Steuerungen (engl. PLC, programmable logic controller)
• seit 1960-er Jahre Standard in der Automatisierungstechnik• normierte Anschlüsse 24V; hinter jedem Eingang Entprellung
und elektrische Trennung; Ausgänge für Relais oder Halbleiter• EPROM programmierbar über serielle Schnittstelle• Feldbus- und Netzanbindungsmöglichkeiten• Ausführungsmodell: Control Loop
Start und Stoppzustand, SelbstdiagnoseProgrammierung während Stopp, Initialisierung beim Start
• verschiedene Programmiermöglichkeiten (DIN EN 61131) IL/AWL (Instruction List, Anweisungsliste), ST (strukturierter Text) LD/KOP (Ladder Diagram, Kontaktplan), FBD/FUP (Funktionsplan),
SFC/AS (Sequential Function Chart, Ablaufsprache)
Beispiel SPS
23.6.2009 Folie 6H. Schlingloff, Eingebettete Systeme
SPS - Grundsätzlicher Aufbau
aus: http://www.tfh-berlin.de/~msr/pdf-files/Steuerungstechnik/STE_Vorlesung%20Teil%2001.pdf
23.6.2009 Folie 7H. Schlingloff, Eingebettete Systeme
SPS - Programmierung
23.6.2009 Folie 8H. Schlingloff, Eingebettete Systeme
Beispiel: SPS-Simulator TrySim
23.6.2009 Folie 9H. Schlingloff, Eingebettete Systeme
anderes Beispiel: WinSPS
23.6.2009 Folie 10H. Schlingloff, Eingebettete Systeme
Reaktionszeiten
• maximale Reaktionszeit setzt sich zusammen aus1. Hardwareverzögerung an den Eingängen2. Abfragezeit an den Eingängen3. Systemverwaltungszeit4. Signalverarbeitungszeit5. Hardwareverzögerung an den Ausgängen