WILLKOMMEN - MD-Mathematische Dienste GmbH - Bildverarbeitung für die Bereiche Technik, Industrie und Wissenschaft
petrimenu
Start
Druckbild-Kontrolle für kontinuierliche Druckverfahren
Partikel
Mess Pro
Chinesisch/Japanisch in der Maschinensteuerung
Kontakt
MD P.NETZ dient der Steuerung von Bildverarbeitungsanlagen die mit dem Programm MD CONTROL arbeiten. Die Visualisierung der Steuerung wird mit Hilfe von Petri-Netzen vorgenommen. Die Elemente dieser Netze sind Plätze, Transitionen und Kanten, die beliebig konfigurierbar sind. Die Beschreibung einer Anlage und der Prüfungsablauf wird als Graph (<griech.> mathematisch, grafische Darstellung) dargestellt. Die Oberfläche (GUI - Grafical User Interface) ist ein typisches Windows-Programm.
Petri-Netze stellen eine Erweiterung der Automatentheorie dar, da auch nebenläufige Ereignisse mit abgebildet werden können. Petri-Netze unterscheiden:
  • Systemzustände, dargestellt durch einen Kreis, auch Stelle oder Platz genannt,
  • Übergänge, dargestellt durch ein Rechteck, auch Transition genannt,
  • Verbindungslinien, dargestellt durch eine Linie oder ein Spline, auch Kante genannt.
In der Beschreibung von Petri-Netzen werden die Begriffe Platz, Transition und Kante benutzt. Eine Kante kann einen Platz mit einer Transition oder eine Transition mit einem Platz verbinden. Ein Platz kann z.B. Token aufnehmen. Token, als abstrakter Begriff, können Gegenstände, abstrakte Objekte oder Voraussetzungen für spätere funktionale Ereignisse repräsentieren. Sie können verbraucht oder erzeugt werden. MD P.NETZ nutzt Token um die Zustände einer Anlage zu beschreiben und die Position von logischen Objekten zu bestimmen. Transitionen beschreiben Ereignisse. Diese können sein:
  • Setzen/Löschen eines Hardware-Ports,
  • Setzen eines Events,
  • Evaluieren einer Bedingung,
  • Erzeugen/Vernichten eines logischen Objektes in der Anlage.
Kanten beschreiben die Verknüpfung von Plätzen (Zuständen) mit Transitionen (Ereignissen). Über ihr Gewicht definieren sie den Zeitpunkt an dem eine Transition schalten kann. Hierzu müssen im Eingangsplatz, dem Kantengewicht entsprechend, genügend Token vorhanden sein. Das einfachste Beispiel ist die Verbindung eines Platzes mit einer Tansition.
Erweiterungen bei MD P.NETZ
Das vorstehend beschriebene Standard-Netz wird in MD P.NETZ um 2 Elemente erweitert:
  • Abräumkante, (Pfeil mit Doppelspitze) definiert keine Bedingung, eine Transition kann demnach immer schalten, löscht aber alle Token im Platz, benötigt daher auch kein Kantengewicht,
  • Verbotskante, (Pfeil mit 2 Schrägstrichen) negiert die Standardkante, schalten der Transition nur möglich, wenn weniger Token als dem Kantengewicht entsprechend im Platz vorhanden sind.
Beide Kantentypen können nur von einem Platz zu einer Transition laufen, nicht in umgekehrter Richtung. Mit diesen beiden Kantentypen lassen sich sehr einfach Teiler und Entpreller definieren.
Im Standard-Petri-Netz sind die Zustände von Eingängen und das Setzen/Löschen von Ausgängen und Events möglich. MD P.NETZ stellt aber eine Erweiterung der Netze zur Objektverfolgung zur Verfügung.
Beispiel: Objektverfolgung
Warum Objektverfolgung? Als Beispiel soll eine Anwendung dienen, bei der die Aufnahme von 4 Kameras gesteuert werden soll; jede Aufnahme wird durch das Setzen eines Ports ausgelöst (s. untenstehende Abbildung).
Entsprechend der Beschreibung kann ein Bandtakt und eine Einlauflichtschranke zur Steuerung des Ablaufs eingesetzt werden. Alle mit "Bandtakt" bezeichneten Plätze lesen den IRQ "0" ein. Der mit "Lichtschranke" bezeichnete Platz den IRQ "1". Die Transition T2 ist auf "Objekt erzeugen" gesetzt. Schaltet diese Transition, wird innerhalb des Netzes ein logisches Objekt erzeugt. Alle "Objekte" im Nachbereich einer Objekterzeugungstransition werden Rot markiert. Die Transitionen "Kamera 1 Start" bis "Kamera 4 Start" setzen die Ausgänge (IO-Karte) 0 bis 3 auf "1", entsprechend setzen die Transitionen "Kamera 1 Stop" bis "Kamera 4 Stop" die Ausgänge 0..3 wieder auf "0". Der Zeitpunkt, zu dem die Kameras getriggert werden hängt also an den Kantengewichten A52, A50, A48 und A46. Nachdem der Teiler die Transition T2 schalten ließ, kann der Zeitpunkt der Aufnahme jeder Kamera separat eingestellt werden. Das Rücksetzen der Ports, A53, A51, A49 und A47 kann konstant auf 5 Takte gesetzt werden. Damit stimmen die Zustände von Netz und Objekten überein. Da der Ausleitmechanismus für fehlerhafte Objekte 500 Bandtakte hinter der Lichtschranke positioniert ist und die Bildverarbeitung eine Verarbeitungszeit von minimal 50 Bandtakten aufweist, ist diese Objektverfolgung notwendig.
Beispiel: Steuerung nach Bedingungen
Neben der Objektverfolgung bietet MD P.NETZ die Steuerung des Ablaufs über "Bedingungen". Jede Transition kann mit einer Bedingung (Anweisungen) versehen werden. Innerhalb der Bedingung können mehrere Ausdrücke ausgewertet und logisch verknüpft werden. Als Beispiel dient ein zeitgesteuerter Ablauf; welcher Platz im folgenden Test-Netz den Token erhält, wird über den Zeitunterschied zwischen zwei Mausklicks entschieden.

Alle Kantengewichte sind 1; die Plätze haben eine unbegrenzte Kapazität (0). Die Transition T1 erzeugt Objekte, die Transitionen T3, T4 und T5 zerstören Objekte. Dieses einfache Netz zeigt, sobald ein Token in P1 abgelegt ist wird T1 schalten; und nach Ablegen eines Token in P7 alle Transitionen T3 bis T5 schaltbar setzen. Das Einfügen einer Anweisung in T1 mit ObjectVar(0)=GetMS() bewirkt folgenden Ablauf; GetMS() bestimmt die seit dem Start des Rechners verstrichene Zeit in Millisekunden und ObjektVar(0) gibt an, in welche Objektvariable dieser Wert gespeichert werden soll.
Wenn T1 ein Objekt erzeugt, wird der Wert der Variablen "0" auf die seit dem Rechnerstart vergangenen Millisekunden gesetzt. Die anderen Transitionen erhalten entsprechende Anweisungen: T3 < 5000, T4 >= 5000 && < 10000, T5 >= 10000.
Nach dem Start der "Anlagensimulation" wird per Mausklick ein Token in Platz P1 eingefügt. Bei einem weiteren Mausklick auf  P7, nach mehr als 10 Sekunden, wird ein Token in P6 abgelegt. Bedingungen werden also erst nach der Schaltbarkeit einer Transition geprüft. Ist die Prüfung negativ, werden die Token aus den Eingangsplätzen gelesen, jedoch wird die Anweisung der Transition nicht ausgeführt (z.B. Setzen/Löschen eines Ports), noch werden Token im Nachbereich abgelegt. Dieser Zweig des Netzes ist "tot".
Ein weiterer Test: Ein Mausklick auf P1, dann nach 5 Sekunden ein wiederholter Mausklick erneut auf P1 und danach auf P7. Es wird jetzt ein Token in P4 und ein Token in P5 abgelegt. Das erste erzeugt Objekt war schon 5 Sekunden "alt", als ein zweites "Objekt" erzeugt wurde und durch P7 die Transitionen schaltbar machten.
... zum Seiten-Anfang Nov. 2004