PLC Programming for Absolute Beginners (2026 Roadmap)
If you landed here by searching plc programming for beginners, you probably have one of three backgrounds: you're a student whose course just started PLC material; you're a maintenance tech who wants to understand the code your plant runs on; or you're a career-switcher who read that industrial automation pays well. All three work.
This post is the gentle on-ramp. No jargon without explanation, no vendor-specific distractions, and by the end you'll know what a PLC is, why the scan cycle matters, and what your first rung looks like.
What a PLC is (in one sentence)
A PLC — Programmable Logic Controller — is a small, ruggedised computer that reads sensor inputs, runs a control program, and switches outputs on or off, sixty-ish times a second, indefinitely. It lives on factory floors, in water plants, inside elevators, and almost any machine you'd describe as "automated." Our plain-English what-is-a-PLC post has the longer explainer.
Everything below assumes that sentence and expands on it.
The four things to learn first
One topic per week is the right pace for beginners. Faster and you skip context; slower and you lose momentum.
Week 1 — the scan cycle
The single mental model every PLC behaviour derives from. Three steps, repeated sixty times a second:
- Read every input into an image table
- Solve the ladder program top to bottom
- Write every output from the solve back to physical pins
Do the reading in our scan-cycle explainer. Write down one thing you didn't understand. Come back to it at the end of Week 1 — usually it's clear by then.
Week 2 — your first rung
The start/stop rung. Five symbols. Two vertical rails, two contacts, one coil, and a seal-in. This is the rung you'll write a thousand times in your career. Learn it until you can sketch it on a napkin without looking.
Start— normally-open contact. TRUE when operator presses the button.Stop— normally-closed contact. TRUE when the button is NOT pressed. (This wiring convention is the thing beginners find most confusing — see below.)Run— the output coil. Turns the motor on.- The
Runseal-in — parallel contact that keepsRunenergised after the operator releasesStart.
Practice in our Motor Start/Stop scenario. It's free. It takes about 25 minutes if you're new.
Week 3 — timers
Every real program uses timers. Three flavours:
- TON (Timer On-Delay) — start counting when input goes high, pulse the output high after the preset elapses.
- TOF (Timer Off-Delay) — keep the output high for the preset after the input goes low.
- TP (Timer Pulse) — emit a fixed-length pulse on the rising edge.
Our timers deep-dive walks through each with waveform diagrams. Plan to read it twice.
Week 4 — sequencing
A traffic light has six phases. Fluorescent bulbs need pre-warm, run, post-cool. Pumps alternate lead-lag. Sequencing is how you structure multi-step operations without writing spaghetti ladder.
The core pattern: one integer variable named PHASE, one rung per transition rule. If you understand that sentence by the end of Week 4, you're ready for real work.
Practice in Traffic Light and CIP Sequence Controller (the second one is Basic tier).
The five confusions that trip up beginners
1. Why Stop is wired normally-closed
On a real machine, the Stop button is wired as a normally-closed circuit. When the button is pressed, the circuit breaks. In ladder logic that means your Stop input is FALSE when pressed.
You draw Stop as [ ] (normally-open contact), which evaluates TRUE when the input is TRUE — i.e., when the button is NOT pressed.
If the wire gets cut or the button fails, the input goes FALSE, the rung goes FALSE, the motor stops. That's safe failure — which is the entire point.
2. Why outputs are one scan late
If Input goes high on scan 100, the output image table reflects that at the start of scan 101. Which means the output is energised at the end of scan 101, physical output switches mid-scan 102. For most purposes: 100 ms lag, invisible. For high-speed scans or tight timing: design around it.
3. Why SET/RESET behave differently from a plain coil
A plain coil reads the rung every scan and writes the result. TRUE on this scan, FALSE if the rung goes FALSE next scan.
A SET coil writes TRUE once and leaves the bit high forever, even if the rung goes FALSE. It only comes back FALSE when a separate RESET fires. This is called "latching."
Use latches for phase transitions and fault states where you want the bit to stay on until acknowledged. Avoid them everywhere else — they create hidden state that's painful to debug.
4. Why TON is not a function you call
In most programming languages a delay is a function call: sleep(1000). In ladder logic, TON is a block instance that lives inside a function block. It has state (the current accumulated time) that persists across scans. You don't "call" it; you energise its IN input, and over many scans its Q output eventually goes TRUE.
This is the biggest mental shift for programmers coming from software. PLCs don't block. Everything is evaluated every scan.
5. Why seal-in latches are the most important rung
Because almost every machine has at least one thing that needs to stay on after an operator lets go of a momentary button. Start/stop with seal-in is the universal pattern for that. Every variation — two-hand control, interlocked forward/reverse, cycle start for batch processes — is a seal-in with additions.
Get Week 2 right and everything downstream is easier.
What you do NOT need to worry about yet
- Vendor dialects. IEC 61131-3 is the lingua franca. Worry about Allen-Bradley vs Siemens differences in month 3, not month 1.
- PID loops. Analog control is Week 6+ material. Skip for now.
- SCADA / HMI. Different discipline. See our PLC+SCADA training post when you're ready.
- Structured text. Learn ladder first. ST is easier to pick up when you already think in scan-cycle terms. See our ladder-vs-ST post.
- Safety PLCs. Specialist domain. Later.
FAQ
Is PLC programming hard to learn for beginners?
The first month is harder than you'd expect (scan-cycle thinking is unfamiliar). The second month is easier than you'd expect (the patterns repeat). By month three you'll look back and find Week 1 obvious.
What's the best language for a beginner?
Ladder logic. It's the most visual, the most common in industry, and it forces you to think in scan cycles from day one. Our ladder vs structured text post compares them.
Do beginners need to buy a PLC?
No. A browser simulator teaches the same semantics. Our free tier gets you two scenarios with no card required.
What should a beginner start with?
Motor Start/Stop is the canonical first scenario — five symbols, seal-in pattern, deep content. Traffic Light second. Then follow the 12-week course.
Is PLC programming a good career for beginners?
Yes, still. Demand is rising because of reshoring and retirement. Mid-level PLC programmers earn USD 80,000–120,000 in North America and Europe. Our how to become a PLC programmer post goes deep on the career math.
Where to start right now
- Sign up free.
- Open Motor Start/Stop.
- Use the hints panel when you get stuck. Don't copy the solution — the hints are enough.
- When the tests pass, read our basic PLC programming post.
Twenty-five minutes to a passing first program. That's where the learning starts.