Bird
Raised Fist0
PLC Programmingscripting~5 mins

Star-delta starter using timers in PLC Programming

Choose your learning style10 modes available
Introduction
A star-delta starter helps start big motors smoothly by reducing the starting current using timers to switch from star to delta connection.
Starting large motors to avoid high current spikes.
Automating motor start sequence in factories.
Controlling motor start timing to protect electrical equipment.
Syntax
PLC Programming
PROGRAM StarDeltaStarter
VAR
  TimerStar: TON; // Timer for star connection
  TimerDelta: TON; // Timer for delta connection
  MotorStar: BOOL := FALSE; // Motor connected in star
  MotorDelta: BOOL := FALSE; // Motor connected in delta
  StartButton: BOOL; // Input to start motor
  MotorRunning: BOOL := FALSE; // Motor running status
END_VAR

// Start motor sequence
IF StartButton THEN
  TimerStar(IN:=TRUE, PT:=T#5S); // Start star timer for 5 seconds
  MotorStar := TRUE;
  MotorDelta := FALSE;
  MotorRunning := TRUE;

  IF TimerStar.Q THEN
    TimerDelta(IN:=TRUE, PT:=T#2S); // Start delta timer for 2 seconds
    MotorStar := FALSE;
    MotorDelta := TRUE;
  END_IF

  IF TimerDelta.Q THEN
    TimerDelta(IN:=FALSE);
    MotorDelta := TRUE; // Motor runs in delta
  END_IF
ELSE
  TimerStar(IN:=FALSE);
  TimerDelta(IN:=FALSE);
  MotorStar := FALSE;
  MotorDelta := FALSE;
  MotorRunning := FALSE;
END_IF
END_PROGRAM
TON is a timer that starts counting when IN is TRUE and sets Q TRUE after PT time.
MotorStar and MotorDelta control the motor connection states.
Examples
When the start button is not pressed, the motor is off and timers are reset.
PLC Programming
StartButton := FALSE;
// Motor is off, timers are reset
TimerStar(IN:=FALSE);
TimerDelta(IN:=FALSE);
MotorStar := FALSE;
MotorDelta := FALSE;
MotorRunning := FALSE;
When start button is pressed, motor connects in star mode and star timer starts.
PLC Programming
StartButton := TRUE;
// Motor starts in star connection for 5 seconds
TimerStar(IN:=TRUE, PT:=T#5S);
MotorStar := TRUE;
MotorDelta := FALSE;
After star timer finishes, motor switches to delta connection and delta timer starts.
PLC Programming
IF TimerStar.Q THEN
  TimerDelta(IN:=TRUE, PT:=T#2S);
  MotorStar := FALSE;
  MotorDelta := TRUE;
END_IF
After delta timer finishes, motor runs fully in delta mode.
PLC Programming
IF TimerDelta.Q THEN
  TimerDelta(IN:=FALSE);
  MotorDelta := TRUE;
END_IF
Sample Program
This program simulates pressing the start button and shows motor connection switching from star to delta using timers over 10 seconds.
PLC Programming
PROGRAM StarDeltaStarter
VAR
  TimerStar: TON;
  TimerDelta: TON;
  MotorStar: BOOL := FALSE;
  MotorDelta: BOOL := FALSE;
  StartButton: BOOL := FALSE;
  MotorRunning: BOOL := FALSE;
  TimeElapsed: TIME := T#0S;
END_VAR

// Simulate pressing start button
StartButton := TRUE;

// Simulate time passing in 1 second steps
FOR i := 1 TO 10 DO
  // Update star timer
  TimerStar(IN:=StartButton AND NOT TimerStar.Q, PT:=T#5S);

  IF TimerStar.Q THEN
    // Start delta timer after star timer finishes
    TimerDelta(IN:=NOT TimerDelta.Q, PT:=T#2S);
    MotorStar := FALSE;
    MotorDelta := TRUE;
  ELSE
    MotorStar := TRUE;
    MotorDelta := FALSE;
  END_IF

  IF TimerDelta.Q THEN
    MotorDelta := TRUE;
  END_IF

  MotorRunning := MotorStar OR MotorDelta;

  // Print status
  IF MotorStar THEN
    WriteLn(CONCAT('Second ', INT_TO_STRING(i), ': Motor in STAR connection'));
  ELSIF MotorDelta THEN
    WriteLn(CONCAT('Second ', INT_TO_STRING(i), ': Motor in DELTA connection'));
  ELSE
    WriteLn(CONCAT('Second ', INT_TO_STRING(i), ': Motor OFF'));
  END_IF
END_FOR
END_PROGRAM
OutputSuccess
Important Notes
The star timer runs first to reduce starting current, then the delta timer switches the motor to full power.
Time complexity is constant as timers run independently.
Common mistake: forgetting to reset timers when motor stops, causing unexpected behavior.
Use star-delta starter to protect motors from high starting current spikes compared to direct start.
Summary
Star-delta starter uses timers to switch motor connection from star to delta smoothly.
Timers control how long the motor stays in each connection mode.
This method reduces electrical stress and protects the motor during start.

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

  1. 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.
  2. 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.
  3. Final Answer:

    To control the time the motor stays connected in star and delta modes -> Option A
  4. 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

  1. 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.
  2. 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.
  3. Final Answer:

    TON Timer1 (IN:=Start, PT:=T#5s, Q=>Done) -> Option B
  4. 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

  1. Step 1: Analyze TimerStar behavior

    TimerStar starts when Start is TRUE and runs for 10 seconds. After 10 seconds, TimerStar.Q becomes TRUE.
  2. 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.
  3. Step 3: Re-examine timing

    At 12 seconds, TimerDelta has been running for 2 seconds (less than 5s), so TimerDelta.Q is FALSE.
  4. Final Answer:

    FALSE -> Option D
  5. 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

  1. Step 1: Check TimerStar input

    TimerStar.IN is correctly tied to Start, so it runs when Start is TRUE.
  2. 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.
  3. 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.
  4. Final Answer:

    TimerDelta never starts because IN is tied to Start, not TimerStar.Q -> Option A
  5. 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

  1. 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.
  2. 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.
  3. 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.
  4. Final Answer:

    Start triggers TimerStar (8s), when TimerStar.Q is TRUE start TimerDelta (10s), when TimerDelta.Q is TRUE stop motor -> Option C
  5. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard