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


Betrachtung eine Abfüllanlage unter Echtzeitaspekten

 

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:

zurück

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

zurück

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)

zurück

3.2. Technischer Aufbau


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

zurück


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
- Prozessstellzeit tS
- Prozesszeit tP

- Reaktionszeit tR
- Bearbeitungszeit tB
- Antwortzeit tA


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.

zurück

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

zurück


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.

zurück

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

zurück

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:
   1. Interrupt-Verzögerungszeit: Dies ist die Zeit, die zwischen Interrupt und Tasklaufzeit verstreicht. Diese Zeit ist zwar abhängig von der Anzahl der momentan auftretenden Interrupte, muss aber trotzdem vorhersagbar sein.
   2. System-Aufruf-Zeit: Es muss zu jedem Systemaufruf die Zeit bekannt sein.
   3. Interrupt-Verarbeitungszeit: Muss ebenfalls 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

zurück

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

zurück

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)


zurück

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.

zurück

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.

zurück

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.

zurück

4.7.2 Waage


    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)


zurück

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.

zurück

4.7.4 Chaoslager
 

    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.

zurück

4.8. Fehlerbehandlung
 

Mögliche Fehler
 
Feststellende Station / Sensor
 
Maßnahmen
 
Es kommt kein Eimer Mischer / Lichtschranke vor Station
  • Prüfen, ob noch Eimer in Zufuhreinrichtung
  • Wenn ja, Eimer abschicken, Verklemmung beseitigen
  • Wenn nein, auffüllen
Mischventil öffnet nicht (es fließt keine Farbe aus dem Mischkopf in den Eimer) Mischer/ Füllstandsensor
  • Prüfen, ob el. Kontakt an Ventilstecker vorhanden
  • Prüfen, ob Ventil verstopft
  • Evtl. Ventil austauschen
Mischventil schließt nicht Mischer/ Füllstandsensor
  • Ventil manuell schließen um größeren Schaden zu verhindern
  • Wenn Eimer übergelaufen, Prozess anhalten, Station reinigen
  • Prüfen, ob el. Kontakt an Ventilstecker vorhanden
  • Prüfen, ob Ventilsitz festgefressen
  • Evtl. Ventil austauschen
Füllung des Eimers nicht im Toleranzbereich Waage / Waage
  • Eimer auf Ausschussband
     
Deckel bzw. Etikett aufgebraucht Verpackung
  • Sofort auffüllen
Daten für Etikett nicht vorhanden Verpackung / Echtzeitsystem
  • Daten für entsprechenden Eimer von allen Stationen nochmals anfordern
  • Falls nicht möglich: Daten später manuell eingeben (Notlösung, nicht befriedigend)
Eimer in falscher Position Alle Stationen / Positionsgeber in Station
  • Eimer in Richtung Stationseingang ausfahren und noch einmal positionieren
Zwei Eimer gleichzeitig an einer Station Alle Stationen / Lichtschranke vor der Station
  • Förderbänder anhalten
  • Keinen weiteren Eimer an diese Station abschicken
  • Eimer Nr.1 an betreffender Station bearbeiten
  • Förderbänder einschalten
  • Eimer Nr.1 weiterschicken
  • Normaler Betrieb
Eimer fährt nicht aus Station aus Alle Stationen / Lichtschranke nach der Station
  • Betreffende Motoren überprüfen (Kontakte, Anschlüsse, mechanische Kopplung an Förderband bzw. Rollen)
Förderband läuft nicht an Motor Förderband /
Drehzahlgeber
  • Prozess anhalten
  • Kontakt überprüfen
  • Sonst: Wartungspersonal

Tabelle 3: Mögliche Fehler und Gegenmaßnahmen

zurück

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.

zurück

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/

 

6.2. Excel-Tabellen

Prozesszeiten und Prioritätenvergabe

zurück