Skip to content
GRAFCET / SFC templates

GRAFCET — Signalised T-Junction Stages

The stage sequence of a signal-controlled T-junction, with the intergreen made a step of its own so the all-red is a state rather than a delay, an alternative divergence that serves the pedestrian phase only on demand, and a lamp-fault branch that drops the junction to fail-safe flashing amber.

Template previewGRAFCET / SFC
Signalised T-junction — stage sequenceSteps101 initial · 0 finalTransitions12every one conditionedDivergences0 AND · 2 ORsimultaneous · alternativeAlternationWell formedsteps and transitions alternate1All red, controller armedNAll approaches redNWatchdog heartbeat2Main road greenNMain signal greenNSide signal redL40sMain green timer3Main road amberNMain signal amberD3sAmber timer4Intergreen, all redNAll approaches redL2sIntergreen timer5Pedestrian invitationNGreen man onNAudible bleeperL8sInvitation timer6Pedestrian clearanceNGreen man flashingL5sClearance timer7Side road greenNSide signal greenNMain signal redL20sSide green timer8Side road amberNSide signal amberD3sAmber timer9Return intergreenNAll approaches redL2sIntergreen timer10Fail-safe amber flashNAll signals flashing amberSLamp fault relay latchedNUTC fault reportcontroller_ready . cycle_startmain_min_green_done . (side_demand + ped_demand)main_amber_elapsedintergreen_elapsed . ped_demandintergreen_elapsed . /ped_demandinvitation_elapsedclearance_elapsedside_max_green + /side_demandside_amber_elapsedintergreen_elapsed . /lamp_faultlamp_faultfault_cleared . reset_key10 steps · 12 transitions · 24 actions · 0 simultaneous · 2 alternative divergencesSteps and transitions alternate on all 24 links.Step 1 is the single initial step.

Make it your own.

title "Signalised T-junction — stage sequence"

step 1 "All red, controller armed" initial
  N "All approaches red"
  N "Watchdog heartbeat"
step 2 "Main road green"
  N "Main signal green"
  N "Side signal red"
  L 40s "Main green timer"
step 3 "Main road amber"
  N "Main signal amber"
  D 3s "Amber timer"
step 4 "Intergreen, all red"
  N "All approaches red"
  L 2s "Intergreen timer"
step 5 "Pedestrian invitation"
  N "Green man on"
  N "Audible bleeper"
  L 8s "Invitation timer"
step 6 "Pedestrian clearance"
  N "Green man flashing"
  L 5s "Clearance timer"
step 7 "Side road green"
  N "Side signal green"
  N "Main signal red"
  L 20s "Side green timer"
step 8 "Side road amber"
  N "Side signal amber"
  D 3s "Amber timer"
step 9 "Return intergreen"
  N "All approaches red"
  L 2s "Intergreen timer"
step 10 "Fail-safe amber flash"
  N "All signals flashing amber"
  S "Lamp fault relay latched"
  N "UTC fault report"

transition t1 : "controller_ready . cycle_start"
transition t2 : "main_min_green_done . (side_demand + ped_demand)"
transition t3 : "main_amber_elapsed"
transition t4 : "intergreen_elapsed . ped_demand"
transition t5 : "intergreen_elapsed . /ped_demand"
transition t6 : "invitation_elapsed"
transition t7 : "clearance_elapsed"
transition t8 : "side_max_green + /side_demand"
transition t9 : "side_amber_elapsed"
transition t10 : "intergreen_elapsed . /lamp_fault"
transition t11 : "lamp_fault"
transition t12 : "fault_cleared . reset_key"

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

# Pedestrian phase only when one was demanded: ALTERNATIVE, single bar.
# Both branches rejoin on the side-road green.
alternative 4 -> t4, t5
t4 -> 5 -> t6 -> 6 -> t7 -> 7
t5 -> 7

7 -> t8 -> 8 -> t9 -> 9

# Healthy, or a lamp fault that drops the junction to flashing amber and
# holds it there until an engineer resets it.
alternative 9 -> t10, t11
t10 -> 2
t11 -> 10
10 -> t12 -> 1