Prozeßsteuerung

Material zur Vorlesung Prozeßsteuerung im Studienfach Mechatronik an der Hochschule Niederrhein.

Jürgen Quade

Versionsgeschichte
Version $Revision: 1.4 $$Date: 2003/01/15 17:05:04 $Geändert durch: $Author: quade $
Rechtlicher Hinweis
Inhaltsverzeichnis
Vorwort
1. Prozeßsteuerung - Ein Überblick
1.1. Definitionen
1.2. Kennzeichen der Prozeßsteuerung
1.3. Komponenten
2. Schritthaltende Verarbeitung und Echtzeitbetrieb
2.1. Echtzeitbedingungen
2.2. Latenzzeiten
2.3. Unterbrechbarkeit und Prioritäten
2.4. Worst Case Betrachtungen
2.5. Echtzeitnachweis
3. Realzeitbetriebssysteme
3.1. Lernziele
3.2. Überblick
3.3. Aufbau und Struktur
3.4. Betriebssystemkern
3.5. Zeitaspekte
3.6. Realzeitbetriebssystem versus Standardbetriebssysteme
3.7. Standardbetriebssysteme in Realzeitanwendungen
4. Programmierung
4.1. Programmiersprachen
4.2. Programmiertechnik
4.3. Schritthaltende Programmierung, Echtzeitprogrammierung
5. Prozeßsteuerungshardware
5.1. Rechnerkern
5.2. I/O-Subsystem
5.3. Zuverlässigkeit und Sicherheit
6. Systementwurf
6.1. Die ganzheitliche Betrachtung
6.2. Host-Target Entwicklung
Literatur
Stichwortverzeichnis
Tabellenverzeichnis
3-1. Vergleich Task und Thread
3-2. Standard-Betriebssystem versus Realzeit-Betriebssystem
4-1. Exemplarische Zeiten der Mars-Pathfinder Tasks
4-2. Einsatzmöglichkeiten unterschiedlicher Synchronisationsmethoden
4-3. Unterschiede zwischen Events und Signals
5-1. Einteilung von Peripherie gemäß Zugriffsgeschwindigkeit
5-2. CAN: Technische Daten
5-3. PROFIBUS: Technische Daten
6-1. Anfoderungen und Lösungsraum
Abbildungsverzeichnis
1-1. Steuerung versus Regelung
1-2. Zusammenhang zwischen unterschiedlichen Prozessformen
1-3. Technisches System mit Echtzeit-Prozeßsteuerung
1-4. Realzeitsysteme und ihre Zeitanforderungen [TimMon97]
1-5. Architektur einer Echtzeitsteuerung
1-6. Abbildung technischer Prozesse auf Rechenprozesse
1-7. Elemente der Datenflußdiagramme
1-8. Einfaches DFD einer Carrerabahnsteuerung
1-9. DFD Audiostreaming
2-1. Anforderungsfunktion
2-2. Auslastung
2-3. Reaktionsbereich
2-4. Maximal zulässige Reaktionszeit bei einer Rohrpost
2-5. Rechnerkernbelegung durch 4 Rechenprozesse
2-6. Harte und weiche Echtzeit als Kostenfunktion
2-7. Benefit-Function
2-8. Datenflußdiagramm Meßwertaufnahme
2-9. Struktogramm Meßwerterfassung sequentiell
2-10. Zeitdiagramm Meßwert sequentiell
2-11. Struktogramm Meßwerterfassung parallel
2-12. Zeitdiagramm Meßwert parallel
2-13. Parameterauswahl für den Worst Case Fall
2-14. Verteilung der Rechenzeit bei minimalen Reaktionszeiten
2-15. Messprinzip zur Bestimmung der WCET
2-16. Benötigte Rechenzeit (Computation Time) tc(t)
2-17. Available Computation Time ta(t)
2-18. Bestimmung von tRmax (zu Beispiel [Grafische Herleitung zur Bestimmung der maximalen Reaktionszeit])
2-19. Bestimmung von tRmax höher priorisierter Prozesse (Zahlen von [Grafische Herleitung zur Bestimmung der maximalen Reaktionszeit])
2-20. Bestimmung der maximalen Reaktionszeit
2-21. Ereignisstrom-Modell
2-22. Ereignisstrom
2-23. Inhomogener Ereignisstrom
2-24. Homogener Ereignisstrom
2-25. Ereignisdichtefunktion des inhomogenen Ereignisstroms
2-26. Ereignisstrom-Modell
2-27. Echtzeitnachweis mit Hilfe des Ereignisstrom-Modells
2-28. Prozessbeschreibung und Ereignisdichtefunktion
2-29. Rechenzeitanforderungsfunktion tc(I)
2-30. Rechenzeitanforderungsfunktion tC(I) bei verschärften Bedingungen
2-31. Auflösung der Abhängigkeiten
2-32. Rechenzeitanforderungsfunktion tC(I)
3-1. Betriebssystem-Architektur
3-2. Interruptverarbeitung
3-3. Interrupt-Service-Routine in einem Realzeitbetriebssystem
3-4. ISR mit Scheduler
3-5. Process-Kontrollblock (PCB)
3-6. Prozess-Zustände [Färber94]
3-7. Speicherbereiche einer Task
3-8. Programm zum Erzeugen einer Task
3-9. Programm zum Erzeugen eines Threads
3-10. Zeitanforderungen (Beispiel)
3-11. Prinzip des Schedulings
3-12. Prinzip des FCFS Schedulings
3-13. First Come First Serve Scheduling
3-14. Round Robin Schedulings
3-15. Prioritätengesteuertes Schedulings
3-16. Prinzip des Deadline Scheduling
3-17. Beispiel für Deadline Scheduling
3-18. Realzeiteigenschaften beim Deadline Scheduling
3-19. Posix Scheduling
3-20. Beispiel für Wind Scheduling
3-21. O(1) Scheduler im Linux-Kernel
3-22. Der übergeordnete Mehrprozessorscheduler verteilt die Jobs auf die einzelnen Prozessoren.
3-23. Die Modellierung eines SMP-Systems im Linux-Kernel.
3-24. Adreßumsetzung mittels MMU
3-25. Segmentierung beim 8086 [Färber94]
3-26. Beispiel zum Normalisieren
3-27. Strukturierung der logischen Adresse
3-28. Aufbau eines Seitendeskriptors
3-29. MMU auf Basis von Seitenadressierung
3-30. Geräteschnittstelle
3-31. Expliziter Warteaufruf mit Win32 Interface
3-32. Asynchroner Zugriff über Threads
3-33. Öffnen eines Gerätes im Non-Blocking Mode
3-34. Gleichzeitige Überwachung mehrerer Ein-/Ausgabequellen
3-35. Treiberauswahl
3-36. Einbindung des Gerätetreibers in das System
3-37. Datenfluß im System beim Aufruf von fread
3-38. Gerüst eines Gerätetreibers
3-39. Lesen über den Buffercache
3-40. Codebeispiel Systemcall
3-41. Codebeispiel Library-Call
3-42. Verschiedene Bibliotheksarten
3-43. Dynamisches Laden von Funktionen während der Laufzeit
3-44. Verzögerungszeiten
3-45. Unterbrechungsebenen
3-46. Dynamische Timerticks im Linux-Kernel
3-47. Unterschied RT-Linux/RedHawk-Linux
3-48. RT-Linux Systemarchitektur [Yod99]
4-1. Elemente eines Zustandsautomaten
4-2. Zustandsautomat und Automatentafel
4-3. DFD des Mars-Pathfinder
4-4. Mars-Pathfinder: Unsynchronisierter Datenaustausch
4-5. Mars-Pathfinder: Rechnerkernbelegung bei Verwendung eines Semaphor
4-6. Deadlineverletzung beim Mars-Pathfinder
4-7. Prioritäten und Synchronisation
4-8. Prioritätsinversion
4-9. Prioritätsvererbung beim Mars-Pathfinder
4-10. Deadlock
4-11. Meßwerterfassung: Synchronisation ohne Events
4-12. Task A,B und C: Synchronisation durch ein Semaphor
4-13. Task W: Synchronisation durch ein Semaphor
4-14. Meßwerterfassung: Synchronisation mit Events
4-15. Task A, B und C: Synchronisation über Events
4-16. Task W: Synchronisation über Events
4-17. Race Condition bei Verwendung von Events
4-18. Basisstruktur einer Socket-Serverapplikation
4-19. Socket-Serverprogramm
4-20. Basisstruktur einer Socket-Clientapplikation
4-21. Socket-Clientprogramm
4-22. Zeitgesteuerte Applikation
4-23. Schlafenlegen eines zeitgesteuerten Jobs
4-24. Ereignis- und zeitgesteuerte Systeme
4-25. Phasen- und Frequenzunterschiede zwischen Soll- und Istwerten
4-26. Prozessnachführung bei einer Modellbahn
4-27. DFD einer zeitsynchronen Verarbeitungseinheit
4-28. Systemarchitektur einer zeitsynchronen Ausgabe
5-1. Hardware-Struktur einer Prozeßsteuerung
5-2. Adress-Alignment
5-3. Big und Little Endian
5-4. Systembus
5-5. Lesezyklus
5-6. Unterschiedliche Adreßlagen beim DP-Ram
5-7. Komponenten der Ein-/Ausgabemodule
5-8. Digitales Eingabemodul
5-9. Kontroll- und Statusregister einer seriellen Schnittstelle
5-10. Control-Status-Register eines ADC
5-11. AD-Wandler Signalverlauf
5-12. Ankopplung eines schnellen A/D-Wandlers
5-13. Ankopplung eines mittelschnellen A/D-Wandlers
5-14. Datenübertragung unter Kontrolle der CPU
5-15. HW-Struktur eines typischen DMA-Controllers
5-16. DMA-Betriebsmodi
5-17. Multiplexer
5-18. Analogmultiplexer
5-19. Datenmultiplex
5-20. Ansteuerung einer Anzeige im Zeitmultiplex
5-21. Vereinfachtes Protokoll zum Telefonieren
5-22. ISO-Schichtenmodell der Kommunikation
5-23. Pakete werden in Pakete verpackt
5-24. Ausbreitung von Multicastnachrichten
5-25. Physikalische Verbindungsstrukturen
5-26. Zugriffsverfahren [Färber87]
5-27. Kommunikationsprimitive
5-28. Buszugriffsverfahren beim Controller Area Network
5-29. Aufbau eine CAN-Telegramms
5-30. FMS-Kommunikationsmodell beim PROFIBUS
5-31. Mehrere logische DP-Netze an einem Strang
5-32. Abbildung der DP-Kommunikation
5-33. Realzeitfähige Ethernetstruktur
5-34. Zeitverlauf des Systemzustands [Färber94]
5-35. Verfügbarkeitsfunktion [Färber 1994]
5-36. Badewannenkurve [Färber94]
5-37. Systemzustand bezüglich der Funktionstüchtigkeit [Färber94]
5-38. Serienschaltung
5-39. Parallelschaltung
5-40. Parallelschaltung mit Koppelkomponente
5-41. Power-fail-Interrupt
5-42. RAID-Level 0
6-1. Entwicklungszyklus
6-2. Host/Target Entwicklung
Beispiele
2-1. Rohrpostsystem
2-2. Unterbrechbarkeit bei der Meßwerterfassung
2-3. Grafische Herleitung zur Bestimmung der maximalen Reaktionszeit
2-4. Echtzeitnachweis bei Deadline-Scheduling
4-1. Rekursive und Iterative Berechnung der Fibonacci-Zahlen
4-2. Visualisierung einer Modellbahn (I)
4-3. Zeitsynchronisierung zwischen Rechnern
4-4. Voice over IP (VoIP)
4-5. Visualisierung einer Modellbahn (II)
Gleichungen
2-1. Gesamtauslastung
2-2. Reaktionszeit
2-3. Rechtzeitigkeitsbedingung
2-4. Berechnung der Rechenzeitanforderung eines periodisch aufgerufenen Jobs.
2-5. Iterative Bestimmung von tRmax
2-6. Ereignisdichtefunktion eines periodischen Ereignisses
2-7. Rechenzeitanforderungsfunktion
5-1. MTBF und MTTR
5-2. Dauerverfügbarkeit und Dauerunverfügbarkeit
5-3. Ausfallrate
5-4. Verfügbarkeit in Abhängigkeit von der Zeit
5-5. Verfügbarkeit einer Serienschaltung
5-6. Unverfügbarkeit einer Parallelschaltung