πŸ”§ PLC Programming Exercise: Automatic Conveyor Belt Control System
πŸ”§ PLC Programming Exercise: Automatic Conveyor Belt Control System

πŸ”§ PLC Programming Exercise: Automatic Conveyor Belt Control System


🧭 1. Introduction

In industrial automation, conveyor belts are commonly used to transport materials between workstations. This exercise focuses on building a PLC-controlled automatic conveyor belt system that responds to part detection and stops automatically after a short delay once the part exits.

This system simulates real-world applications in packaging, sorting, or manufacturing linesβ€”where timing and automation are critical.


🎯 2. Learning Objectives

By completing this project, you will:

  • Design and implement ladder logic for a real-world application.
  • Work with digital inputs and outputs in a PLC system.
  • Use TON (ON-delay) timers for timed control.
  • Understand latch/unlatch control logic.
  • Develop your debugging and simulation skills.

🧰 3. Tools and Components

Hardware (Optional if Simulating):

  • PLC unit (e.g., Siemens S7-1200, Allen-Bradley Micro820, or equivalent)
  • Start push button (digital input)
  • Stop push button (digital input)
  • Proximity sensor or photoelectric sensor (simulated as digital input)
  • Motor or relay module (controlled via digital output)
  • Indicator lights (optional for status visualization)

Software:

  • PLC programming environment, such as:
    • Siemens TIA Portal
    • Allen-Bradley RSLogix 500 / Studio 5000
    • OpenPLC Editor (free)
  • PLC Simulator (if no physical hardware)

πŸ“˜ 4. Background Concepts

PLC (Programmable Logic Controller) is an industrial computer that receives input signals, processes them using programmed logic, and outputs control signals to actuators like motors and lights.

Ladder Logic is the graphical programming language used in most PLCs. It mimics relay logic and is built with rungs (horizontal lines) representing control logic.

Digital Inputs/Outputs:

  • Inputs are signals from external devices like switches and sensors.
  • Outputs control actuators like motors or lamps.

TON (ON-Delay Timer): This function waits a preset time after a condition becomes TRUE before activating its output.

Latching Logic: This holds an output (like a motor) ON even after the start condition turns OFF, until a stop condition occurs.


πŸͺœ 5. Step-by-Step Implementation

System Behavior

  • The conveyor is started by pressing a START button.
  • It stops immediately when the STOP button is pressed.
  • When a part is detected, the conveyor stays on.
  • If the part is no longer detected, a 5-second timer starts.
  • After the timer elapses (if no new part is detected), the conveyor turns off automatically.

Address Assignments

  • I0.0 – START push button (normally open)
  • I0.1 – STOP push button (normally closed)
  • I0.2 – PART sensor (normally open)
  • Q0.0 – Conveyor motor
  • T1 – Timer to delay motor stop

Ladder Logic Design

Rung 1 – Latching Conveyor Motor ON

  • When the START button (I0.0) is pressed and the STOP button (I0.1) is not pressed, the motor (Q0.0) is energized.
  • A latch is used to keep Q0.0 ON until STOP is pressed or the timer triggers.

Rung 2 – ON-Delay Timer for No Part Detection

  • If the PART sensor (I0.2) is OFF (no part detected), the TON timer T1 starts counting.
  • If I0.2 becomes ON again before the timer finishes, the timer resets.

Rung 3 – Motor Stop After Timer

  • If timer T1 is done (5 seconds elapsed), it breaks the latch circuit and turns OFF Q0.0.

Example Ladder Logic (Pseudocode)

// Rung 1: Latch conveyor ON
|----[ I0.0 ]----[/ I0.1 ]----+----( Q0.0 )----|
|                            |
|                         [ Q0.0 ]             |

// Rung 2: Start timer when no part is detected
|----[/ I0.2 ]-----------------(TON T1, 5s)-----|

// Rung 3: Unlatch motor when timer is done
|----[ T1.DN ]------------------(Reset Q0.0)----|

This pseudocode shows the essential logic. Actual syntax varies depending on the software you’re using, but most environments use similar instructions and symbols.


πŸ”Ž 6. Testing and Debugging Guidance

If the conveyor doesn’t start:

  • Confirm the START button is wired correctly and connected to I0.0.
  • Check that the STOP button is normally closed and releasing the signal correctly.
  • Verify that Q0.0 is correctly mapped to the output controlling the motor.

If the conveyor doesn’t stop after the part exits:

  • Ensure the PART sensor correctly reflects absence (I0.2 goes OFF).
  • Confirm that the TON timer is triggered when I0.2 is OFF.
  • Make sure the timer preset value is set to 5 seconds.
  • Check that the timer’s DONE (DN) bit is used to reset or unlatch Q0.0.

Tips:

  • Monitor the input/output status in your simulator.
  • Watch timer values live to see when they reach the threshold.
  • Manually toggle I0.2 to simulate a part leaving the conveyor.

πŸš€ 7. Extensions and Modifications

Want to go further? Here are ideas to expand this project:

  • Emergency Stop Button: Add a high-priority safety input to immediately shut everything down.
  • Multiple Sensors: Create zones for entry/exit detection and conveyor speed adjustment.
  • Part Counter: Add a counter to keep track of how many parts passed through.
  • HMI Integration: Display the conveyor status, timer, and count on a touchscreen.
  • Variable Delay Timer: Use analog input to adjust the timer delay dynamically.