Skip to content
GRAFCET / SFC templates

GRAFCET — Batch Reactor Heat-Hold-Cool

A charge-heat-hold-cool-discharge batch that carries both branch shapes at once: a simultaneous divergence brings the jacket to temperature while the agitator ramps to shear speed, one convergence releases the hold, and an alternative divergence on the assay sends a failed batch round a rework hold rather than out of the vessel.

Template previewGRAFCET / SFC
Batch reactor — charge, heat, hold, cool, dischargeSteps111 initial · 0 finalTransitions11every one conditionedDivergences1 AND · 1 ORsimultaneous · alternativeAlternationWell formedsteps and transitions alternate1Vessel empty, valves shutNReady to charge lamp2Charge solventNV101 solvent valve openNLoad cell totalise3Charge reagentNV102 reagent valve open4Heat jacket to 85 CNSteam valve modulateSAgitator run5Ramp agitator to shear speedNAgitator ramp to 300 rpm6Hold temperature at 85 CNTemperature PID at setpointL40minHold timer7Hold shear at 300 rpmNSpeed PID at setpoint8Cool to 30 CNCooling water valve openRAgitator run9Sample and assayPSample valve pulseD3minAssay result wait10Rework hold, re-assayL10minRework timer11Discharge to receiverNDischarge pump runRCooling water valve openrecipe_loaded . start_batchsolvent_mass >= 400 kgreagent_mass >= 85 kgjacket_temp >= 85 Cagitator_rpm >= 300hold_timer_done . temp_in_bandproduct_temp <= 30 Cassay_pass/assay_passrework_timer_donereceiver_empty . discharge_done11 steps · 11 transitions · 17 actions · 1 simultaneous · 1 alternative divergenceSteps and transitions alternate on all 24 links.Step 1 is the single initial step.1 simultaneous divergence is closed by a convergence of the same width.

Make it your own.

title "Batch reactor — charge, heat, hold, cool, discharge"

step 1 "Vessel empty, valves shut" initial
  N "Ready to charge lamp"
step 2 "Charge solvent"
  N "V101 solvent valve open"
  N "Load cell totalise"
step 3 "Charge reagent"
  N "V102 reagent valve open"
step 4 "Heat jacket to 85 C"
  N "Steam valve modulate"
  S "Agitator run"
step 5 "Ramp agitator to shear speed"
  N "Agitator ramp to 300 rpm"
step 6 "Hold temperature at 85 C"
  N "Temperature PID at setpoint"
  L 40min "Hold timer"
step 7 "Hold shear at 300 rpm"
  N "Speed PID at setpoint"
step 8 "Cool to 30 C"
  N "Cooling water valve open"
  R "Agitator run"
step 9 "Sample and assay"
  P "Sample valve pulse"
  D 3min "Assay result wait"
step 10 "Rework hold, re-assay"
  L 10min "Rework timer"
step 11 "Discharge to receiver"
  N "Discharge pump run"
  R "Cooling water valve open"

transition t1 : "recipe_loaded . start_batch"
transition t2 : "solvent_mass >= 400 kg"
transition t3 : "reagent_mass >= 85 kg"
transition t4 : "jacket_temp >= 85 C"
transition t5 : "agitator_rpm >= 300"
transition t6 : "hold_timer_done . temp_in_band"
transition t7 : "product_temp <= 30 C"
transition t8 : "assay_pass"
transition t9 : "/assay_pass"
transition t10 : "rework_timer_done"
transition t11 : "receiver_empty . discharge_done"

1 -> t1 -> 2 -> t2 -> 3 -> t3

# Heat and shear are independent and must both finish: AND, double bar.
simultaneous t3 -> 4, 5
4 -> t4 -> 6
5 -> t5 -> 7
simultaneous 6, 7 -> t6

t6 -> 8 -> t7 -> 9

# Pass or fail: OR, single bar.
alternative 9 -> t8, t9
t8 -> 11
t9 -> 10
10 -> t10 -> 9

11 -> t11 -> 1