\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}
