Skip to content
GRAFCET / SFC templates

GRAFCET — Rotary Bottling Filler

An eight-step filler cycle from bottle index through nitrogen purge, fill and capping, resolving the question every filler argues about — what happens to a bottle whose cap torque fails — with an alternative divergence that routes it to the rework lane and returns both paths to the idle step.

Template previewGRAFCET / SFC
Rotary filler — bottle cycleSteps81 initial · 0 finalTransitions9every one conditionedDivergences0 AND · 1 ORsimultaneous · alternativeAlternationWell formedsteps and transitions alternate1Idle, guards closedNMachine ready lamp2Index bottle to fillerNIndex conveyor forwardSBottle-in-station latch3Purge headspaceL2sNitrogen valve open4Fill to levelNFill valve openNFlow totaliser count5Settle and check levelD1sLevel camera trigger6Cap and sealNCapper head downPTorque check strobe7Reject to rework laneSReject pusher extendRBottle-in-station latch8Release to labellerNOutfeed conveyor forwardRBottle-in-station latchstart . guards_closed . bottle_presentbottle_at_fillerheadspace_o2 < 0.5%level_high + fill_timeoutsettle_donecap_torque_ok/cap_torque_okoutfeed_clearreject_confirmed8 steps · 9 transitions · 13 actions · 0 simultaneous · 1 alternative divergenceSteps and transitions alternate on all 18 links.Step 1 is the single initial step.

Make it your own.

title "Rotary filler — bottle cycle"

step 1 "Idle, guards closed" initial
  N "Machine ready lamp"
step 2 "Index bottle to filler"
  N "Index conveyor forward"
  S "Bottle-in-station latch"
step 3 "Purge headspace"
  L 2s "Nitrogen valve open"
step 4 "Fill to level"
  N "Fill valve open"
  N "Flow totaliser count"
step 5 "Settle and check level"
  D 1s "Level camera trigger"
step 6 "Cap and seal"
  N "Capper head down"
  P "Torque check strobe"
step 7 "Reject to rework lane"
  S "Reject pusher extend"
  R "Bottle-in-station latch"
step 8 "Release to labeller"
  N "Outfeed conveyor forward"
  R "Bottle-in-station latch"

transition t1 : "start . guards_closed . bottle_present"
transition t2 : "bottle_at_filler"
transition t3 : "headspace_o2 < 0.5%"
transition t4 : "level_high + fill_timeout"
transition t5 : "settle_done"
transition t6 : "cap_torque_ok"
transition t7 : "/cap_torque_ok"
transition t8 : "outfeed_clear"
transition t9 : "reject_confirmed"

1 -> t1 -> 2 -> t2 -> 3 -> t3 -> 4 -> t4 -> 5 -> t5 -> 6

# One step, two transitions: an ALTERNATIVE divergence, single bar.
alternative 6 -> t6, t7
t6 -> 8
t7 -> 7

8 -> t8 -> 1
7 -> t9 -> 1