Intralogistics Conveyor Sorting System — S7-1500 SCL
About the Project
This project implements a professional intralogistics conveyor sorting system on a Siemens S7-1500 (CPU 1511-1 PN) using SCL — Structured Control Language (IEC 61131-3) — instead of Ladder Logic, demonstrating a software engineering approach to PLC programming that is standard in modern German factories and machine builders.
The core is a reusable Function Block (FB_ConveyorZone) with a 5-state machine covering: IDLE, RUNNING, STOPPING, FAULT (weight > 50 kg triggers operator-reset), and EMERGENCY STOP (hardware interlock requiring physical reset). Package data is structured using a User-Defined Data Type (Package_UDT) with fields for ID, weight, destination, timestamp, validity, and fault code — stored in a 10-slot Global Data Block array acting as a shift register to track packages through conveyor zones.
The FB_ConveyorZone is fully reusable: a factory with five conveyor zones simply instantiates the same block five times with five separate Data Blocks, each running independently. This object-oriented PLC design pattern reduces development time and maintenance overhead significantly compared to traditional variable-based approaches.
A WinCC KTP700 Basic HMI provides a zone state indicator with five colour states, fault message display, package weight input, Emergency Stop, and Start Zone controls across seven HMI tags. The S7-1500 OPC UA server interface is architectured to feed live conveyor data to an external Python dashboard — connecting directly to the CODESYS OPC-UA project and demonstrating full IT/OT integration awareness.