📖 Scenario: You are programming a simple machine that counts how many times a button is pressed. The machine uses a count-up counter (CTU) to keep track of the presses. When the count reaches a set limit, the machine should stop counting.
🎯 Goal: Build a PLC program that uses a count-up counter (CTU) to count button presses and stops counting when a preset limit is reached.
📋 What You'll Learn
Create a variable to hold the current count.
Create a variable for the preset limit.
Implement the count-up counter logic that increases the count when the button is pressed.
Stop counting when the count reaches the preset limit.
Display the current count.
💡 Why This Matters
🌍 Real World
Count-up counters are used in machines to track events like button presses, items produced, or cycles completed.
💼 Career
Understanding CTU behavior is important for automation engineers and technicians who program PLCs to control industrial equipment.
Progress0 / 4 steps
1
Create initial variables for count and button state
Create a variable called count and set it to 0. Create a variable called button_pressed and set it to False.
PLC Programming
Hint
Think of count as the number of times the button was pressed. button_pressed is True when the button is pressed, otherwise False.
2
Set the preset limit for the counter
Create a variable called preset_limit and set it to 5.
PLC Programming
Hint
The preset limit is the maximum count before the counter stops.
3
Implement count-up logic with limit check
Write an if statement that increases count by 1 only if button_pressed is True and count is less than preset_limit.
PLC Programming
Hint
Use and to check both conditions before increasing the count.
4
Display the current count
Write a print statement to display the text "Current count:" followed by the value of count.
PLC Programming
Hint
Use print("Current count:", count) to show the count.
Practice
(1/5)
1. What does the done bit in a CTU (Count-Up Counter) indicate?
easy
A. The counter has reached its preset value
B. The counter is reset to zero
C. The counter is currently counting down
D. The counter input is inactive
Solution
Step 1: Understand the done bit role
The done bit is a signal that shows when the counter has reached its preset value.
Step 2: Relate done bit to counting
When the count equals the preset, the done bit turns ON to indicate completion.
Final Answer:
The counter has reached its preset value -> Option A
Quick Check:
Done bit = preset reached [OK]
Hint: Done bit means count reached preset value [OK]
Common Mistakes:
Confusing done bit with reset signal
Thinking done bit means counting down
Assuming done bit is always ON
2. Which of the following is the correct syntax to declare a CTU counter named C1 with a preset of 10 in a typical PLC program?
easy
A. CTU C1 PRE 10
B. CTU(C1, 10);
C. CTU C1, PRE:=10;
D. Counter CTU C1 = 10;
Solution
Step 1: Identify correct CTU declaration syntax
Typical PLC syntax uses the format: CTU counterName, PRE:=presetValue;
Step 2: Match options to syntax
CTU C1, PRE:=10; matches the correct syntax with CTU C1, PRE:=10;
Final Answer:
CTU C1, PRE:=10; -> Option C
Quick Check:
CTU declaration uses PRE:= preset [OK]
Hint: Look for PRE:= syntax in CTU declaration [OK]
Common Mistakes:
Using parentheses incorrectly
Missing PRE:= keyword
Using assignment '=' instead of ':='
3. Given a CTU counter with preset 5 and current count 3, what will be the count and done bit after two rising input pulses?
medium
A. Count = 3, Done bit = TRUE
B. Count = 4, Done bit = FALSE
C. Count = 5, Done bit = FALSE
D. Count = 5, Done bit = TRUE
Solution
Step 1: Add two pulses to current count
Starting at 3, two pulses increase count to 5 (3 + 2 = 5).
Step 2: Check if count reached preset
Count equals preset (5), so done bit becomes TRUE.
Final Answer:
Count = 5, Done bit = TRUE -> Option D
Quick Check:
Count + pulses = preset -> done bit TRUE [OK]
Hint: Add pulses to count, compare with preset [OK]
Common Mistakes:
Not updating count correctly
Confusing done bit state
Assuming done bit is TRUE before preset reached
4. A CTU counter is not setting the done bit even after the count reaches the preset. Which of the following is the most likely cause?
medium
A. The preset value is set higher than intended
B. The done bit is wired incorrectly in the program
C. The counter is counting down instead of up
D. The counter is not receiving rising edge pulses
Solution
Step 1: Analyze why done bit is not set
If count reaches preset but done bit stays off, wiring or logic for done bit is likely wrong.
Step 2: Evaluate other options
If pulses were missing or counting down, count wouldn't reach preset. Preset too high means count can't reach it.
Final Answer:
The done bit is wired incorrectly in the program -> Option B
Quick Check:
Done bit wiring error causes no done signal [OK]
Hint: Check done bit wiring if count reaches preset but no done [OK]
Common Mistakes:
Assuming pulses are missing without checking
Ignoring done bit wiring
Confusing counting direction with done bit issue
5. You have a CTU counter with preset 10. The input pulses come irregularly, sometimes multiple pulses at once. How should you modify the program to ensure the count never exceeds the preset and done bit is set correctly?
hard
A. Ignore extra pulses; CTU automatically limits count to preset
B. Use a separate timer to count pulses instead of CTU
C. Add logic to reset the counter when count exceeds preset
D. Increase the preset value to a higher number
Solution
Step 1: Understand CTU behavior with irregular pulses
CTU increments by 1 per rising edge and automatically limits the accumulator to the preset value, preventing overflow.
Step 2: Verify done bit sets correctly
No modification needed; done bit activates when accumulator reaches preset, even with irregular pulses.
Final Answer:
Ignore extra pulses; CTU automatically limits count to preset -> Option A
Quick Check:
CTU ACC ≤ PRE automatically, done sets [OK]
Hint: CTU automatically limits count to preset [OK]
Common Mistakes:
Assuming CTU allows count to exceed preset
Adding unnecessary reset logic for overflow
Using timer or increasing preset unnecessarily
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.