@startuml !include https://raw.githubusercontent.com/bharatrajagopalan/plantuml-styles/master/activity_skin.pu partition Drehteller { start :Drehteller ausschalten; while(Dauerschleife) is (true) :Prüfer fertig?< :Bohrer fertig?< :Auswerfer fertig?< if(Sensor aktiv ?) then (true) :Drehteller anschalten; else (false) :Drehteller ausschalten; endif endwhile (false) stop } partition Prüfer { start :Prüfer einfahren; while(Dauerschleife) is (true) if(Werkstück vorhanden ?) then (true) :Prüfer ausfahren; if(Werkstück Normallage ?) then (true) :Sende Bohrer(on)> else (false) :Sende Bohrer(off)> endif :Prüfer einfahren; else (false) endif :Prüfer fertig> endwhile (false) stop } partition Bohrer { start :Bohrer ausschalten; :Bohrer hochfahren; :Werkstück loslassen; while(Dauerschleife) is (true) if(Werkstück vorhanden?) then(true) :Empfange Lage des Werkstücks< :Sende Auswerfer> if(Teil in Normallage?) then(true) :Werkstück festhalten; :Bohrer anschalten; :Bohrer herunterfahren; :Warte bis Bohrer unten; :Bohrer hochfahren; :Warte bis Bohrer oben; :Bohrer ausschalten; :Werkstück loslassen; else(false) endif else (false) endif :Bohrer fertig> endwhile(false) stop } partition Auswerfer { start :Auswerfer einfahren; while(Dauerschleife) is (true) :Auswerfer< :Auswerfen; :Auswerfer fertig> endwhile(false) stop } @enduml