GRAFCET — Commercial Dishwasher Cycle
A hood-type dishwasher whose wash tank and rinse booster heat in parallel under a double bar, with a convergence that will not start the wash until both are up to temperature, and an alternative divergence that sends a rinse below 82 C round a re-rinse loop rather than passing unsanitised ware.
Make it your own.
title "Commercial dishwasher — hood-type cycle"
step 1 "Hood raised, machine idle" initial
N "Ready lamp on"
N "Drain valve open"
step 2 "Fill wash tank"
R "Drain valve open"
N "Fill solenoid open"
step 3 "Heat wash tank to 60 C"
N "Tank heater on"
N "Tank temperature PID"
step 4 "Heat rinse booster to 85 C"
N "Booster heater on"
N "Booster temperature PID"
step 5 "Wash tank at temperature"
S "Wash ready lamp"
N "Tank heater hold"
step 6 "Booster at temperature"
S "Rinse ready lamp"
N "Booster heater hold"
step 7 "Wash spray"
N "Wash pump run"
N "Detergent dosing pump"
L 90s "Wash timer"
step 8 "Drain and drip"
R "Wash pump run"
N "Drain pump run"
D 4s "Drip time"
step 9 "Sanitising rinse"
N "Rinse solenoid open"
N "Rinse aid dosing"
L 12s "Rinse timer"
step 10 "Cycle complete, hood released"
R "Wash ready lamp"
R "Rinse ready lamp"
N "Cycle complete lamp"
step 11 "Re-rinse, sanitiser alarm"
P "Sanitiser alarm horn"
N "Booster heater on"
transition t1 : "hood_lowered . start_pressed"
transition t2 : "tank_level_reached"
transition t3 : "tank_temp >= 60 C"
transition t4 : "booster_temp >= 85 C"
transition t5 : "wash_ready . rinse_ready"
transition t6 : "wash_timer_done"
transition t7 : "tank_drained"
transition t8 : "rinse_timer_done . rinse_temp >= 82 C"
transition t9 : "rinse_timer_done . rinse_temp < 82 C"
transition t10 : "hood_raised"
transition t11 : "booster_temp >= 85 C . operator_ack"
1 -> t1 -> 2 -> t2
# Tank and booster heat independently and BOTH must be hot before the
# wash may start: SIMULTANEOUS, double bar, with a matching convergence.
simultaneous t2 -> 3, 4
3 -> t3 -> 5
4 -> t4 -> 6
simultaneous 5, 6 -> t5
t5 -> 7 -> t6 -> 8 -> t7 -> 9
# The sanitising rinse either reached 82 C or it did not: ALTERNATIVE,
# single bar. A cold rinse re-heats and rinses again rather than passing.
alternative 9 -> t8, t9
t8 -> 10
t9 -> 11
11 -> t11 -> 9
10 -> t10 -> 1