📖 Scenario: You are programming a simple on-delay timer (TON) for a machine start signal in a PLC. The timer should start counting when the input signal is ON and only set the output ON after the preset delay time has passed.
🎯 Goal: Build a PLC program that simulates the on-delay timer (TON) behavior using variables and logic. The program will track the input signal, count time, and set the output signal after the delay.
📋 What You'll Learn
Create a boolean variable input_signal to represent the start signal.
Create an integer variable preset_time to hold the delay time in seconds.
Create an integer variable elapsed_time to count how long the input has been ON.
Create a boolean variable output_signal to represent the timer output.
Implement logic to increase elapsed_time only when input_signal is ON.
Set output_signal to ON only when elapsed_time reaches preset_time.
Reset elapsed_time and output_signal when input_signal is OFF.
💡 Why This Matters
🌍 Real World
On-delay timers are used in industrial machines to delay actions until a condition has been true for a set time, such as waiting for a motor to warm up before starting a conveyor belt.
💼 Career
Understanding timer behavior is essential for PLC programmers and automation engineers who design control systems for manufacturing and process industries.
Progress0 / 4 steps
1
Create input and timer variables
Create a boolean variable called input_signal and set it to False. Create an integer variable called preset_time and set it to 5.
PLC Programming
Hint
Use input_signal = False to start with the input OFF. Set preset_time to 5 seconds as the delay.
2
Add elapsed time and output variables
Add an integer variable called elapsed_time and set it to 0. Add a boolean variable called output_signal and set it to False.
PLC Programming
Hint
Elapsed time starts at 0. Output signal starts OFF.
3
Implement on-delay timer logic
Write code that increases elapsed_time by 1 if input_signal is True and elapsed_time is less than preset_time. If input_signal is False, reset elapsed_time to 0 and output_signal to False. Set output_signal to True when elapsed_time reaches preset_time.
PLC Programming
Hint
Use if input_signal: to check input. Increase elapsed time only if less than preset. Reset when input is OFF. Set output when elapsed time reaches preset.
4
Print the output signal
Write a print statement to display the value of output_signal.
PLC Programming
Hint
Use print(output_signal) to show if the timer output is ON or OFF.
Practice
(1/5)
1. What does an On-delay timer (TON) do in a PLC program?
easy
A. It delays turning off the output after the input is deactivated.
B. It immediately turns on the output when the input is activated.
C. It delays turning on the output after the input is activated.
D. It toggles the output on and off repeatedly.
Solution
Step 1: Understand the function of an On-delay timer
An On-delay timer waits for a set time after the input signal turns ON before activating the output.
Step 2: Compare options with this behavior
Only It delays turning on the output after the input is activated. correctly describes this delay before output activation.
Final Answer:
It delays turning on the output after the input is activated. -> Option C
Quick Check:
On-delay timer delays output ON = C [OK]
Hint: On-delay means wait before output turns ON [OK]
Common Mistakes:
Confusing on-delay with off-delay timer
Thinking output turns on immediately
Mixing delay before turning off output
2. Which of the following is the correct syntax to declare an On-delay timer named Timer1 with a preset time of 5 seconds in a typical PLC ladder logic?
easy
A. TON Timer1 PT:=T#5s;
B. TON Timer1 PRE 5;
C. TON Timer1, 5s;
D. TIMER TON Timer1 5;
Solution
Step 1: Identify standard TON timer syntax
In IEC 61131-3 style, TON timers use PT (preset time) with time format like T#5s.
Step 2: Match options to this syntax
TON Timer1 PT:=T#5s; uses PT:=T#5s which is correct syntax for preset time 5 seconds.
Final Answer:
TON Timer1 PT:=T#5s; -> Option A
Quick Check:
Preset time uses PT:=T#5s format [OK]
Hint: Look for PT:=T#5s for preset time in TON [OK]
Common Mistakes:
Using incorrect time format like '5s' without T#
Missing PT:= keyword for preset time
Confusing TON declaration syntax
3. Given the following PLC code snippet using an On-delay timer TON Timer1 with a preset time of 3 seconds:
Timer1(IN:=InputSignal, PT:=T#3s);
// Assume InputSignal turns ON at time 0s
// What is the value of Timer1.Q at 2 seconds?
medium
A. TRUE
B. FALSE
C. Undefined
D. Timer resets
Solution
Step 1: Understand TON behavior with preset 3 seconds
The output Q turns TRUE only after input is ON continuously for 3 seconds.
Step 2: Check time at 2 seconds
At 2 seconds, input has been ON less than 3 seconds, so Q remains FALSE.
Final Answer:
FALSE -> Option B
Quick Check:
Q turns TRUE after 3s delay, at 2s Q = FALSE [OK]
Hint: Q turns TRUE only after preset time elapsed [OK]
Common Mistakes:
Assuming Q is TRUE immediately when input turns ON
Confusing preset time with elapsed time
Thinking Q toggles before preset time
4. You have this PLC TON timer code snippet:
TON Timer1;
Timer1(IN:=StartButton, PT:=T#4s);
// Output Q is not turning ON even after 5 seconds of StartButton pressed.
// What is the likely error?
medium
A. Preset time PT is set too low.
B. Timer1 is missing a reset instruction.
C. Timer1.Q output is not used correctly.
D. StartButton input is not wired or always FALSE.
Solution
Step 1: Analyze why Q never turns ON after 5 seconds
If input StartButton never becomes TRUE, timer never starts counting.
Step 2: Check other options
Preset time 4s is enough; missing reset won't stop Q turning ON; output usage unrelated to timer counting.
Final Answer:
StartButton input is not wired or always FALSE. -> Option D
Quick Check:
Input must be TRUE to start timer [OK]
Hint: Check input signal wiring if timer never starts [OK]
Common Mistakes:
Assuming timer counts without input TRUE
Thinking reset is mandatory to start timer
Ignoring input signal state
5. You want to create a safety light that turns ON only if a door remains open for more than 10 seconds continuously. Which PLC On-delay timer setup correctly achieves this behavior?
hard
A. Use a TON timer with input = DoorOpen sensor, PT = 10s, output controls light.
B. Use a TON timer with input = NOT DoorOpen, PT = 10s, output controls light.
C. Use a TOF (off-delay) timer with input = DoorOpen, PT = 10s, output controls light.
D. Use a TON timer with input = DoorOpen sensor, PT = 5s, output controls light.
Solution
Step 1: Identify correct input and delay for safety light
The light should turn ON only after door is open for 10 seconds, so input must be DoorOpen sensor TRUE and PT = 10s.
Step 2: Evaluate options
Use a TON timer with input = DoorOpen sensor, PT = 10s, output controls light. matches this exactly. Use a TON timer with input = NOT DoorOpen, PT = 10s, output controls light. uses NOT DoorOpen which is wrong. Use a TOF (off-delay) timer with input = DoorOpen, PT = 10s, output controls light. uses off-delay timer which delays turning OFF, not ON. Use a TON timer with input = DoorOpen sensor, PT = 5s, output controls light. uses 5s delay which is too short.
Final Answer:
Use a TON timer with input = DoorOpen sensor, PT = 10s, output controls light. -> Option A
Quick Check:
Delay ON after door open 10s = Use a TON timer with input = DoorOpen sensor, PT = 10s, output controls light. [OK]
Hint: Input = DoorOpen, PT = 10s for delayed ON light [OK]
Common Mistakes:
Using off-delay timer instead of on-delay
Using inverted input signal
Setting delay time too short
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.