Skip to content
Ladder logic (PLC) templates

Ladder - Two-Hand Press Anti-Tie-Down

Five rungs of two-hand control where both buttons are made inside the 500 ms concurrency window (a TP pulse at 180 ms) and the ram is correctly permitted on rung 4 -- then a maintenance mute rung writes Ram_Solenoid a second time and silently overrides it, the duplicate destination flagged alongside a light-curtain tag examined by a contact that nothing in the program writes.

Template previewLadder logic (PLC)
Two-hand press - anti-tie-down with a duplicate destinationDECLARED INPUT STATEPB_Left = 1PB_Right = 1Guard_Closed = 1E_Stop_OK = 1Mute_Request = 0L1N1Both buttons, the guard and the E-stop permit a strokeTRUEPB_Left1PB_Right1Guard_Closed1E_Stop_OK1Stroke_Permit12Anti-tie-down: both buttons must arrive inside 500 msTRUEPB_Left1PB_Right1TPT_ConcurrencyPRE 500 msACC 180 msDN3Light curtain must be clear - and nothing writes this tagTRUECurtain_Broken0Curtain_Clear14Ram solenoid - the intended destinationTRUEStroke_Permit1Curtain_Clear1T_Concurrency.DN1Ram_Solenoid15Maintenance mute writes the same coil again - the last write winsFALSEMute_Request0Ram_Solenoid05 rungs solved in one scan: 4 true, 1 false. 13 tags, 5 declared as inputs.Duplicate destination: 'Ram_Solenoid' is written by more than one output -- the last rung in the sc...1 tag is read by a contact but written by nothing and declared nowhere: 'Curtain_Broken' -- it will...

Make it your own.

title "Two-hand press - anti-tie-down with a duplicate destination"
state: PB_Left, PB_Right, Guard_Closed, E_Stop_OK, Mute_Request=0

rung "Both buttons, the guard and the E-stop permit a stroke"
  xic PB_Left
  xic PB_Right
  xic Guard_Closed
  xic E_Stop_OK
  ote Stroke_Permit

rung "Anti-tie-down: both buttons must arrive inside 500 ms"
  xic PB_Left
  xic PB_Right
  tp T_Concurrency preset: 500 accum: 180 unit: ms

rung "Light curtain must be clear - and nothing writes this tag"
  xio Curtain_Broken
  ote Curtain_Clear

rung "Ram solenoid - the intended destination"
  xic Stroke_Permit
  xic Curtain_Clear
  xic T_Concurrency.DN
  ote Ram_Solenoid

rung "Maintenance mute writes the same coil again - the last write wins"
  xic Mute_Request
  ote Ram_Solenoid