Studienarbeit im Fach Echtzeitsoftware
Thema: Betrachtung einer Abfüllanlage unter Echtzeitaspekten
Betreuer: Prof. Dr. Klüver
Abgabe am 16.6.2003
Daniel Bechteler daniel@bechteler.com
Florian Hergen
hergen@rz.fh-augsburg.de
Alexander Trepte smi@rz.fh-augsburg.de
0. Inhaltsverzeichnis
1. Was versteht man
unter einem Echtzeitsystem?
2. Vorgehensweise bei der
Systemauslegung
3. Projekt „Automatische Mischmaschine und Fülleinrichtung für einen Farbeimer
3.1.
Aufgabenbeschreibung des Projektes
3.2. Technischer Aufbau
4.
Überprüfung des Projektes auf Anwendung von Echtzeitsoftware
4.1. Zeiten
4.2.
Abfrageverhalten der Sensoren
4.3.
Informationsfluss bei Verfolgung eines Farbeimers
4.4. Anbindung an
das PPS-System
4.5. Verwendetes Echtzeitbetriebssystem – VxWorks
4.5.1
Allgemeines
4.5.2 Aufbau des
Echtzeitbetriebssystems VxWorks
4.5.3
Rohentwurf der Software zur Ansteuerung der Abfüllanlage
4.6. Verwendete Hardware
4.6.1 Die Hardware des
Echtzeitsystems
4.6.2 Kommunikation per CAN-Bus
4.7. Bewertung und Eigenschaften von Steuerstellen und Notwendigkeit von
Echtzeit
4.7.1
Mischkopf
4.7.2 Waage
4.7.3 Verpackung / Etikett /
Farbcode
4.7.4
Chaoslager
4.8. Fehlerbehandlung
5. Fazit
6. Anhang
6.1. Firmenadressen
6.2. Excel-Tabellen
1. Was versteht man unter einem Echtzeitsystem?
Ein Echtzeitsystem ist ein System, das ständig betriebsbereit ist und
rechtzeitig auf externe Ereignisse reagiert. Der wesentlichste Punkt für
Echtzeitsysteme ist die "rechtzeitige Reaktion"; "rechtzeitig" bedeutet in
diesem Fall, dass jeder Task eine bestimmte Zeitvorgabe hat, die so genannte "Deadline".
Hierbei muss unterschieden werden, ob ein Task beendet sein muss, wie zum
Beispiel in einer Flugzeugsteuerung, oder der Prozess noch nicht fertig sein
muss. Weitere charakteristische Merkmale neben der Rechtzeitigkeit sind:
- Kalkulierbarkeit
- Robustheit
- Fähigkeit für den Dauerbetrieb
- Lieferung sicherer Ergebnisse
- Kontrollierte Fehlerbearbeitung
Abstrakt betrachtet kann man sich ein Echtzeitsystem wie in Abbildung 1
vorstellen:

Das Echtzeitsystem ist von der Umgebung abgeschottet. In ihm lässt sich zum
einem eine horizontale Teilung zwischen Software und Hardware vornehmen, zum
andern eine vertikale Dreiteilung in Mikrocontroller, anwendungsspezifische
Hardwarekomponenten (ASIC) und Schnittstellen zwischen den einzelnen Komponenten
und zur Umgebung.
Das Prinzip eines Echtzeitsystems soll an einer Abfüllanlage demonstriert
werden. Hierzu zunächst die Vorgehensweise:
2. Vorgehensweise bei der Systemauslegung
Die Planung und Auslegung eines Echtzeitsystems verlangt ein systematisches
Vorgehen, da eine Vielzahl verschiedener Gesichtspunkte gleichzeitig
berücksichtigt werden müssen:
- Zuerst gilt es alle Einflussfaktoren und Betriebsvorgaben
zu identifizieren.
- Davon ausgehend werden Abhängigkeiten und
Eingriffsmöglichkeiten definiert.
- Das zu erstellende Echtzeitsystem bildet schließlich eine
Synthese aller Vorgaben.
Im konkreten Fall der Abfüllanlage wurde hierbei wie folgt
vorgegangen:
1. Systemanalyse
- Systemübersicht der Aufgabenbeschreibung als Ausgangspunkt
- Identifikation der Betriebsvorgaben / Parameter
- Analyse der Prozesse und Materialflüsse
- Bestimmung physikalischer Grenzen
2. Systemdefinition
- Festlegung der Steuerungseingriffe in Prozesse
- Definition nötiger Sensoren und Aktoren an den
Steuerstellen
- Beschreibung von Prozessabhängigkeiten untereinander
- Festlegung der zulässigen Antwortzeiten, Taktzeiten und
Systemlaufzeiten
- Ausarbeitung des nötigen Informationsflusses parallel zum
Materialfluss
3. Systembeschreibung (parallel zu 2.)
- Beschreibung des Gesamtsystems mit allen Abhängigkeiten in
der Prozesskette
- Textuelle Beschreibung des Gesamtsystems
- Visualisierung des Produktionsablaufs im Flussdiagramm
- Tabellarische Auflistung der Prozesse mit den zugehörigen
Zeiten
- Graphischer Überblick des Zeitablaufs
- Darstellung des farbeimerbezogenen Informationsflusses
- Erläuterung der Steuerstellen und der nötigen Sensoren und
Aktoren
4. Auslegung des Echtzeitsystems
- Festlegung auf eine bestimmte Echtzeitumgebung -> VxWorks
- Auswahl einer der Aufgabe entsprechenden, unterstützten
Hardwareplattform
- Definition der Schnittstellenanbindungen
- Einbeziehung von konkreten Überlegungen zur
Softwarerealisierung
3. Projekt „Automatische Mischmaschine und Fülleinrichtung für einen Farbeimer
3.1. Aufgabenbeschreibung
des Projektes

Abb. 2: Skizze Füllanlage
Drei Grundfarben „A“, „B“ und „C“ (siehe Skizze) sollen in einer Mischmaschine zu einem bestimmten Farbton vermischt werden. Um einen optimalen Mischzustand zu erreichen wird eine Heizung installiert. Die Temperatur der Farbe wird erfasst. Stimmen die Parameter überein, wird das Ventil für eine bestimmte Zeit geöffnet, damit ein Farbeimer gefüllt werden kann. Nach Beendigung des Füllvorgangs wird der volle Farbeimer zur Wiegestation weiterbewegt und dort gewogen. Stimmt das Gewicht mit dem voreingestelltem Wert überein, wird der Farbeimer in der nächsten Station verpackt, mit einem Strichcode versehen und im Chaoslager aufbewahrt, bis er versendet wird. Dabei ist zu beachten, dass der Farbeimer auch wieder aus dem Chaoslager herausgeholt werden muss.
Dieser gesamte Vorgang soll von einem Rechnersystem gesteuert
werden. Dabei soll unterschieden werden in Systeme, die unbedingt in Echtzeit
angesteuert werden müssen, und in Systeme, die mit normaler Software angesteuert
werden können. Einen detaillierteren Überblick über die verschiedenen Prozesse
liefert folgende Abbildung:

schematische Darstellung der Prozessstruktur
(auch als EPS-Postscript oder
Visio Datei)
Die drei Grundfarben werden in drei Vorratsbehälter aufbewahrt. Der jeweilige
Füllstand wird von kapazitiven Sensoren an den Verarbeitungsrechner übergeben.
Sinkt ein Füllstand unter ein bestimmtes Niveau, so wird sofort die jeweilige
Farbe nachgefüllt. Der gewünschte Farbton, der vom PPS-Server übermittelt wird,
wird über die Ventilsteuerung der Grundfarben geregelt.
Über ein Rohrsystem gelangen sie in den Mischraum, der ein Fassungsvolumen von
15000 Litern besitzt. In dem Mischer befinden sich zum Vermischen ein Rührer
sowie die Heizspirale. Die Temperatur wird über einen Sensor ausgelesen. Im
Mischer ist ebenfalls ein Füllstandssensor angebracht, damit rechtzeitig Farbe
neu gemischt werden kann, um eine längere Unterbrechung des Füllvorgangs zu
vermeiden. Wird über den PPS-Server ein neuer Farbton vorgegeben, so wird
zunächst die alte Farbe entfernt und der Mischer gereinigt, um Verunreinigungen
der neuen Farbe zu vermeiden.
Die Füllzeit, während der das Füllventil geöffnet wird, ist für die jeweilige
Eimergröße konstant. Ebenso die Zeit, in der das Ventil geschlossen beleiben
muss, damit der nächste Eimer in die richtige Füllposition gebracht werden kann.
Die richtige Position wird von einer Lichtschranke überwacht. Nach Beendigung
des Füllvorgangs wird der volle Farbeimer mittels eines Förderbands von fünf
Metern Länge zur Wiegestation gefahren.
An der Waage sind rotierende Rollen angebracht, die den Farbeimer von dem
Förderband auf die Waage ziehen. Danach werden die Rollen angehalten und der
Wiegeprozess wird vorgenommen. Der Istwert wird mit dem Sollwert verglichen. Bei
Abweichungen, die über bestimmte Toleranzwerte hinausgehen, ist der Farbeimer
Ausschuss. In diesem Fall drückt langsam, damit die Farbe nicht herausspritzt,
ein Pneumatikzylinder den "Ausschusseimer" vom Förderband hinunter. Ist das
Gewicht in Ordnung fangen die Rollen wieder an, sich zu bewegen und schieben
dadurch den Farbeimer auf das nächste Förderband. Nach diesen zwei Metern
befindet sich der Farbeimer in der Verpackungsvorrichtung. An dieser Station
werden folgende Vorgänge durchgeführt:
- Dem Farbeimer wird der Deckel aufgedrückt.
- Der Farbeimer wird mit einem Etikett beklebt, welches
folgenden Informationen besitzt:
Farbqualität, Verarbeitungshinweise, Farbe
- Der Farbeimer bekommt eine Farbmarkierung, die visuellen
Aufschluss über die enthaltene Farbe gibt.
- Der Strichcode wird angebracht. Dieser Barcode enthält in
binärer Form u.a. folgende Informationen:
Farbe, Farbmenge, Qualität. Diese Informationen
wurden über die verschiedenen Sensoren am Rechner
verarbeitet und in binärer Form umgewandelt.
Anschließend leitet ein Förderband abhängig von der Nachfrage den Eimer entweder
sofort in den Versand oder in das Chaoslager. Im Chaoslager wird zunächst der
Strichcode mit einem Identifiaktionssystem eingelesen. Danach werden dieser
Strichcode und die Lagerposition in einer Datenbank vom PPS-Server hinterlegt,
damit im Bedarfsfall der Farbeimer schnell in den Versand befördert werden kann.
Sämtliche Förderbänder bewegen sich mit einer Geschwindigkeit von 0,2 m/s. Die
Geschwindigkeit muss deswegen so gering bleiben, damit zum einem das
Identifiaktionssystem CIS3-IBS bei einem vom Hersteller fest vorgegebenen
maximalen Leseabstand zwischen Farbeimer und Identifikationssystem von acht
Millimetern den Strichcode einlesen kann, und zum anderen die Farbe des noch
geöffneten Farbeimers nicht herausschwappt.
Die einzelnen Fertigungskomponenten kommunizieren mittels Feldbus untereinander.
Bei der Verwirklichung des Echtzeitsystems muss darauf geachtet werden, dass
neben des korrekten Ablaufs der Prozesskette die Kommunikation ebenfalls in der
richtigen Reihenfolge durchgeführt wird. Dazu müssen Prioritäten festgelegt
werden.
|
Weg |
Länge s |
Zeit t = s/v |
| Füllung Farbeimer => Waage | 5 m (Spritzschutz) | 25 s |
| Waage => Verpackung | 2 m | 10 s |
| Verpackung => Strichcode | Innerhalb der Verpackung | 0 s |
| Strichcode => Chaoslager | 10 m | 50 s |
Zeitsumme für Weg |
85 s |
Tabelle 1: Länge der Förderbänder mit Wegdauer
4.
Überprüfung des Projektes auf Anwendung von Echtzeitsoftware
4.1. Zeiten
Einen genauen Überblick über die verschiedenen Zeiten des jeweiligen Prozesses
geben die Tabellen (siehe Anhang 6.2) sowie das Diagramm 1.
Dabei gibt es verschiedene Zeiten:
|
Reales System: |
Rechnersystem: |
|
- Zulässige Antwortzeit tZ |
- Reaktionszeit tR |
In diesem Zeitdiagramm ist der "worst case" angesetzt. Dies ergibt eine Zeit von
242,1 Sekunden. Dazu wird noch die reine Rechenzeit von 7,7 Sekunden
hinzuaddiert. Dies ergibt eine maximale Dauer von rund 250 Sekunden für einen
gefüllten Eimer. Darin enthalten sind:
- Farbton in Mischer einlesen 0,3 Sekunden
- Altfarbe entfernen und Mischer reinigen 6,2 Sekunden
- Neue Farbe mischen 123,4 Sekunden
Damit laufen bei gleicher Farbe der "normale" Füllprozess sowie die
Weiterverarbeitung eines Eimers um rund 130 Sekunden schneller ab. Ein Eimer
wird also bei den gegebenen technischen Bedingungen alle 120 Sekunden in das
Chaoslager eingelagert.
Die Bedingung:
max(tr) + max(tb) = max(tA) < min (tz) = min(tp) – max(ts)
für einen sicheren Betrieb ist erfüllt. Diese Zeiten sind leider technisch
vorgegeben. Des Weiteren ist es sichergestellt, dass sämtlichen möglichen
Fehlerfälle – seien es Zeitfehler oder Hardwarefehler – mittels der
Sensorabfrage erkannt wird und im Fehlerfall der nachfolgende Prozess sofort
gestoppt und eine Alarmmeldung ausgegeben wird.

Diagramm 1: zeitlicher Ablauf der einzelnen Prozesse
(auch als EPS-Postscript (1,2)
oder Visio (1,2)
Dateien)
Lange Bearbeitungszeiten, wie in diesem Fall der Mischprozess, sind normalerweise in der Echtzeit unerwünscht und sollten durch die Verwendung eines Extra-Rechner vermieden werden, in diesem Fall jedoch wird der Echtzeitrechner verwendet, da es zum einem nur ein langer Prozess ist, und zum anderen der Echtzeitrechner nicht ausgelastet ist.
4.2.
Abfrageverhalten der Sensoren
Sämtliche Sensoren werden nach einem festen Zeitraster abgefragt. Dabei ist die
jeweilige Zeit von dem einzelnen Sensor abhängig. Weitere Vorteile gegenüber den
anderen Systemen wie z. B: Polling und Interrupte, sind:
- Gute Kalkulierbarkeit aufgrund der
vorgegebenen Größen
- Gut geeignet für lange Prozesse
- Gut verwaltbar durch den Administrator
- Leicht realisierbar
Um zu verhindern, dass bei der Verwendung der festen Zeitscheiben ein Ereignis
verloren geht, werden die Ereignisse mittels eines Counters mitgezählt.
| Sensor |
Abfragezeit [s]: alle
|
Dauer der Abfrage [s] |
Erklärung |
| Füllstand-Sensor A, B, C | 3600 (binär) | Jeweils 0,1 | Da die Vorratsbehälter genügend groß sind, genügt es, den jeweiligen Füllstand nur alle 60 Minuten abzufragen |
| Temperatursensor | 5 (analog) | 0,1 | Die Temperaturveränderung findet langsam und homogen statt. Dadurch langt eine Abfragerate von 5 Sekunden |
| Füllstand Mischer | 1000 (binär) | 0,1 | Die Abtastrate ist abhängig von der Eimergröße; hier: Eimervolumen von 20 Litern; damit sind 750 Füllungen möglich; mit rund 6 Sekunden / Füllung ergibt sich ein Zeitrahmen von 4500 Sekunden; zur Sicherheit wird alle 1000 Sekunden der Füllstand eingelesen |
| Lichtschranke für richtige Position unter Füllvorrichtung | 0,5 (binär) | 0,1 | Um sicherzugehen, dass der Eimer in der richtigen Position ist und keine Farbe daneben läuft, wird die Abtastrate hoch angesetzt |
| Timer | Sobald Mischventil = auf (analog) | 6 | |
| Waage | Sobald Eimer auf Waage steht (analog) | 1,3 | Wiegevorgang startet, wenn Druck ausgeübt wird |
| Lichtschranke für richtige Position bei Verpackungs-vorrichtung | 0,5 (binär) | 0,1 | Um sicherzugehen, dass der Eimer in der richtigen Position ist wird eine hohe Abtastrate angesetzt |
Tabelle 2: Verhalten der wichtigsten Sensoren und Aktoren
4.3.
Informationsfluss bei Verfolgung eines Farbeimers

Abb. 4: Überblick Informationsfluss
(auch als EPS-Postscript oder
Visio Datei)
Wie in der Übersicht (Abbildung 4) dargestellt, sammeln sich im
Laufe des Produktionsfortschritts von Station zu Station immer mehr
Informationen an, welche jeweils mit einem Farbeimer verbunden sind.
Hierfür gibt es zwei Informationsebenen:
- Einmal die reale Ebene von Informationen, welche direkt auf
dem Farbeimer selbst angebracht sind
(Barcodes und Etikett).
- Zum anderen die virtuelle Ebene, welche ein Abbild der
Farbeimereigenschaften im Rechnersystem darstellt.
Eine exakte, gegenseitige Zuordnung dieser beiden Ebenen wird hierbei über die
Verwendung von Barcodes realisiert (auch andere Verfahren wie eine
fehleranfälligere Reihenfolgenzuordnung wären möglich).
Über Barcodes lässt sich jedoch nicht nur eine automatisierbare,
computergestützte Identifizierbarkeit und Zuordnung erreichen, sondern auch
Informationen selbst lassen sich in komplexeren Barcodes ablegen. So kann der
Prozessbarcode in maschinenlesbarer Form alle Prozessinformationen enthalten,
welche bis zur Verpackung des Farbeimers angefallen sind.
Dies ist besonders für Kunden hilfreich, da diese keinen Zugriff auf unser
Rechnersystem haben.
Mit jedem realen Farbeimer sind demnach über Zuordnung bzw. Prozessbarcode
folgende Eigenschaften verbunden:
- Aktueller Auftrag
- Farbton
- Farbart
- Füllmenge
- Mischung i.O. / n.i.O
- Abfüllung i.O. / n.i.O
- Zeit & Datum
- Abfüllnummer
- Eimerbarcode (Identifikation)
- Gewicht i.O. / n.i.O
- Prozessbarcode (Identifikation)
- Lagerplatz (über PPS Zuordnung)
- Palettennummer (über PPS Zuordnung)
Im Rechnersystem sind diese Eigenschaften dabei jeweils in Form eines Datensatzes in einer Datenbank abgelegt, welche als Schlüssel den Eimerbarcode verwendet. Es ist hier jedoch anzumerken, dass im Echtzeitsystem für den Produktionsprozess nur eine einfache Datenbankstruktur mit wenigen Einträgen benötigt wird. Erst mit Übergabe der Eimer an das Chaoslager werden auch die Datensätze an eine ausgewachsene Datenbank im PPS-System übergeben, und können aus dem Echtzeitsystem gelöscht werden.
4.4. Anbindung an
das PPS-System
Ausgangs- und Endpunkt des Informationsflusses im Produktionsablauf ist das
PPS-System.
a.) Produktionsvorgabe
Am Ausgangspunkt wird die Disposition mit dem PPS-System vorgenommen.
Hier werden die Produktionsaufträge entsprechend einer optimalen Ausnutzung der
Anlage zusammengestellt. Jeder Auftrag umfasst dabei:
- die Anzahl der abzufüllenden Farbeimer,
- den Farbton,
- die Farbart
- und die Eimerfüllmenge.
Diese Daten werden dann, bei signalisierter Bereitschaft der Fertigungsanlage,
über eine Schnittstelle zur Auftragsbearbeitung an das Echtzeitsystem der Anlage
übergeben.
Die Interpretation und selbstständige Ausführung des Auftrags übernimmt nun das
Echtzeitsystem.
b.) Produktionsergebnis
Am Endpunkt werden die Datensätze der verpackten und ggf. palettierten Farbeimer
aus dem Echtzeitsystem, Eimer für Eimer, an die Datenbank des PPS-Systems
übergeben.
Nun kann das PPS-System unter anderem folgende Aufgaben übernehmen:
- Einlagerung der Produkte in das Chaoslager
- Abgleich der Produktionsvorgabe zum Produktionsergebnis
- Auslieferung der Produkte an die Kunden
- und Speicherung der Produktionsdaten zur späteren
Rückverfolgung.
Dadurch, dass man die Lagerhaltung im PPS-System und nicht mehr im
Echtzeitrechner realisiert, erhält man einige Vorteile:
- der Echtzeitrechner wird stark entlastet
- Geschäftsprozesse und Produktionsprozesse laufen getrennt
ab
- komfortable und leistungsfähige Datenbanksysteme können
eingesetzt werden
- die Daten können ohne Umwege weiterverarbeitet werden
4.5. Verwendetes Echtzeitbetriebssystem – VxWorks
4.5.1 Allgemeines
Ein Echtzeitbetriebssytem soll Zugriff auf die Hardwareschicht ermöglichen und
es Softwareentwicklern erlauben, plattformunabhängig echtzeitfähige
Applikationen zu programmieren. An ein Echtzeitbetriebssystem werden folgende
Anforderungen gestellt:
| - | Neben der Multitaskfähigkeit ist ein
gutes Taskverhalten notwendig: dazu gehört, dass das Betriebssystem
Taskprioritäten setzen kann und gegebenenfalls einen laufende Task wegen
eines Tasks mit einer höheren Priorität unterbrechen kann. Damit muss
ebenfalls "Priority Inheritance" vorhanden sein (siehe Anhang 6.2). |
||||||
| - | Garantierung von vorhersagbaren
Antwortzeiten: dabei muss bekannt sein, wie lang ein Task ist, wann er
ausgeführt wird und wie sich das Betriebssystem verhält. |
||||||
| - | Zeitliche Systemverhalten muss bekannt
sein: d.h., dass der für Echtzeitanwendungen zuständige Softwareentwickler
alle Zeiten, die das Betriebssystem benötigt, genau kennen muss. Aus diesem
Grund sollten folgende Angaben von dem verwendetem Echtzeitbetriebssystem in
Verbindung mit der verwendeten Hardware bekannt sein:
|
||||||
| - | Einsatz in Systemen mit begrenzten
Ressourcen => Speichermanagement |
||||||
| - | Verwendung von Standardschnittstellen |
||||||
| - |
Kommunikationsfähigkeit mit
nicht-echtzeitfähigen Systemen |
||||||
| - | Verfügbarkeit auf unterschiedlichen
Prozessorarchitekturen |
Aufgrund der Kompatibilität der Hardware mit dieser Software
und der Vorteile, auf die im nachfolgendem noch eingegangen wird, fiel die Wahl
für das Echtzeitbetriebsystems auf VxWorks.
Vorteile VxWorks:
Alle Dienste befinden sich auf der Taskebene und nicht auf der Kernebene. Diese
Anordnung erweist sich als vorteilhaft, weil dadurch die Belastung der Kernebene
gering gehalten werden kann. Des Weiteren sprechen folgende Punkte für VxWorks:
- Kommerzielles Produkt
- Hohe Zuverlässigkeit
- Geringer Speicherbedarf
- Sehr flexibel
- Sehr viele Anwenderprogramme
4.5.2 Aufbau des Echtzeitbetriebssystems VxWorks
VxWorks ist ein Echtzeitsystem mit Unix-Funktionalität und basiert auf einer
Microkernel-Architektur (Nicht-Unix-Kern) mit zusätzlichen Bibliotheken. Es ist
geeignet für den universellen Einsatz. Die Abbildung 5 zeigt den schematischen
Aufbau des Betriebsystems. Echtzeitsysteme werden im Allgemeinen so entwickelt,
dass sie durch den Anwender konfigurierbar sind.

Abb. 5: Schematischer Aufbau von VxWorks
- Das Laufzeitsystem
Die Basis von VxWorks ist der "wind"-Kernel. Durch diesen Kernel werden eine
Multitasking-Umgebung und Interprozess-Kommunikationsmechanismen Verfügung
gestellt. Sämtliche andere Betriebssystemaufgaben werden auf die Taskebene
verlagert. Eine wichtige Aufgabe des Kerns besteht in der Bereitstellung einer
Umgebung zur Verwaltung paralleler Tasks. Die Aufgabe des Echtzeit-Kernels ist
es, den verschiedenen Tasks CPU zuzuteilen. Der "wind"-Kernel realisiert dies im
Gegensatz zu Unix-Systemen mit einem prioritätsbasierten, preemptiven Scheduling.
Insgesamt stehen 256 Prioritätsstufen zur Verfügung, auf der jeweils beliebig
viele Tasks existieren können.
- Das Input / Output – System
Für eingebettete Systeme ist der Zugriff auf Hardwarekomponenten sehr wichtig.
Unter dem Echtzeitbetriebssystem VxWorks kann der Speicherraum direkt adressiert
werden; somit kann unmittelbar auf die Hardware zugegriffen werden. Das
ermöglicht eine Verwaltung extrem zeitkritischer Hardwarekomponenten. Darüber
hinaus stellt VxWorks ein komplettes Unix-kompatibles I/O-System zur Verfügung.
Treiber können so nach bekannten Mechanismen in das System - sogar dynamisch
während der Laufzeit - implementiert werden.
- Die Kommunikations-Anbindung
Da Echtzeitsysteme immer mehr Teile von komplexen Systemen sind, spielt die
Kommunikation eine wichtige Rolle. VxWorks stellt
Standard-Unix-Kommunikationsprotokolle zur Verfügung.
- Die Entwicklungswerkzeuge
Um echtzeitfähige Anwendungen entwickeln zu können sind entsprechende
Entwicklungswerkzeuge notwendig. Das Cross-Entwicklungspaket Tornado für VxWorks
ist auf die speziellen Anforderungen der Software-Entwicklung für
Echtzeitsysteme zugeschnitten. Auf einem leistungsfähigen Entwicklungsrechner
(z.B. Unix-Rechner) läuft die Programmentwicklung mit ihren Phasen wie z.B.
Codierung, Kompilierung oder Debugging ab.
In VxWorks kann entweder der GNU-C bzw. C++-Compiler zum Einsatz kommen. Ein
Cross-Debugger (GNU-GDB) ermöglicht Source-Level-Debugging. VxWorks bietet über
eine Shell auf dem Entwicklungsrechner einen interaktiven Zugriff auf den
Target-Rechner (siehe Abb. 6).

Abb. 6: Konzept der Cross-Entwicklung
4.5.3
Rohentwurf der Software zur Ansteuerung der Abfüllanlage
Wie in Kapitel 4.5.2 unter Entwicklungswerkzeuge nachzulesen ist gibt es mehrere
Möglichkeiten unter VxWorks die Software zu programmieren. Nachfolgendes
Flussdiagramm gibt einen groben Überblick, welche Informationen in welcher
Reihenfolge bearbeitet werden müssen:

Diagramm 2: Flussdiagramm der Software
(auch als EPS-Postscript (1,2)
oder Visio (1,2)
Dateien)
4.6. Verwendete Hardware
4.6.1 Die Hardware des
Echtzeitsystems
a) Allgemeine Betrachtung
Die Hardware des Echtzeitsystems wurde in Form eines embedded
Mikrokomputersystems für VxWorks realisiert. Da diese Systeme schon konstruktiv
auf einen Echtzeitbetrieb im Industrieumfeld ausgelegt sind, bieten sich etwa
gegenüber UNIX-Standardrechnern folgende Vorteile:
- explizit auf Echtzeitbetrieb ausgelegte Hardware
- gute Kalkulierbarkeit des Systemverhaltens
- hohe Systemstabilität durch schlanke und dadurch robuste
Systeme
- direkte Integration industrieller Peripherieschnittstellen
(Feldbusse)
- längere Produktlebenszyklen und damit bessere
Ersatzteilverfügbarkeit
- geringere Preise gegenüber universellen Komplettsystemen
- geringe Baugröße und zur Installation in Schaltschränke
geeignete Formfaktoren
Hinzu kommt, dass heute selbst in Mikrokomputersystemen leistungsfähige
Prozessoren zum Einsatz kommen, sodass neben Rechtzeitigkeit und Dauerbetrieb
auch sehr schnelle Antwort- und Bearbeitungszeiten realisierbar sind.
b) Konkrete Hardware
Bei der für die Farbabfüllanlage beispielhaft ausgewählten Hardware handelt es
sich um das folgende embedded PowerPC System „CPCI-405“ der Firma
esd electronic system:

Abb. 7: Embedded PowerPC System
Die Auswahl dieses Systems erfolgte hierbei unter den oben genannten
Gesichtspunkten anhand folgender Spezifikationen des „CPCI-405“:
- Power PC IBM 405GP, 375MIPS, 200 MHz
- CompactPCI Bussystem
- Bis zu 64 Mbyte RAM
- 10 und 100 Mbit/s Ethernet
- Bis zu zwei CAN-BUS und/oder DeviceNet Schnittstellen
- CompactFlash Kartenadapter
- Mögliche Betriebssysteme: VxWorks oder Linux
Von diesen Punkten war besonders die Unterstützung von VxWorks, das
Vorhandensein von integrierten CAN-BUS Schnittstellen, und die Verfügbarkeit
über eine in Deutschland ansässige Firma ausschlaggebend.
Über den CAN-BUS können hierbei alle Sensoren, Aktoren und
Benutzerschnittstellen an das System angebunden werden. Eine graphische
Visualisierung des Prozessablaufs kann dabei ggf. auch über eine compactPCI
Graphikkarte auf einem TFT-Bildschirm erfolgen.
Die Verbindung zum PPS-System erfolgt schließlich über die
Ethernetschnittstelle.
Unter Annahme einer weit mehr als ausreichend hohen Rechenleistung, erfüllt
somit das vorliegende Echtzeitsystem alle Anforderungen welche das Gesamtsystem
Farbabfüllanlage an es stellt.
4.6.2 Kommunikation
per CAN-Bus
Signale sollen grundsätzlich rechtzeitig anliegen, d.h. früh genug um einen
Schaden zu verhindern.
Daher werden alle Signale, die zwischen Abfüllung und Übergabe des Farbeimers
ans Chaoslager von einem Prozessleitrechner gesteuert, der mit einem
Echtzeitsystem ausgestattet ist. Die Sensoren und Aktoren der Herstellungskette
werden über einen Feldbus und Buskoppler an allen Stationen an den
Prozessleitrechner angeschlossen.
Eingesetzt wird der CAN-Bus, er bietet folgende Vorteile:
| - | Echtzeitfähig |
| - | Da die Daten bei CAN priorisiert werden und ein echtzeitfähiges Zugriffsverfahren verwendet wird, kann eine maximale Latenzzeit für die am höchsten priorisierten Daten angegeben werden. |
| - | Priorisierte Daten |
| - | Hohe Übertragungssicherheit |
| - | Datenrate bis zu 125 kBit/s bei bis zu 500 m Entfernung (realistisch für Automatisierung) |
| - | Kosten für Hardware relativ niedrig, da weit verbreitet |
| - | Großes Angebot an PC-Karten, Buskopplern, Zubehör |
| - | Mit diesen PC-Karten und Buskopplern
kann die Verbindung zwischen der Echtzeitsoftware und den Sensoren und
Aktoren in der Abfüllanlage hergestellt werden. ( z.B.: http://www.beckhoff.de/german/fieldbus/default.htm ) |

Abb. 8: CAN-Bus-Modul
Nachteil des CAN-Busses:
- es können pro Datenpaket nur 8 Byte Nutzdaten versendet werden
Dies ist im Rahmen dieser Studienarbeit allerdings ausreichend, da nur einfache Sensoren und Aktoren angesprochen werden.
4.7. Bewertung und Eigenschaften von Steuerstellen und Notwendigkeit von
Echtzeit
4.7.1 Mischkopf
Beteiligte Sensoren:
| Eimer in Position, wenn ja: Eimer füllen | Digitales Signal (binär) |
| Füllstand im Mischkopf | Analoges Signal |
| Eimer auf Förderband (Abtransport), wenn ja: neuer Eimer | Digitales Signal (binär) |
Beteiligte Aktoren:
Ausfluss der Farbe aus Mischkopf -> Magnetventil
| - | Das Magnetventil wird voll geöffnet |
| - | Zeit, die die Farbe benötigt um den Eimer zu füllen ist bekannt (incl. Zeit für öffnen und schließen des Magnetventils) |
| - | evtl. entstehender Ausschuss wird an der Waage festgestellt |
| - | bei Wechsel des Farbtons wird der Mischkopf zunächst vollständig entleert, gereinigt und die ersten Liter des neuen Farbtons werden abgelassen (Auslassventil wird manuell geschlossen, sobald der neue Farbton erreicht ist ) |
Zufluss der Farbe aus Tanks in Mischkopf ->
Magnetventil
| - | Magnetventile der Farbtanks werden abhängig von der gewünschten Farbe unterschiedlich lang geöffnet |
| - | Magnetventile werden grundsätzlich voll geöffnet |
| - | Zeit, die je Magnetventil benötigt wird, um die gewünschte Farbe einzustellen ist bekannt (incl. Zeit für öffnen und schließen des Magnetventils) |
| - | wenn im Mischkopf ein bestimmter Füllstand unterschritten wird, wird eine festgelegte Menge Farbe neu gemischt |
Ist hier Echtzeit notwendig?
Echtzeitsystem unbedingt nötig, da der Farbeimer überläuft, bzw. Farbe
„verschenkt“ wird, wenn das Ventil am Ausfluss nicht rechtzeitig schließt.
Beteiligte Sensoren:
| Eimer am Ende des Förderbandes (zur
Waage hin) -> wenn ja: Transportrollen einschalten |
Digitales Signal (binär) |
| Eimer in Position für Wiegen | Digitales Signal (binär) |
| Waage, Spannungswert proportional zum
Gewicht des Eimers -> wenn Wert erhalten: Eimer abtransportieren |
Analoges Signal |
| Eimer auf Förderband (Abtransport) -> wenn ja: neuer Eimer |
Digitales Signal (binär) |
Beteiligte Aktoren:
Antriebe für Transportrollen für Eimer auf Waage ->
AC – Motor (f-gesteuert)
| - | einschalten, wenn erster Eimer vor der Waage steht |
| - | abschalten, wenn Eimer in Position für Wiegen |
| - | einschalten, wenn Wert für Gewicht vom Prozessleitrechner erhalten wurde (Bestätigung nötig) |
| - | wenn noch ein Eimer auf dem Weg zur
Waage ist, bleiben die Transportrollen eingeschaltet f-Steuerung über f-Umrichter, Ansteuerung über Prozessleitrechner |
Weiche für Ausschuss:
| - | wenn Gewicht nicht innerhalb der Toleranzen, wird der Eimer auf das Förderband für den Ausschuss gelenkt |
Ist hier Echtzeit notwendig?
An dieser Station könnte auf ein Echtzeitsystem verzichtet werden, da lediglich
festgestellt werden muss, ob die Füllmenge im Farbeimer innerhalb der
festgesetzten Toleranzen liegt. Das Wiegen erfordert keine hochgenaue zeitliche
Steuerung, muss aber trotzdem in einem bestimmten Zeitfenster innerhalb der
Gesamtzeit für einen Eimerdurchlauf durch die Abfüllanlage erfolgen, um den
Fertigungsprozess nicht zu verzögern. Deswegen bietet sich die Steuerung auch
dieser Station über das Echtzeitsystem an. Es weiß bereits, wann der nächste
Eimer zum Wiegen kommt und wann der Eimer, der sich zur Zeit auf der Waage
befindet, abgeschickt werden kann, um keinen Stau auf dem Förderband zu
produzieren.
Außerdem muss so nicht für eine einzige Station ein zweites Rechnersystem
angeschafft werden, wenn das Wiegen ebenfalls vom Echtzeitsystem gesteuert wird.
Dies bietet weiterhin den Vorteil, dass der Messwert zu einer kalkulierbaren
Zeit an der Verpackungsstation zur Verfügung steht. Dort müssen noch die
Etiketten mit dem Barcode, der unter anderem die im Eimer enthaltene Farbmenge
angibt, passend zum jeweils zu verpackenden Farbeimer gedruckt werden. Hierbei
sind kalkulierbare Zeiten, zu denen alle für den Druck benötigten Daten zur
Verfügung stehen, unentbehrlich.
| - | Signal von Positionserfassung des Eimers kann von SPS schnell genug ausgewertet werden |
| - | falls SPS kurzzeitig zu langsam reagiert, steht der Eimer etwas schief auf der Waage (kann durch großen Durchmesser des Wägetisches kompensiert werden) |
| - | Eimer erst weiterschicken, wenn vorletzter Eimer verpackt wurde (Stau vermeiden) |
4.7.3
Verpackung / Etikett / Farbcode
Beteiligte Sensoren:
| Eimer an Verpackungsstation -> wenn ja: Eimerträger pneumatisch anheben -> Förderband läuft weiter |
Digitales Signal (binär) |
| Eimer in Position (Eimerträger oben) | Digitales Signal (binär) |
| Etiketten (Barcode, Farbton) bereit (bedruckt, im Applizierer) | Digitales Signal (binär) |
| Deckel in Verpackungsmaschine -> wenn letzte drei Forderungen erfüllt: Verpacken |
Digitales Signal (binär) |
| Wegsensoren (kleiner Endschalter o. ä.)
für Positionierantriebe -> wenn Eimer erreicht: Signal an Steuerung |
Digitales Signal (binär) |
| Anpresswerkzeug für Deckel und für
Etiketten in Position -> wenn ja: Eimer drehen, dabei werden Etiketten festgedrücktund -> der Deckel dicht verschlossen |
Digitales Signal (binär) |
| Eimerträger unten (zur Kontrolle für Steuerung) | Digitales Signal (binär) |
Beteiligte Aktoren:
Positionierantriebe für Etiketten
| - | zum Eimer führen wenn Freigabe durch Steuerung erfolgt |
| - | nach etikettieren zum Vorratsbehälter |
Vakuumgreifer für Etiketten und Deckel
| - | Wege von den Greifern zum Eimer sind bekannt |
| - | wenn Positionierantrieb am Eimer angekommen: Etiketten aufdrücken, Deckel auflegen |
Anpresswerkzeug für Deckel (Dosenöffner umgekehrt)
Pneumatische Hebevorrichtung für Eimerträger
Ist hier Echtzeit notwendig?
Ein Echtzeitsystem ist an dieser Station unentbehrlich, da die Etiketten noch
mit einem Barcode bedruckt werden müssen. Dieser Barcode enthält Daten aus dem
Herstellungsprozess, daher muss sichergestellt sein, dass alle benötigten Daten
zum Zeitpunkt des Drucks an der Station vorliegen. Es sind also kalkulierbare
Zeiten nötig; statistische Aussagen darüber, ob ein Messwert vorliegt oder
nicht, sind hier nicht dienlich.
Beteiligte Sensoren:
| Eimer an Ende des Förderbandes -> wenn ja, Übergabe des Eimers an Lagersteuerung -> zum Eimer gehörige Daten werden ans PPS-System übergeben |
Digitales Signal (binär) |
Beteiligte Aktoren:
Förderzeuge in Chaoslager
Ist hier Echtzeit notwendig?
Hier endet der „Verantwortungsbereich“ des Echtzeitsystems. Die noch im
Echtzeitsystem hinterlegten Daten zum jeweiligen Farbeimer werden an dieser
Station an das PPS-System übergeben.
| Mögliche Fehler |
Feststellende Station
/ Sensor |
Maßnahmen |
| Es kommt kein Eimer | Mischer / Lichtschranke vor Station |
|
| Mischventil öffnet nicht (es fließt keine Farbe aus dem Mischkopf in den Eimer) | Mischer/ Füllstandsensor |
|
| Mischventil schließt nicht | Mischer/ Füllstandsensor |
|
| Füllung des Eimers nicht im Toleranzbereich | Waage / Waage |
|
| Deckel bzw. Etikett aufgebraucht | Verpackung |
|
| Daten für Etikett nicht vorhanden | Verpackung / Echtzeitsystem |
|
| Eimer in falscher Position | Alle Stationen / Positionsgeber in Station |
|
| Zwei Eimer gleichzeitig an einer Station | Alle Stationen / Lichtschranke vor der Station |
|
| Eimer fährt nicht aus Station aus | Alle Stationen / Lichtschranke nach der Station |
|
| Förderband läuft nicht an | Motor Förderband / Drehzahlgeber |
|
Tabelle 3: Mögliche Fehler und Gegenmaßnahmen
5. Fazit
Echtzeitsysteme und komplexe industrielle Automatisierung gehören zusammen. Dies
zeigt die Entwurfsausarbeitung für die betrachtete Farbabfüllanlage deutlich.
Die gegebene Vielzahl von genau aufeinander abgestimmten, zeitlichen
Funktionsabläufen, verlangt hierbei nach einem deterministischen System zu deren
Kontrolle und Steuerung. Nur ein Echtzeitsystem kann diese Aufgabe übernehmen,
indem es eine jederzeit rechtzeitige Reaktion bzw. Aktion garantiert.
Die Auslegung der Farbabfüllanlage verlangte deshalb neben
Funktionalitätsbetrachtungen einen besonderen Augenmerk auf alle Zeitaspekte.
Kein Prozess ist mehr ohne seine zeitliche Einbindung betrachtbar, welches große
Auswirkungen auf alle Bereiche des Gesamtsystementwurfs hat. Hierin liegt auch
der stark gesteigerte Aufwand für die Erstellung eines Echtzeitsystems
begründet, wobei sich diese Investition durch die Effizienz einer
hochautomatisierten und dennoch flexiblen Fertigungsanlage schnell wieder
bezahlt macht.
Es ist demnach erst die genaue Beherrschung des Faktors Zeit, welches die
zunehmende Automatisierung möglich und wirtschaftlich interessant macht. Diese
Entwicklung ist hierbei jedoch nicht nur auf den industriellen Sektor
beschränkt, sondern auch in Form von hightech Consumerprodukten immer mehr im
täglichen Leben präsent.
6. Anhang
6.1. Firmenadressen
esd electronic system design GmbH
Vahrenwalder Str. 207
30165 Hannover
http://www.esd-electronics.com
Wind River GmbH
Osterfeldstrasse 84
85737 Ismaning
http://www.windriver.com/
esd electronic system
design gmbh
Vahrenwalder Str. 207
30165 Hannover
http://www.esd-electronics.com/