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 resetsUse 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
| Name | Type | Purpose |
|---|---|---|
| IN | Input | Condition that starts timing |
| PT | Parameter | Preset delay |
| Q | Output | TRUE after the delay |
| ET | Output/value | Elapsed 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:
| Time | IN | ET | Q |
|---|---|---|---|
| Before activation | FALSE | 0 s | FALSE |
| 1 s | TRUE | 1 s | FALSE |
| 2 s | TRUE | 2 s | FALSE |
| 3 s | TRUE | 3 s | TRUE |
| After the threshold | TRUE | At least PT has elapsed | TRUE |
| After IN resets | FALSE | 0 s | FALSE |
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 TRUEIt produces a delayed Boolean result rather than blocking execution.
8. Example: Delayed Motor Start
The motor may start five seconds after Ready becomes active:
| Signal | Purpose |
|---|---|
| Ready | Ready condition |
| Start_Delay_Q | Timer result after five seconds |
| Motor_Run | Motor 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.