6. Steuerungstechnik Teil IV Das gezielte Beeinflussen von Vorgängen, denen ein schrittweiser, d.h. diskreter Ablauf zugrunde liegt, gehört in der Automatisierungstechnik neben der Regelung bzw. Steuerung kontinuierlicher Prozesse zu den am häufigsten vorkommenden Aufgaben. Solche Probleme treten z.B. in der Fertigungstechnik auf, wie das Beschicken von Arbeitsmaschinen, in der Verfahrenstechnik als Chargenprozesse, etc.. Charakteristisch für diese Aufgaben ist, dass die Zustände der Prozesse durch Größen, die nur endlich viele Werte annehmen können, charakterisiert werden. Bei einfach zu überblickenden, ausschließlich sequentiell ablaufenden Prozessen ist der Nachweis der Funktionsfähigkeit der Steuerung noch relativ einfach, da sämtliche auftretenden Zustände erfasst werden können. Enthält das System hingegen nebenläufige Prozesse mit der Nutzung gemeinsamer Betriebsmittel, so besteht beispielsweise die Gefahr von Verklemmungssituationen. Dies sollte im Rahmen der Analyse eines Steuerungssystems einfach festgestellt werden können. Eine diskrete Steuerung arbeitet, im Gegensatz zu einer Steuerung im Kontinuierlichen, in einem geschlossenen Wirkungskreis. Die gegenseitigen Kopplungen der Vorgänge in einem diskret gesteuerten System charakterisieren das dynamische Verhalten. Im nachfolgenden Kapitel wird gezeigt, wie mit Hilfe von Petri-Netzen das dynamische Verhalten beschrieben und hinsichtlich gewisser Anforderungen überprüft werden kann. 6.1. Zur Theorie kausaler Petri-Netze Die nachfolgend behandelten Petri-Netze gehören zur Klasse der sogenannten Stellen/Transitionen Netze (S/T Netze), die sich für die Modellierung von Systemen mittlerer Größenordnung und Komplexität eignen. 6.1.1. Ein einführendes Beispiel Abbildung 6.1 zeigt das Verfahrensbild einer einfachen chemischen Anlage. Dabei handelt es sich um eine sogenannte kooperative Kopplung zweier Prozesseinheiten R1 und R2 über einen Zwischenspeicher B1. In der Prozesseinheit R1 wird ein definiertes Volumen an Stoff produziert und anschließend in den Zwischenspeicher B1, welcher maximal zwei Chargen aus R1 fassen kann, abgelassen. Erst wenn B1 zwei Chargen Produkt enthält, wird dessen Inhalt komplett nach R2 abgelassen. Dazu muss R2 leer sein. Die Aufgabe besteht nun darin, das Produktionssystem in Form eines Petri-Netzes zu modellieren. 6.1.2. Syntax und Darstellung Petri-Netze sind gewisse Sonderfälle gerichteter Graphen. 131 6.1. Zur Theorie kausaler Petri-Netze Kapitel 6. Steuerungstechnik Teil IV Einsatzstoffe R1 Einsatzstoff B1 R2 Abbildung 6.1: Verfahrensfließbild einer chemischen Anlage. Definition 6.1. Ein gerichteter Graph (Digraph) G = (X, Y ) besteht aus der Menge der Knoten X und der Menge der Kanten Y . Jedem Element y ∈ Y wird genau ein geordnetes Paar (a, b) ∈ X × X von Knoten a, b ∈ X zugeordnet. Petri-Netze können nun folgendermaßen definiert werden. Definition 6.2. Ein Petri-Netz ist ein 6-Tupel N = (S, T, F, K, W, M0 ) mit © ª (1) der nichtleeren, endlichen Stellenmenge S = s1 , s2 , . . . , s|S| , ª © (2) der nichtleeren, endlichen Transitionsmenge T = t1 , t2 , . . . , t|T | , (3) der nichtleeren Kantenmenge F (Flussrelation), wobei jeder Kante genau ein Paar aus (S × T ) ∪ (T × S) zugeordnet ist, (4) der Funktion K : S → N \ {0}, der Kapazität jeder Stelle, (5) der Funktion W : F → N \ {0}, dem Gewicht einer Kante und (6) der Anfangsmarkierung M0 : S → N. 132 6.1. Zur Theorie kausaler Petri-Netze Kapitel 6. Steuerungstechnik Teil IV Für ein Petri-Netz gilt nun offensichtlich X = S∪T und Y = F . Es existieren aber nur zwei Arten von Knoten, und nur Knoten verschiedenen Typs dürfen miteinander verbunden werden. Ohne besondere Einschränkung wird im Folgenden vorausgesetzt, dass ein PetriNetz keine mehrfachen Kanten zwischen zwei Knoten und keine Schlingen besitzt. Solche Petri-Netze heißen auch rein. Bei reinen Petri-Netzen ist eine Kante durch Angabe der mit ihr verbundenen Knoten eindeutig bestimmt. Es gilt also F ⊂ (S × T ) ∪ (T × S) und weiters für alle Kanten, falls (si , tj ) ∈ F dann (tj , si ) ∈ / F. s1 10 3 t1 t2 2 s2 7 Abbildung 6.2: Zu den Symbolen eines Petri-Netzes. Die Symbole der graphischen Darstellung eines Netzes N = (S, T, F, K, W, M0 ) mit den speziellen Werten S = {s1 , s2 } T = {t1 , t2 } F = {(s1 , t2 ), (t2 , s2 ), (s2 , t1 ), (t1 , s1 )} K(s1 ) = 10 K(s2 ) = 7 W (s1 , t2 ) W (t2 , s2 ) W (s2 , t1 ) W (t1 , s1 ) = = = = 1 2 1 3 M0 (s1 ) = 1 M0 (s2 ) = 0 sind Abbildung 6.2 zu entnehmen. Die Stellen si ∈ S werden durch Kreise symbolisiert. Sie sind die passiven Elemente des Netzes. In den Kreis wird ihre Kapazität eingetragen, wobei die Kapazität die Anzahl der Marken angibt, die eine Stelle aufnehmen kann. Nicht beschriftete Stellen haben die Kapazität eins. Die Transitionen ti ∈ T werden durch Rechtecke dargestellt. Sie sind die aktiven Elemente, die durch Schaltvorgänge den Markenfluss im Netz verursachen. Netzknoten werden durch Kanten der Art (s, t) oder (t, s) verbunden, wobei das Gewicht angibt, wieviele Marken bei einem Schaltvorgang über die Kante fließen. Nicht beschriftete Kanten haben das Gewicht eins. Haben alle Kapazitäten und Gewichte eines Netzes den Wert eins, heißt es Bedingungs/Ereignis-Netz (B/E-Netz). Das Petri-Netz zur Chemieanlage von Abbildung 6.1 ist Abbildung 6.3 zu entnehmen mit 133 6.1. Zur Theorie kausaler Petri-Netze Kapitel 6. Steuerungstechnik Teil IV t5 t6 s9 s8 s6 t4 t3 s7 s1 t2 2 t1 s3 s4 2 t7 s5 s2 Abbildung 6.3: Petri-Netz zur Chemieanlage von Abbildung 6.1. der nachfolgenden Interpretation der Netzelemente. s1 s2 s3 s4 s5 s6 s7 s8 s9 Stellen B1 ist mit M (s1 ) Chargen gefüllt R2 ist leer Ablassen aus B1 nach R2 B1 ist frei für M (s4 ) Chargen R2 ist voll R1 enthält Produkt Ablassen aus R1 nach B1 Füllen von R1 Produktion einer Charge in R1 t1 t2 t3 t4 t5 t6 t7 Transitionen Start des Ablassens aus B1 nach R2 Ende des Ablassens aus B1 nach R2 Start des Ablassens aus R1 nach B1 Ende des Ablassens aus R1 nach B1 Start der Produktion in R1 Ende der Produktion in R1 Ablassen von R2 (Einzelheiten sind im Netzmodell nicht beachtet) Neben der graphischen Beschreibung, lassen sich reine Petri-Netze auch mittels Matrizen darstellen (vektorielle oder algebraische Beschreibung). Definition 6.3. Einem Petri-Netz werden die Größen Transitionsvektor, Netzmatrix, Kapazitätsvektor und Anfangsmarkierungsvektor gemäß nachfolgenden Vorschriften zugeordnet. (1) Für den Transitionsvektor tj zu einer Transition tj ∈ T tj = tj1 tj2 ∈ Z |S| .. . tj|S| 134 6.1. Zur Theorie kausaler Petri-Netze gilt Kapitel 6. Steuerungstechnik Teil IV −W (si , tj ) W (tj , si ) tji = 0 falls (si , tj ) ∈ F falls (tj , si ) ∈ F sonst mit i = 1, . . . , |S| und j = 1, . . . , |T |. (2) Die aus den Transitionsvektoren gebildete Matrix £ ¤ N = t1 , t2 , . . . , t|T | heißt Netzmatrix. (3) Der Kapazitätsvektor z wird aus den Kapazitäten der Stellen si gemäß der Beziehung K(s1 ) K(s2) z= .. . K(s|S| ) gebildet. (4) Der Anfangsmarkierungsvektor m0 enthält die Anfangsmarkierungen nach der Vorschrift M0 (s1 ) M0 (s2) . m0 = .. . M0 (s|S| ) Für das einfache Petri-Netz von Abbildung 6.2 sind diese Größen durch · ¸ · ¸ · ¸ 3 −1 10 1 N= , z= und m0 = −1 2 7 0 gegeben. 6.1.3. Erreichbarkeitsgraph Definition 6.4. Es gelte x, y ∈ S ∪ T für die Knoten eines Petri-Netzes N. (1) Die Menge aller Knoten •x ∈ S ∪ T , von denen Kanten zum Knoten x führen, heißt Vorbereich von x : •x = {y | (y, x) ∈ F } . (2) Die von x zu erreichenden Knoten heißen Nachbereich x•. Es gilt: x• = {y | (x, y) ∈ F } . 135 6.1. Zur Theorie kausaler Petri-Netze Kapitel 6. Steuerungstechnik Teil IV Beim Schalten einer Transition t werden jeder Stelle des Vorbereiches si ∈ •t eine dem Gewicht der zugehörigen Kante entsprechende Markenanzahl entzogen und jeder Stelle des Nachbereiches si ∈ t• entsprechend dem Gewicht der zuführenden Kanten hinzugefügt. Eine Transition heißt schaltfähig, wenn durch ihr Schalten eine zulässige Markierung erzeugt wird. Zum tatsächlichen Schalten ist jedoch eine externe Eingabe vonnöten. Definition 6.5. Eine Transition t ist schaltfähig unter einer Markierung M, man nennt sie M-aktiviert, wenn 0≤m+t≤z gilt. Durch Schalten einer Transition t entsteht eine Folgemarkierung m0 = m + t. Obige Schaltregel heißt auch starke Schaltregel. Berücksichtigt man die Kapazität der Stellen nicht (die rechte Ungleichung), spricht man von der schwachen Schaltregel. Definition 6.6. Eine Transitionsfolge mit σ = t1 , t2 , . . . , tn ti ∈ T , für i = 1, . . . , n heißt Schaltsequenz. Eine Schaltsequenz heißt anwendbar bei M, wenn 0≤m+ i X k=1 tk ≤ z für i = 1, . . . , n gilt. Definition 6.7. Eine Markierung M eines Petri-Netzes N heißt erreichbar, falls eine anwendbare Schaltsequenz existiert, die M0 in M überführt. Die Menge aller erreichbaren Markierungen heißt Erreichbarkeitsmenge, und man schreibt dafür RN (M0 ). Die Erreichbarkeitsmenge wird im Allgemeinen als Digraph (Erreichbarkeitsgraph) dargestellt. Abbildung 6.4 zeigt den Erreichbarkeitsgraphen für das einfache Petri-Netz von Abbildung 6.2. Auf analoge Art und Weise lässt sich der Erreichbarkeitsgraph für das Petri-Netz der Chemieanlage Abbildung 6.3 bestimmen (siehe Abbildung 6.5). Aufgabe: Welche Markierungen liegen in Abbildung 6.5 bei m0 bis m24 vor? Satz 6.1. Ist M eine erreichbare Markierung eines Petri-Netzes N, dann besitzt das Gleichungssystem m = m0 + Nv eine nichtnegative, ganzzahlige Lösung v. 136 6.1. Zur Theorie kausaler Petri-Netze Kapitel 6. Steuerungstechnik Teil IV 5 7 t 1 t 1 0 7 t 2 3 6 t 1 t 1 5 t 2 2 3 t 0 2 1 t 2 3 1 t 1 2 t 2 6 5 t 2 t 1 t 1 5 2 t 1 t t 1 t 8 6 t 2 9 4 t 1 7 3 4 4 t 2 t 1 t 2 10 2 2 8 1 2 6 0 t 2 1 0 Abbildung 6.4: Erreichbarkeitsgraph zum Petri-Netz von Abbildung 6.2. Man beachte, dass v nur angibt wie oft eine Transition schaltet, aber nicht in welcher Reihenfolge die Schalthandlungen auszuführen sind. Eine Markierung ist auch nur dann erreichbar, wenn alle Zwischenmarkierungen bei der Überführung von m0 zu m zulässig sind. Obiger Satz ist also nur ein notwendiges Kriterium. So folgt im Beispiel nach Abbildung 6.4 für · ¸ 8 m= 6 nach obigem Satz · ¸ 4 v= . 5 Man überzeugt sich leicht, dass die Schaltsequenz σ = t2 , t1 , t1 , t2 , t1 , t2 , t1 , t2 , t2 m0 in m überführt. Für · 10 m= 7 folgt ¸ · ¸ 5 v= . 6 Wie man Abbildung 6.4 entnehmen kann, ist diese Markierung aber nicht erreichbar. 6.1.4. Qualitative Eigenschaften Reversibilität Reversible Netze besitzen die Eigenschaft, dass der Anfangszustand von allen sich ergebenden Folgezuständen wieder erreicht werden kann. Reversibilität ist dann eine wünschenswerte Eigenschaft, wenn die Anfangsmarkierung einen Zustand beschreibt, der Teil des 137 6.1. Zur Theorie kausaler Petri-Netze m0 t1 t 5 t1 m14 t6 t1 m1 t2 m23 Kapitel 6. Steuerungstechnik Teil IV t6 t5 m2 t5 t2 m21 t6 m24 t5 t7 m3 t2 m22 t6 m4 t7 m20 t4 m12 m15 t7 t6 m11 t7 t5 t3 m5 t7 m19 t4 t4 m6 t7 m18 t5 m13 t7 t3 m10 t4 t7 m9 t3 t3 m16 t7 m8 t6 t6 t5 m17 t7 m7 Abbildung 6.5: Erreichbarkeitsgraph zum Petri-Netz von Abbildung 6.5. gewünschten Ablaufes ist. Falls die Anfangsmarkierung einen Ruhezustand des Systems beschreibt (z.B. einen Zustand, in dem alle Behälter leer sind), dann ist man möglicherweise nicht daran interessiert, diesen Zustand während des Prozesses wieder zu erreichen. Definition 6.8. Ein Petri-Netz N heißt reversibel, wenn für alle Markierungen M1 , M2 ∈ RN (M0 ) gilt M2 ∈ RN (M1 ) und M1 ∈ RN (M2 ). Satz 6.2. Ist N ein reversibles Petri-Netz, dann besitzt das Gleichungssystem Nv = 0 eine nichtnegative, ganzzahlige Lösung v 6= 0. Aus dem Grund, dass bei der Bedingung von Satz 6.2 auch nicht zulässige Zwischenmarkierungen auftreten können, ist sie lediglich notwendig. Für das Petri-Netz der Chemieanlage von Abbildung 6.3 ist die Forderung nach Reversibilität sinnvoll, da die Anfangsmarkierung einen Zustand des Produktionssystems kennzeichnet, der Teil des Sollverhaltens ist. Beschränktheit Petri-Netze können unbeschränkte Erreichbarkeitsmengen besitzen. Die nachfolgende Eigenschaft schließt dies aus. Definition 6.9. Die Stelle s eines Petri-Netzes N heißt k-beschränkt bei M0 , wenn für alle M ∈ RN (M0 ) eine positive ganze Zahl so existiert, dass M(s) ≤ k gilt. Das Netz N heißt beschränkt bei M0 , wenn jede Stelle beschränkt ist. Man nennt ein Netz sicher bei M0 , wenn jede Stelle durch k = 1 beschränkt ist. 138 6.1. Zur Theorie kausaler Petri-Netze Kapitel 6. Steuerungstechnik Teil IV In den hier behandelten Fällen ist sehr oft zu fordern, dass die Netze beschränkt sind. Unbeschränktheit kann z.B. bedeuten, dass eine unendliche Menge von Ressourcen zugelassen wird, oder dass begrenzte Kapazitäten von Ressourcen überschritten werden, was praktisch zu einer Fehlfunktion der Steuerung führen kann. Lebendigkeit In Petri-Netzen können Markierungen auftreten, von denen aus nicht mehr alle Transitionen aktivierbar sind: • Im Falle der totalen Verklemmung liegt eine Markierung vor, in der keine Transition mehr schalten kann. D.h., es wird eine Situation bezeichnet, wo sämtliche ablaufenden Prozesse zum Stillstand kommen. So etwas ist generell zu vermeiden. • Bei einer partiellen Verklemmung tritt eine Markierung auf, bei der nur noch ein Teil der Transitionen aktiviert werden kann. Dieser Fall ist durchaus von Interesse und wird teilweise gezielt herbeigeführt. Beispielsweise im Störfall bzw. bei Not-Aus Situationen dürfen bestimmte Prozesse nicht mehr aktiviert werden, was zu einer partiellen Verklemmung führt. Definition 6.10. Eine Transition t eines Petri-Netzes N heißt tot, wenn sie bei keiner Folgemarkierung von M0 aktiviert werden kann. D.h., RN (M0 ) enthält keine Markierung, die eine Aktivierung von t zulässt. Eine Markierung M heißt tot, wenn keine Transition M-aktiviert ist. Während eine tote Transition bei keiner Markierung der Erreichbarkeitsmenge schalten kann, aktiviert eine tote Markierung keine Transition. Definition 6.11. Eine Transition t eines Petri-Netzes N heißt lebendig, wenn t bei jeder Folgemarkierung M ∈ RN (M0 ) aktivierbar ist. D.h., es existiert eine Markierung M 0 ∈ RN (M) die t aktiviert. Das Netz N nennt man lebendig, wenn alle Transitionen lebendig sind. Abbildung 6.6 zeigt ein nicht lebendiges Petri-Netz ohne tote Markierungen mit den Matrizen 2 −2 −1 1 2 N = 1 −1 1 , z = 2 und m0 = 0 . 1 0 1 −1 2 Zuerst ist nur t1 schaltfähig und man erhält 0 m1 = 1 . 1 Jetzt kann nur t3 schalten, und es folgt 1 m2 = 2 . 0 139 6.1. Zur Theorie kausaler Petri-Netze Kapitel 6. Steuerungstechnik Teil IV t2 t1 s1 2 s2 2 2 s3 t3 2 Abbildung 6.6: Nicht lebendiges Petri-Netz ohne tote Markierung. t2 ist die einzige schaltfähige Transition, und die nächste Markierung ist 0 1 . = m3 1 Damit ist aber der Kreis geschlossen und das System führt einen zyklischen Prozess durch. Abbildung 6.7 zeigt das Verfahrensfließbild eines Produktionssystems, in dem in den Reaktoren R1 und R2 zwei unterschiedliche Produkte hergestellt werden. Für beide Produkte werden die Einsatzstoffe A und B benötigt. Im Reaktor R1 werden zuerst Stoff A und danach Stoff B und im Reaktor R2 zuerst Stoff B und anschließend Stoff A dosiert. Die Dosiervorlagen müssen exklusiv genutzt werden. Mit den Stellen und Transitionen s1 s2 s3 s4 s5 s6 s7 s8 Stellen Dosiervorlage A ist frei Dosiervorlage B ist frei R1 ist leer Dosieren von Stoff A in R1 Dosieren von Stoff B in R1 R2 ist leer Dosieren von Stoff B in R2 Dosieren von Stoff A in R2 t1 t2 t3 t4 t5 t6 Transitionen Start der Dosierung von Stoff A in R1 Ende der Dosierung von Stoff A in R1 Reaktion in R1, Entleeren Start der Dosierung von Stoff B in R2 Ende der Dosierung von Stoff B in R2 Reaktion in R2, Entleeren folgt das Petri-Netz von Abbildung 6.8. Der zugehörige Erreichbarkeitsgraph ist in Abbildung 6.9 dargestellt. Man erkennt, dass die Markierung m5 eine tote Markierung darstellt. Diese wird erreicht, wenn bei der Anfangsmarkierung die Ereignisse t1 und t2 in beliebiger Reihenfolge (kausal unabhängig) schalten. Dann werden im Reaktor R1 der Stoff A und im Reaktor R2 der Stoff B dosiert. Die Dosiervorlage A wird von R1 erst dann freigegeben, wenn die Dosiervorlage B 140 6.1. Zur Theorie kausaler Petri-Netze Kapitel 6. Steuerungstechnik Teil IV Einsatzstoff A Einsatzstoff B A B R2 R1 Produkt 1 Produkt 2 Abbildung 6.7: Verfahrensfließbild einer Produktionsanlage. verfügbar ist. Analoges gilt für die Freigabe der Dosiervorlage B beim Reaktor R2. Auf diese Weise blockieren sich beide Prozesse. Dieser Zustand kann einfach vermieden werden, wenn durch die Steuerung zuerst die benutzten Dosiervorlagen freigegeben werden und erst anschließend auf andere zugegriffen wird. Aufgabe: Ändern Sie das Petri-Netz von Abbildung 6.8 so ab, dass es keine tote Markierung mehr beinhaltet. Konflikte und Nebenläufigkeit Bei einem Petri-Netz können mehrere Transitionen gleichzeitig aktiviert sein. Diese können unabhängig voneinander, d.h., gleichzeitig oder nur alternativ schalten. Entzieht z.B. das Schalten einer Transition der anderen die Aktivität, spricht man von einem Konflikt. Ein Konflikt kann eintreten, wenn die Vor- bzw. die Nachbereiche von Transitionen sich überlappen. Definition 6.12. M 0 sei die Folgemarkierung von M durch Schalten von tk . Bei der Markierung M liegt ein Konflikt zwischen den Transitionen tk , tl vor, wenn tk und tl Maktiviert sind, aber tl nicht M 0 -aktiviert ist. Ist jede Markierung ohne Konflikt, heißt das Petri-Netz N konfliktfrei. 141 6.1. Zur Theorie kausaler Petri-Netze Kapitel 6. Steuerungstechnik Teil IV s1 s3 s2 s6 t1 t4 s4 s7 t2 t5 s5 s8 t3 t6 Abbildung 6.8: Petri-Netz zur Produktionsanlage von Abbildung 6.7. Abbildung 6.10 zeigt je ein konfliktfreies und -behaftetes Petri-Netz. Konflikte treten beispielsweise dann auf, wenn sich zwei Betriebsmittel eine gemeinsame Resource teilen. Diese Eigenschaft kann bei einem modellgestützten Steuerungsentwurf zu Effekten führen, die unerwünscht sind. So gibt es nun verschiedene Möglichkeiten, eine Lösung des Konfliktes herbeizuführen. (1) Regulationskreis: Der sogenannte Regulationskreis von Abbildung 6.11 erzwingt durch die Bedingungen s3 und s4 sowie den zugehörigen Kanten, dass die ursprünglich im Konflikt stehenden Transitionen t2 und t3 streng abwechselnd schalten. (2) Inhibitorkante: Die Inhibitorkante von Abbildung 6.12 a.) bedingt, dass bei einem Konflikt zwischen den Transitionen t2 und t3 immer t2 die Priorität behält. Damit m0 t1 t4 m1 t1 t4 t2 t3 m3 m2 m5 t5 m4 t6 Abbildung 6.9: Erreichbarkeitsgraph zum Petri-Netz Abbildung 6.8. 142 6.1. Zur Theorie kausaler Petri-Netze s1 t1 Kapitel 6. Steuerungstechnik Teil IV s2 t1 t3 t2 s3 t2 s1 s4 s2 t3 s3 t4 konfliktbehaftetes Netz konflikfreies Netz Abbildung 6.10: Zum Konflikt in einem Petri-Netz. t1 s2 s1 s3 t2 s5 t3 s4 Abbildung 6.11: Konfliktlösung durch Regulationskreis. wird auch der Konflikt beseitigt. Eine Inhibitorkante darf nur von einer passiven zu einer aktiven Komponente gehen und sie bewirkt, dass die aktive Komponente (Transition) nur dann schalten kann, wenn die zugehörige passive Komponente (Stelle) keine Marke enthält. Die Realisierung der Inhibitorkante ist in Abbildung 6.12 b.) dargestellt. (3) Externe Bedingungen: Abbildung 6.13 zeigt schließlich die Variante, dass der Konflikt durch externe Bedingungen (Eingaben) s4 und s5 entschieden werden kann. D.h., in diesem Fall gibt der Mensch oder eine übergeordnete Prozesssteuerung durch eine Markierung für s4 bzw. s5 vor, wie der Konflikt zu lösen ist. Man erkennt, dass Konflikte in einem Steuerungssystem zusätzliche Freiheitsgrade (Entscheidungsmöglichkeiten) angeben, mittels derer das Systemverhalten gezielt beeinflusst werden kann. 143 6.1. Zur Theorie kausaler Petri-Netze t1 Kapitel 6. Steuerungstechnik Teil IV t1 s2 s1 t2 s5 s3 s2 s5 s1 s4 2 Inhibitorkante t3 2 t2 2 t3 Abbildung 6.12: Konfliktlösung durch Inhibitorkante. t1 s5 s1 s2 s4 s5 t2 t3 Abbildung 6.13: Konfliktlösung durch externe Eingabe. Das Gegenteil zum Konflikt zweier Transitionen ist die sogenannte Nebenläufigkeit, dabei wird durch das Schalten einer Transition der anderen nicht die Aktivität entzogen. Kontakte Wird das Aktivieren einer Transition durch die Markierung des Nachbereiches verhindert, liegt ein Kontakt vor (siehe Abbildung 6.14). Definition 6.13. Bei der Markierung M liegt ein Kontakt an der Transition t vor, wenn gilt m+t≥0 , aber mindestens eine der Ungleichungen m+t≤z verletzt ist. Ein Petri-Netz N heißt kontaktfrei, wenn jede Markierung kontaktfrei ist. 144 6.1. Zur Theorie kausaler Petri-Netze s1 s2 Kapitel 6. Steuerungstechnik Teil IV s1 t1 s2 t1 t1 s4 s3 s1 s2 s4 s3 kein Kontakt kein Kontakt Kontakt s4 s3 Abbildung 6.14: Zum Kontakt in einem Petri-Netz. Kontaktfreie Netze weisen bei der schwachen bzw. der starken Schaltregel das gleiche Verhalten auf. Satz 6.3. Ein Petri-Netz N ist kontaktfrei, wenn für jede Markierung M ∈ RN (M0 ) aus m+t≥0 folgt m+t≤z . Kontakte in einem System bezeichnen gewisse technologische Anforderungen. Dies kann z.B. dadurch gegeben sein, dass mit der Kapazität einer Stelle das begrenzte Volumen eines Behälters modelliert wird. t5 s9 s8 t5 t6 t4 s9 s6 s8 t3 t4 s1 2 t1 s6 t3 s7 s7 f1 t6 2 t2 s1 s3 2 t1 t2 s3 t7 t7 s5 s5 s2 s2 Abbildung 6.15: Zu Petri-Netzen mit beschränkten Kapazitäten. 145 6.2. Beispiel: Einfache Fertigungsstraße Kapitel 6. Steuerungstechnik Teil IV Bemerkung: Jene Zustände, die einen Kontakt darstellen, werden manchmal auch in Form von sogenannten Fakten modelliert. Ein Fakt ist eine aktive Komponente, die unter keiner erreichbaren Markierung eine Konzession zum Schalten erhalten darf. Als Beispiel betrachte man die Chemieanlage von Abbildung 6.1. Die Modellierung erfolgt nun mittels des Petri-Netzes von Abbildung 6.15, welches sich direkt durch Vernachlässigung von s4 in Abbildung 6.3 ergibt. Aufgrund dieser Modifikation kann die maximale Markenanzahl von 2 bei der Stelle s1 überschritten werden, was wiederum ein Überlaufen des Zwischenbehälters B1 bedingen würde. Dadurch beschränkt man im Petri-Netz die Kapazität der Stelle s1 mit 2 (Abbildung 6.15 rechts) oder man fügt einen Fakt f1 dazu (Abbildung 6.15 links), der erst dann schaltfähig ist, wenn mehr als zwei Marken bei s1 vorliegen. 6.2. Beispiel: Einfache Fertigungsstraße Zur Modellbildung diskret gesteuerter Prozesse mit Petri-Netzen verwendet man oft eine tabellarische Zusammenstellung (1) der im System auftretenden Ereignisse, (2) der zum Eintreten eines Ereignisses notwendigen Bedingungen (Vorbedingungen) und (3) der Beeinflussung des Systems durch das Eintreten von Ereignissen (Nachbedingungen). Abbildung 6.16 zeigt einen Ausschnitt aus zwei Fertigungsstraßen A und B, an denen zwei Handhabungsgeräte I und II angebracht sind. Vorerst werden zur Bearbeitung von Werkstücken auf A beide Handhabungsgeräte und zur Bearbeitung von Werkstücken auf B nur das Gerät II benötigt. Die Bedingungen (Stellen) und die Ereignisse (Transitionen) I B II A B A Abbildung 6.16: Eine einfache Fertigungsstraße. 146 6.2. Beispiel: Einfache Fertigungsstraße Kapitel 6. Steuerungstechnik Teil IV ~ s1 ~ A B s4 t3 t1 I s2 II s8 s7 s5 t2 t4 s3 s6 ~ ~ Abbildung 6.17: Petri-Netz zum Abbildung 6.16. lauten s1 s2 s3 s4 s5 s6 s7 s8 Stellen Werkstück auf A noch nicht bearbeitet Werkstück auf A wird bearbeitet Werkstück auf A ist bearbeitet Werkstück auf B noch nicht bearbeitet Werkstück auf B wird bearbeitet Werkstück auf B ist bearbeitet Handhabungsgerät I ist frei Handhabungsgerät II ist frei t1 t2 t3 t4 Transitionen Beginn der Bearbeitung auf A Ende der Bearbeitung auf A Beginn der Bearbeitung auf B Ende der Bearbeitung auf B und die Vor- bzw. Nachbedingungen zu jedem Ereignis sind in der Form Transitionen Vorbedingungen Nachbedingungen t1 s1 , s7 , s8 s2 t2 s2 s3 , s7 , s8 t3 s4 , s8 s5 t4 s5 s6 , s8 147 6.2. Beispiel: Einfache Fertigungsstraße Kapitel 6. Steuerungstechnik Teil IV gegeben. s1 A B s4 t1 s7 II t3 t2 t6 t5 s8 01010001 t6 s5 t2 s3 t1 t4 I s2 10010011 s6 t4 00110010 t4 00101000 01000100 t1 t6 t3 t3 10001001 t5 10000110 Abbildung 6.18: Das Petri-Netz und der Erreichbarkeitsgraph zu Variante I . Abbildung 6.17 zeigt das B/E-Netz des Prozesses, mit einer Anfangsmarkierung die besagt, dass die Geräte frei und Werkstücke vorhanden sind. Dem Netz ist nicht nur die Verkopplung der Prozesse (s8 ) sondern auch die Abhängigkeit von den vorangehenden und den folgenden Fertigungsstationen zu entnehmen. Eine Verbesserung brächten Speicherstationen an den Stellen (s1 , s3 , s4 , s6 ). Dann wird man aber anstelle von B/E-Netzen S/T-Netze heranziehen. Sollten auch mehrere Werkstücke gleichzeitig entnommen werden, kann man dies durch das Gewicht der Kanten ausdrücken. Dieses Beispiel umfasst zwei nebenläufige Prozesse, die durch s8 gekoppelt sind. Das Handhabungsgerät II wird von beiden Prozessen exklusiv genutzt. Bei solchen Prozessen können Verklemmungen auftreten. Um dies zu zeigen wird dieser Prozess so erweitert, dass zur Fertigung auf B, auch das Gerät I benötigt wird. In der ersten Variante wird jedes Werkstück auf A bzw. B nacheinander von den Geräten I und II gefertigt. Die Modellierung des Netzes erfolgt vollkommen analog zu obigem. Abbildung 6.18 ist das Petri-Netz mit dem zugehörigen Erreichbarkeitsgraphen zu entnehmen. Die Kanten (t3 , s1 ) und (t6 , s4 ) sind eingeführt worden, um jeden Teilprozess für sich betrachten zu können. In der zweiten Variante wird lediglich die Reihenfolge des Einsatzes der Handhabungsgeräte auf B vertauscht. Abbildung 6.19 zeigt wieder das Petri-Netz und den Erreichbarkeitsgraphen. Das Petri-Netz ist aus gleichen Gründen wie oben durch die Kanten (t3 , s1 ) und (t6 , s4 ) erweitert worden. Man erkennt sofort, dass lediglich das Vertauschen der Reihenfolge zu einer totalen Verklemmung führt. Im Erreichbarkeitsgraphen äußert sich das durch einen Knoten der keine weglaufende Kante besitzt. 148 6.3. Graphentheoretische Analyse Kapitel 6. Steuerungstechnik Teil IV s1 A t6 t1 s6 I s2 s7 t5 t2 t3 t3 s5 II s3 10010011 s8 00110010 t4 10001010 01010001 t2 t4 B t1 t6 t1 t5 t4 01001000 10000101 s4 Abbildung 6.19: Das Petri-Netz und der Erreichbarkeitsgraph zu Variante II . 6.3. Graphentheoretische Analyse Mit Hilfe von graphentheoretischen Untersuchungen lässt sich nicht nur der Nachweis der Lebendigkeit und der Beschränktheit eines Petri-Netzes führen, sondern es lassen sich auch Maßnahmen ableiten, um ein erkanntes Fehlverhalten eines Petri-Netzes zu verhindern. Die Verfahren beruhen dabei auf der Analyse des Überdeckungs- und Erreichbarkeitsgraphen eines Petri-Netzes. Bei der Modellierung technischer Systeme machen unbeschränkte Petri-Netze wenig Sinn. Sie entsprächen einem System, das unendlich viele diskrete Zustände annehmen kann. Die Beschränktheit eines Petri-Netzes kann mit Hilfe des Überdeckungsgraphen nachgewiesen werden. Hier muss natürlich die schwache Schaltregel zugrunde gelegt werden. Die Modellierung und Analyse eines Prozesses kann in nachfolgenden Schritten erfolgen: (1) Modellierung des Prozesses als Petri-Netz: (2) Konstruktion des Überdeckungsgraphen (schwache Schaltregel): Folgende Eigenschaften sind feststellbar: Beschränktheit, Tote Transition. Ist das Netz unbeschränkt, verzweige zu (1) andernfalls zu (3). (3) Konstruktion des Erreichbarkeitsgraphen: Folgende Eigenschaften sind feststellbar: Tote Transition, Totale Verklemmung, Erreichbarkeit, Konflikt, Kontakt. (4) Kondensation des Erreichbarkeitsgraphen: Folgende Eigenschaften sind feststellbar: Totale Verklemmung, Partielle Verklemmung, Lebendigkeit, Reversibilität. 149 6.3. Graphentheoretische Analyse Kapitel 6. Steuerungstechnik Teil IV 6.3.1. Konstruktion des Erreichbarkeitsgraphen Einem Petri-Netz N kann ein gerichteter Graph, der Erreichbarkeitsgraph zugeordnet werden, dessen Knoten erreichbare Markierungen M von N sind und dessen Kanten mit schaltfähigen Transitionen beschriftet sind. Der Erreichbarkeitsgraph ist nur dann endlich, wenn das Petri-Netz beschränkt ist. Abbildung 6.20 zeigt ein endliches Petri-Netz und Abbildung 6.21 den zugehörigen Erreichbarkeitsgraphen. t1 s1 t2 s2 t4 t3 s4 t5 t6 s3 t7 s5 t8 s6 Abbildung 6.20: Ein endliches Petri-Netz. t5 100100 t3 t4 t2 t2 t4 t1 t1 110000 000110 t1 t6 010100 t6 t5 000101 t2 t8 001100 100001 t7 t7 t8 t2 t1 101000 100010 Abbildung 6.21: Erreichbarkeitsgraph zum Petri-Netz von Abbildung 6.20. Ein einfacher Algorithmus zur Bestimmung des Erreichbarkeitsgraphen EN zum PetriNetz N basiert auf dem Suchprinzip Tiefe zuerst. Im Nachfolgenden wird der Kern des Algorithmus kurz skizziert. N // Menge der bereits gefundenen Knoten program first (m) // m : Knoten des Erreichbarkeitsgraphen { bestimme die Menge Z der m-aktivierten Transitionen; für alle zi ∈ Z; { führe zi aus; bestimme den Knoten n zur Kante zi = (m, n); 150 6.3. Graphentheoretische Analyse Kapitel 6. Steuerungstechnik Teil IV ist n ∈ / N dann N = N ∪ {n} , first (n) ; mache zi rückgängig; } } Die Suche wird mit dem Programm program main (m0 ) // m0 : Anfangsmarkierung { N = {m0 } ; Netz mit m0 belegen; first (m0 ) ; } gestartet. Um die Eigenschaften des Petri-Netzes aus dem Erreichbarkeitsgraphen ablesen zu können, muss obiger Algorithmus noch so erweitert werden, dass auch die Kanten, d.h., die Transitionen in entsprechender Weise abgespeichert werden. So kann man jedem Knoten n die Menge der Paare (ti , nj ) mit ti als zu n laufenden Kante und ihren Anfangsknoten nj bzw. die Menge der Paare (ti , nj ) mit ti als von n weglaufenden Kante und ihren Endknoten nj zuordnen. Satz 6.4. EN sei der Erreichbarkeitsgraph eines Petri-Netzes N. Dann gilt: (1) Eine Kante tj ist nicht in EN enthalten, genau dann ist tj eine tote Transition. (2) EN besitzt einen Knoten M ohne auslaufende Kante, genau dann ist eine totale Verklemmung möglich. (3) EN besitzt einen Knoten M, genau dann ist M erreichbar, d.h., es gilt M ∈ RN (M0 ). Um eine Konflikt- bzw. eine Kontaktsituation zu finden sind einige zusätzliche Untersuchungen nötig: Bei einer Markierung M tritt ein Konflikt auf, wenn mehrere Transitionen M-aktiviert sind und das Schalten einer Transition mindestens einer anderen die Aktivierung entzieht. Ein Konflikt kann an einem Knoten M nur auftreten, wenn die Menge der von M auslaufenden Kanten AM mehr als eine Transition enthält. Damit kein Konflikt vorliegt, muss für jeden Zielknoten Mt von t ∈ AM AM − {t} ⊂ AMt gelten. Eine Kontaktsituation tritt auf, wenn die schwache und die starke Schaltregel zu verschiedenen Ergebnissen führen. AM sei die Menge der von M auslaufenden Kanten nach der starken und ĀM sei die Menge der von M auslaufenden Kanten nach der schwachen Schaltregel. Es tritt nun kein Kontakt auf, wenn ĀM = AM für alle Knoten des Erreichbarkeitsgraphen EN gilt. Auf Grund des Erreichbarkeitsgraphen von Abbildung 6.21 des Petri-Netzes nach Abbildung 6.20 kann festgestellt werden: 151 6.3. Graphentheoretische Analyse Kapitel 6. Steuerungstechnik Teil IV (1) Das Petri-Netz besitzt keine tote Transition. (2) Eine totale Verklemmung ist möglich, durch die Schaltsequenz σ = t1 , t5 , t2 , t3 wird sie erreicht. (3) Konflikte: zwischen zwischen zwischen zwischen {t5 , {t1 , {t3 , {t1 , t6 } t3 } t4 } t3 , t4 } bei bei bei bei mT mT mT mT = (1, 1, 0, 0, 0, 0) = (0, 0, 0, 1, 1, 0) = (0, 0, 0, 1, 1, 0) = (0, 0, 0, 1, 1, 0) (4) Kontakte: bei mT = (1, 0, 0, 1, 0, 0) bei mT = (1, 0, 0, 1, 0, 0) bei mT = (1, 0, 0, 0, 1, 0) mit t3 mit t2 mit t3 . 6.3.2. Die Kondensation gerichteter Graphen Dazu werden noch einige Grundlagen aus der Graphentheorie benötigt (siehe Abbildung 6.22). Definition 6.14. G = (X, Y ) sei ein gerichteter Graph. Eine Kantenfolge ¢ ¡ z = y1 , y2 , . . . , y|Y | , yi ∈ Y , i = 1, . . . , |Y | , wobei yi−1 , yi einen Knoten von yi und yi , yi+1 den anderen Knoten von yi für i = 2, . . . , k − 1 gemeinsam haben, heißt Kette. Dabei bezeichnet n = l(z) die Länge der Kette z. Die Kantenfolge z ist eine Bahn, wenn alle Kanten (Bögen) von z in ihrem Richtungssinn durchlaufen werden. Kommt in einer Bahn keine Kante mehrmals vor, heißt sie einfach. Eine einfache Bahn, die geschlossen ist, d.h., y1 und yn haben den Anfangsbzw. den Endknoten gemeinsam, wird Kreis genannt. Bei Digraphen ist es von Interesse, ob Knoten durch eine Bahn verbunden werden können. Definition 6.15. Ein Graph G = (X, Y ) heißt stark zusammenhängend, wenn jedes Paar von Knoten durch eine Bahn verbunden werden kann. Ein maximaler, stark zusammenhängender Untergraph heißt starke Komponente. Man überzeugt sich leicht, dass auf der Menge der Knoten eines Digraphen G = (X, Y ) die Relation R stark zusammenhängend eine Äquivalenzrelation (reflexiv, symmetrisch und transitiv) ist. D.h., für R gilt: R = {(x1 , x2 ) : x1 , x2 ∈ X, x1 und x2 bzw. x2 und x1 sind durch eine Bahn verbunden} . Durch R wird eine Klasseneinteilung auf X induziert. Die Elemente einer Klasse von R sind die Knoten einer starken Komponente. Unter der Kondensation eines Digraphen GK = (XK , YK ) versteht man nun jenen Digraphen, dessen Knoten einer Klasse von R entsprechen, und bei dem genau dann eine Kante von einem Knoten xK,1 zu einem Knoten 152 6.3. Graphentheoretische Analyse Kapitel 6. Steuerungstechnik Teil IV Digraph Kette Kreis Bahn Abbildung 6.22: Zu den Begriffen Kette, Bahn und Kreis. xK,2 führt, wenn im ursprünglichen Graphen eine Bahn von einem Knoten der starken Komponete xK,1 zu einem Knoten der starken Komponente xK,2 führt. Abbildung 6.23 zeigt einen Digraphen mit seinen starken Komponenten und seiner Kondensation. Ein einfacher Algorithmus zur Bestimmung einer starken Komponente eines Digraphen G = (X, Y ) besteht aus folgenden Schritten: (1) Man wähle einen beliebigen Knoten x ∈ X und markiere ihn mit + und mit −. (2) Man bestimme alle von x erreichbaren Knoten, wenn die Kanten in Pfeilrichtung durchlaufen werden und markiere diese mit +. (3) Man bestimme alle von x erreichbaren Knoten, wenn die Kanten gegen die Pfeil- K1 K1 K2 K2 K3 K3 Abbildung 6.23: Starke Komponenten und Kondensation eines Digraphen. 153 6.3. Graphentheoretische Analyse Kapitel 6. Steuerungstechnik Teil IV richtung durchlaufen werden und markiere diese mit −. (4) Die mit + und − markierten Knoten sind die Knoten der durch x festgelegten starken Komponente. Die erreichbaren Knoten kann man z.B. sehr einfach mit dem Suchprinzip Tiefe zuerst finden. Abbildung 6.24 veranschaulicht dieses Verfahren. Es muss nun so lange wiederholt werden, bis alle starken Komponenten gefunden sind. Startknoten + Startknoten + + + + + + + +- + + +- + + +- + + +- Rückwärtsmarkierung Vorwärtsmarkierung Abbildung 6.24: Zur Bestimmung der starken Komponenten. K Mit Hilfe der Kondensation EN des Erreichbarkeitsgraphen EN eines Petri-Netzes N lassen sich einfach weitere Eigenschaften des Netzes herleiten. Satz 6.5. Das Petri-Netz N ist genau dann reversibel, wenn der Erreichbarkeitsgraph EN stark zusammenhängend ist. Ebenso einfach erhält man eine hinreichende Bedingung für die Lebendigkeit eines Netzes. Satz 6.6. Ist der Erreichbarkeitsgraph EN eines Petri-Netzes N stark zusammenhängend, und existiert zu jeder Transition t ∈ T eine Kante in EN , dann ist das Netz N lebendig. 2 s3 s1 t1 t2 t3 t4 2 t5 s4 s 2 2 2 Abbildung 6.25: Lebendiges, nichtreversibles Petri-Netz. 154 6.3. Graphentheoretische Analyse Kapitel 6. Steuerungstechnik Teil IV Die Umkehrung muss jedoch nicht gelten. Abbildung 6.25 zeigt ein lebendiges nichtreversibles Petri-Netz und der zugehörige Erreichbarkeitsgraph mit seiner Kondensation ist in Abbildung 6.26 dargestellt. Da die starke Komponente K2 alle Transitionen enthält ist das Netz lebendig. t2 t1 t2 0200 K1 1100 t1 2000 t3 t3 t1 1010 t5 t3 K2 t5 t2 t2 0110 K1 1001 0101 t3 0011 t5 t1 t4 K2 0020 Abbildung 6.26: Erreichbarkeitsgraph und Kondensation zum Petri-Netz von Abbildung 6.25. Definition 6.16. Eine starke Komponente K des Erreichbarkeitsgraphen EN eines PetriNetzes heißt lebendig, wenn zu jeder Transition t ∈ T eine Kante in K existiert. Damit erhält man aber sofort folgendes Kriterium. K Satz 6.7. Ein Petri-Netz N ist genau dann lebendig, wenn jede Senke von EN (Knoten ohne auslaufende Kante) lebendig ist. 155 6.3. Graphentheoretische Analyse Kapitel 6. Steuerungstechnik Teil IV K Zum Beweis nehme man vorerst an, dass eine Senke von EN nicht lebendig ist. Dann existiert aber notwendigerweise eine nicht mehr aktivierbare Transition. Zum zweiten Teil des Beweises beachte man, dass mindestens eine Markierung M und eine Transition t so K existieren, dass kein M 0 ∈ RN (M) die Transition t aktiviert. Also muss EN mindestens zwei Knoten besitzen. Ein zusammenhängender Digraph ohne starke Komponente hat aber mindestens eine Senke. Mit Hilfe der Kondensation lassen sich auch Verklemmungen feststellen. K Satz 6.8. EN sei der Erreichbarkeitsgraph eines Petri-Netzes N, EN seine Kondensation. K eine nicht lebendige Senke ohne Kante, genau dann ist eine totale Ver(1) Besitzt EN klemmung möglich. K eine nicht lebendige Senke mit mindestens einer Kante, genau dann ist (2) Besitzt EN eine partielle Verklemmung möglich. Der Beweis dieses Satzes kann analog zum vorigen erfolgen. t5 100100 t3 t4 t2 t2 K2 t1 t1 110000 000110 t1 t6 010100 t4 t6 K1 K2 t8 K1 t7 001100 t8 t2 101000 100010 totale Verklemmung t2 100001 t7 t5 000101 t1 K3 partielle Verklemmung K3 Abbildung 6.27: Kondensation des Erreichbarkeitsgraphen von Abbildung 6.21. Abbildung 6.27 zeigt die starken Komponenten des Erreichbarkeitsgraphen von Abbildung 6.21 und die zugehörige Kondensation. Man erkennt die bereits gefundene, tote Markierung mT = (1, 0, 0, 1, 0, 0) als starke Komponente K2 , die keine Kante enthält. Die starke Komponente K3 ist ebenfalls eine Senke. Da sie nicht alle Transitionen enthält, ist eine partielle Verklemmung 156 6.3. Graphentheoretische Analyse Kapitel 6. Steuerungstechnik Teil IV möglich. Das Beispiel zeigt, dass aus der Kondensation neben dem Existenznachweis von Verklemmungen auch deren Ursachen zu entnehmen sind. So führt das Schalten von t6 auf jeden Fall zu einer partiellen Verklemmung und das Schalten von t3 zu einer totalen. 6.3.3. Konstruktion des Überdeckungsgraphen Im Gegensatz zum Erreichbarkeitsgraphen kann der Überdeckungsgraph auch für unbeschränkte Petri-Netze konstruiert werden. In diesem Zusammenhang wird beim Überdeckungsgraphen, wie unten gezeigt wird, nur die schwache Schaltregel maßgeblich sein. Mit diesem Konstrukt lassen sich im Folgenden zum Beispiel Aussagen über die Eigenschaft der sogenannten strukturellen Beschränktheit eines Petri-Netzes machen. Definition 6.17. M und M 0 mit M 6= M 0 seien zwei Markierungen eines Petri-Netzes N. M wird von M 0 überdeckt, wenn m ≤ m0 gilt. Für M und M 0 mit M 6= M 0 gelte M 0 ∈ RN (M) . Dann hat das Gleichungssystem m0 = m + Nv eine nichtnegative, ganzzahlige Lösung v. Wird M durch M 0 überdeckt, so ist die v entsprechende Schaltsequenz σ auch bei M 0 anwendbar, und es folgt m00 = m0 + Nv = m+2Nv = m+2(m0 − m). Durch Wiederholen obiger Operation entsteht eine Folge (mk ) = m+k(m0 − m), (6.1) und man sieht sofort, dass das Netz unbeschränkt ist. Die natürlichen Zahlen werden durch die ”Zahl” ω (vergleiche + Unendlich) ergänzt, die den Rechengesetzen ω+n = ω ω−n = ω für alle n ∈ N n < ω ω ≤ω genüge. Eine Folge nach Gl. (6.1) wird im Überdeckungsgraphen durch einen einzigen Knoten m∗ mit ½ ω falls m0i > mi ∗ i = 1, . . . , |S| mi = mi sonst dargestellt, der diese Folge überdeckt. Die Grundidee bei der Konstruktion des Überdekkungsgraphen ist, solche Folgen rechtzeitig zu erkennen, und sie durch ihre Überdeckung darzustellen. Der Überdeckungsgraph lässt sich wieder einfach mit Hilfe des Suchprinzips Tiefe zuerst bestimmen. Dazu sind im Programm für den Erreichbarkeitsgraphen folgende Modifikationen vorzunehmen: 157 6.3. Graphentheoretische Analyse Kapitel 6. Steuerungstechnik Teil IV N // Menge der bereits gefundenen Knoten program first (m) // m : Knoten des Überdeckungsgraphen { bestimme die Menge Z der m-aktivierten Transitionen; für alle zi ∈ Z; { führe zi aus; bestimme den Knoten n zur Kante zi = (m, n) ; ist (n ∈ / N) dann N = N ∪ {n∗ } , first (n∗ ) ; // n∗i = ω falls für ein kj ∈ N // gilt n ≥ kj und ni > kj,i mache zi rückgängig; } } Die Suche wird mit program main (m0 ) // m0 : Anfangsmarkierung { N = {m0 } ; Netz mit m0 belegen; first (m0 ) ; } gestartet. 1000 s1 t1 t2 s3 t2 t3 0101 2 2 t4 t3 0120 t4 t1 t1 10ω 0 100ω t2 s2 s4 Petri-Netz 010 ω t4 t1 t3 t3 10ωω t4 t4 t2 t1 t2 t4 01ωω t3 Überdeckungsgraph Abbildung 6.28: Das Petri-Netz und der Erreichbarkeitsgraph zu Variante II . Abbildung 6.28 zeigt ein unbeschränktes Petri-Netz N mit dem Überdeckungsgraphen UN . Die Kanten von UN haben dieselbe Bedeutung wie die des Erreichbarkeitsgraphen EN . Die 158 6.4. Algebraische Analyse Kapitel 6. Steuerungstechnik Teil IV Knoten des Überdeckungsgraphen sind jedoch nur Überdeckungen erreichbarer Knoten, d.h., sie selbst müssen nicht erreichbar sein. Auch ist UN nicht eindeutig bestimmt. Satz 6.9. UN sei der Überdeckungsgraph eines Petri-Netzes N. (1) UN ist endlich. (2) Zu jeder in N anwendbaren Schaltsequenz σ existiert eine Bahn in UN . (3) Jede erreichbare Markierung wird von UN überdeckt. (4) Jeder Knoten von UN überdeckt eine erreichbare Markierung. (5) Jeder Knoten von UN ohne ω-Komponente ist eine erreichbare Markierung von N. Aus dem Überdeckungsgraphen kann man nun schließen, ob das Petri-Netz (strukturell) beschränkt ist oder nicht. Diese Eigenschaft gibt an, ob der Erreichbarkeitsgraph des Petrinetzes (unter der Annahme unendlich großer Kapazitäten) beschränkt bzw. unbeschränkt ist. Satz 6.10. UN sei der Überdeckungsgraph eines Petri-Netzes N. (1) Wenn UN einen Knoten mit einer ω-Komponente besitzt, genau dann ist N (strukturell) unbeschränkt. (2) Wenn UN einen Knoten mit einer Komponente mit einem Wert größer als eins besitzt, genau dann ist N nicht sicher. 6.4. Algebraische Analyse Alternativ zu den graphentheoretischen Methoden, basieren die algebraischen Methoden auf Lösungen des Gleichungssystems m − m0 = Nv , (6.2) wobei nur ganzzahlige Lösungen von Bedeutung sind. Damit lassen sich aber lediglich notwendige Bedingungen angeben. 6.4.1. Die S-Invariante Mit Hilfe der S-Invarianten lassen sich gewisse Stellenmengen eines Petri-Netzes N charakterisieren. Definition 6.18. Eine ganzzahlige, nichttriviale Lösung des Gleichungssystems iTS N = 0 heißt S-Invariante. 159 6.4. Algebraische Analyse Kapitel 6. Steuerungstechnik Teil IV Die Bedeutung der S-Invarianten erkennt man sofort, wenn man Gl. (6.2) von links mit iTS multipliziert. Es gilt iTS m − iTS m0 = iTS Nv =0 . Diese Beziehung erlaubt folgende Interpretation. In einem Netz mit einer S-Invarianten iS bleibt auf den durch iS bestimmten Stellen, die gewichtete Summe der Marken konstant. Gilt insbesondere iS,i ∈ {0, 1}, dann bleibt die Markenanzahl dort konstant. Ist insbesondere die S-Invariante iS positiv, d.h., es gilt iS > 0, dann muss die Markenanzahl beschränkt sein. Satz 6.11. Jedes Petri-Netz mit einer positiven S-Invarianten ist beschränkt. 6.4.2. Die T -Invariante Im Gegensatz zur S-Invarianten charakterisiert die T -Invariante gewisse Mengen von Transitionen. Definition 6.19. Eine ganzzahlige, nichtnegative, nichttriviale Lösung des Gleichungssystems NiT = 0 heißt T -Invariante. Die T -Invariante gibt also die Schaltsequenz zur Reproduktion der Anfangsmarkierung an. Satz 6.12. Jedes reversible Petri-Netz N besitzt eine T -Invariante. Eine T -Invariante ist also notwendig, damit der Erreichbarkeitsgraph einen Kreis enthält. Daraus erhält man fast unmittelbar den folgenden Satz: Satz 6.13. Jedes lebendige, beschränkte Petri-Netz N enthält eine T -Invariante. 6.4.3. Interpretationen der Invarianten Die Netzmatrix der Fertigungsstraßen lautet −1 0 1 1 −1 0 0 1 −1 0 0 0 N= 0 0 0 0 0 0 −1 1 0 0 −1 1 0 0 0 −1 1 0 −1 0 Die Lösung des Gleichungssystems iTS N = 0 160 0 0 0 0 −1 1 1 −1 0 0 0 1 . 0 −1 0 1 6.4. Algebraische Analyse ist Kapitel 6. Steuerungstechnik Teil IV 1 0 0 0 1 0 1 0 1 0 0 1 0 1 0 + λ2 + λ3 + λ4 0 iS = λ1 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 1 für λ1 , λ2 , λ3 , λ4 ∈ Z . Wählt man z.B. λ1 = λ2 = λ3 = λ4 = 1, dann sieht man sofort, dass das Netz beschränkt ist. Durch Lösen des Gleichungssystems I SI I SII s1 A t1 t4 t2 s3 s5 I SIV s7 s2 s6 s8 t3 s4 t4 s7 s5 t2 t5 ISIII B t1 s7 s2 s1 A s4 B t5 s3 s8 s6 s8 t3 I TI t6 I TII Abbildung 6.29: Zur Interpretation der S- und T -Invarianten. NiT = 0 erhält man die T -Invarianten. Die nichtnegativen Lösungen sind durch 1 0 1 0 1 + λ2 0 für λ1 , λ2 ∈ N iT = λ1 0 1 0 1 0 1 gegeben. Damit ist aber eine Voraussetzung für die Reversibilität erfüllt. 161 t6 6.5. Literatur Kapitel 6. Steuerungstechnik Teil IV S- und T -Invariante erlauben noch weitere Interpretationen, wie dies Abbildung 6.29 zu entnehmen ist. S-Invarianten bezeichnen Stellenmengen, für die die gewichteten Markensummen konstant bleiben. So beziehen sich die Mengen ISI = {s1 , s2 , s3 }, ISII = {s4 , s5 , s6 } auf den Durchlauf der Werkstücke auf den Fertigungsstraßen und die Mengen ISIII = {s2 , s5 , s7 }, ISIV = {s3 , s6 , s8 } auf den Einsatz der Handhabungsgeräte. Mit T -Invarianten werden Schaltsequenzen beschrieben, die Markierungen reproduzieren. Sie können als kleinste, eigenständige Funktionseinheiten angesehen werden. So beziehen sich die Mengen IT I = {t1 , t2 , t3 } und IT II = {t4 , t5 , t6 } auf die jeweils getrennten Fertigungsprozesse. Abschließend bleibt zu bemerken, dass hier Gleichungssysteme mit ganzzahligen Koeffizienten auftreten, wobei nur die ganzzahligen oder gar die ganzzahligen und nichtnegativen Lösungen interessieren. Numerische Verfahren zur Lösung solcher Systeme findet man unter anderem bei der linearen, ganzzahligen Programmierung. 6.5. Literatur 1. Abel D.: Petri-Netze für Ingenieure, Springer Verlag, 1990. 2. Hanisch H. M.: Petri-Netze in der Verfahrenstechnik, Oldenbourg Verlag, 1992. 3. Koenig R., Quaeck L.: Petri-Netze in der Steuerung- und Digitaltechnik, Oldenbourg Verlag, 1988. 4. Reisig W.: Petrinetze, Eine Einführung, Springer Verlag, 1991. 162