Skip to content
Ladder logic (PLC) templates

Ladder - Roller Door Open/Close Interlock

Eight rungs of a loading-bay roller door caught mid-travel with the close command sealed in: the open rung is held off by its own reverse interlock rather than by the buttons, the safety beam is clear so no reverse is latched, and the 180 s courtesy-light TOF is enabled by the moving door so its done bit keeps the bay lamp lit.

Template previewLadder logic (PLC)
Roller door - open/close seal-in with a beam reverseDECLARED INPUT STATEOpen_PB = 0Close_PB = 0Stop_PB = 1Limit_Open = 0Limit_Closed = 0Beam_Blocked = 0Motor_Close = 1L1N1Safety chain: healthy stop circuit and a clear beamTRUEStop_PB1Beam_Blocked0Door_Safe12Open command seals in until the top limit - and never against CloseFALSEOpen_PB0Reverse_Req0Motor_Open0Door_Safe1Limit_Open0Motor_Close1Motor_Open03Close command seals in until the bottom limitTRUEClose_PB0Motor_Close1Door_Safe1Limit_Closed0Motor_Open0Motor_Close14A beam break during closing latches a reverse requestFALSEBeam_Blocked0Motor_Close1SReverse_Req05The reverse request clears once the door is fully openFALSELimit_Open0RReverse_Req06Courtesy light - 180 s off-delay from the last movementTRUEMotor_Open0Motor_Close1TOFT_LightPRE 180 sACC 0 sDN7Bay lamp follows the off-delay done bitTRUET_Light.DN1Bay_Light18Door-closed indicator on the bottom limitFALSELimit_Closed0Closed_Lamp08 rungs solved in one scan: 4 true, 4 false. 16 tags, 7 declared as inputs.3 outputs are never energised in this state: 'Reverse_Req', 'Motor_Open', 'Closed_Lamp'.

Make it your own.

title "Roller door - open/close seal-in with a beam reverse"
state: Open_PB=0, Close_PB=0, Stop_PB, Limit_Open=0, Limit_Closed=0, Beam_Blocked=0, Motor_Close

rung "Safety chain: healthy stop circuit and a clear beam"
  xic Stop_PB
  xio Beam_Blocked
  ote Door_Safe

rung "Open command seals in until the top limit - and never against Close"
  branch
    --] [--Open_PB
    --] [--Reverse_Req
    --] [--Motor_Open
  --] [--Door_Safe
  --]/[--Limit_Open
  --]/[--Motor_Close
  --( )--Motor_Open

rung "Close command seals in until the bottom limit"
  branch
    --] [--Close_PB
    --] [--Motor_Close
  --] [--Door_Safe
  --]/[--Limit_Closed
  --]/[--Motor_Open
  --( )--Motor_Close

rung "A beam break during closing latches a reverse request"
  xic Beam_Blocked
  xic Motor_Close
  otl Reverse_Req

rung "The reverse request clears once the door is fully open"
  xic Limit_Open
  otu Reverse_Req

rung "Courtesy light - 180 s off-delay from the last movement"
  branch
    xic Motor_Open
    xic Motor_Close
  tof T_Light preset: 180 accum: 0 unit: s

rung "Bay lamp follows the off-delay done bit"
  xic T_Light.DN
  ote Bay_Light

rung "Door-closed indicator on the bottom limit"
  xic Limit_Closed
  ote Closed_Lamp