Back to all lessons

Lesson 11

TON On-Delay Timer

Understand on-delay timing and verify a timer over successive simulator scans.

PLC/FBDintermediateuniversityengineerTON

1. The TON Timer

TON is an on-delay timer. Its output turns on only after the input has remained active for a preset duration:

IN becomes TRUE  → timing begins
PT has elapsed   → Q becomes TRUE
IN becomes FALSE → Q becomes FALSE and timing resets

Use TON when an action should follow a sustained condition rather than occur immediately.

2. Where TON Is Used

  • delay conveyor starting after a ready signal;
  • turn on a lamp after a condition is held;
  • verify that a sensor stays active for several seconds;
  • delay the next mechanism;
  • filter brief signal changes;
  • provide a process delay before a command.

3. Inputs and Outputs

NameTypePurpose
INInputCondition that starts timing
PTParameterPreset delay
QOutputTRUE after the delay
ETOutput/valueElapsed time; not shown by every learning block

For a first exercise, remember that IN starts timing and Q is the result.

4. Simple Diagram

A lamp should turn on three seconds after Button becomes active:

[Button] ──> [TON, PT = 3 s] ──> [Lamp_On]

If Button remains TRUE long enough, Lamp_On becomes TRUE. If Button is released earlier, the timer resets and the lamp does not turn on.

5. Timing Behaviour

For PT = 3 s, measured from activation:

TimeINETQ
Before activationFALSE0 sFALSE
1 sTRUE1 sFALSE
2 sTRUE2 sFALSE
3 sTRUE3 sTRUE
After the thresholdTRUEAt least PT has elapsedTRUE
After IN resetsFALSE0 sFALSE

Q remains FALSE before the threshold and becomes TRUE when the required duration has elapsed. The displayed ET may stop at PT depending on the timer implementation.

6. Reset Rule

A standard TON resets when IN is FALSE: elapsed time returns to zero and Q becomes FALSE. A pulse shorter than PT cannot activate Q.

7. TON and the Scan Cycle

TON does not pause the program. The PLC keeps scanning while the timer checks IN and elapsed time on each scan:

Scan 1 → IN TRUE, elapsed time advances
Scan 2 → IN TRUE, elapsed time advances
Scan N → preset duration reached, Q becomes TRUE

It produces a delayed Boolean result rather than blocking execution.

8. Example: Delayed Motor Start

The motor may start five seconds after Ready becomes active:

SignalPurpose
ReadyReady condition
Start_Delay_QTimer result after five seconds
Motor_RunMotor run command
[Ready] ──> [TON, PT = 5 s] ──> [Start_Delay_Q] ──> [Motor_Run]

If Ready disappears earlier, Motor_Run does not turn on.

9. Simulator Practice

Open the TON lesson example and start execution. Input 1 feeds TON's IN, and Output 1 displays Q. Set Input 1 TRUE, observe that Q does not turn on immediately, and wait for the configured 500 ms PT. Check Q = TRUE, then return the input to FALSE and check that Q resets. Repeat with a pulse shorter than PT.

Timing is based on the simulator's logical scans. Use the example's configured delay rather than assuming it uses the illustrative three- or five-second values above.

10. Key Points

TON activates Q after IN has remained TRUE for PT. IN FALSE resets timing and Q. It is useful for delays, sustained-condition checks, and process pauses without stopping the scan cycle.

11. Next Lesson

Continue with the next lesson, Two-Direction Interlock, to prevent conflicting movement commands.

Practice block

Open the related example in the editor, run the simulation, and repeat the exercise from the article. The JSON is also available as a direct download.