Bird
Raised Fist0
PLC Programmingscripting~10 mins

Up-down counter in PLC Programming - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Up-down counter
Start
↓
Check Up Signal?
No→Check Down Signal?
↓
Increment Count
↓
Output Count
↓
End
The counter checks if the up or down signal is active, increments or decrements the count accordingly, then outputs the current count.
Execution Sample
PLC Programming
IF UpSignal THEN
  Count := Count + 1;
ELSIF DownSignal THEN
  Count := Count - 1;
END_IF;
Output := Count;
This code increases the count if the up signal is true, decreases if the down signal is true, and outputs the count.
Execution Table
StepUpSignalDownSignalCount BeforeConditionActionCount AfterOutput
1TRUEFALSE0UpSignal TRUEIncrement Count11
2TRUEFALSE1UpSignal TRUEIncrement Count22
3FALSETRUE2DownSignal TRUEDecrement Count11
4FALSEFALSE1No Signal TRUEHold Count11
5TRUEFALSE1UpSignal TRUEIncrement Count22
6FALSETRUE2DownSignal TRUEDecrement Count11
7FALSEFALSE1No Signal TRUEHold Count11
8FALSEFALSE1No Signal TRUEHold Count11
💡 Execution stops after step 8 as no further signals change the count.
Variable Tracker
VariableStartAfter 1After 2After 3After 4After 5After 6After 7After 8
Count012112111
Output012112111
Key Moments - 2 Insights
Why does the count not change when both UpSignal and DownSignal are FALSE?
When both signals are FALSE (see steps 4, 7, 8 in execution_table), the code holds the count value without incrementing or decrementing.
What happens if both UpSignal and DownSignal are TRUE at the same time?
In this code, UpSignal is checked first. If TRUE, it increments the count and ignores DownSignal. So UpSignal has priority.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table at step 3. What is the Count After the action?
A2
B3
C1
D0
💡 Hint
Check the 'Count After' column in row for step 3.
At which step does the condition 'No Signal TRUE' first occur?
AStep 2
BStep 4
CStep 1
DStep 3
💡 Hint
Look at the 'Condition' column in execution_table.
If UpSignal was TRUE at step 6 instead of FALSE, what would the Count After be?
A3
B1
C2
D0
💡 Hint
At step 6, UpSignal TRUE means increment count from previous value.
Concept Snapshot
Up-down counter syntax:
IF UpSignal THEN
  Count := Count + 1;
ELSIF DownSignal THEN
  Count := Count - 1;
END_IF;
Outputs current count.
UpSignal increments, DownSignal decrements, no signal holds count.
Full Transcript
This visual execution trace shows how an up-down counter works in PLC programming. The counter starts at zero. Each step checks if the UpSignal or DownSignal is true. If UpSignal is true, the count increases by one. If DownSignal is true and UpSignal is false, the count decreases by one. If neither signal is true, the count stays the same. The output always shows the current count. The trace shows eight steps with different signal inputs and how the count changes accordingly. This helps beginners see exactly how the counter updates step-by-step.

Practice

(1/5)
1. What is the primary function of an up-down counter in PLC programming?
easy
A. It resets the PLC program automatically.
B. It only counts upwards and never decreases.
C. It counts events by increasing or decreasing a value based on inputs.
D. It controls the speed of a motor.

Solution

  1. Step 1: Understand the role of an up-down counter

    An up-down counter changes its count value by either increasing or decreasing based on input signals.
  2. Step 2: Compare options with the definition

    Only It counts events by increasing or decreasing a value based on inputs. correctly describes counting up or down. Options B, C, and D describe unrelated functions.
  3. Final Answer:

    It counts events by increasing or decreasing a value based on inputs. -> Option C
  4. Quick Check:

    Up-down counter counts up or down = A [OK]
Hint: Remember: up-down counters change count both ways [OK]
Common Mistakes:
  • Thinking it only counts up
  • Confusing counter with reset function
  • Assuming it controls hardware speed
2. Which of the following is the correct way to represent an up-down counter in a PLC ladder logic diagram?
easy
A. A timer with inputs labeled T1 and T2.
B. A simple relay coil with no inputs.
C. A motor control block with start and stop inputs.
D. A counter with inputs labeled CU (count up), CD (count down), and R (reset).

Solution

  1. Step 1: Identify typical up-down counter inputs

    Up-down counters use CU for counting up, CD for counting down, and R for reset.
  2. Step 2: Match inputs to options

    Only A counter with inputs labeled CU (count up), CD (count down), and R (reset). correctly lists these inputs. Others describe unrelated components.
  3. Final Answer:

    A counter with inputs labeled CU (count up), CD (count down), and R (reset). -> Option D
  4. Quick Check:

    CU, CD, R inputs = B [OK]
Hint: Look for CU, CD, and R inputs to spot up-down counters [OK]
Common Mistakes:
  • Confusing counters with timers
  • Ignoring reset input
  • Choosing unrelated control blocks
3. Given the following PLC code snippet for an up-down counter:
CU = 1 (pulse)
CD = 0
R = 0
Initial count = 3
Limit = 5

What will be the count value after this pulse?
medium
A. 4
B. 3
C. 2
D. 5

Solution

  1. Step 1: Analyze input signals

    CU=1 means count up by 1, CD=0 means no count down, R=0 means no reset.
  2. Step 2: Calculate new count

    Starting from 3, counting up by 1 results in 4, which is below the limit 5.
  3. Final Answer:

    4 -> Option A
  4. Quick Check:

    Count up from 3 by 1 = 4 [OK]
Hint: Count up adds 1; count down subtracts 1 [OK]
Common Mistakes:
  • Counting down instead of up
  • Resetting count incorrectly
  • Ignoring initial count
4. Identify the error in this up-down counter logic snippet:
CU = 0
CD = 1 (pulse)
R = 1 (pulse)
Initial count = 2
Limit = 5

What is wrong with this setup?
medium
A. Reset (R) is active while counting down, causing unexpected behavior.
B. Count up (CU) is missing, so counter won't work.
C. Limit is too high for the initial count.
D. Count down (CD) should be zero to reset properly.

Solution

  1. Step 1: Check input signals

    R=1 means reset is active, which overrides counting inputs.
  2. Step 2: Understand effect of reset during count down

    Reset active while CD=1 causes the counter to reset instead of counting down, leading to unexpected results.
  3. Final Answer:

    Reset (R) is active while counting down, causing unexpected behavior. -> Option A
  4. Quick Check:

    Reset active during count down causes errors = A [OK]
Hint: Reset should be inactive when counting up or down [OK]
Common Mistakes:
  • Activating reset and count inputs simultaneously
  • Assuming missing CU disables counter
  • Misunderstanding limit role
5. You want to design an up-down counter that counts from 0 to 10 and resets automatically when it reaches 10. Which logic should you implement?
hard
A. Use a timer instead of a counter to track counts.
B. Use CU input to count up, CD input to count down, and a compare block to reset when count = 10.
C. Use CU input to count up without reset; manually reset when needed.
D. Use only CD input to count down and reset at 0.

Solution

  1. Step 1: Define counting and reset conditions

    The counter must count up and down between 0 and 10, resetting automatically at 10.
  2. Step 2: Choose correct inputs and logic

    CU counts up, CD counts down, and a compare block triggers reset when count reaches 10.
  3. Final Answer:

    Use CU input to count up, CD input to count down, and a compare block to reset when count = 10. -> Option B
  4. Quick Check:

    Count up/down with auto reset at limit = D [OK]
Hint: Combine count inputs with compare for auto reset [OK]
Common Mistakes:
  • Using only count down input
  • Forgetting automatic reset
  • Confusing timer with counter
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