Bird
Raised Fist0
PLC Programmingscripting~5 mins

On-delay timer (TON) behavior in PLC Programming - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: On-delay timer (TON) behavior
O(n)
Understanding Time Complexity

We want to understand how the time a PLC program takes changes when using an on-delay timer (TON).

Specifically, how the timer's behavior affects the program's execution time as inputs change.

Scenario Under Consideration

Analyze the time complexity of the following on-delay timer code snippet.

// On-delay timer (TON) example
TON Timer1;
Timer1.IN = StartSignal;
Timer1.PT = T#5s;
Timer1();
if (Timer1.Q) {
  Output = TRUE;
} else {
  Output = FALSE;
}

This code starts a timer when StartSignal is TRUE and sets Output TRUE after 5 seconds delay.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: The timer function Timer1() is called every scan cycle.
  • How many times: It runs once each scan, repeatedly until the timer reaches the preset time.
How Execution Grows With Input

The timer function runs every scan, so the total operations grow with the number of scans while the timer is active.

Input Size (n scans)Approx. Operations
1010 calls to Timer1()
100100 calls to Timer1()
10001000 calls to Timer1()

Pattern observation: The number of operations grows linearly with the number of scans during which the timer is running.

Final Time Complexity

Time Complexity: O(n)

This means the time spent grows directly in proportion to how long the timer runs.

Common Mistake

[X] Wrong: "The timer only runs once, so it takes constant time regardless of delay."

[OK] Correct: The timer function is called every scan until the delay finishes, so time grows with the delay length.

Interview Connect

Understanding how timers affect program execution helps you design efficient control logic and shows you grasp real-world PLC behavior.

Self-Check

"What if the timer was reset frequently before reaching the preset time? How would that affect the time complexity?"

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