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
| Name | Type |
|---|---|
timer | TIMER |
How It Works
| Rung state | .EN | .TT | .ACC | .DN |
|---|---|---|---|---|
True, .ACC < .PRE | 1 | 1 | counting up | 0 |
True, .ACC ≥ .PRE | 1 | 0 | holds at .PRE | 1 |
| False | 0 | 0 | reset to 0 | 0 |
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
Faultis active. - Rung 2 energizes
AlarmonceFaultTimer.DNis set.
Common Mistakes
- Referencing
FaultTimerinstead ofFaultTimer.DNon a contact — the whole structure is not aBOOL. - Expecting the accumulator to survive a dropped rung —
TONresets to zero. UseRTOfor retentive timing.
Related
- Timers overview — members, units, and shared behaviour
- TOF — off-delay counterpart
- RTO — retentive timer