Eingebettetes System
Eingebettete Systeme (embedded systems) sind Computersysteme, die aus Hardware und Software bestehen und die in komplexe technische Umgebungen eingebettet sind [Sch05]. Diese Umgebungen sind meist maschinelle Systeme, in denen das eingebettete System mit Interaktion durch einen Benutzer arbeitet oder auch vollautomatisch (autonom) agiert. Die eingebetteten Systeme übernehmen komplexe Steuerungs-, Regelungs- und Datenverarbeitungsaufgaben für bzw. in diesen technischen Systemen. (siehe Siemers)
CPS
CPS sind Systeme mit eingebetteter Software,
− die über Sensoren und Aktoren verfügen,
− erfasste Daten auswerten und speichern,
− mit Kommunikationseinrichtungen untereinander sowie in globalen Netzen verbunden sind,
− weltweit verfügbare Daten und Dienste nutzen und über Mensch-Maschine-Schnittstellen verfügen.
Einordnung eingebettetes System, Echtzeit, CPS
Eingebettetes System: Was ist es:
Wo finden wir es:
Software läuft nicht auf einem Computer sindern in Anlage direkt eingebettet in einem eigenen System (zB auch schon Mirkowelle)
Echtzeitsysteme:
Echtzeit - Teil und es gibt auch einen nicht Echtzeitfähigen Teil
Systeme auf denen Steuerungen laufen, mit sensoren und aktoren
Definition: Echtzeitbetrieb nach VDI 44300
Echtzeitbetrieb ist ein Betrieb eines Rechensystems, bei dem Programme zur Verarbeitung anfallender Daten ständig betriebsbereit sind, sodass die Verarbeitungsergebnisse innerhalb einer vorgegebenen Zeitspanne verfügbar sind.
(Nicht nur richtig rechnen sondern auch innerhalb des Zeitfensters)
Die Daten können je nach Anwendungsfall nach einer zeitlich zufälligen Verteilung oder zu vorbestimmten Zeitpunkten anfallen. (Ereignis- oder zeitgesteuerte Programmverarbeitung)
Definition Echtzeitsystem nach dem Oxford Dictionary ofComputing
Ein Echtzeitsystem (real-time system) ist ein System, bei dem der Zeitpunkt, zu dem Ausgaben vorliegen, bedeutend ist. Das liegt für gewöhnlich daran, dass die Eingabe mit einigen Änderungen der physikalischen Welt korrespondiert und die Ausgabe sich auf diese Änderungen beziehen muss.
Die Verzögerung zwischen der Zeit der Eingabe und der Zeit der Ausgabe muss ausreichend klein für eine akzeptable ”Rechtzeitigkeit“ (timeliness) sein. (Akzeptable Reaktionszeit haben )
Echtzeitverarbeitung
Echtzeitbetrieb bedeutet Rechtzeitigkeit
Funktionale Korrektheit reicht für korrektes Systemverhalten nicht aus (Sondern auch innerhalb gewisser Zeit)
Rechtzeitige Bereitstellung der Ergebnisse ist entscheidend
Den Rahmen stecken der Eintrittspunkt des Ereignisses und der entsprechende Termin ab
Termine hängen dabei von der Anwendung ab:
wenige Mikrosekunden z.B. Drehzahl-und Stromregelung bei der Ansteuerung von Elektromotoren
einige Millisekunden z.B. Multimedia-Anwendungen (Übertragung von Ton-und Video)
Sekunden, Minuten, Stunden z.B. Prozessanlagen (Erhitzen von Wasser)
Zeitliche Reaktion eines allgemeinen Systems
Wichtig für ein Echtzeitsystem ist die response time (Antwortzeit, Reaktionszeit), das Zeitintervall, das ein System braucht, um irgendeinen Output als Reaktion auf irgendeine Form eines Inputs zu erzeugen.
Zeitliche Reaktion eines Echtzeitsystems
Das Zeitintervall ist kritisch und darf auf keinen Fall zu groß werden.
Genauer spezifizierbar durch Einführung einer Frist d (deadline, due time)
d gibt spätest möglichen Zeitpunkt für Reaktion an (d.h. maximale Größe des Zeit-Intervalls Δtmax).
Wichtig, dass mann es vor Frist (links von frist) reagiert; dahinter verhält sich System falsch
Korrektes und fehlerhaftes Verhalten eines Echtzeitsystems
Ein Echtzeitsystem arbeitet nur dann korrekt, wenn seine Reaktion bis zu einer spezifizierten Frist erfolgt (Δtmax ).
Frist trennt korrektes von inkorrektem Verhalten
Weiche und harte Echtzeit / Frist
Unterschied, in welchem System:
Übertragung eines Bildes funktioniert nihct bei Zoom
--> tolerierbares
Auslösung des Airbags beim Unfall
—> Nicht tolerierbar
Verschiedene Anforderungen/ Konsequenzen von Echtzeit
Weich (engl. soft) auch „schwach“
− Ergebnis verliert mit zunehmender Terminüberschreitung an Wert (z.B. Bildrate bei Multimediasystemen)
—> Terminverletzung ist tolerierbar
Fest (engl. firm) auch „stark“
− Ergebnis wird durch eine Terminüberschreitung wertlos und wird verworfen (z.B. Abgabetermin einer Übungsaufgabe)
—> Terminverletzung ist tolerierbar, führt zum Arbeitsabbruch
Hart (engl. hard) auch „strikt“
− Terminüberschreitung kann zum Systemversagen führen und eine „Katastrophe“ hervorrufen
(z.B. Airbag)
—> Terminverletzung ist keinesfalls tolerierbar
Arten von Echtzeitsystemen
Hard real-time computer system (dt. Hartes Echtzeitrechensystem) - Airbag
Rechensystem mit mind. einem hartem Termin
Garantiert unter allen (spezifizierten) Last- und Fehlerbedingungen
Laufzeitverhalten ist ausnahmslos deterministisch
Typisch für sicherheitskritische Echtzeitrechensysteme
engl. safety-critical real-time computer system
Beispiel: Fluglageregelung, Airbag, . . .
Soft real-time computer system (dt. Weiches Echtzeitrechensystem) - Zoom
− Rechensystem, das keinen harten Termin erreichen muss
− Termine können gelegentlich verpasst werden
Beispiel: Hinderniserkennung (z.B. AGV)
Anwendungen
1. Roboter
2. automatisierte Fahrzeugsysteme
3. Minidrohnen („Quadrokopter“)
4. ...
Funktionsprinzip
Sensor(en) erkennen Hindernisse [Kamera(s), Laserlicht, Ultraschall, Infrarot, Radar, ...]
Auswertungder Sensordatenund Reaktion (in def. Zeit)
Auswertung der Sensordaten:
− umfangreiche Berechnungen zur Auswertung der Sensordaten
−z.B. auch Abgleich der Daten mehrerer Sensoren (Flugzeug)
Reaktion:
− bei erkanntem Hindernis geeignete Reaktion:
−z.B. Ausweichen,Anhalten
Konsequenzen
Frist:
durch zeitgerechte Reaktion:
Zusammenstoß mit Hindernis vermeiden
bei Nichteinhalten der Frist:
• Zusammenstoß mit Hindernis
Zerstörung von Material
Todesfälle
Zwei Arten für die Konzeptionierung von harten Echtzeitsystemen:
Zwei Arten für die Konzeptionierung von harten Echtzeitsystemen: (in der Praxis auch gemischt)
− Ereignisgesteuerte (event triggered)
− Zeitgesteuerte (time triggered) Systeme
− Zusätzlich: Hintergrundaufgaben (erst dann, wenn echtzeitaufgaben erledigt sind; update instalieren, musik abspielen, ... alle Nihct echtzeitaufgaben)
Ereignissteuerung oder Zeitsteuerung?
Womit geht es einfacher sicherzustellen:
Mit dem Zeitgesteuerten (weiß was mich erwartet, kann abschätzen wie viele Sensoren abgearbeitet werden müssen, 10 Sensoren, abarbeitung X schritte; schnell aufzusetzen und durchzuführen)
Bei Ereignis: Kann vorkommen, dass alles im selben Zeitfenster durchgeführt werden muss; schwieriger
Worst case: alles auf einmal
In der Regel gemischt
Ereignisgesteuerte Systeme
Ereignisgesteuerte Systeme werden durch Unterbrechungen gesteuert: Liegt an einem Sensor ein Ereignis (was das ist, muss natürlich definiert sein) vor, dann kann er eine Unterbrechungsanforderung (interrupt request) an den Prozessor senden und damit auf seinen Bedienungswunsch aufmerksam machen.
Eine asynchrone Unterbrechung (Asynchronous Interrupt Request, IRQ) ist ein durch das Prozessor-externe Umfeld generiertes Signal, das einen Zustand anzeigt und/oder eine Behandlung durch den Prozessor anfordert. Dieses Signal ist nicht mit dem Programmlauf synchronisiert. Die Behandlung der Unterbrechung erfolgt im Rahmen der Interrupt Service Routine.
Zeitgesteuerten Systemen
Bei zeitgesteuerten Systemen erfolgt keine Reaktion auf Eingabeereignisse, die Unterbrechungen werden lediglich durch einen, ggf. mehrere periodische Zeitgeber (Timer) ausgelöst. Sensoren werden dann vom Steuergerät aktiv abgefragt.
Dieses Verfahren hat den großen Vorteil, dass das Verhalten sämtlicher Systemaktivitäten zur Compilezeit vollständig planbar. Dies ist gerade für den Einsatz in Echtzeitsystemen ein erheblicher Vorteil, da á priori überprüft werden kann, ob Echtzeitanforderungen eingehalten werden.
Auslegung des Systems
− Das System (z.B. der Robotino) muss in der Lage sein, regelmäßig (periodisch / zeitgesteuert) Überwachungsfunktionen durchzuführen und entsprechend reagieren
− Bspw. werden Sensordaten abgefragt, ausgewertet und Ausweichmanöver eingeleitet
− Die Verarbeitung dieser Daten muss in (harter) Echtzeit passieren
−sowohl die Sensordatenverarbeitung wie auch die Berechnung von Fahrmanövern etc. muss in bestimmter Zeit (WCET, worstcaseexecutiontime) geschehen (muss genau wissen, wie lange die schritte dauern oder im Worst case wie lange es dauern würde )
− Das (eingebettete) System muss so ausgelegt sein, dass alle regelmäßigen Tasks in der geforderten Zeit abgearbeitet werden können
−Hierfür ist ein echtzeitfähiges Betriebssystem notwendig, dass diese Anforderungen erfüllt
1. Periodische Tasks
(regelmäßig auftretende Aufgaben)
Periodische Aufgaben
Aufgaben, die in regelmäßigen Zeitintervallen kontinuierlich eine vorgegebene Systemfunktion erbringen.
Eine periodische Aufgabe (Ti ) ist eine Abfolge von Arbeitsaufträgen (Ji, j ) mit vorgegebenen zeitlichen Eigenschaften.
Ti = (pi , ei ,Di ,φi)
pi Periode (engl. period)
ei Maximale Ausführungszeit (WCET - Worst Case Execution Time)
Di relativer Termin (engl. deadline)
φi Phase (engl.phase)
Ji, j = (ri, j , ei, j , di, j )
Periodische Aufgabenauf der Echtzeitachse
r1,1 - Releasezeit; 1 Schritt geht los
Grün = abarbeitung
Ende Kasten = Deadline
Vor Grün = Startet nicht sofort, weil evtl. noch etwas im System ist
r1,2 = 2. Sensor abruf
Hyperperiode
Die Hyperperiode H
− Kleinstes gemeinsame Vielfaches aller Perioden
− Startpunkt für Phasenversatz und Berechnung der Auslastung
− Basis für die Berechnung der maximalen Arbeitsaufträge
Grün; alle 2 Perioden
Rot; alle 3 Zyklen (nicht so entscheiden schnell)
Rosa : 4er Zyklen
Hyperperiode; wenn alle drei gemeinsam starten; bis alle wieder anfallenn; dazwischen hat man alle Szenarien und kann schauen, ob man das abgearbeitet bekommt
--> kann seeehr lange dauern
Wenn Ereignisbasiert guckt man wie viel platz man noch für weiteres hat
In den Lücken: Zeit für aperiodisches und Hintergrundaufgaben
Periodische Aufgaben - Schedule - Analyse:
2. Nicht periodische Aufgaben (asynchrone, ereignisbasierte)
- Keine feste Periode
Erhaltung statischer Garantien für periodische Arbeitsaufträge
Einfluss nicht-periodischer Arbeitsaufträge begrenzen!
Koexistenz periodischer und nicht-periodischer Arbeitsaufträge
Einordnung in das (periodische) Prioritätsgefüge
Gekoppelte Einplanung nicht-periodischer Arbeitsaufträge
3. Hintergrundaufgaben
Erst Sensoren und auftretenden ereignisse abgefragt; der rest steht zur verfügung
Hintergrund Aufgabe erst wenn Zeit ist nach 0, 1, 3, 4, 6
Prioritätswarteschlangen im Betriebssystem
Echtzeitbetriebssystem, z.B. Kithara & Windows
Zusammenfassung
Verarbeitungsergebnisse innerhalb einer vorgegebenen Zeitspanne
Sämtliche Komponenten müssen echtzeitfähig sein
Netzwerk (z.B.: Profinet)
Betriebssystem (z.B.: Kithara etc.)
Tasks (deterministische Ausführungszeit, WCET (WorstCase ExecutionTime))
Automatisierungspyramide
Nihct wichtig für den Test
Hierarchisches Unternehmensmodell nach DIN EN 62264 auf Basis der Definitionen der PERA (Purdue Enterprise Reference Architecture). Das PERA Reference Model definiert folgende
Ebenen:
− Level 4 - Business Logistics Systems: Aktivitäten der strategischen und taktischen Unternehmensführung im Bereich Einkauf, Verkauf, Langzeit-Planung, Logistik usw. (ERP)
− Level 3 - Manufacturing Operations Management: Produktionsleitung, Wartung, Materialbestandsführung (MES/MOMS)
− Level 2 - Steuerungs-/Kontrollsysteme: Überwachung und automatische Steuerung des Produktionsprozesses
− Level 1 - Intelligente Geräte: Sensoren, Aktoren und ähnliche Instrumente
− Level 0 - Physikalischer Produktionsprozess
Zuletzt geändertvor 2 Jahren