\documentclass{bschlangaul-aufgabe} \bLadePakete{petri} \begin{document} \bAufgabenMetadaten{ Titel = {Aufgabe 3}, Thematik = {Automatisierungsanlage mit zwei Robotern}, Referenz = 66116-2015-F.T2-TA2-A3, RelativerPfad = Examen/66116/2015/03/Thema-2/Teilaufgabe-2/Aufgabe-3.tex, ZitatSchluessel = examen:66116:2015:03, BearbeitungsStand = mit Lösung, Korrektheit = unbekannt, Ueberprueft = {unbekannt}, Stichwoerter = {Petri-Netz}, EinzelpruefungsNr = 66116, Jahr = 2015, Monat = 03, ThemaNr = 2, TeilaufgabeNr = 2, AufgabeNr = 3, } Das folgende Grundgerüst stammt aus dem Petri-Netz-Modell einer Automatisierungsanlage mit zwei Robotern, das Sie auf Ihr Blatt übernehmen und geeignet um weitere Plätze (Stellen), Transitionen, Kapazitäten, Gewichte und Markierungen so ergänzen sollen, dass die darunter angegebenen Anforderungen eingehalten werden: \index{Petri-Netz} \footcite{examen:66116:2015:03} In der Anlage arbeiten zwei Roboter A und B, die über einen Schalter „Einschalten“ aktiviert und \emph{jederzeit} über einen „Notaus “-Schalter deaktiviert werden können müssen. Aufgabe der Roboter ist es, jeweils abwechselnd an Bauteilen zu arbeiten, die einzeln über ein Förderband „ZufuhrBauteil“ ins System eingefahren und nach der Fertigstellung mittels „Abtransport“ aus dem System abgeführt werden. Roboter A bringt genau 3 Anbauten vom Typ „A“ an jedes Bauteil an und Roboter B macht das entsprechend mit genau 2 Anbauten vom Typ „B“. Die Anbauten werden jeweils passend über „ZufuhrA“ auf „A“ bzw. mittels „ZufuhrB“ auf „B“ bereitgestellt. Die beiden Roboter dürfen \emph{niemals} gleichzeitig an einem Bauteil arbeiten — die Reihenfolge, in der sie darauf zugreifen, ist jedoch beliebig und darf von Bauteil zu Bauteil frei varüeren. Sobald einer der Roboter mit der Arbeit an einem neuen Bauteil begonnen hat, darf kein weiteres Bauteil angenommen werden, ehe der jeweils andere Roboter nicht ebenfalls mit seiner Arbeit am gleichen Bauteil fertig geworden ist (und das fertige Bauteil „auf den Platz ‚fertig‘ legt“). Aus Platzgründen darf höchstens ein Bauteil auf dem Ausgangsplatz „fertig“ abgestellt werden, ehe es abtransportiert wird. \begin{center} \begin{tikzpicture}[li petri,x=2cm,y=2cm,scale=0.7,transform shape] \node[place,label=west:RoboterAus,tokens=1] at (0,-1) (RoboterAus) {}; \node[place,label=east:A] at (-1.5,-4) (A) {}; \node[place,label=east:Bauteil] at (0,-4) (Bauteil) {}; \node[place,label=west:B] at (1.5,-4) (B) {}; \node[place,label=west:RobotBereitA] at (-3,-5) (RobotBereitA) {}; \node[place,label=east:RobotBereitB] at (3,-5) (RobotBereitB) {}; \node[place,label=south:fertig] at (0,-5) (fertig) {}; \node[transition,label=Notaus] at (0,0) {} edge[pre,bend right=45] (RobotBereitA) edge[pre,bend left=45] (RobotBereitB) edge[post] (RoboterAus); \node[transition,label=south:Einschalten] at (0,-2) {} edge[pre] (RoboterAus) edge[post,bend right=60] (RobotBereitA) edge[post,bend left=60] (RobotBereitB); \node[transition,label=ZufuhrA] at (-1.5,-3) {} edge[post] node[auto]{3} (A) edge[inhibitor,bend right] (A); \node[transition,label=ZufuhrBauteil] at (0,-3) {} edge[post] (Bauteil) edge[inhibitor,bend right] (Bauteil); \node[transition,label=ZufuhrB] at (1.5,-3) {} edge[post] node[auto]{2} (B) edge[inhibitor,bend right] (B);< \node[transition,label=east:Abtransport] at (0,-4.5) {} edge[pre] (fertig); \end{tikzpicture} \end{center} \begin{bAntwort} \begin{center} \begin{tikzpicture}[li petri,x=2cm,y=2cm,scale=0.7,transform shape] \node[place,label=west:RoboterAus,tokens=1] at (0,-1) (RoboterAus) {}; \node[place,label=east:A] at (-1.5,-4) (A) {}; \node[place,label=east:Bauteil] at (0,-4) (Bauteil) {}; \node[place,label=west:B] at (1.5,-4) (B) {}; \node[place,label=west:RobotBereitA] at (-3,-5) (RobotBereitA) {}; \node[place,label=east:RobotBereitB] at (3,-5) (RobotBereitB) {}; \node[place,label=west:A angebaut] at (-0.5,-5) (AAngebaut) {}; \node[place,label=east:B angebaut] at (0.5,-5) (BAngebaut) {}; \node[place,label=south:fertig] at (0,-7) (fertig) {}; \node[transition,label=Notaus] at (0,0) {} edge[pre,bend right=45] (RobotBereitA) edge[pre,bend left=45] (RobotBereitB) edge[post] (RoboterAus); \node[transition,label=south:Einschalten] at (0,-2) {} edge[pre] (RoboterAus) edge[post,bend right=60] (RobotBereitA) edge[post,bend left=60] (RobotBereitB); \node[transition,label=ZufuhrA] at (-1.5,-3) {} edge[pre,bend right=10] (RobotBereitA) edge[post,bend left=10] (RobotBereitA) edge[post] node[auto]{3} (A) edge[inhibitor,bend right] (A); \node[transition,label=ZufuhrBauteil] at (0,-3) {} edge[post] (Bauteil) edge[inhibitor,bend right] (Bauteil) edge[inhibitor,bend right] (AAngebaut) edge[inhibitor,bend left] (BAngebaut); \node[transition,label=ZufuhrB] at (1.5,-3) {} edge[pre,bend right=10] (RobotBereitB) edge[post,bend left=10] (RobotBereitB) edge[post] node[auto]{2} (B) edge[inhibitor,bend right] (B); \node[transition,label=west:zuerst A anbauen] at (-1,-4.5) {} edge[pre] (A) edge[pre] (Bauteil) edge[post] (AAngebaut); \node[transition,label=east:zuerst B anbauen] at (1,-4.5) {} edge[pre] (B) edge[pre] (Bauteil) edge[post] (BAngebaut); \node[transition,label=west:dann A anbauen] at (-1,-6.5) {} edge[pre] (A) edge[pre] (BAngebaut) edge[post] (fertig); \node[transition,label=east:dann B anbauen] at (1,-6.5) {} edge[pre] (B) edge[pre] (AAngebaut) edge[post] (fertig); \node[transition,label=Abtransport] at (0,-6) {} edge[pre] (fertig); \end{tikzpicture} \end{center} \end{bAntwort} \end{document}