Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PLC Conveyor Sorting System using OpenPLC

OpenPLC Language Platform Status

Project Overview

This project implements an automated conveyor sorting system using OpenPLC Editor v4 and Ladder Logic (IEC 61131-3).

The system controls a conveyor belt, detects incoming boxes, identifies tall boxes using a height sensor, and automatically activates a reject mechanism after a configurable delay using a TON timer. The design also incorporates industrial safety features such as Start/Stop controls and an Emergency Stop circuit.

This project demonstrates the implementation of industrial PLC programming concepts commonly used in automated manufacturing and material handling systems.


Features

  • Start/Stop push-button control
  • Emergency Stop (E-Stop) safety circuit
  • Conveyor motor control
  • Box detection using a sensor
  • Height-based box classification
  • Automatic reject mechanism
  • TON (On-Delay) timer implementation
  • Warning lamp indication during reject cycle
  • Modular ladder logic implementation

Software Used

  • OpenPLC Editor v4
  • OpenPLC Runtime v4
  • Ladder Diagram (LD)
  • Windows

System Workflow

Start Button
      │
      ▼
System Starts
      │
      ▼
Conveyor Motor Runs
      │
      ▼
Box Detected
      │
      ▼
Height Sensor Checks Box
      │
      ├──────────────┐
      │              │
Normal Box      Tall Box
      │              │
      │              ▼
      │        Reject Cycle
      │              │
      │        TON Timer (2 s)
      │              │
      │              ▼
      │       Reject Pusher ON
      │              │
      │              ▼
      │       Warning Lamp ON
      │
      ▼
Continue Conveyor

Inputs

Variable Type Description
StartPB BOOL Start push button
StopPB BOOL Stop push button
EStop BOOL Emergency stop
BoxSensor BOOL Detects arriving box
HeightSensor BOOL Detects tall boxes

Outputs

Variable Type Description
ConveyorMotor BOOL Drives conveyor belt
RejectPusher BOOL Reject actuator
WarningLamp BOOL Indicates reject operation

Internal Variables

Variable Description
SystemRun System latch
BoxDetected Box detected flag
TallBox Tall box identification
RejectCycle Reject sequence trigger
TON0 TON timer instance
TimerPreset Timer preset (2 seconds)

Ladder Logic Networks

Network 1 — Start/Stop Latching

Implements the system start and stop logic with a seal-in (holding) circuit.


Network 2 — Conveyor Motor

Runs the conveyor whenever the system is active and the Emergency Stop is not pressed.


Network 3 — Box Detection

Detects the arrival of a box while the conveyor is operating.


Network 4 — Tall Box Detection

Uses the height sensor together with the box detection signal to identify tall boxes.


Network 5 — Reject Cycle

Initiates the reject sequence whenever a tall box is detected.


Network 6 — Reject Pusher

Uses a TON timer to activate the reject pusher after a 2-second delay.


Network 7 — Warning Lamp

Turns on a warning lamp whenever the reject cycle is active.


Test Cases

Test Case Expected Result Status
Start Button System starts ✅ Pass
Stop Button System stops ✅ Pass
Emergency Stop Conveyor stops immediately ✅ Pass
Conveyor Operation Motor runs correctly ✅ Pass
Box Detection Box detected successfully ✅ Pass
Tall Box Detection Tall box identified ✅ Pass
Reject Cycle Reject sequence initiated ✅ Pass
TON Timer 2-second delay before rejection ✅ Pass
Reject Pusher Activates correctly ✅ Pass
Warning Lamp Turns ON during reject cycle ✅ Pass

Project Screenshots

Variable Declaration

See:

Media/Variables.png

Networks 1 & 2

Media/network_1_2.png

Networks 3, 4 & 5

Media/network_3_4_5.png

Networks 6 & 7

Media/network_6_7.png

Demonstration Video

A complete project demonstration is included in:

Media/PLC_ConveyorSorting_mp4.mp4

Learning Outcomes

This project demonstrates practical experience with:

  • PLC Programming
  • Ladder Logic Design
  • Industrial Automation
  • IEC 61131-3 Standard
  • TON Timers
  • Safety Interlocks
  • Conveyor Automation
  • Sensor-Based Control Systems
  • Sequential Logic Design

Repository Structure

PLC-Conveyor-Sorting-System-OpenPLC
│
├── build/
├── devices/
├── pous/
├── Media/
│   ├── Variables.png
│   ├── network_1_2.png
│   ├── network_3_4_5.png
│   ├── network_6_7.png
│   └── PLC_ConveyorSorting_mp4.mp4
│
├── project.json
└── README.md

Author

Aliya Rasheed

Mechatronics Engineering Student

NUST College of Electrical & Mechanical Engineering (CEME)


License

This project is intended for educational and portfolio purposes.

About

Industrial PLC conveyor sorting system using OpenPLC v4 and Ladder Logic (IEC 61131-3) with height-based box detection, TON timer, reject mechanism, and safety interlocks.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages