1 / 71

Unbest. Leiterpl. antransp.

Roboter 1 ist frei. Roboter 1 greift Leiterpl. Roboter 1 legt Leiterplatte ab. Leiterpl. best. durch R 1. Best. Leiterpl. abtransp. Unbest. Leiterpl. eingetroffen. Unbest. Leiterpl. antransp. best. Leiterpl. bereit. Roboter 2 legt Leiterplatte ab. Roboter 2 greift Leiterpl.

Download Presentation

Unbest. Leiterpl. antransp.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Roboter 1 ist frei Roboter 1 greift Leiterpl. Roboter 1 legt Leiterplatte ab Leiterpl. best. durch R 1 Best. Leiterpl.abtransp. Unbest. Leiterpl. eingetroffen Unbest. Leiterpl.antransp. best. Leiterpl. bereit Roboter 2 legt Leiterplatte ab Roboter 2 greift Leiterpl. Leiterpl. best. durch R 2 Roboter 2 ist frei Petri-Netze Grundlagen • Petrinetze dienen primär der logischen Modellierung von Verhalten • Verhaltensmodellierung: • Beschreibung der Dynamik eines Informationssystems • mögliche Aktivitäten • Vor- und Nachbedingungen einer Aktivität • Zustände (aller Bedingungen) (mögliche Ausprägung für jede einzelne Vor- bzw. Nachbedingung: Zustand einer Bedingung ist die Verteilung der Marken auf den Vor- bzw. Nachbereich) • Anfangszustand • sequentielle Abläufe (mögliche Folgen von Aktivitäten) • nichtsequentielle Abläufe • erreichbare Zustände (konkret auftretende Zustände in einem möglichen Ablauf) • dynamische Eigenschaften (Invarianten, Erfüllung von Zielen) • Geschäftsprozesse (mit Anfang, Ende, Varianten, ...)

  2. Petri-Netze Grundlagen • Grundlagen • Eignung: • Modellierung, Analyse und Simulation von • dynamischen Systemen mit nebenläufigen und nicht-deterministischen Vorgängen • Systemmodell für Vorgänge, Organisationen und Geräte mit geregelten Flüssen • Beschreibungsmittel für Folgeprozesse (dynamische Systeme) mit fester Grundstruktur • Beschreibung von parallelen und zu synchronisierenden Prozessen

  3. Petri-Netze Grundlagen • Grundlagen • Ein Petri-Netz ist ein bipartiter (d.h. die Menge der Knoten besteht aus zwei disjunktenTeilmengen), gerichteter Graph mit Markierungen in Viertupelform: PN = (S, T, K, M) • s e S: Stellen (oder auch Plätze), zur Beschreibung von Zuständen und/oder Bedingungen, Puffer, Speicher oder Lager, im Graph kreisförmig. Sie dienen der Ablage von Information. • t eT: Transitionen, beschreiben Zustandsübergänge, Ereignisse, Aktionen oder Tätigkeiten und sind im Graph strich-, balken- oder quaderförmig. Ihr Zweck ist die Verarbeitung von Information. • k e K: Kanten sind ggf. gewichtete (d.h. mit Zahl versehene) Verbindungen zwischen Stellen und Transition (und zwar nur zwischen S und T, daher ist der Graph bipartit), im Graph pfeilförmig. Sie zeigen den Verlauf der Transitionen an. • m e M: Marken (Tokens), die den aktuellen Zustand des Petri-Netzes angeben, im Graph als kleiner gefüllter Kreis.

  4. t t Petri-Netze Grundlagen Grundlagen Kanten jeweils nur von Stelle zu Transition bzw. Transition zu Stelle Eingabestellen von t: Stellen, von denen Kanten zu einer Transition t laufen Ausgabestellen von t: werden mit Marken durch Weitergabe mittels Transition belegt Schaltregel: Bewegungsablauf der Markena) Transition t kann schalten, wenn in jeder Eingabestelle von t mindestens eine Marke vorhandenb) Schaltet Transition t, Entfernen einer Marke aus jeder Eingabestelle, Hinzufügen einer Marke zu jeder Ausgabestelle verbinden

  5. t t Petri-Netze B/E-Netze Einfachste Petri-Netze: Bedingungs/Ereignis- Netze Marken sind vom Typ boole´sch B/E-Systeme besitzen auf jeder Stelle maximal eine Marke und alle Marken sind gleich. Schaltregel: Transition t kann schalten, wenn jede Eingabestelle von t eine Marke enthält und wenn jede Ausgabestelle von t leer ist (t ist aktiviert). t schaltet

  6. Roboter 1 Montageplatz 1 Fließband B Fließband A Roboter 2 Montageplatz 2 Roboter 1 ist frei Roboter 1 legt Leiterplatte ab Roboter 1 greift Leiterpl. Leiterpl. best. durch R 1 Best. Leiterpl.abtransp. Unbest. Leiterpl. eingetroffen Unbest. Leiterpl.antransp. best. Leiterpl. bereit Roboter 2 legt Leiterplatte ab Roboter 2 greift Leiterpl. Leiterpl. best. durch R 2 Roboter 2 ist frei Petri-Netze B/E-Netze Bedingungs/Ereignis- Netze Beispiel Bestückungsroboter: Zwei Roboter bestücken Leiterplatten, die von Fließband A antransportiert werden. Ist ein Roboter frei, kann er die Leiterplatte nehmen und am Montageplatz bestücken. Bearbeitet werden unterschiedliche Leiterplatten (unterschiedliche Zeitdauer). Ist die Leiterplatte fertig bestückt, wird sie auf Fließband B abgelegt.

  7. 3 Roboter 1 ist frei c b Roboter 1 legt Leiterplatte ab Roboter 1 greift Leiterpl. 2 Leiterpl. best. durch R 1 Best. Leiterpl.abtransp. f a Unbest. Leiterpl. eingetroffen Unbest. Leiterpl.antransp. best. Leiterpl. bereit 1 6 e d Roboter 2 legt Leiterplatte ab Roboter 2 greift Leiterpl. 4 Leiterpl. best. durch R 2 5 Roboter 2 ist frei Petri-Netze B/E-Netze Bedingungs/Ereignis- Netze Beispiel Bestückungsroboter S = {1,2,3,4,5,6}; T = {a,b,c,d,e,f} Initialzustand: „R1 frei“ und „R2 frei“; keine Transition kann schalten, da keine Vorbedingung erfüllt ist. m0 = {[1] 0, [2] 0, [3] 1, [4] 0, [5] 1, [6] 0} Nächster Zustand: Leiterplatte antransportiert; „Transitionen R1 greift Leiterpl.“ und „R2 greift Leiterpl.“ aktiviert, Ereignisse können eintreten. m1 = {[1] 1, [2] 0, [3] 1, [4] 0, [5] 1, [6] 0} = { 1, 0, 1, 0, 1, 0 } [1],[2] [3] [4] [5] [6]

  8. Petri-Netze B/E-Netze Bedingungs/Ereignis- Netze Beispiel Bestückungsroboter m1 = {1,0,1,0,1,0} Konflikt zwischen den gegensätzlichen Transitionen (mind. eine gemeinsame Eingangsstelle), d.h. konkurrierende Ereignisse: Tritt eines der Ereignisse ein, ist die Transition des anderen nicht mehr aktiviert.Eintreten zufällig => Netzverhalten nicht-deterministisch. Nächster Zustand: Ereignis b: d inaktiviert, da 1 leer; c aktiviert, da 2 belegt. m2 = {0,1,0,0,1,0} 3 Roboter 1 ist frei c b Roboter 1 legt Leiterplatte ab Roboter 1 greift Leiterpl. 2 Leiterpl. best. durch R 1 Best. Leiterpl.abtransp. f a Unbest. Leiterpl. eingetroffen Unbest. Leiterpl.antransp. best. Leiterpl. bereit 1 6 e d Roboter 2 legt Leiterplatte ab Roboter 2 greift Leiterpl. 4 Leiterpl. best. durch R 2 5 Roboter 2 ist frei

  9. Petri-Netze B/E-Netze Bedingungs/Ereignis- Netze: Dynamik Beispiel Bestückungsroboter Anfangsmarkierung m0 = {0,0,1,0,1,0} Transition a schaltet m1 = {1,0,1,0,1,0} Transition b schaltetm2 = {0,1,0,0,1,0} ... Petri-Netze: Modellierung nicht-deterministischer VorgängeSicherstellung, dass nur ein konkurrierender Prozess läuft. 3 Roboter 1 ist frei c b Roboter 1 legt Leiterplatte ab Roboter 1 greift Leiterpl. 2 Leiterpl. best. durch R 1 Best. Leiterpl.abtransp. f a Unbest. Leiterpl. eingetroffen Unbest. Leiterpl.antransp. best. Leiterpl. bereit 1 6 e d Roboter 2 legt Leiterplatte ab Roboter 2 greift Leiterpl. 4 Leiterpl. best. durch R 2 5 Roboter 2 ist frei

  10. Petri-Netze B/E-Netze Bedingungs/Ereignis- Netze: Übung 1 Konstruieren Sie ein Petri-Netz eines (rudimentären) Verkaufsautomaten, der eine Portion Pommes frites gegen eine 50-Cent-Münze ausgibt: Der Automat habe einen Münzeinwurf, eine Münzrückgabe, eine Münzannahme und eine Warenausgabe. Nach Annahme einer 50-Cent-Münze kann der Kunde die Rückgabe der Münze oder die Ausgabe der Ware veranlassen.

  11. Induktionsschleife Petri-Netze B/E-Netze • Bedingungs/Ereignis- Netze: Übung 2 • Modellieren Sie eine Ampelsteuerung mittels B/E-Netz jeweils mit den Phasen „rot“, „rot-gelb“, „grün“ und „gelb“ für eine Kreuzung mithilfe eines Petri-Netzes, welches gewährleistet, dass jeweils nur eine Straße (Ost-West oder Nord-Süd) freigegeben wird. • b) Erweitern Sie das Petri-Netz so, dass die Induktionsschleifen mit berücksichtigt werden. Nord Ost West Süd

  12. Petri-Netze B/E-Netze Bedingungs/Ereignis- Netze: Übung 2 Lösung a)

  13. Petri-Netze B/E-Netze Bedingungs/Ereignis- Netze: Übung 2 Lösung b) Variante 1

  14. Petri-Netze B/E-Netze Bedingungs/Ereignis- Netze: Übung 2 Lösung b) Variante 2

  15. t t Petri-Netze B/E-Netze Bedingungs/Ereignis- Netze: Umsetzung in Programm x x a a y t schaltet y b b z z /* Schalten der Transition t */if ((a && b) && (!x && !y && !z) && trigger) {a=false; b=false; x=true; y=true; z=true;} // Schalten der Transition tu au bun xun yun zr ar bs xs ys z

  16. Petri-Netze B/E-Netze Bedingungs/Ereignis- Netze: Übung 3 Ein philosophisches (filosofisches ?) Problem Problem der speisenden Philosophen von Dijkstra zur Demonstration von Semaphoren bei nebenläufigen Prozessen:Tischrunde von 5 Philosophen: Denken nach und müssen ab und an etwas essen. Vor jedem Philosophen ein Teller Reis, zwischen zwei Tellern je ein Stäbchen. Ein Philosoph, der sein Denken unterbricht, um zu essen, benötigt dazu je ein Stäbchen auf beiden Seiten seines Tellers. Petri-Netz-Modellierung 1. Definition der Stellen2. Definition der Transitionen3. Definition der Beziehungen4. Vollständiges Netzwerk5. Plausible Anfangsmarkierung6. Dynamik Terminierung ? Lebendigkeit ? Verklemmungen ?

  17. Petri-Netze B/E-Netze Bedingungs/Ereignis- Netze: Übung 3 Lösung Petri-Netz-Modellierung des Problems der speisenden Philosophen 1. Definition der StellenPhilosoph denkend S1XPhilosoph speisend S2XStäbchen S3X 2. Definition der TransitionenPhilosoph nimmt Stäbchen und beginnt zu speisen. T1XPhilosoph legt Stäbchen weg und beginnt zu denken. T2X

  18. S3X S3X+1 S1X T1X T2X S2X Petri-Netze B/E-Netze Bedingungs/Ereignis- Netze: Übung 3 Lösung Petri-Netz-Modellierung des Problems der speisenden Philosophen 3. Definition der BeziehungenDer Philosoph kann nur zu speisen beginnen (T1X kann nur schalten), wenn beide benachbarten Stäbchen vorhanden (S3X und S3X+1 belegt) sind und sich der Philosoph im denkenden Zustand befindet (S1X belegt). Dabei werden S3X , S3X+1 und S1X geleert und S2X belegt.Wenn der Philosoph zu denken beginnt (T2X kann nur schalten, wenn er sich im speisenden Zustand befindet, d.h. S2X belegt ist), legt er beide benachbarten Stäbchen zurück (S3X und S3X+1 belegt) sind und S2X wird geleert und S1X belegt.

  19. S24 T24 S23 T13 T23 T14 S14 S13 S34 S35 S33 T25 T12 S15 S12 S31 S25 S32 S22 T15 T22 S11 T11 T21 S21 Petri-Netze B/E-Netze Bedingungs/Ereignis- Netze: Übung 3 Lösung Petri-Netz-Modellierung des Problems der speisenden Philosophen 4. Vollständiges Netzwerk S1X Philosoph denkend S2X Philosoph speisend S3X Stäbchen T1X Philosoph nimmt Stäbchen und beginnt zu speisen. T2X Philosoph legt Stäbchen weg und beginnt zu denken.

  20. S24 T24 S23 T13 T23 T14 S14 S13 S34 S35 S33 T25 T12 S15 S12 S31 S25 S32 S22 T15 T22 S11 T11 T21 S21 Petri-Netze B/E-Netze Bedingungs/Ereignis- Netze: Übung 3 Lösung Petri-Netz-Modellierung des Problems der speisenden Philosophen 5. Plausible Anfangsmarkierung (eine Möglichkeit) S1X Philosoph denkend S2X Philosoph speisend S3X Stäbchen T1X Philosoph nimmt Stäbchen und beginnt zu speisen. T2X Philosoph legt Stäbchen weg und beginnt zu denken. Terminierung ? nein Lebendigkeit ? ja Verklemmungen ? nein

  21. K=4 Fahrrad montieren 2 Räder K=1 K=4 1 1 Kette 1 K=2 Fahrrad Rahmen Petri-Netze • Stellen/Transitions-Netze (Markentyp positiv ganzzahlig) • Auf jeder Stelle mehrere gleiche Marken möglich bis zur Kapazität K der Stelle • Kanten mit Zahlen gewichtet: Transition muss Eingabestellen so viele Marken entnehmen bzw. Ausgabestellen hinzufügen, wie der jeweilige Gewichtswert angibt. • Bei einem Schaltvorgang ggf. mehrere Marken betroffen • Sind alle Eingabestellen einer Transition jeweils mit mindestens der Menge an Marken belegt, die das Gewicht der korrespondierenden Kante angibt, und die Ausgabestellen mit höchstens der Menge an Marken belegt, die plus das Gewicht der zugehörigen Kante die Kapazität der Stelle nicht überschreitet, dann ist die Transition "aktiviert". • Nur eine aktivierte Transition kann (muss aber nicht) schalten. • Transition schaltet (zugehöriges Ereignis tritt ein)  Folgemarkierung: • - Marken werden gemäß Kantengewichten aus Eingabestellen entfernt. • - Ausgabestellen werden gemäß Kantengewichten gefüllt. K=4 Fahrrad montieren 2 Räder schaltet K=1 K=4 1 1 Kette 1 K=2 Fahrrad Rahmen

  22. Petri-Netze • Stellen/Transitions-Netze • Ein S/T-Netz ist ein bipartiter (d.h. die Menge der Knoten besteht aus zwei disjunktenTeilmengen), gerichteter Graph mit Markierungen in Sechstupelform: • PN = (S, T, K, C, W, M) • s e S: endliche, nicht-leere Menge Stellen S = {s1, s2, ... , sn} • t e T: endliche, nicht-leere Menge Transitionen T = {t1, t2, ... , tn} • k e K: nicht-leere Menge Kanten mit Pre Í S x T Prekanten • Post Í T x S Postkanten • C: S  N Abbildung, die jeder Stelle eine Kapazität zuordnet • W: K  N Abbildung, die jeder Kante ein Gewicht zuordnet • M: S  N0 Marken der Anfangsmarkierung • N = {1, 2, 3, ... } • N0 = {0, 1, 2, 3, ... }

  23. s1 K=1 s2 K=1 1 1 1 1 t1 2 1 1 s3 K=2 t3 t2 Petri-Netze Stellen/Transitions-Netze Ein S/T-Netz ist ein bipartiter (d.h. die Menge der Knoten besteht aus zwei disjunktenTeilmengen), gerichteter Graph mit Markierungen in Sechstupelform: PN = (S, T, K, C, W, M)Beispiel: S = {s1, s2, s3} T = {t1, t2, t3} Pre = {(s1,t1), (s2,t1), (s3,t2), (s3,t3)} Post = {(t1,s3), (t2,s1), (t3,s2)} K = Pre U Post C(s1) = 1; C(s2) = 1; C(s3) = 2; W(s1,t1) = 1; W(s2,t1) = 1; W(s3,t2) = 1; W(s3,t3) = 1; W(t1,s3) = 2; W(t2,s1) = 1; W(t3,s2) = 1; M0(s1) = 0; M0(s2) = 0; M0(s3) = 2;

  24. K=4 K=4 S2 2 2 K=3 S2 schaltet K=3 2 2 T T K=2 K=2 2 2 S1 S1 S3 S3 K=4 2 S2 K=3 2 T K=2 2 S1 S3 Petri-Netze Stellen/Transitions-Netze Kann nicht schalten, da sich in S3 drei Marken ergäben, die Kapazität von S3 aber nur K=2 ist. S/T-Netze können B/E-Netze darstellen, wenn Gewichteund Kapazitäten der S/T-Netze gleich eins gesetzt werden.

  25. Petri-Netze • Stellen/Transitions-Netze • Dynamik • Bei dynamischen Vorgängen kann es zu Nebenläufigkeiten kommen. • Aktivierte Transitionen heißen gegensätzlich, wenn sie mindestens eine gemeinsame Eingangsstelle haben. • Bei mehreren gegensätzlichen aktivierten Transitionen kann immer nur eine schalten. • Aktivierte Transitionen können, falls sie nicht gegensätzlich sind, gleichzeitig schalten. • Eine Verklemmung (Deadlock) liegt vor, wenn keine Transition aktiviert ist. • S3 stellt Ausschließlichkeit zwischen T1 und T3 sicher. T1 T3 B/E-Netz eines Erzeuger- Verbraucher- System-Modell S1 S2 S3 S4 S5 T2 T4

  26. Petri-Netze Stellen/Transitions-Netze Dynamik Im Beispiel repräsentiert die Stelle S3 eine Semaphore. Semaphoren: Signalzähler, mit genau so vielen Einheiten (Marken), wie Prozesse gleichzeitig einen kritischen Abschnitt betreten können. - Schließen sich die Prozesse gegenseitig aus: Anzahl der Marken = 1. - Bei Ressourcen, die n Prozesse gleichzeitig bedienen können: Anzahl der Marken = n.Prozesseintritt in einen kritischen Abschnitt: Verringerung der Semaphore um 1. Zählerwert negativ => Prozess in eine Warteschlange, andernfalls Prozesseintritt. Verlassen des kritischen Abschnitts durch einen Prozess: Erhöhung Zählerwert Semaphore um 1. Prozess in Warteschlange wird durch ein Signal verständigt. T1 T3 S1 S2 S3 S4 S5 T2 T4

  27. Petri-Netze Stellen/Transitions-Netze Beispiel Erweiterung der Bestückungsanlage um ein Bauteilemagazin 1. B/E-Netz Roboter 2 ist frei Rob 1 belegtBauteilemagazin Rob 1 freigebenBauteilemagazin Rob 1greift Leiterplatte Rob 1 ablegen Leiterplatte Leiterplattevon Rob 1vorbereitet Bauteilemagazinvon Rob 1 belegt Bauteile vonRob1 geholt Best. Leiterpl.abtransp. Unbest. Leiterpl.antransp. best. Leiterpl. bereit Unbest. Leiterpl. eingetroffen Bauteilemagazin ist frei Bauteilte vonRob2 geholt Leiterplatte von Rob 2 vorbereitet Bauteilemagazinvon Rob 2 belegt Rob 2 ablegen Leiterplatte ab Rob 2 greift Leiterplatte Rob 2 belegtBauteilemagazin Rob 2 freigebenBauteilemagazin Roboter 2 ist frei

  28. Roboter sind frei K=2 Best. Leiterpl.abtransp. Rob freigebenBauteile-magazin Rob belegtBauteile-magazin K=2 K=1 K=1 K=1 K=2 best. Leiterpl. bereit Unbest. Leiterpl. Einge-troffen Rob greift Leiterplatte Leiterplattevon Robvorbereitet Bauteilemagazinvon Rob belegt Rob ablegen Leiter-platte Bauelemente von Rob geholt K=1 Bauteile-magazinist frei Petri-Netze Stellen/Transitions-Netze Beispiel Erweiterung der Bestückungsanlage um ein Bauteilemagazin 2. S/T-Netz Unbest. Leiterpl.antransp.

  29. Petri-Netze Stellen/Transitions-Netze Modellierung von S/T-Netzen durch B/E-Netze Ersetze Stelle s des S/T-Netzes mit Kapazität K durch K Stellen s0, s1,…, sK eines S/T-Netzes, jeweils für die Belegung der S/T-Stelle durch k=0,…,K Marken. R2 (zwei Marken) R1 (eine Marke) R0 (keine Marke) R K=2 S2 S0 S1 S K=2

  30. Petri-Netze Übungsbeispiele Petri-Netze Modellierung Erzeuger/Verbraucherproblem durch B/E- und S/T-Netze Zwischenlagerbeispiel aus dem allgemeinen Erzeuger/Verbraucherproblem: Ein Lieferant liefert Teile an und lagert sie im Zwischenlager ein. Die Fertigung entnimmt die Teile aus dem Zwischenlager und verbraucht sie. Aufgrund der begrenzten Kapazität des Zwischenlagers sind Lieferant und Fertigung miteinander gekoppelt. B/E-Netz: Lieferant kann einlagern Fertigung kann aus Lager entnehmen Entnehmen Einlagern Zwischenlager belegt Anliefern Verbrauchen Lieferant kann anliefern Fertigung kann verbrauchen Lieferant Zwischenlager Fertigung

  31. Petri-Netze Übungsbeispiele Petri-Netze Die Lagerkapazität soll vergrößert werden. Geben Sie ein entsprechendes S/ T-Netz mit einer Zwischenlagerkapazität = 10 an.

  32. Petri-Netze Übungsbeispiele Petri-Netze Die Lagerkapazität soll vergrößert werden. Geben Sie ein entsprechendes S/ T-Netz mit einer Zwischenlagerkapazität = 10 an. Lösung Lieferant kann einlagern Fertigung kann aus Lager entnehmen Teil entnehmen Teil einlagern Zwischenlagerbelegung Anliefern Verbrauchen K=10 Lieferant kann anliefern Fertigung kann verbrauchen Lieferant Zwischenlager Fertigung

  33. Petri-Netze Übungsbeispiele Petri-Netze Lieferengpässe führen zum Vertragsabschluß mit einem zweiten Liefe-ranten. Geben Sie ein entsprechendes S/T-Netz mit einer Zwischen-lagerkapazität = 10 und zwei Lieferanten an, wobei unterschieden werden kann, ob Lieferant 1 oder Lieferant 2 ein Teil anliefert.

  34. Lieferant1 kann einlagern Lieferant2 kann einlagern Teil einlagern Teil einlagern Anliefern Anliefern Lieferant2 kann anliefern Lieferant1 kann anliefern Petri-Netze Übungsbeispiele Petri-Netze Lieferengpässe führen zum Vertragsabschluß mit einem zweiten Liefe-ranten. Geben Sie ein entsprechendes S/T-Netz mit einer Zwischen-lagerkapazität = 10 und zwei Lieferanten an, wobei unterschieden werden kann, ob Lieferant 1 oder Lieferant 2 ein Teil anliefert. Fertigung kann aus Lager entnehmen Zwischenlager-belegung Teil entnehmen Lösung Verbrauchen K=10 Fertigung kann verbrauchen

  35. Petri-Netze Übungsbeispiele Petri-Netze Vereinfachen Sie das S/T-Netz von oben, indem Sie nicht mehr unterscheiden, welcher der beiden Lieferanten ein Teil anliefert.

  36. Petri-Netze Übungsbeispiele Petri-Netze Vereinfachen Sie das S/T-Netz von oben, indem Sie nicht mehr unterscheiden, welcher der beiden Lieferanten ein Teil anliefert. Lösung Lieferanten können einlagern Fertigung kann aus Lager entnehmen K=2 Teil entnehmen Teil einlagern Zwischenlagerbelegung Anliefern Verbrauchen K=10 K=2 Lieferanten können anliefern Fertigung kann verbrauchen Lieferant Zwischenlager Fertigung

  37. s1 K=1 s2 K=1 1 1 1 1 t1 2 1 1 s3 K=2 t3 t2 Petri-Netze Stellen/Transitions-Netze Vektorielle Darstellung PN = (S, T, K, C, W, M) Beispiel: S = {s1, s2, s3} T = {t1, t2, t3} Pre = {(s1,t1), (s2,t1), (s3,t2), (s3,t3)} Post = {(t1,s3), (t2,s1), (t3,s2)} K = Pre U Post C(s1) = 1; C(s2) = 1; C(s3) = 2; W(s1,t1) = 1; W(s2,t1) = 1; W(s3,t2) = 1; W(s3,t3) = 1; W(t1,s3) = 2; W(t2,s1) = 1; W(t3,s2) = 1; M0(s1) = 0; M0(s2) = 0; M0(s3) = 2; Transitionsindex Stellenindex Transitionsvektoren Kapazitätsvektor Anfangsmarkierungsvektor

  38. s1 K=1 s2 K=1 1 1 1 1 t1 2 1 1 s3 K=2 t3 t2 Petri-Netze Stellen/Transitions-Netze Vektorielle Darstellung PN = (S, T, K, C, W, M) Beispiel 1: S = {s1, s2, s3} T = {t1, t2, t3} Pre = {(s1,t1), (s2,t1), (s3,t2), (s3,t3)} Post = {(t1,s3), (t2,s1), (t3,s2)} K = Pre U Post C(s1) = 1; C(s2) = 1; C(s3) = 2; W(s1,t1) = 1; W(s2,t1) = 1; W(s3,t2) = 1; W(s3,t3) = 1; W(t1,s3) = 2; W(t2,s1) = 1; W(t3,s2) = 1; M0(s1) = 0; M0(s2) = 0; M0(s3) = 2;

  39. s1 K=1 s2 K=1 t1 s3 K=1 t3 t2 Petri-Netze Stellen/Transitions-Netze Vektorielle Darstellung PN = (S, T, K, C, W, M) Beispiel 2: 1 1 1 S = {s1, s2, s3} T = {t1, t2, t3} Pre = {(s1,t1), (s2,t2), (s3,t3)} Post = {(t1,s2), (t2,s3), (t3,s1)} K = Pre U Post C(s1) = 1; C(s2) = 1; C(s3) = 1; W(s1,t1) = 1; W(s2,t2) = 1; W(s3,t3) = 1; W(t1,s2) = 1; W(t2,s3) = 1; W(t3,s1) = 1; M0(s1) = 1; M0(s2) = 0; M0(s3) = 0; 1 1 1

  40. Petri-Netze Stellen/Transitions-Netze Schaltregeln und Markenfluss in vektorieller Darstellung Veränderung des Markierungsvektors durch Schalten: Transition ist aktiviert (schaltfähig), wenn durch Schalten eine zulässige Folgemarkierung erzeugt werden kann: Markenanzahl darf nirgends negativ werden (Vorbedingung), Kapazität darf nirgends überschritten werden: Beispiel 1: t2 und t3 sind aktiviert.

  41. Petri-Netze Stellen/Transitions-Netze: Realisierung in C int transition, num_stellen=3, num_transitions=3; int M[num_stellen], C[num_stellen], N[num_transitions, num_stellen]; bool activity_status(transition) { int i; for (i=0; num_stellen-1; i++) { if ((M[i]+N[transition,i] < 0) || ((M[i]+N[transition,i] > C[i])) { break; } } if (i==num_stellen-1) { return 1; } else { return 0; } } bool trans_switch(transition) { for (i=0; num_stellen-1; i++) { M[i]=M[i]+N[transition,i] } } do { for (transition=0; num_transitions-1, transition++) { if ( acitivty_status(transition) && event(transition)) {trans_switch(transition);} } }

  42. Petri-Netze Stellen/Transitions-Netze Schaltregeln und Markenfluss in vektorieller Darstellung Transitionsfolgeheisst Schaltsequenz. Schaltsequenz ist anwendbar, wenn Beispiel 1: ergibt => Schaltsequenz t nicht anwendbar.

  43. Petri-Netze Stellen/Transitions-Netze Erreichbarkeit Eine Markierung eines Petri-Netzes heißt erreichbar, wenn eine anwendbare Schaltsequenz t existiert, die in überführt. Die Erreichbarkeitsmenge ist dann

  44. 1 3 s1 K=7 s2 K=5 1 2 t1 t2 Petri-Netze Stellen/Transitions-Netze Erreichbarkeit Geometrische Bedeutung der Erreichbarkeitsmenge Beispiel: M(s2) Keine schaltfähige Transition 5 4 3 2 1 M ist erreichbar, wenn Transitionsvektoren zu Polygon kombiniert, Ecken im ersten Quadranten und innerhalb Grenzen der Schaltregel. 0 M(s1) 0 1 2 3 4 5 6 7 8 9 Erreichbarkeitsmenge: Punkte im Rechteck

  45. 6,5 1,5 t1 t2 4,4 t1 t2 7,3 t2 2,3 M(s1) M(s2) t1 5,2 t2 0,2 t1 t2 3,1 t1 t2 6,0 1,0 Petri-Netze • Stellen/Transitions-Netze • Erreichbarkeit • Reversibles Petri-Netz: • Jeweils zwei Markierungen der Erreichbarkeitsmenge können ineinander übergeführt werden. • In einem reversiblen Petri-Netz ist die Anfangsmarkierung erreichbar. Erreichbarkeitsgraph: Analysemöglichkeiten: Vektoralgebra Graphentheorie

  46. Petri-Netze Stellen/Transitions-Netze Analyse Analyse-Grundlage: Gleichungssystem Notwendige Bedingung für Erreichbarkeit: positive, ganzzahlige Lösung Notwendige Bedingung für Reversibilität: Lebendiges und beschränktes Netz:Koeffizienten >0: Alle Transitionen werden berücksichtigt. Bei jeder Markierung der Erreichbarkeitsmenge ist eine Schaltsequenz vorhanden, die alle Transitionen berücksichtigt und zur Anfangsmarkierung zurückführt.

  47. Petri-Netze • Analyse und Simulation von Petri-Netzen • Fragen: • Terminiert das Netz?Ausgehend von einer Ausgangsmarkierung, können nur endlich viele Transitionen schalten? • Ist jede Transition lebendig? Ausgehend von einer Ausgangsmarkierung, können die Transitionen stets so schalten, dass eine vorgegebene Transition t im weiteren Verlauf nochmals schalten kann? • Treten vermeidbare Verklemmungen auf?Gibt es Situationen, in denen keine Transition schalten kann, die aber bei anderer Schaltreihenfolge hätten vermieden werden können?

  48. Petri-Netze • Lebendigkeit von Petri-Netzen • Grade der Lebendigkeit in S/T-Netzen: • Todesgefahr: Zustand möglich, bei dem aufgrund leerer Eingangsstellen und voller Ausgangsstellen keine Transition mehr schaltfähig ist.  S/T-Netz mit Markierung M ist lebendig, wenn mindestens eine Transition schalten kann und das Netz mit der Folgemarkierung wieder lebendig ist. • Jede Transition muss immer oder immer wieder schalten können. • Lebendige Netze: Weder Mangel, noch Überfluss an Marken.Ein System im Endlosbetrieb kann nur durch ein grad-2-lebendiges Netz beschrieben werden. lebendig todes-gefährdet

  49. Petri-Netze Verklemmung in Petri-Netzen Eine Menge von Stellen S heißt Verklemmung, wenn sie –einmal ohne Marken- nie mehr markiert werden kann. Totale Verklemmung: Keine Transition kann mehr schalten. Partielle Verklemmung: Nur noch ein Teil aller Transitionen kann aktiviert werden. Verklemmung, wenn t1 und t2 gleichzeitig schalten. t2 t1 t4 t3

  50. Petri-Netze Lebendigkeit von Petri-Netzen Tote TransitionEine Transition tj heißt tot, wenn sie bei keiner Markierung der Erreichbarkeitsmenge aktiviert ist: Tote MarkierungEine Markierung M heißt tot, wenn sie keine Transition aktiviert: Eine tote Transition führt zu einer partiellen Verklemmung. Eine tote Markierung entspricht einer totalen Verklemmung.

More Related