TOF — Off-Delay Timer

TOF in rungs.dev is the off-delay timer — starts timing when the rung goes false and holds the .DN bit at 1 for the preset duration after the rung drops.

TOF

Timer

timer

(EN)

Preset

preset

(DN)

Accum

accum

Off-delay timer. Starts timing when the rung goes false; holds .DN at 1 for the preset duration after the rung drops.

Operands

NameType
timerTIMER
presetDINT
accumDINT

preset and accum are pseudo-operands: they hold the value of .PRE and .ACC on the timer tag.

How It Works

Rung state.EN.TT.ACC.DN
True1001
False, .ACC < .PRE01counting up1
False, .ACC ≥ .PRE00stops at its current value0

While the rung is true, the timer is "primed" — .DN is 1 with zero elapsed time. When the rung drops, .DN stays 1 and the accumulator counts up. The first execution where .ACC is at least .PRE turns .DN off. .ACC can pass .PRE before stopping; it is not forced back to .PRE.

Example — Exhaust Fan Run-On

Keep an exhaust fan running for 30 seconds after the machine stops.

0

MachineRunning

TOF

Timer

ExhaustTimer

(EN)

Preset

30000

(DN)

Accum

0

1

ExhaustTimer.DN

ExhaustFan

ExhaustFan stays on while the machine is running and for 30 seconds after it stops.

Practice

Try TOF in the Off Delay exercise — keep an output on for a set time after its input drops.

Common Mistakes

  • Expecting TOF to start timing when the rung goes true — it is the opposite. TON times on rising edge, TOF on falling edge.
  • Timers overview — members, units, shared behaviour
  • TON — on-delay counterpart
  • RTO — retentive timer

On this page