300 likes | 466 Views
7) Vorstellung eines Realzeitbetriebssystems. Inhaltsverzeichnis Betriebssysteme Definition Realzeitbetriebssystem Grundlagen des Datenzugriffs auf die E/A Komponenten Vorstellung verschiedener RTOS VxWorks Echtzeitsystem Werkzeugmaschinensteuerungen Echtzeitsystem Robotersteuerungen.
E N D
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
Einleitung für Betriebssystem 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.
Definitionen Betriebssystem 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
Eigenschaften eines Betriebssystems 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
Aufgabenfelder Betriebssysteme 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 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
Definition Realzeitbetriebssystem 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.
Aufgaben eines RTOS 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.
Aufbau eines Echtzeitsystems 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.
Hartes Echtzeitsystem 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
Weiches Echtzeitsystem 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
Grundlagen des Datenzugriffs 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.
Polling / Interrupts 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
Direct Memory Access 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
Kriterien zur Auswahl eines RTOS 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.
Produkt QNX POSX.4 RT-Linux VxWorks OS-9 CMX Windows CE Hersteller QNX Software Systemes Ldt. Posix GPL (GNU Public License) Wind River Microware CMX Systems Microsoft Typ DS, EBS Standard für EBS, BA BA EBS EBS MEBS EBS Zielsystem IA32 IA32, IA64, PowerPC IA32, PowerPC, ARM IA32, PowerPC, 680XX, div. Mirko-controller IA32, PowerPC, 680XX Diverse Mikro-controller IA32, PowerPC, MIPS, ARM Sprachen C, C++ C, C++, Java, Ada C, C++, Java C, C++, Java C, C++, Java C C, C++, Java Datei-system Unix, Windows Unix Unix, Windows Unix, Windows Windows - Windows GUI X-Win X-Win X-Win X-Win X-Win - Windows Netzwerk TCP/IP TCP/IP, UDP TCP/IP, UDP TCP/IP TCP/IP - TCP/IP Feldbus - - - CAN, Profibus CAN, Profibus, Interbus S - - Scheduling FPP, FPN, Timeslice, FIFO FPP,FPN, Timeslicem, Benutzerdef. FPP, FPN, Timeslice, FPP, FPN, Timeslice, FPP, FPN, Timeslice, FPP, FPN, Timeslice, FPP, FPN
Vorstellung von QNX 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.
QNX-Architektur 7) Vorstellung eines Realzeitbetriebssystems
Der Browser namens Voyager von QNX Der Editor namens PED von QNX Der File-manager namens PFM von QNX
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)
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.
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
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 - Industrieroboter Vorne ein 6-Achs-Knickarmroboter, dahinter ein 4-Achs-Palettier-Roboter.
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).
Quellen Internet http://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)