Echtzeitdatenverarbeitung/diagram.puml

96 lines
1.3 KiB
Plaintext

@startuml
partition Drehteller {
start
:Drehteller ausschalten;
while(true) is (true)
if(Sensor aktiv ?) then (true)
:drehen an;
else (false)
:drehen aus;
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)
:Bohrer(on)>
else (false)
:Bohrer(off)>
endif
:Prüfer einfahren;
else (false)
endif
endwhile (false)
stop
}
partition Bohrer {
start
:Bohrer ausschalten;
:Bohrer hochfahren;
:Werkstück loslassen;
while(Dauerschleife) is (true)
if(Werkstück vorhanden?) then(true)
:Bohrer<
:Auswerfer>
if(Normallage) then(true)
:Werkstück festhalten;
:Bohrer anschalten;
:Bohrer herunterfahren;
if(Bohrer unten) then (true)
:sleepStuff 500ms;
:Bohrer hochfahren;
endif
if(Bohrer oben) then (true)
:Bohrer ausschalten;
:Werkstück loslassen;
endif
else(false)
endif
else (false)
endif
endwhile(false)
stop
}
partition Auswerfer {
start
:Auswerfer einfahren;
while(Dauerschleife) is (true)
:Auswerfer<
note right
oder eher ne if hier ?
end note
:Auswerfen;
endwhile(false)
stop
}
@enduml