Back to all lessons

Lesson 13

Conveyor Logic

Conveyor control with start, stop, permissives, fault inhibits, and holding logic.

PLC/FBDpracticaluniversityengineerANDORINTERNAL_SIGNAL

1. Conveyor Control Logic

A conveyor is a useful learning example: operator buttons, permissives, a fault inhibit, and a motor output combine into a working PLC program.

This lesson covers starting with Start, stopping with Stop, and disabling operation when a fault occurs or an operating permissive is lost.

Start_Button + Stop_Button + Safety_OK → PLC logic → Conveyor_Run

2. Applications

Similar logic controls belt conveyors, packaging-machine feeders, accumulation conveyors before robots, box or pallet roller conveyors, machine discharge conveyors, and introductory motor-control models.

A real PLC output normally sends a command to a contactor, variable-frequency drive, servo drive, or relay rather than powering the motor directly.

3. Example Signals

SignalTypePurpose
Start_ButtonInputConveyor start button
Stop_ButtonInputConveyor stop button
Safety_OKInputOperating permissive: no fault, door closed
Product_Stop_SensorInputOccupied/full condition at the conveyor exit
Conveyor_RunInternal signalRetained conveyor run command
Motor_RunOutputConveyor motor command

The basic version needs only Start_Button, Stop_Button, Safety_OK, and Motor_Run. Product_Stop_Sensor is a common extension.

4. Holding the Run Command

A conveyor should not usually require the operator to hold Start continuously. A short press should be remembered:

Conveyor_Run = (Start_Button OR Conveyor_Run) AND NOT Stop_Button AND Safety_OK

Start_Button starts it, Conveyor_Run retains the command, Stop_Button clears it, and Safety_OK prevents operation when permission is lost.

5. State Table

Without Product_Stop_Sensor:

Start_ButtonStop_ButtonSafety_OKConveyor_Run before scanConveyor_Run after scan
FALSEFALSETRUEFALSEFALSE
TRUEFALSETRUEFALSETRUE
FALSEFALSETRUETRUETRUE
FALSETRUETRUETRUEFALSE
TRUETRUETRUEFALSEFALSE
TRUEFALSEFALSEFALSEFALSE
FALSEFALSEFALSETRUEFALSE

Stop must clear the run command. Safety_OK FALSE must also stop the conveyor.

6. Permissives and Fault Conditions

Safety_OK can represent several conditions:

Safety_OK = Emergency_OK AND Door_Closed AND Drive_Ready

If any permissive disappears, Safety_OK becomes FALSE and the run command is cleared. For this lesson, one input represents the combined permissive; a more detailed diagram can form it with AND blocks.

7. Extension: Exit Occupancy Sensor

Add Product_Stop_Sensor to stop when the exit is occupied:

Conveyor_Run = (Start_Button OR Conveyor_Run)
               AND NOT Stop_Button
               AND Safety_OK
               AND NOT Product_Stop_Sensor

Here Product_Stop_Sensor TRUE clears the run command. Once the sensor clears, the operator must press Start again.

8. Automatic Resumption

If the conveyor should pause while full and resume automatically after space becomes available, separate the retained enable state from the motor command:

SignalPurpose
Conveyor_EnableRetained operator permission to run
Motor_RunActual motor command including sensor conditions
Conveyor_Enable = (Start_Button OR Conveyor_Enable) AND NOT Stop_Button AND Safety_OK
Motor_Run       = Conveyor_Enable AND NOT Product_Stop_Sensor

Stop clears the enable state. Product_Stop_Sensor only inhibits the motor temporarily. This illustrates the distinction between internal program state and a physical output command.

The supplied JSON implements this automatic-resumption variant, with Conveyor_Enable retained by a reset-priority RS block.

9. Real Equipment

Motor_Run may control a contactor coil, a variable-frequency drive input, an Enable/Run input, a motor-control module, or an intermediate relay.

Emergency stops, guards, and safety circuits must be engineered separately from this introductory program logic.

10. Simulator Practice

Open the example and start the simulation.

  • 1. Set Safety_OK TRUE and Product_Stop_Sensor FALSE.
  • 2. Press Start_Button; check Q on Conveyor_Enable_Latch and Motor_Run TRUE.
  • 3. Release Start; both remain TRUE.
  • 4. Set Product_Stop_Sensor TRUE; Motor_Run becomes FALSE while Conveyor_Enable remains TRUE.
  • 5. Clear the sensor; Motor_Run resumes automatically.
  • 6. Press Stop_Button; both commands become FALSE.
  • 7. Start again, then set Safety_OK FALSE; the conveyor stops and its enable state clears.

The exercise combines buttons, retained state, permissives, and an occupancy sensor.

11. Key Points

Conveyor logic combines TRUE/FALSE, AND, OR, NOT, holding logic, and permissives. More advanced diagrams add part sensors, adjacent-equipment readiness, timers, alarms, and operating modes.

Distinguish the learning model from industrial equipment: a real installation needs additional validation and hardware safety measures.

Practice block

Open the related example in the editor, run the simulation, and repeat the exercise from the article. The JSON is also available as a direct download.