Bird
Raised Fist0
PLC Programmingscripting~10 mins

On-delay timer (TON) behavior in PLC Programming - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to start the on-delay timer when the input is true.

PLC Programming
TON_Timer.IN := [1]
Drag options to blanks, or click blank then click option'
AFalse
BTON_Timer.Q
CTrue
DTimer.EN
Attempts:
3 left
💡 Hint
Common Mistakes
Setting the input to False prevents the timer from starting.
Using the timer's output (Q) as input is incorrect.
2fill in blank
medium

Complete the code to reset the timer when the reset signal is active.

PLC Programming
IF Reset_Signal = [1] THEN
  TON_Timer.IN := False;
END_IF;
Drag options to blanks, or click blank then click option'
ATrue
BFalse
CTON_Timer.Q
DTON_Timer.ET
Attempts:
3 left
💡 Hint
Common Mistakes
Resetting the timer when the signal is False.
Using timer output or elapsed time as reset condition.
3fill in blank
hard

Fix the error in the timer elapsed time comparison.

PLC Programming
IF TON_Timer.ET [1] TON_Timer.PT THEN
  Output := True;
END_IF;
Drag options to blanks, or click blank then click option'
A==
B>=
C!=
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' causes the output to activate too early.
Using '==' may miss the exact match due to timing.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that maps timer names to their elapsed times if the timer is active.

PLC Programming
{timer_name: timer.[1] for timer_name, timer in timers.items() if timer.[2]
Drag options to blanks, or click blank then click option'
AET
BIN
CQ
DPT
Attempts:
3 left
💡 Hint
Common Mistakes
Using PT instead of ET for elapsed time.
Filtering by Q instead of IN.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps timer names in uppercase to their elapsed times if the timer output is true.

PLC Programming
{ [1]: timer.[2] for timer_name, timer in timers.items() if timer.[3] }
Drag options to blanks, or click blank then click option'
Atimer_name.upper()
BET
CQ
Dtimer_name.lower()
Attempts:
3 left
💡 Hint
Common Mistakes
Using lower() instead of upper() for names.
Filtering by IN instead of Q.
Using PT instead of ET for elapsed time.

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