BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 1
7) Vorstellung eines Realzeitbetriebssystems
Inhaltsverzeichnis
• Betriebssysteme
• Definition Realzeitbetriebssystem
• Grundlagen des Datenzugriffs auf die E/A Komponenten
• Vorstellung verschiedener RTOS
• VxWorks
• Echtzeitsystem Werkzeugmaschinensteuerungen
• Echtzeitsystem Robotersteuerungen
Roland Sanftmann, Fabian Zohm
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 2
7) Vorstellung eines Realzeitbetriebssystems
• Bei kleineren Anwendungen (Tachometer) kommt man meistens ohne einem Betriebssystem aus.
• Neben einer Digitalanzeige und einfachen Messfühlern ist keine
Ein-/Ausweise notwendig.• Die Aufgabe wird durch wenige Unterbrechungsprozesse und ein
Hautprogramm gelöst.• Ab einer gewissen Größe der Aufgabenstellung wird der Einsatz von
Betriebssysteme unabdingbar.
Einleitung für Betriebssystem
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 3
Definition Betriebss
Definition eines Betriebssystems nach DIN 44300• Betriebssysteme sind die Programme eines digitalen Rechensystems, die
zusammen mit den Eigenschaften der Rechenanlage die Grundlage der möglichen Betriebsarten des digitalen Rechensystems bilden und insbesondere die Abwicklung von Programmen steuern und überwachen
Definition Betriebsmittel• Objekte, die die Rechenprozesse während des Ablaufs benötigen und auf
deren Zuteilung warten müssen.• Geräteeinheiten
– Prozessoren – Speicher– Peripheriegeräte wie Drucker
• Systemprogramme
Definitionen Betriebssystem
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 4
7) Vorstellung eines Realzeitbetriebssystems
• Häufig Mitlieferung vom Hersteller des Rechners• Effizientes Betriebssystem setzt genaue Kenntnis der Hardwarestruktur
voraus.• Größe :
– mehrere Kilo-Bytes bei Mikrorechnern– mehrere Mega-Bytes bei Großrechnern
• Integration von klassischen Betriebssystembestandteilen in Form von Halbleiterchips
Eigenschaften eines Betriebssystems
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 5
7) Vorstellung eines Realzeitbetriebssystems
• Dem Benutzter die Fähigkeiten des Rechensystems zugänglich machen– Dies ist nur durch Abstraktion und Generalisierung wegen der jeweiligen
unterschiedlichen Architekturen möglich – Zusammenfassung des Prozessors, des Hauptspeichers zu den
Betriebsmitteln– Das Betriebssystem kennt die Funktion eines Betriebsmittels und ist in der
Lage damit umzugehen.• Zuteilung der vorhandenen Betriebsmittel zu den konkurrierenden
Rechenprozessen – Scheduling
Aufgabenfelder Betriebssysteme
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 6
7) Vorstellung eines Realzeitbetriebssystems
• Es wird von einem Betriebssystem erwartet, dass es eine Plattform für eine vielseitig einsetzbare Arbeitsumgebung ist. Teil einer Arbeitsumgebung können sein
– Programmentwicklungsumgebung, bestehend aus Compilern, Editoren und Testwerkzeugen
– Graphische Oberflächen– Kommunikationsdienste im Rechnernetz– Datenbanken und Archivierungsdienste
• Erleichterung der Bedienung und Programmierung des Rechners und der angeschlossenen Geräte
– Form eines Treibers
Aufgabenfelder Betriebssysteme
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 7
7) Vorstellung eines Realzeitbetriebssystems
Definition eines Realzeitbetriebssystems nach DIN 44 300• RTOS (real time operationg system)• Ein Computersystem gilt als echtzeitfähig, wenn es innerhalb einer benenn-
und garantierbaren Zeit auf zufällige, externe Ereignisse reagieren kann.• Im industriellen Steuerungsumfeld sind Reaktionszeiten im
Mikrosekundenbereich ein unbedingtes muss. Typische Werte 5-60 Mikrosekunden.
Unterschied zu Betriebssystemen• Für Echtzeitbetriebssysteme spielt die Einhaltung von Zeitbedingungen eine
große Rolle.• Die Vorhersagbarkeit des Systemverhaltens ist elementar wichtig.
Definition Realzeitbetriebssystem
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 8
7) Vorstellung eines Realzeitbetriebssystems
• Sicherstellung der Unterbrechungsfähigkeit (Interruptverwaltung)• Sichere Verwaltung der Rechenprozesse und des Systemspeichers
(Taskverwaltung)• Definierte Reaktion auf Fehlerzustände (Fehlerverwaltung - und Behandlung)• Bereitstellung der Ressourcen zur Taskkommunikation und Synchronisation• Bereitstellung von Ressourcen zur Steuerung zeitlicher Abläufe• Organisation des Ablaufs der Rechenprozesse• Organisation der Speicherverwaltung • Organisation der Ein- und Ausgabe
Zusammenfassung der Aufgaben:• Verwaltung von Rechenprozessen und Betriebsmitteln unter Erfüllung
der Forderung nach Rechtzeitigkeit, Genauigkeit und Effizienz.
Aufgaben eines RTOS
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 9
ems
Ein Echtzeitsystem besteht aus:• einem Rechnerteil (Hardware)• einem Echtzeitbetriebssystem mit den für die Anwendung angepassten
Bestandteilen, • einer Applikationssoftware
Ein Echtzeitbetriebssystem besteht aus:• Das RTOS besitzt einen Mikrokern
- Das ist ein effizienter Scheduler mit präzise definierten Schnittstellen• Das RTOS bilden eine Schale um den Mikrokern, die von
Applikationsprogrammen nicht durchdrungen wird• Der Mikrokern beinhaltet die Systemuhr, den Scheduler und die
Semaphorenverwaltung• Der Kern steuert die Rechenprozesse des Rechensystems und realisiert das
Ablaufen der Rechenprozesse.
Aufbau eines Echtzeitsystems
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 10
ems
Die Merkmale eines harten Echtzeitsystems sind:• Unter keinen Umständen Verzögerungen zulassen• Ergebnisse sind nutzlos wenn sie zu spät erfolgten• Katastrophale Störungen wenn die Deadlines nicht eingehalten werden• Unendlich hohe Kosten für verpasste Deadlines
Die Beispiele für harte Echtzeitsystems sind:• Steuerung eines Kernreaktors • Antiblockiersystem• Überwachungssysteme auf einer Intensivstation• Digitalsteuerung im Airbus Flugzeug
Hartes Echtzeitsystem
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 11
ems
Die Merkmale eines weichen Echtzeitsystems sind:• Niedrige Kosten beim verspäteten Eintreffen der Ergebnisse• Akzeptierung einer geringeren Performance bei einer Verspätung
Die Beispiele für weiche Echtzeitsystems sind:• Werkzeugrevolver• Digitale Telefonanlage• Steuerung unkritischer chemischer Prozesse• Verkaufsautomat
Weiches Echtzeitsystem
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 12
7) Vorstellung eines Realzeitbetriebssystems
Grundlagen des Datenzugriffs auf die E/A Komponente:
• Definition Device-Controller– Der Device-Controller ist die elektronische Komponente der E/A Geräte.
(Gerätesteuerung).– Die Aufgaben sind die Konvertierung des seriellen Bitstroms in
Datenblöcke, sowie das Durchführen einer Fehlerkorrektur und das Verfügbarmachen der Daten für die CPU.
• Kommunikation der CPU mit dem Device-Controller– Jeder Controller hat einige Steuerungsregister in welche die CPU Befehle
mit Parametern schreiben kann.– Zusätzlich haben viele Geräte einen Datenpuffer, der vom Betriebssystem
geschrieben oder gelesen werden kann.
Grundlagen des Datenzugriffs
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 13
7) Vorstellung eines Realzeitbetriebssystems
Grundlagen Zugriff auf die Geräte:• Polling
- Nach dem Absetzen eines Befehls an das Gerät wird der Status ständig abgefragt
• Interrupts
- Werden von Geräten verwendet um das Ende eines Vorgangs anzuzeigen
- Die CPU wird unterbrochen und beginnt etwas Neues, abhängig vom
auslösendem Gerät wird ein Interrupt-Handler aufgerufen und ausgeführt.
- Später macht die CPU an der alten Stelle weiter
Polling / Interrupts
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 14
7) Vorstellung eines Realzeitbetriebssystems
Grundlagen Zugriff auf die Geräte:• Direct Memory Access DMA
– I/O kann mittels DMA deutlich beschleunigt werden, da die CPU weniger belastet wird
– Prinzip: Vergabe einer Aufgabe an den DMA-Controller. Die CPU kann in der Zwischenzeit andere Dinge erledigen.
– Ablauf eines DMA-Transfers
Direct Memory Access
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 15
ems
1. Ist das RTOS überhaupt notwendig? • Ein RTOS sollte nur bei Multitaskingsystemen eingesetzt werden • Es muss genügend Arbeitsspeicher zur Verfügung stehen. Dies ist beim Entwurf
zu beachten
2. Das Betriebssystemvehalten muss bekannt sein • Die Interrupt Verzögerungszeit (Zeit zwischen Interrupt und Tasklaufzeit)• Zeitdauer für jeden Systemaufruf• Die maximale Zeit, die das Betriebssystem und der Treiber benötigen um einen
Interrupt zu verarbeiten
Fazit : • Es ist kein RTOS auf dem Markt verfügbar, das für jede Applikation die otpimale
Lösung bietet.• Aus der Projektspezifikation für die Applikation ein Anforderungskatalog
erstellen.• Am Schluss gelangt man zu einer RTOS dessen Eigenschaft am besten für die
spezielle Applikation sind.
Kriterien zur Auswahl eines RTOS
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 16FPP, FPNFPP, FPN,
Timeslice,FPP, FPN, Timeslice,
FPP, FPN, Timeslice,
FPP, FPN, Timeslice,
FPP,FPN, Timeslicem, Benutzerdef.
FPP, FPN, Timeslice, FIFO
Scheduling
--CAN, Profibus,
Interbus S
CAN, Profibus
---Feldbus
TCP/IP-TCP/IPTCP/IPTCP/IP, UDP
TCP/IP, UDPTCP/IPNetzwerk
Windows-X-WinX-WinX-WinX-WinX-WinGUI
Windows-WindowsUnix, Windows
Unix, Windows
UnixUnix, Windows
Datei-system
C, C++, JavaCC, C++, Java
C, C++, Java
C, C++, Java
C, C++, Java, Ada
C, C++Sprachen
IA32, PowerPC, MIPS, ARM
Diverse Mikro-controller
IA32, PowerPC, 680XX
IA32, PowerPC, 680XX, div. Mirko-controller
IA32, PowerPC, ARM
IA32, IA64, PowerPC
IA32Zielsystem
EBSMEBSEBSEBSBAStandard für EBS, BA
DS, EBSTyp
MicrosoftCMX Systems
MicrowareWind RiverGPL (GNU Public License)
PosixQNX Software Systemes Ldt.
Hersteller
Windows CE
CMXOS-9VxWorksRT-LinuxPOSX.4QNXProdukt
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 17
7) Vorstellung eines Realzeitbetriebssystems
Beschreibung:• QNX basiert auf der Idee, den Großteil des Systems in Form kleiner
"Aufgaben" (Tasks) auch bekannt als Server, laufen zu lassen.• Dabei läuft jeder Task bzw. Prozess in einem eigenen, geschützten
Speicherbereich - egal ob es sich dabei um eine Applikation oder um einen Treiber handelt.
• Dies erleichtert Entwicklern die Fehlersuche: Versucht Prozess A versehentlich Daten oder Code von Prozess B zu überschreiben, merkt der QNX-Mikrokern dies sofort und gibt eine entsprechende Meldung aus.
• Im Falle QNX erlaubt der Mikrokern dem Nutzer (Entwickler), jegliche von ihm nicht benötigte Funktionalität (z. B. Audio, Grafik aber auch beliebige andere Systemteile) wegzulassen.
• Das System ist sehr klein und gilt als sehr schnell.• sehr fortschrittlich, speziell für den Entwickler, da das Betriebssystem an die
Bedürfnisse skalierbar ist.
Vorstellung von QNX
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 18
7) Vorstellung eines RealzeitbetriebssystemsQNX-Architektur
Das
ist
der
Des
kto
p v
on Q
NX
Der Browser namens Voyager von QNX
Der Editor namens PED von QNX
Der File-manager namens PFM von QNX
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 21
Werkzeugmaschine
• Der Begriff Werkzeugmaschine bezeichnet alle Maschinen, die zur Bearbeitung von Werkstücken mit Werkzeugen dienen.
• Zur Formgebung des Werkstücks erzeugt die Werkzeugmaschine eine Relativbewegung zwischen Werkzeug und Werkstück.
Universal- Werkzeugmaschine
(fräsen, bohren, drehen, stossen
und gravieren)
Historische Wälzfräsmaschine
(zur Zahnradherstellung)
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 22
Werkzeugmaschinensteuerungen
Eine elektronische Methode zur Steuerung und Regelung von Werkzeugmaschinen ist
eine Werkzeugmaschinensteuerung.
• NC – Numerical Control → Werden direkt durch NC-Befehle gesteuert
• CNC – Computer Numerical Control → Die Steuerung erfolgt über einen Computer
Siemens Sinumerik
Diese CNC kann als eine Steuerung für
unterschiedliche Werkzeugmaschinen der
Technologien Fräsen, Drehen, Schleifen,
Nibbeln, Stanzen, Handling, Blechumformung,
Zahnradbearbeitung etc. eingesetzt werden.
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 23
EchtzeitsystemWerkzeugmaschinensteuerungen
Eine NC/CNC realisiert eine Steuerung, bei der Art und Reihenfolge bestimmter
Fertigungsschritte für ein Werkstück in einem Programm festlegt.
→ Zur Steuerung ist deshalb ein Echtzeitsystem nötig.
- Es müssen viele Tasks zeitrichtig und parallel ausgeführt werden.
- Weiter muss überwacht werden, dass Achsen, einzelner Maschinen, nicht über
vordefinierte Grenzen hinaus bewegt werden.
CNC-Steuerungen haben zeitliche Auflösungen der Bewegungsregelung von
125 µs = 0,000125s
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 24
Softwarereferenzmodell einer NC
ServosteuerungAntrieb 1 … Antrieb n
Filesystem, Teilprogramme
Taskverwaltung
Tasksteuerung
Speicher-verwaltung
Netzwerke TCP/IP
Echtzeit-betriebssystem
Editor
Programmier-system
Bedienoberfläche
Visualisierung
LAN-Kommunikation
MMKMensch-
Maschine-Kommunikation
NC-Datenmanagment
Lokaler SpeicherInterpreterVorbereitungInterpolationTransformation
Kanal 1
Lageregler
.
.
.Kanal n
NCKNumerische Kersteuerung
SPS
Maschinenlogik
Betriebsarten
Schaltbefehle
Prozess – E / A
Aktoren, Sensoren
Gerätetreiber
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 25
NC - Systemprogramm
Pro
gram
mie
rung
Vis
ualis
ieru
ng
Bed
ieno
berf
läch
e
Kom
mun
ikat
ion
Inte
rpre
ter
SP
S
Vor
bere
itung
Inte
rpol
atio
n
Lage
rege
lung
Graphik Bibliothek
- GUI- Windows Oberfläche
Echtzeit-datenbank
z.B. für NC-Programme,Geometrie und Prozessdaten
...
Echtzeitbetriebssystem- Taskverwaltung, Intertaskkommunikation, Synchronisation, Scheduling, Speicherverwaltung- Filesystem für NC-Datenmanagment- Gerätetreiber: Interrupt, OMA, SCSI,…
NC-Sterungshardwareplattform- PC-Technologie: PCI-Bus,…- VME-Bus Automatisierungssystem- Embedded System: Mikrocontroller,...
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 26
Robotersteuerung
• Ein Industrieroboter ist eine universelle, programmierbare Maschine zur Handhabung, Montage oder Bearbeitung von Werkstücken. Diese Roboter sind für den Einsatz im industriellen Umfeld konzipiert.
• Jeder Industrieroboter hat eine Steuerung, die die Bewegungsabläufe regelt.
KUKA - IndustrieroboterVorne ein 6-Achs-Knickarmroboter, dahinter ein 4-Achs-Palettier-Roboter.
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 27
Robotersteuerung
• Für die Koordination der einzelnen Achsen zuständig.
• Hauptaufgabe, dass der Greiferflansch sich mit der gewünschten Genauigkeit und Geschwind- igkeit entlang der geforderte Bahn bewegt.
• Für die Verarbeitung der Sensorsignale am Greifer (Eingänge) und für die Greiferaktoren (Ausgänge) verantwortlich.
• Der gesamte applikationsspezifische Funktionsablauf der Roboterzelle muss verarbeitet werden (Ablauf zusammen mit den Förderbändern, etc).
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 28
Softwarereferenzmodell für eine RC
Roboter, ext. Achsen
Dateisystem
Task Manager
Task Kommunikation
SpeicherManager
Netzwerke
Betriebssystem
Aktoren, Sensoren
Gerätetreiber
Editor
Compiler
Interpreter
Sprachsystem
Bedienoberfläche
Befehlshandling
Benutzer
Benutzer-schnittstelle
Planung
Interpolation, Transformation
Bewegungs-steuerung
Interpolation, Transformation
Technologiesteuerung
SPS
Sensor-daten
Cond.Handl.
Zyklische E/A
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 29
Roboter-Softwarearchitektur
Kommunikationsschnittstelle
Windows NT
Scheduler
Echtzeitkern
Kom
mun
ikat
ions
schn
ittst
elle
Programm-entwicklungs-
tools
Grafische Benutzer-
schnittstelle
Steuerungs-programm-
ierung
Roboter-simulation
Hilfen
Sprach-system
Interpreter
Bewegungs-steuerung
TechnologieE/A, Interrupt
Sensordaten-verarbeitung
Feldbusse
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme 18.11.2008
Seite 30
Quellen
Internethttp://www4.informatik.uni-erlangen.de/Lehre/WS03/V_PA/Skript/stp1-pa-ws03-kapitel5.pdf
(Seiten 1-20 und 33-35)
http://www.itm.uni-luebeck.de/teaching/ws0607/bs/BS-WS0607-Kap06-BS-IO.pdf?lang=de
http://www.michael-prokop.at/computer/qnx.html
http://www.palettierroboter.com/index.html
http://www.wikipedia.org/
Bücher• Echtzeitsysteme von Heinz Wörn, Uwe Brinkschulte (Springer Verlag Berlin Heidelberg 2005)• Echtzeitsysteme „Grundlagen und Techniken“ von Dieter Zöbel, Wolfgang Albrecht
(Thomson Publishing GmbH 1995)