Conveyor station
Ladder logic · MainRoutine
Drag a button onto a rung, or drag placed instructions and branches to move them. Drag the small square at either end of a branch to stretch or shrink it. To change an instruction, select it and type a new mnemonic (e.g. XIO).
- warningRung 0 is empty.
Objectives
- Start the conveyor with a momentary Start pushbutton.
- Keep it running after Start is released (seal-in).
- Stop it with a normally-closed Stop pushbutton, and make Stop win over Start.
Why a seal-in?
Start is a momentary pushbutton: its contact is only closed while a finger is on it. If the motor coil only followed Start, the conveyor would stop the instant the operator let go.
A seal-in (or "holding") branch fixes that. A contact of the motor output is placed in parallel with Start. Once the motor turns on, that contact keeps the rung true by itself.
Why is Stop wired normally closed?
On this station, Stop is wired with a normally-closed contact. At rest, current flows and the PLC sees Stop_PB = 1. Pressing Stop opens the contact and the input drops to 0.
This is fail-safe: if the wire breaks or falls off the terminal, the PLC sees the same thing as a pressed Stop button, and the machine stops.
So in logic you examine Stop_PB with XIC (examine if closed): it passes power while the button is NOT pressed. Watch Stop_PB in the tag monitor while you press it.
Scan order
Each scan, the PLC freezes all inputs, solves rungs top to bottom and left to right, then writes outputs. The seal-in contact Conveyor_Motor reads the value the coil had at the end of the previous scan.
Steps
- Click the gap on rung 0 and add an XIC. Assign it Start_PB.
- Select the Start_PB contact and click Branch. Add an XIC on the lower leg and assign it Conveyor_Motor.
- After the branch, add an XIC for Stop_PB in series.
- Finish the rung with an OTE assigned to Conveyor_Motor.
- Click Run PLC. Press Start, release it, then press Stop. Watch the power flow.
- When it works, click Grade my program.
Stuck? Show hints
- If the motor stops when you release Start, the seal-in branch is missing or is not around Start_PB.
- If the motor never starts, check Stop_PB: it is ON at rest, so XIO(Stop_PB) never passes power.
- If Stop does not work while Start is held, Stop_PB must be in series after the branch, not inside one of its legs.
Tag monitor
| Tag | Type | Value |
|---|---|---|
Start_PB Start pushbutton | input DI 0 · N.O. contact | 0 |
Stop_PB Stop pushbutton | input DI 1 · N.C. contact | 0 |
PE_Box_Present Photoeye, ON when a box blocks the beam | input DI 2 · PNP sensor | 0 |
Conveyor_Motor Conveyor motor starter coil | output DO 0 · starter coil | 0 |