Bird
Raised Fist0
PLC Programmingscripting~30 mins

State machine in ladder logic in PLC Programming - Mini Project: Build & Apply

Choose your learning style10 modes available
State Machine in Ladder Logic
📖 Scenario: You are programming a simple traffic light controller using ladder logic. The traffic light cycles through three states: Green, Yellow, and Red. Each state lasts for a fixed time before moving to the next.This project will guide you to create a state machine in ladder logic to control the traffic light sequence.
🎯 Goal: Build a ladder logic program that uses a state machine to cycle through the traffic light states: Green, Yellow, and Red.The program should use a variable called state to track the current light and switch states in order.
📋 What You'll Learn
Create a variable state to hold the current traffic light state as a number.
Create a timer variable timer to count the time spent in each state.
Use a ladder logic rung to update the state variable based on the timer.
Output the current state as text: 'Green', 'Yellow', or 'Red'.
💡 Why This Matters
🌍 Real World
Traffic lights, conveyor belts, and many machines use state machines to control sequences safely and predictably.
💼 Career
Understanding state machines is essential for PLC programmers and automation engineers to design reliable control systems.
Progress0 / 4 steps
1
Create the initial state variable
Create a variable called state and set it to 0 to represent the Green light state.
PLC Programming
Hint

Use state = 0 to start with the Green light.

2
Add a timer variable
Create a variable called timer and set it to 0 to count the time spent in the current state.
PLC Programming
Hint

Use timer = 0 to start the timer at zero.

3
Implement the state machine logic
Write code to update state based on timer. Use these rules:
- If state == 0 and timer >= 5, set state = 1 and reset timer to 0.
- If state == 1 and timer >= 2, set state = 2 and reset timer to 0.
- If state == 2 and timer >= 5, set state = 0 and reset timer to 0.
Also, increment timer by 1 each cycle.
PLC Programming
Hint

Use if and elif to check the state and timer, then update accordingly.

4
Display the current state
Write a print statement to display the current traffic light state as text:
- Print 'Green' if state == 0
- Print 'Yellow' if state == 1
- Print 'Red' if state == 2
PLC Programming
Hint

Use if, elif, and else to print the correct state text.

Practice

(1/5)
1. What is the main purpose of a state machine in ladder logic?
easy
A. To control a process by remembering and switching between states
B. To perform mathematical calculations
C. To store large amounts of data
D. To display information on an HMI screen

Solution

  1. Step 1: Understand state machine concept

    A state machine controls a process by remembering the current step or state and moving to the next based on conditions.
  2. Step 2: Compare options to concept

    Only To control a process by remembering and switching between states describes controlling process flow by switching states, which matches the state machine purpose.
  3. Final Answer:

    To control a process by remembering and switching between states -> Option A
  4. Quick Check:

    State machine controls steps = D [OK]
Hint: State machines remember and switch states to control flow [OK]
Common Mistakes:
  • Confusing state machine with data storage
  • Thinking it only does math
  • Assuming it controls display only
2. Which ladder logic element is typically used to represent a state in a state machine?
easy
A. Timer
B. Bit or coil
C. Counter
D. Analog input

Solution

  1. Step 1: Identify state representation in ladder logic

    States are usually represented by bits or coils that can be ON or OFF to show current state.
  2. Step 2: Eliminate other options

    Timers and counters are for timing/counting, analog inputs read values, so only bits/coils represent states.
  3. Final Answer:

    Bit or coil -> Option B
  4. Quick Check:

    States use bits/coils = C [OK]
Hint: States are bits or coils ON/OFF in ladder logic [OK]
Common Mistakes:
  • Choosing timers or counters as states
  • Confusing analog inputs with states
  • Not knowing bits represent ON/OFF
3. Given this ladder logic snippet for a state machine:
--[ State1 ]--+--[ Condition ]--( State2 )
              |
              +--( Reset State1 )

What happens when Condition is TRUE?
medium
A. State2 turns OFF and State1 turns ON
B. State1 and State2 both turn ON
C. State1 stays ON and State2 stays OFF
D. State1 turns OFF and State2 turns ON

Solution

  1. Step 1: Analyze ladder logic behavior on Condition TRUE

    When Condition is TRUE, the coil for State2 energizes and the Reset coil for State1 de-energizes State1.
  2. Step 2: Understand state transition

    This means State1 turns OFF and State2 turns ON, moving the machine to the next state.
  3. Final Answer:

    State1 turns OFF and State2 turns ON -> Option D
  4. Quick Check:

    Condition TRUE switches states = A [OK]
Hint: Condition TRUE switches OFF current and ON next state [OK]
Common Mistakes:
  • Thinking both states turn ON simultaneously
  • Assuming no change happens
  • Confusing which state resets
4. You wrote this ladder logic for a state machine:
--[ State1 ]--+--[ Condition ]--( State2 )
              +--( State1 )

Why does the state machine never leave State1?
medium
A. Because State1 coil is never reset, so it stays ON
B. Because Condition is never TRUE
C. Because State2 coil is missing
D. Because the rung has a syntax error

Solution

  1. Step 1: Check how State1 coil is controlled

    State1 coil is energized again on the same rung without a reset coil, so it stays ON continuously.
  2. Step 2: Understand why state never changes

    Without turning OFF State1, the machine cannot move to State2 even if Condition is TRUE.
  3. Final Answer:

    Because State1 coil is never reset, so it stays ON -> Option A
  4. Quick Check:

    No reset keeps state ON = B [OK]
Hint: Always reset current state coil to move states [OK]
Common Mistakes:
  • Ignoring need to reset current state
  • Assuming Condition is always FALSE
  • Thinking missing coil causes lock
5. You want to design a 3-step state machine in ladder logic: State1 -> State2 -> State3 -> State1. Which approach correctly implements the transitions?
hard
A. Use timers to switch states automatically without conditions
B. Use one bit for all states and toggle it on each condition
C. Use bits for each state; each transition resets current state bit and sets next state bit based on conditions
D. Use counters to count states and reset after 3

Solution

  1. Step 1: Understand state machine design

    A proper state machine uses separate bits for each state and transitions that turn OFF the current state bit and ON the next state bit.
  2. Step 2: Evaluate options for correct implementation

    Use bits for each state; each transition resets current state bit and sets next state bit based on conditions matches this approach; the other options do not correctly represent state transitions in ladder logic.
  3. Final Answer:

    Use bits for each state; each transition resets current state bit and sets next state bit based on conditions -> Option C
  4. Quick Check:

    Separate bits with reset/set transitions = A [OK]
Hint: Reset current and set next state bits for transitions [OK]
Common Mistakes:
  • Using one bit for all states
  • Relying only on timers or counters
  • Not resetting current state bit
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