Bird
Raised Fist0
PLC Programmingscripting~30 mins

On-delay timer (TON) behavior in PLC Programming - Mini Project: Build & Apply

Choose your learning style10 modes available
On-delay timer (TON) behavior
📖 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

  1. 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.
  2. 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.
  3. Final Answer:

    It delays turning on the output after the input is activated. -> Option C
  4. 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

  1. Step 1: Identify standard TON timer syntax

    In IEC 61131-3 style, TON timers use PT (preset time) with time format like T#5s.
  2. 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.
  3. Final Answer:

    TON Timer1 PT:=T#5s; -> Option A
  4. 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

  1. Step 1: Understand TON behavior with preset 3 seconds

    The output Q turns TRUE only after input is ON continuously for 3 seconds.
  2. Step 2: Check time at 2 seconds

    At 2 seconds, input has been ON less than 3 seconds, so Q remains FALSE.
  3. Final Answer:

    FALSE -> Option B
  4. 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

  1. Step 1: Analyze why Q never turns ON after 5 seconds

    If input StartButton never becomes TRUE, timer never starts counting.
  2. Step 2: Check other options

    Preset time 4s is enough; missing reset won't stop Q turning ON; output usage unrelated to timer counting.
  3. Final Answer:

    StartButton input is not wired or always FALSE. -> Option D
  4. 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

  1. 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.
  2. 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.
  3. Final Answer:

    Use a TON timer with input = DoorOpen sensor, PT = 10s, output controls light. -> Option A
  4. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard