Bird
Raised Fist0
PLC Programmingscripting~10 mins

Traffic light sequence in PLC Programming - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to turn on the red light.

PLC Programming
IF sensor_detected THEN
  [1] := TRUE;
END_IF;
Drag options to blanks, or click blank then click option'
ARedLight
BGreenLight
CYellowLight
DBlueLight
Attempts:
3 left
💡 Hint
Common Mistakes
Using the wrong light variable like GreenLight or YellowLight.
Forgetting to set the variable to TRUE.
2fill in blank
medium

Complete the code to wait for 5 seconds before changing the light.

PLC Programming
Timer(IN := TRUE, PT := T#[1]s);
IF Timer.Q THEN
  ChangeLight();
END_IF;
Drag options to blanks, or click blank then click option'
A10
B3
C5
D1
Attempts:
3 left
💡 Hint
Common Mistakes
Using the wrong time value like 3 or 10 seconds.
Not including the 'T#' prefix for time.
3fill in blank
hard

Fix the error in the code to turn off the green light.

PLC Programming
GreenLight := [1];
Drag options to blanks, or click blank then click option'
A1
B0
CTRUE
DFALSE
Attempts:
3 left
💡 Hint
Common Mistakes
Setting the variable to TRUE or 1 instead of FALSE.
Using 0 which may not be valid in this context.
4fill in blank
hard

Fill both blanks to check if the yellow light is on and then turn on the red light.

PLC Programming
IF [1] = TRUE THEN
  [2] := TRUE;
END_IF;
Drag options to blanks, or click blank then click option'
AYellowLight
BGreenLight
CRedLight
DBlueLight
Attempts:
3 left
💡 Hint
Common Mistakes
Checking the wrong light in the condition.
Turning on the wrong light inside the IF.
5fill in blank
hard

Fill all three blanks to create a dictionary mapping light colors to their status, including only lights that are on.

PLC Programming
LightStatus := { [1]: [2] for [3] in Lights if [2] = TRUE };
Drag options to blanks, or click blank then click option'
Acolor
BLights[color]
Dstatus
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong variable names for keys or iteration.
Not matching the variable names consistently.

Practice

(1/5)
1. What is the main purpose of a traffic light sequence in PLC programming?
easy
A. To control the order and timing of red, yellow, and green lights
B. To measure the speed of vehicles
C. To detect weather conditions
D. To count the number of cars passing

Solution

  1. Step 1: Understand traffic light function

    Traffic lights manage traffic by showing red, yellow, and green lights in a set order.
  2. Step 2: Identify PLC role

    PLC programs control the timing and sequence of these lights to keep traffic safe and flowing.
  3. Final Answer:

    To control the order and timing of red, yellow, and green lights -> Option A
  4. Quick Check:

    Traffic light sequence = control lights order and timing [OK]
Hint: Traffic lights cycle colors in order to manage traffic flow [OK]
Common Mistakes:
  • Confusing traffic light sequence with vehicle speed measurement
  • Thinking traffic lights detect weather
  • Assuming traffic lights count cars
2. Which of the following is the correct way to represent a state for the green light in a PLC program?
easy
A. state = GREEN
B. state = YELLOW
C. state = RED
D. state = OFF

Solution

  1. Step 1: Identify the green light state

    The green light state should be named clearly as GREEN to represent that light.
  2. Step 2: Match option to green state

    Only state = GREEN assigns the state variable to GREEN, which is correct for the green light.
  3. Final Answer:

    state = GREEN -> Option A
  4. Quick Check:

    Green light state = GREEN [OK]
Hint: Use clear names like GREEN for green light state [OK]
Common Mistakes:
  • Using RED or YELLOW for green light state
  • Using OFF which means no light
  • Confusing state names
3. Given this PLC pseudocode snippet for a traffic light sequence:
timer = 0
state = 'RED'
if timer < 10:
  light = 'RED'
elif timer < 15:
  light = 'GREEN'
else:
  light = 'YELLOW'

What will be the value of light when timer is 12?
medium
A. 'YELLOW'
B. 'RED'
C. 'GREEN'
D. Error

Solution

  1. Step 1: Check timer conditions for 12

    12 is not less than 10, so first if is false. 12 is less than 15, so second condition is true.
  2. Step 2: Determine light value

    Since timer < 15 is true, light is set to 'GREEN'.
  3. Final Answer:

    'GREEN' -> Option C
  4. Quick Check:

    timer=12 <15 -> light='GREEN' [OK]
Hint: Check conditions in order, timer 12 fits second condition [OK]
Common Mistakes:
  • Choosing 'RED' because timer is close to 10
  • Choosing 'YELLOW' by ignoring conditions order
  • Thinking code causes error
4. This PLC code snippet is intended to cycle traffic lights but does not work correctly:
state = 'RED'
if state == 'RED':
  state = 'GREEN'
elif state == 'GREEN':
  state = 'YELLOW'
elif state == 'YELLOW':
  state = 'RED'

What is the main problem?
medium
A. The state variable is misspelled
B. The state changes only once because conditions are checked once
C. The code uses wrong comparison operators
D. The code lacks a timer to delay state changes

Solution

  1. Step 1: Analyze state change logic

    The code changes state immediately but only once; no loop or repeated check.
  2. Step 2: Identify missing repeated execution

    Without looping or timer, state changes once and stops, so no cycling happens.
  3. Final Answer:

    The state changes only once because conditions are checked once -> Option B
  4. Quick Check:

    Single run code = no cycling [OK]
Hint: State must update repeatedly, not just once [OK]
Common Mistakes:
  • Thinking variable name is wrong
  • Believing comparison operators are incorrect
  • Ignoring need for timing or looping
5. You want to create a PLC program that cycles traffic lights with these timings: red for 10 seconds, green for 15 seconds, yellow for 3 seconds. Which approach best implements this sequence?
hard
A. Use separate timers for each light but no state variable
B. Use a single timer that counts total time without resetting
C. Use random delays between light changes
D. Use a state machine with a timer that resets after each state duration

Solution

  1. Step 1: Understand timing requirements

    Each light needs a specific duration before switching to the next.
  2. Step 2: Choose best control method

    A state machine with a timer that resets after each state's time allows precise control and cycling.
  3. Final Answer:

    Use a state machine with a timer that resets after each state duration -> Option D
  4. Quick Check:

    State machine + timer reset = correct timing control [OK]
Hint: Reset timer each state for exact light durations [OK]
Common Mistakes:
  • Using one timer without reset causes wrong timing
  • Random delays break predictable sequence
  • No state variable causes confusion in sequence
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