GRAFCET — Cleanroom Material Airlock
A pharmaceutical pass-through airlock where the HEPA purge and the UV-C dose run concurrently under a double bar, the doors are interlocked by set and reset actions rather than by wiring alone, and a differential-pressure check diverges alternatively to a quarantine loop when the cascade or the particle count fails.
Make it your own.
title "Cleanroom material airlock — pass-through"
step 1 "Both doors closed, airlock idle" initial
N "Both doors locked"
N "Cascade pressure hold"
step 2 "Unlock grey-side door"
R "Both doors locked"
N "Grey door unlock"
S "White door interlock"
step 3 "Load material, close door"
N "Load permitted lamp"
N "Load cell weight check"
step 4 "HEPA purge of chamber"
N "Purge fan at full flow"
L 90s "Purge timer"
step 5 "UV-C decontamination"
N "UV-C lamps on"
L 120s "UV dose timer"
step 6 "Purge done, cascade restored"
R "Purge fan at full flow"
N "Cascade pressure hold"
step 7 "UV lamps off, cooling"
R "UV-C lamps on"
D 15s "Lamp cool-down"
step 8 "Verify differential pressure"
N "DP transmitter poll"
D 5s "Settling time"
step 9 "Unlock white-side door"
R "White door interlock"
N "White door unlock"
N "Transfer permitted lamp"
step 10 "Close white door, re-lock"
S "Both doors locked"
N "Cascade pressure hold"
step 11 "Quarantine, re-purge"
S "Quarantine alarm latched"
N "Purge fan at full flow"
transition t1 : "grey_request . chamber_empty . white_door_closed"
transition t2 : "grey_door_open"
transition t3 : "grey_door_closed . load_present"
transition t4 : "purge_timer_done . particle_count_ok"
transition t5 : "uv_dose_done"
transition t6 : "cascade_ok . lamps_cool"
transition t7 : "dp >= 15 Pa . particle_count_ok"
transition t8 : "dp < 15 Pa + /particle_count_ok"
transition t9 : "white_door_open . load_removed"
transition t10 : "white_door_closed"
transition t11 : "re_purge_done . operator_ack"
1 -> t1 -> 2 -> t2 -> 3 -> t3
# Purge and UV dose run at the same time and the chamber is only released
# when BOTH have finished: SIMULTANEOUS, double bar, matched convergence.
simultaneous t3 -> 4, 5
4 -> t4 -> 6
5 -> t5 -> 7
simultaneous 6, 7 -> t6
t6 -> 8
# Cascade and particle count either prove or they do not: ALTERNATIVE,
# single bar, with the failure branch looping back to the verification.
alternative 8 -> t7, t8
t7 -> 9
t8 -> 11
11 -> t11 -> 8
9 -> t9 -> 10 -> t10 -> 1