Learn PLC programming,Free SCADA programming, Download free PLC books, Free manuals,PLC tutorials,PLC presentation.
June 12, 2018
June 6, 2018
Controlling of conveyors with interlock
PLC Program: Conveyor Sequence Control and Interlocking
Problem Description
A feeder drops material onto Conveyor 1, which then transfers the material to Conveyor 2 for further processing. The system must function automatically—conveyors should start based on material detection using load cells. The system must ensure sequence control and interlocking to avoid collisions.
| https://plcscadaacademy.blogspot.com/ |
System Components and Setup
-
PLC Type: Siemens S7-300
-
Software: TIA Portal
-
Material Detection: Load Cells (preferred over proximity or limit switches for higher reliability)
I/O List
Inputs
| Address | Description |
|---|---|
| I0.0 | START Push Button |
| I0.1 | STOP Push Button |
| I0.2 | Load Cell 1 (Conveyor 1) |
| I0.3 | Load Cell 2 (Conveyor 2) |
Outputs
| Address | Description |
|---|---|
| Q0.0 | Cycle ON Indicator |
| Q0.1 | Conveyor 1 Motor |
| Q0.2 | Conveyor 2 Motor |
| Q0.3 | Feeder Motor |
Ladder Logic Program Description
Network 1: System Start Logic
-
When START (I0.0) is pressed and system is not in STOP mode (I0.1 not active), Cycle ON (Q0.0) is latched to keep the system running.
-
This also starts the Feeder Motor (Q0.3) to begin dropping material.
Network 2: Conveyor 1 Activation
-
If Cycle ON (Q0.0) is active and Load Cell 1 (I0.2) detects material, then Conveyor 1 Motor (Q0.1) turns ON.
Network 3: Conveyor 2 Activation
-
When Load Cell 2 (I0.3) detects material (i.e., material has transferred from Conveyor 1 to Conveyor 2), then Conveyor 2 Motor (Q0.2) turns ON.
Network 4: Emergency Stop Logic
-
If STOP Button (I0.1) is pressed, all outputs are turned OFF by resetting the Cycle ON (Q0.0) latch.
Functional Sequence (Interlocking Logic)
-
START Button Pressed (I0.0 = 1):
-
Q0.0 (Cycle ON) = 1
-
Q0.3 (Feeder Motor) = 1
-
-
Material Detected on Conveyor 1 (I0.2 = 1):
-
Q0.1 (Conveyor 1 Motor) = 1
-
-
Material Transferred to Conveyor 2 (I0.3 = 1):
-
Q0.2 (Conveyor 2 Motor) = 1
-
-
STOP Button Pressed (I0.1 = 1):
-
All outputs reset (Q0.0–Q0.3 = 0)
-
Runtime Test Cases
| Inputs | Outputs | Physical Behavior |
|---|---|---|
| I0.0 = 1 | Q0.0 = 1 | Cycle ON Lamp turns ON |
| I0.2 = 1 | Q0.1 = 1 | Conveyor 1 Motor starts |
| I0.3 = 1 | Q0.2 = 1 | Conveyor 2 Motor starts |
| I0.1 = 1 | All Q outputs = 0 | System stops |
Conclusion
This PLC program ensures automatic sequencing and interlocking of conveyor belts using load cell feedback. It minimizes manual intervention, improves reliability, and provides a robust material handling solution using Siemens S7-300 and TIA Portal.
Would you like me to also draw the ladder diagram or generate an image of the conveyor setup for better
June 2, 2018
Explanation of Motor Speed Initialisation Logic (Using First Scan Cycle, Initialisation Button, and Display Input)
This program controls how the motor speed value (MW10) is initialized and updated during PLC operation. It uses two special inputs—First Scan Cycle (I0.0) and Initialization Button (I0.1)—to determine when the system should load a default motor speed value. Under normal operation, motor speed is taken from the operator display (MW8).
Inputs and Memory Words Used
| Signal / Memory | Description |
|---|---|
| I0.0 | First Scan Cycle input (activates only once when PLC transitions to RUN mode) |
| I0.1 | Initialization push-button (allows operator to reset motor speed) |
| MW8 | Motor speed value coming from HMI or display |
| MW10 | Final Motor Speed Word used by the PLC to control the motor |
![]() |
| https://plcscadaacademy.blogspot.com/ |
![]() |
| https://plcscadaacademy.blogspot.com/ |
FBD diagram for the first scan cycle.
![]() |
| https://plcscadaacademy.blogspot.com/ |
![]() |
| https://plcscadaacademy.blogspot.com/ |
Program Description
The main function of this program is to determine what value should be written into MW10 (Motor Speed) under different conditions:
A. Initialization Conditions (I0.0 or I0.1 active)
If the First Scan Cycle (I0.0) turns ON
ORIf the Initialization Button (I0.1) is pressed
→ The PLC will load a default motor speed value of 10 into MW10.
This ensures that:
On PLC startup, the motor always begins with a known safe speed.
On operator demand, the motor speed can be reset to the same safe/default value.
B. Normal Operation (None of the initialization conditions active)
When neither I0.0 nor I0.1 is TRUE:
→ The motor speed is read from MW8 (HMI/Display Input) and written to MW10.
This allows the operator to modify motor speed from the HMI during normal running conditions.
Why This Logic Is Important
✔ Prevents unpredictable motor start-up values
✔ Ensures safety by assigning a known speed after startup or reset
✔ Allows operator control during normal running conditions
✔ Provides priority for first scan and reset operations
Final Explanation (Compact Version for Documentation)
This program ensures that MW10 (Motor Speed) is properly initialized and updated. During PLC startup or when the initialization button is pressed, the value 10 is moved into MW10. This sets a safe, predefined motor speed. If neither I0.0 nor I0.1 is active, the motor speed is taken from the operator display (MW8) and written into MW10. Thus, the logic provides automatic startup initialization and operator-controlled speed during normal operation.



