On-delay timer TON

Times while the rung is true. DN turns on when ACC reaches PRE.

TagAfter two scans
StartDelayPRE 3000 ACC 600 EN 1 TT 1 DN 0

How it works

Times while the rung is true. DN sets when ACC reaches PRE. Resets when the rung goes false.

Over time

TON with PRE 3000: when the rung turns true, EN and TT turn on and ACC climbs. At 3000, TT turns off and DN turns on. When the rung turns false, everything returns to 0.Rung.EN.TT.DN.ACC7603000Start3 s: doneRung false

How it's used

Use TON to wait before acting: start a conveyor after a warning horn, or confirm a sensor stays on.

TagValue
StartPB1
HornTimePRE 1200 ACC 1200 EN 1 TT 0 DN 1
Conveyor1

StartPB has been on for 1.2 s. HornTime.DN turned Conveyor on.

Operands

OperandData typeRead or write
TimerTIMERReads and writes

Inside a TIMER tag

MemberTypeMeaning
.PREDINTPreset: the time to reach, in ms
.ACCDINTAccumulated: the time so far, in ms
.ENBOOLOn while the rung is true
.TTBOOLOn while the timer is timing
.DNBOOLDone: on when ACC reaches PRE

Common mistakes

  • PRE typed in secondsPRE is in milliseconds. 3 seconds is 3000, not 3.
  • Expecting the time to be keptA TON starts from 0 every time its rung goes false. Use an RTO to keep it.
  • Using one TIMER tag in two timersEach timer writes ACC, TT and DN, so the first one in the scan changes them before the next one runs. Problems shows this as written by 2 timers. Give each timer its own tag, unless you want that order.

Learn it in a lesson

Related