Skip to main content

TON — On-Delay Timer

TON

Timer

timer

(EN)

Preset

?

(DN)

Accum

?

On-delay timer. Starts timing when the rung goes true; sets .DN when .ACC reaches .PRE. Resets the moment the rung goes false.

Operands

NameType
timerTIMER

How It Works

Rung state.EN.TT.ACC.DN
True, .ACC < .PRE11counting up0
True, .ACC.PRE10holds at .PRE1
False00reset to 00

Going false at any point resets the timer. TON is not retentive — use RTO if you need the accumulator to survive interruptions.

Example — Delayed Alarm

Turn on an alarm five seconds after a fault appears.

Tag setup: FaultTimer is a TIMER with .PRE = 5000.

XIC(Fault)TON(FaultTimer);XIC(FaultTimer.DN)OTE(Alarm)
  • Rung 1 runs the timer while Fault is active.
  • Rung 2 energizes Alarm once FaultTimer.DN is set.

Common Mistakes

  • Referencing FaultTimer instead of FaultTimer.DN on a contact — the whole structure is not a BOOL.
  • Expecting the accumulator to survive a dropped rung — TON resets to zero. Use RTO for retentive timing.
  • Timers overview — members, units, and shared behaviour
  • TOF — off-delay counterpart
  • RTO — retentive timer