Bird
Raised Fist0
PLC Programmingscripting~10 mins

Conveyor sorting system in PLC Programming - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Conveyor sorting system
Start Conveyor
↓
Detect Item
↓
Read Item Type
↓
Match Type to Destination
↓
Activate Sorter for Destination
↓
Item Sorted
↓
Loop to Detect Next Item
The conveyor starts moving, detects items, reads their type, matches to a destination, activates the sorter, and repeats.
Execution Sample
PLC Programming
IF item_detected THEN
  CASE item_type OF
    1: activate_sorter(1);
    2: activate_sorter(2);
    ELSE activate_sorter(0);
  END_CASE
END_IF
This PLC code checks if an item is detected, then sorts it based on its type.
Execution Table
Stepitem_detecteditem_typeConditionActionOutput
1FalseN/Aitem_detected = FalseNo actionConveyor runs, no sorting
2True1item_detected = Trueactivate_sorter(1)Item sent to destination 1
3True2item_detected = Trueactivate_sorter(2)Item sent to destination 2
4True3item_detected = Trueactivate_sorter(0)Item sent to default destination
5FalseN/Aitem_detected = FalseNo actionConveyor runs, no sorting
💡 Loop continues until system stops; sorting activates only when item_detected is True
Variable Tracker
VariableStartAfter Step 2After Step 3After Step 4After Step 5
item_detectedFalseTrueTrueTrueFalse
item_typeN/A123N/A
sorter_state01200
Key Moments - 2 Insights
Why does the sorter not activate when item_detected is False?
Because the condition 'item_detected = True' is not met, so no sorting action is triggered as shown in steps 1 and 5 of the execution_table.
What happens if item_type does not match 1 or 2?
The ELSE branch activates sorter 0, sending the item to the default destination, as shown in step 4 of the execution_table.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table at step 3, what is the sorter_state?
A2
B1
C0
D3
💡 Hint
Check the 'Action' and 'Output' columns at step 3 where activate_sorter(2) is called.
At which step does the condition 'item_detected = False' cause no sorting action?
AStep 2
BStep 3
CStep 1
DStep 4
💡 Hint
Look at the 'Condition' column where item_detected is False and no action happens.
If item_type is 2 and item_detected is True, what sorter_state will be set?
A0
B2
C1
D3
💡 Hint
Refer to step 3 in execution_table where item_type 2 activates sorter 2.
Concept Snapshot
Conveyor Sorting System PLC Logic:
- Detect item presence (item_detected)
- Read item type (item_type)
- Use CASE to select sorter based on type
- Activate sorter to route item
- Loop continuously for next items
Full Transcript
This conveyor sorting system starts by running the conveyor belt. When an item is detected, the system reads the item type. It then uses a CASE statement to decide which sorter to activate. If the item type is 1, sorter 1 activates; if 2, sorter 2 activates; otherwise, the default sorter 0 activates. If no item is detected, no sorting happens and the conveyor keeps running. This process repeats continuously to sort items as they arrive.

Practice

(1/5)
1. In a conveyor sorting system, what is the main role of sensors?
easy
A. To power the entire system
B. To move the conveyor belt forward
C. To detect items and send signals for sorting decisions
D. To clean the conveyor belt automatically

Solution

  1. Step 1: Understand sensor function in sorting

    Sensors detect the presence or type of items on the conveyor.
  2. Step 2: Connect sensor signals to sorting

    The system uses sensor signals to decide where to send each item.
  3. Final Answer:

    To detect items and send signals for sorting decisions -> Option C
  4. Quick Check:

    Sensors detect items = C [OK]
Hint: Sensors detect items to guide sorting [OK]
Common Mistakes:
  • Confusing sensors with motors
  • Thinking sensors power the system
  • Assuming sensors clean the belt
2. Which of the following is the correct syntax for a simple IF statement in PLC ladder logic to check if a sensor is ON?
easy
A. IF Sensor1 = TRUE THEN Conveyor := ON;
B. IF (Sensor1 == ON) { Conveyor = ON }
C. IF Sensor1 THEN Conveyor ON;
D. IF Sensor1 = ON THEN Conveyor := ON;

Solution

  1. Step 1: Identify correct PLC syntax

    PLC languages often use ':=' for assignment and 'THEN' for conditions.
  2. Step 2: Check sensor condition and assignment

    IF Sensor1 = TRUE THEN Conveyor := ON; uses 'Sensor1 = TRUE' and 'Conveyor := ON;' which matches PLC style.
  3. Final Answer:

    IF Sensor1 = TRUE THEN Conveyor := ON; -> Option A
  4. Quick Check:

    Correct PLC IF syntax = A [OK]
Hint: Look for ':=' assignment and 'THEN' keyword [OK]
Common Mistakes:
  • Using '==' instead of '='
  • Missing ':=' for assignment
  • Using curly braces which are not PLC style
3. Given the following PLC code snippet for a conveyor sorting system:
IF SensorA = TRUE THEN
Diverter := LEFT;
ELSE
Diverter := RIGHT;
END_IF;

What will be the value of Diverter if SensorA is FALSE?
medium
A. LEFT
B. FALSE
C. TRUE
D. RIGHT

Solution

  1. Step 1: Analyze the IF condition

    The code sets Diverter to LEFT if SensorA is TRUE.
  2. Step 2: Determine ELSE action when SensorA is FALSE

    When SensorA is FALSE, Diverter is set to RIGHT.
  3. Final Answer:

    RIGHT -> Option D
  4. Quick Check:

    SensorA FALSE leads to Diverter RIGHT [OK]
Hint: FALSE condition triggers ELSE branch [OK]
Common Mistakes:
  • Assuming Diverter stays unchanged
  • Confusing TRUE and FALSE branches
  • Mixing variable names
4. Identify the error in this PLC code snippet for sorting items:
IF Sensor1 = TRUE THEN
Conveyor := ON
ELSE
Conveyor := OFF;
END_IF;
medium
A. Missing semicolon after 'Conveyor := ON'
B. Incorrect use of ELSE statement
C. Sensor1 should be compared with FALSE
D. Assignment operator ':=' is invalid

Solution

  1. Step 1: Check statement endings

    Each assignment line in PLC code must end with a semicolon.
  2. Step 2: Locate missing semicolon

    The line 'Conveyor := ON' lacks a semicolon at the end.
  3. Final Answer:

    Missing semicolon after 'Conveyor := ON' -> Option A
  4. Quick Check:

    Semicolon missing = D [OK]
Hint: Check each line ends with semicolon [OK]
Common Mistakes:
  • Ignoring semicolon errors
  • Misreading ELSE syntax
  • Thinking ':=' is wrong assignment
5. You want to program a conveyor sorting system that directs items to three paths: LEFT, CENTER, or RIGHT based on two sensors: SensorX and SensorY.

If SensorX is TRUE and SensorY is FALSE, send to LEFT.
If SensorX is FALSE and SensorY is TRUE, send to RIGHT.
Otherwise, send to CENTER.

Which PLC code snippet correctly implements this logic?
hard
A.
IF SensorX = TRUE OR SensorY = FALSE THEN
  Diverter := LEFT;
ELSEIF SensorX = FALSE OR SensorY = TRUE THEN
  Diverter := RIGHT;
ELSE
  Diverter := CENTER;
END_IF;
B.
IF SensorX = TRUE AND SensorY = FALSE THEN
  Diverter := LEFT;
ELSIF SensorX = FALSE AND SensorY = TRUE THEN
  Diverter := RIGHT;
ELSE
  Diverter := CENTER;
END_IF;
C.
CASE
  WHEN SensorX = TRUE AND SensorY = FALSE THEN Diverter := LEFT;
  WHEN SensorX = FALSE AND SensorY = TRUE THEN Diverter := RIGHT;
  ELSE Diverter := CENTER;
END_CASE;
D.
IF SensorX = TRUE THEN
  Diverter := LEFT;
ELSEIF SensorY = TRUE THEN
  Diverter := RIGHT;
ELSE
  Diverter := CENTER;
END_IF;

Solution

  1. Step 1: Match conditions to logic

    IF SensorX = TRUE AND SensorY = FALSE THEN
      Diverter := LEFT;
    ELSIF SensorX = FALSE AND SensorY = TRUE THEN
      Diverter := RIGHT;
    ELSE
      Diverter := CENTER;
    END_IF;
    uses AND to check both sensors exactly as required.
  2. Step 2: Verify ELSEIF and ELSE branches

    IF SensorX = TRUE AND SensorY = FALSE THEN
      Diverter := LEFT;
    ELSIF SensorX = FALSE AND SensorY = TRUE THEN
      Diverter := RIGHT;
    ELSE
      Diverter := CENTER;
    END_IF;
    correctly uses ELSIF for second condition and ELSE for default.
  3. Step 3: Check other options for errors

    IF SensorX = TRUE OR SensorY = FALSE THEN
      Diverter := LEFT;
    ELSEIF SensorX = FALSE OR SensorY = TRUE THEN
      Diverter := RIGHT;
    ELSE
      Diverter := CENTER;
    END_IF;
    uses OR incorrectly, C uses CASE but syntax is not standard PLC, D misses combined conditions.
  4. Final Answer:

    The code snippet with AND conditions -> Option B
  5. Quick Check:

    Correct AND conditions and ELSIF = A [OK]
Hint: Use AND for combined sensor checks, ELSIF for second condition [OK]
Common Mistakes:
  • Using OR instead of AND for combined conditions
  • Incorrect CASE syntax in PLC
  • Missing combined sensor checks
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