Bird
Raised Fist0
PLC Programmingscripting~5 mins

Counter preset and reset in PLC Programming - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Counter preset and reset
O(1)
Understanding Time Complexity

When using counters with preset and reset in PLC programming, it's important to see how the program's steps grow as input changes.

We want to know how the time to update the counter changes when the count value or inputs change.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

// Simple counter with preset and reset
IF input_signal THEN
  counter_value := counter_value + 1;
END_IF;

IF counter_value >= preset_value THEN
  output_signal := TRUE;
END_IF;

IF reset_signal THEN
  counter_value := 0;
END_IF;

This code increases a counter when an input is true, checks if it reached a preset, and resets it when a reset signal is true.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Checking input signals and updating the counter once per scan cycle.
  • How many times: This happens once every program scan, not inside a loop.
How Execution Grows With Input

The program checks and updates the counter once each scan, regardless of the preset value size.

Input Size (preset_value)Approx. Operations per Scan
103 (check input, increment, compare)
1003 (same steps, no extra work)
10003 (still same steps)

Pattern observation: The number of operations stays the same no matter how big the preset is.

Final Time Complexity

Time Complexity: O(1)

This means the time to update and check the counter does not grow with the preset value size; it stays constant.

Common Mistake

[X] Wrong: "The bigger the preset value, the longer the counter takes to update."

[OK] Correct: The counter update and comparison happen once per scan, no matter the preset size, so time does not increase with preset.

Interview Connect

Understanding how simple operations like counters behave helps you explain efficient control logic in automation tasks.

Self-Check

"What if the counter was inside a loop that runs up to the preset value? How would the time complexity change?"

Practice

(1/5)
1. What does the preset value in a PLC counter do?
easy
A. It sets the target count the counter must reach.
B. It resets the counter to zero.
C. It increments the counter by one.
D. It pauses the counter from counting.

Solution

  1. Step 1: Understand the role of preset in counters

    The preset value defines the goal number the counter counts up to before triggering an action.
  2. Step 2: Differentiate preset from reset and increment

    Reset clears the count, increment adds to count, but preset sets the target number.
  3. Final Answer:

    It sets the target count the counter must reach. -> Option A
  4. Quick Check:

    Preset = target count [OK]
Hint: Preset is the goal number, reset clears count [OK]
Common Mistakes:
  • Confusing preset with reset
  • Thinking preset increments count
  • Assuming preset pauses counting
2. Which of the following is the correct way to reset a counter named CNT1 in ladder logic?
easy
A. Use RES CNT1 instruction.
B. Use PRE CNT1 instruction.
C. Use INC CNT1 instruction.
D. Use SET CNT1 instruction.

Solution

  1. Step 1: Identify reset instruction syntax

    In PLC ladder logic, RES is the standard instruction to reset a counter.
  2. Step 2: Confirm other instructions meanings

    PRE sets preset, INC increments, SET sets bits, not reset counter.
  3. Final Answer:

    Use RES CNT1 instruction. -> Option A
  4. Quick Check:

    Reset = RES instruction [OK]
Hint: Reset uses RES instruction, not PRE or INC [OK]
Common Mistakes:
  • Using PRE instead of RES to reset
  • Confusing increment with reset
  • Using SET which is for bits, not counters
3. Given a counter with preset 5 and current count 3, what will be the count after two increments?
medium
A. 4
B. 5
C. 3
D. 6

Solution

  1. Step 1: Calculate count after increments

    Starting count is 3, two increments add 2, so 3 + 2 = 5.
  2. Step 2: Compare count to preset

    The count reaches the preset value 5 after two increments.
  3. Final Answer:

    5 -> Option B
  4. Quick Check:

    3 + 2 = 5 [OK]
Hint: Add increments to current count, compare to preset [OK]
Common Mistakes:
  • Not adding increments correctly
  • Confusing preset with current count
  • Assuming count resets automatically
4. A PLC counter is not resetting when the reset button is pressed. Which of these is the most likely cause?
medium
A. The preset value is set too high.
B. The increment instruction is used instead of reset.
C. The counter is already at zero.
D. The reset instruction is missing or not connected to the reset button.

Solution

  1. Step 1: Check reset wiring and instruction

    If the reset button does not trigger reset, likely the reset instruction is missing or not linked to the button.
  2. Step 2: Eliminate other causes

    Preset value or current count does not prevent reset; increment instruction wrong but would not cause no reset on button press.
  3. Final Answer:

    The reset instruction is missing or not connected to the reset button. -> Option D
  4. Quick Check:

    Reset fails if instruction missing or unlinked [OK]
Hint: Reset needs instruction linked to button [OK]
Common Mistakes:
  • Blaming preset for reset failure
  • Ignoring wiring or logic connection
  • Confusing increment with reset
5. You want a counter to count up to 10, then reset automatically and start counting again from zero. Which ladder logic setup achieves this?
hard
A. Set preset to 0, increment counter indefinitely.
B. Set preset to 10, reset counter manually with a button.
C. Set preset to 10, use counter done bit to trigger reset instruction.
D. Use reset instruction before counting starts only.

Solution

  1. Step 1: Understand automatic reset logic

    To reset automatically, use the counter's done bit (which is true when count reaches preset) to trigger the reset instruction.
  2. Step 2: Evaluate other options

    Manual reset requires user action, preset 0 is invalid for counting, resetting only before counting won't loop.
  3. Final Answer:

    Set preset to 10, use counter done bit to trigger reset instruction. -> Option C
  4. Quick Check:

    Done bit triggers reset for auto count loop [OK]
Hint: Use done bit to auto reset counter [OK]
Common Mistakes:
  • Relying on manual reset for auto counting
  • Setting preset to zero
  • Resetting only once before counting
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