Ten PLC practice projects from beginner to advanced, all buildable free in a browser simulator: specs, hints, and the skills each one trains — no hardware.
PLC practice projects are how reading becomes skill — but most project lists either assume a hardware trainer you don't have or stop at "make a light blink." These ten run entirely in a free browser simulator, are ordered from first-week beginner to interview-ready, and each comes as a spec, the way real work arrives: required behaviour, I/O list, and the trap hidden inside it. Build them in order; don't skip the traps — they're the curriculum.
Beginner (Projects 1–3)
1. Motor start/stop with seal-in. Inputs: StartPB, StopPB (wired fail-safe), outputs: Motor, RunLamp. Behaviour: start latches, stop releases, lamp follows. Trap: the stop button's contact type — the NC-wiring logic catches everyone once. Trains: the single most common circuit in industry.
2. Staircase light with run-on. One button, one lamp; any press turns the lamp on, and it stays on 30 s after the last press. Trap: retriggering — ten presses must not queue ten timeouts. One TOF solves it; discovering why is the lesson. Trains: timer selection.
3. Two-hand safety start (concept drill). A press runs only while both palm buttons are held, and both must be released before a new cycle. Trap: defeating it with one taped-down button must not work — that's the released-before-restart logic. Trains: permissive thinking. (Real two-hand circuits are certified safety hardware; this drills the logic pattern only.)
Intermediate (Projects 4–6)
4. Traffic light, single junction. Fixed sequence: green 20 s → amber 4 s → red, both directions interleaved, plus a flashing-amber night mode on a selector input. Trap: mode switching mid-sequence — no state may strand both directions green. Trains: sequencing (a CASE state machine in ST is the clean solve) and mode-change discipline.
5. Car park counter. Entry and exit sensors, 50 spaces, FULL sign, space count on display. Trap: a car parked on the entry sensor — level vs edge, the 400-counts bug, live. Add the second trap yourself: simultaneous entry and exit in one scan. Trains: CTUD, edge detection, boundary conditions.
6. Tank fill–mix–drain batch. Start → fill valve until LevelHigh → mix 30 s → drain until LevelLow → ready. Abort button returns to safe state (valves closed, mixer off) from any step. Trap: the abort — most first versions leak one step where abort strands a valve open. Trains: state machines with a safe-state exit, the shape of every real batch process.
Advanced (Projects 7–10)
7. Reversing conveyor with jam detection. Forward/reverse with interlock (never both), 2 s pause enforced on direction change, and a jam alarm if the end sensor isn't reached within 10 s of starting. Trap: the direction-change pause across a scan cycle. Trains: interlocks plus time-based fault detection.
8. Analog tank alarm with hysteresis and broken-wire detection. Scale a 4–20 mA level signal to percent, high alarm at 90 % clearing below 85 %, and a sensor-fault alarm below 3.6 mA equivalent. Trap: the missing ELSE that makes hysteresis work (Example 7 here). Trains: analog handling, the alarm patterns of process industry.
9. Pump duty/standby rotation. Two pumps, one demand signal: alternate the lead pump each start, bring the standby in if the lead fails to prove within 5 s, fault-latch the failed pump until reset. Trap: the alternation bit must flip on demand edges, not scans. Trains: the real pattern in every pump house, and set-dominant fault latching.
10. The full stack: expose project 6 to a real HMI. Take your batch tank, expose it over OPC UA, connect UaExpert or Ignition, and run the batch from screens — including the abort. Trap: discovering your abort logic assumed a held button while the HMI sends a pulse. Trains: the HMI-without-hardware workflow that most juniors meet for the first time on a job site.
How to Practice So It Sticks
Three rules, borrowed from how good integrators train juniors. Write the spec's test list before the logic — five scenarios per project, including the hostile ones (abort mid-fill, both sensors at once, power-cycle mid-sequence; why this matters). Build each project twice — ladder first, then FBD or ST, because translation is what proves understanding. Keep every project — ten clean, commented, tested programs in a shareable workspace is a portfolio, and "walk me through your jam-detection logic" is a far better interview than a CV line. A project a week puts you through this list in one quarter, for a total tooling cost of zero.