Skip to content
GRAFCET / SFC templates

GRAFCET — Car Park Entry Barrier

Ticket or season card, then raise, hold and lower: two alternative divergences and the alternative convergence between them resolve the barrier's two real arguments — which credential opened it, and what stops it descending onto a vehicle still standing on the safety loop.

Template previewGRAFCET / SFC
Car park entry barrier — ticket, card and safety loopSteps81 initial · 0 finalTransitions10every one conditionedDivergences0 AND · 2 ORsimultaneous · alternativeAlternationWell formedsteps and transitions alternate1Barrier down, entry loop clearNEntry lamp red2Vehicle on arming loopNTicket printer readyPPresence chime3Issue ticketNPrint and present ticket4Validate season cardNReader poll5Raise barrierNBarrier motor upSEntry lamp green6Hold barrier upL20sHold timer7Lower barrierNBarrier motor downREntry lamp green8Descent inhibited, loop occupiedNBarrier motor stopD2sObstruction alarmarming_loop_occupiedticket_button . /card_presentedcard_presentedticket_takencard_valid . space_availablebarrier_up_limitsafety_loop_clear + hold_elapsedsafety_loop_occupiedbarrier_down_limit . arming_loop_clearsafety_loop_clear8 steps · 10 transitions · 12 actions · 0 simultaneous · 2 alternative divergencesSteps and transitions alternate on all 20 links.Step 1 is the single initial step.

Make it your own.

title "Car park entry barrier — ticket, card and safety loop"

step 1 "Barrier down, entry loop clear" initial
  N "Entry lamp red"
step 2 "Vehicle on arming loop"
  N "Ticket printer ready"
  P "Presence chime"
step 3 "Issue ticket"
  N "Print and present ticket"
step 4 "Validate season card"
  N "Reader poll"
step 5 "Raise barrier"
  N "Barrier motor up"
  S "Entry lamp green"
step 6 "Hold barrier up"
  L 20s "Hold timer"
step 7 "Lower barrier"
  N "Barrier motor down"
  R "Entry lamp green"
step 8 "Descent inhibited, loop occupied"
  N "Barrier motor stop"
  D 2s "Obstruction alarm"

transition t1 : "arming_loop_occupied"
transition t2 : "ticket_button . /card_presented"
transition t3 : "card_presented"
transition t4 : "ticket_taken"
transition t5 : "card_valid . space_available"
transition t6 : "barrier_up_limit"
transition t7 : "safety_loop_clear + hold_elapsed"
transition t8 : "safety_loop_occupied"
transition t9 : "barrier_down_limit . arming_loop_clear"
transition t10 : "safety_loop_clear"

1 -> t1 -> 2

# Ticket or card — two branches that rejoin on the raise step, so the
# chart carries an alternative divergence AND its convergence.
alternative 2 -> t2, t3
t2 -> 3
t3 -> 4
3 -> t4 -> 5
4 -> t5 -> 5

5 -> t6 -> 6 -> t7 -> 7

# Down, unless the safety loop is still occupied.
alternative 7 -> t8, t9
t8 -> 8
t9 -> 1
8 -> t10 -> 7