📖 Scenario: You are working in an industrial setting where large electric motors need to be started smoothly to avoid high starting current. A star-delta starter is used to reduce the starting current by initially connecting the motor windings in a star configuration, then switching to a delta configuration after a delay.
🎯 Goal: Build a simple PLC program that controls a star-delta starter using timers. The program will start the motor in star mode, wait for a preset time using a timer, then switch to delta mode automatically.
📋 What You'll Learn
Create boolean variables for Start_PB (start push button), Stop_PB (stop push button), Star_Contactor, and Delta_Contactor.
Create a timer variable called Star_Timer with a preset time of 5 seconds.
Write logic to energize Star_Contactor when Start_PB is pressed and Stop_PB is not pressed.
Start the Star_Timer when Star_Contactor is energized.
After the timer finishes, de-energize Star_Contactor and energize Delta_Contactor.
Stop the motor and reset all outputs when Stop_PB is pressed.
💡 Why This Matters
🌍 Real World
Star-delta starters are widely used in industrial motor control to reduce starting current and mechanical stress.
💼 Career
Understanding timer-based control logic and contactor sequencing is essential for PLC programmers and automation engineers working in manufacturing and process industries.
Progress0 / 4 steps
1
Define Input and Output Variables
Create boolean variables named Start_PB, Stop_PB, Star_Contactor, and Delta_Contactor. Initialize all outputs (Star_Contactor and Delta_Contactor) to False.
PLC Programming
Hint
Use boolean variables and set outputs to False initially.
2
Create Timer Variable with Preset Time
Create a timer variable called Star_Timer with a preset time of 5 seconds. Initialize the timer's elapsed time to 0 and running state to False.
PLC Programming
Hint
Use a dictionary to represent the timer with keys: 'preset', 'elapsed', and 'running'.
3
Write Control Logic for Star-Delta Starter
Write logic to energize Star_Contactor when Start_PB is True and Stop_PB is False. When Star_Contactor is energized, start the Star_Timer by setting its running to True and increment elapsed by 1 each cycle. When elapsed reaches preset, de-energize Star_Contactor and energize Delta_Contactor. If Stop_PB is True, reset all outputs and timer.
PLC Programming
Hint
Use if-elif statements to control the outputs and timer based on inputs.
4
Display the Status of Contactors
Write print statements to display the current status of Star_Contactor and Delta_Contactor as 'ON' or 'OFF'.
PLC Programming
Hint
Use f-strings and conditional expressions to print 'ON' or 'OFF' based on boolean values.
Practice
(1/5)
1. What is the main purpose of using timers in a star-delta starter circuit?
easy
A. To control the time the motor stays connected in star and delta modes
B. To increase the motor speed instantly
C. To change the motor direction automatically
D. To measure the motor temperature
Solution
Step 1: Understand star-delta starter function
The star-delta starter reduces starting current by initially connecting the motor in star mode, then switching to delta mode.
Step 2: Role of timers in this process
Timers control how long the motor stays in star mode before switching to delta mode to ensure smooth transition and reduce electrical stress.
Final Answer:
To control the time the motor stays connected in star and delta modes -> Option A
Quick Check:
Timers control connection time = A [OK]
Hint: Timers manage star and delta connection duration [OK]
Common Mistakes:
Thinking timers increase motor speed
Confusing timers with direction control
Assuming timers measure temperature
2. Which of the following is the correct way to declare a timer in a PLC program for star-delta starting?
easy
A. TIMER Timer1 (START=Start, TIME=5s, DONE=Done)
B. TON Timer1 (IN:=Start, PT:=T#5s, Q=>Done)
C. TON Timer1(IN:=Start, PT:=T#5s, Q=>Done);
D. Timer1 = TON(Start, 5)
Solution
Step 1: Identify correct timer syntax in PLC
In IEC 61131-3 standard, TON timers are declared with input IN, preset time PT, and output Q using := and => operators.
Step 2: Compare options
TON Timer1 (IN:=Start, PT:=T#5s, Q=>Done) uses correct syntax: TON Timer1 (IN:=Start, PT:=T#5s, Q=>Done). Others have syntax errors or incorrect format.
Final Answer:
TON Timer1 (IN:=Start, PT:=T#5s, Q=>Done) -> Option B
Quick Check:
Correct IEC timer syntax = B [OK]
Hint: Use TON with IN:=, PT:=, Q=> for timers [OK]
Common Mistakes:
Using incorrect assignment operators
Missing time format T#5s
Adding semicolons inside declarations
3. Given the following PLC code snippet for a star-delta starter:
IF Start THEN
TimerStar(IN:=TRUE, PT:=T#10s);
IF TimerStar.Q THEN
TimerDelta(IN:=TRUE, PT:=T#5s);
END_IF
END_IF
What is the output state of TimerDelta.Q after 12 seconds of Start being TRUE?
medium
A. TRUE
B. TimerDelta.Q resets to FALSE
C. Undefined
D. FALSE
Solution
Step 1: Analyze TimerStar behavior
TimerStar starts when Start is TRUE and runs for 10 seconds. After 10 seconds, TimerStar.Q becomes TRUE.
Step 2: Analyze TimerDelta behavior after TimerStar.Q
Once TimerStar.Q is TRUE (after 10s), TimerDelta starts and runs for 5 seconds. At 12 seconds, TimerDelta has been running for 2 seconds, so TimerDelta.Q is still FALSE. But the code only sets TimerDelta.IN to TRUE when TimerStar.Q is TRUE, so TimerDelta is active.
Step 3: Re-examine timing
At 12 seconds, TimerDelta has been running for 2 seconds (less than 5s), so TimerDelta.Q is FALSE.
Final Answer:
FALSE -> Option D
Quick Check:
TimerDelta.Q after 2s < 5s = FALSE [OK]
Hint: Timer output Q is TRUE only after preset time PT [OK]
Common Mistakes:
Assuming TimerDelta.Q is TRUE immediately
Ignoring timer preset times
Confusing timer input IN with output Q
4. Identify the error in this star-delta timer PLC code snippet:
IF Start THEN
TimerStar(IN:=Start, PT:=T#10s);
IF TimerStar.Q THEN
TimerDelta(IN:=Start, PT:=T#5s);
END_IF
END_IF
What is the main problem?
medium
A. TimerDelta never starts because IN is tied to Start, not TimerStar.Q
B. TimerStar timer preset time is too short
C. Start input is not used correctly
D. Timers are missing reset logic
Solution
Step 1: Check TimerStar input
TimerStar.IN is correctly tied to Start, so it runs when Start is TRUE.
Step 2: Check TimerDelta input
TimerDelta.IN is tied to Start, not TimerStar.Q. This means TimerDelta starts immediately with Start, not after TimerStar.Q becomes TRUE.
Step 3: Identify the problem
TimerDelta should start only after TimerStar.Q is TRUE to ensure star mode completes before delta starts. Current code starts TimerDelta too early.
Final Answer:
TimerDelta never starts because IN is tied to Start, not TimerStar.Q -> Option A
Quick Check:
TimerDelta.IN must depend on TimerStar.Q [OK]
Hint: TimerDelta.IN should depend on TimerStar.Q, not Start [OK]
Common Mistakes:
Linking TimerDelta.IN directly to Start
Ignoring timer sequence dependencies
Not resetting timers properly
5. You want to design a star-delta starter PLC program where the motor starts in star mode for 8 seconds, then switches to delta mode for 10 seconds, and finally stops. Which timer logic sequence correctly achieves this?
hard
A. Start triggers both TimerStar and TimerDelta simultaneously, motor stops after 18s
B. Start triggers TimerDelta (10s), when TimerDelta.Q is TRUE start TimerStar (8s), then stop motor
C. Start triggers TimerStar (8s), when TimerStar.Q is TRUE start TimerDelta (10s), when TimerDelta.Q is TRUE stop motor
D. Start triggers TimerStar (8s), motor stops immediately after TimerStar.Q is TRUE
Solution
Step 1: Understand star-delta timing sequence
The motor must start in star mode for 8 seconds, then switch to delta mode for 10 seconds, then stop.
Step 2: Analyze options
Start triggers TimerStar (8s), when TimerStar.Q is TRUE start TimerDelta (10s), when TimerDelta.Q is TRUE stop motor correctly sequences timers: TimerStar runs first, then TimerDelta starts after TimerStar.Q is TRUE, then motor stops after TimerDelta.Q is TRUE.
Step 3: Eliminate incorrect options
Start triggers TimerDelta (10s), when TimerDelta.Q is TRUE start TimerStar (8s), then stop motor reverses sequence, Start triggers both TimerStar and TimerDelta simultaneously, motor stops after 18s runs timers simultaneously (wrong), Start triggers TimerStar (8s), motor stops immediately after TimerStar.Q is TRUE stops motor too early.
Final Answer:
Start triggers TimerStar (8s), when TimerStar.Q is TRUE start TimerDelta (10s), when TimerDelta.Q is TRUE stop motor -> Option C
Quick Check:
Sequential timers for star then delta = C [OK]
Hint: Chain timers: star first, then delta, then stop [OK]
Common Mistakes:
Starting timers simultaneously
Reversing star and delta order
Stopping motor too early
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.