PLC Simulator
Self-paced free course

PLC Programming Course — Free, Online, Hands-On.

A structured PLC programming course with 20 lessons, 40 auto-graded machine scenarios, and real ladder logic exercises. No install, no credit card, no trial clock.

The first exercise in the course — you write the logic, we run the machine.

Overview

What this PLC programming course covers.

A PLC programming course should teach you to read and write the logic that runs industrial controllers: ladder diagrams, Structured Text, and the function blocks defined in IEC 61131-3. It should also make you dangerous with the two brand dialects you will encounter on most plant floors — Allen-Bradley and Siemens.

This course covers exactly that, in a specific sequence. You start with the scan cycle and contacts-and-coils (Module 1), move to timers, counters, comparisons, and Structured Text (Module 2), then work through structured design patterns like state machines and SFC (Module 3). From there you run hands-on machine scenarios — motor starters, conveyor sorters, batch mixers, PID loops (Module 4) — before finishing with debugging methodology, alarms, safety systems, and code organisation (Modules 5 and 6).

What makes this different from most PLC programming classes is the exercise model. Every scenario ships with a test harness: hidden test cases that run your actual ladder logic against a simulated machine and return a pass/fail. You get the same feedback loop a hardware lab gives you — without the hardware budget or the lab booking system.

PLC programming course overview — PLC architecture: CPU, power supply, input and output modules, and the field devices they connect toA modular PLC rack on a backplane: power supply, CPU processor, input module, output module and a communications module side by side.PLC RACKbackplane busPSUPowerCPUProcessorDIInputDOOutputNETComms
Lesson 1 of the course maps the hardware you are programming: CPU, I/O modules, and field wiring.
PLC programming course — the PLC scan cycle: read inputs, solve the program logic, then write outputs, repeated every scanThe repeating PLC scan cycle: read inputs, execute the ladder logic, update outputs, then housekeeping, looping continuously.1Read Inputs2Execute Logic3Update Outputs4HousekeepingSCANCYCLE
The scan cycle is the single mental model your whole program runs on — read inputs, solve logic, write outputs, repeat.
At a glance

Everything included in the course.

20 lessons

Written with diagrams — faster to work through than video.

40 scenarios

Hands-on machine exercises with auto-graded test cases.

14 quizzes

Multiple-choice with hidden marking — no answer-peeking.

IEC 61131-3

The international standard — plus Allen-Bradley and Siemens dialects.

40–80 hours

Estimated total to reach interview-ready confidence. [ESTIMATE]

Free to start

No credit card. No trial clock. Core lessons and two scenarios free.

Course curriculum

Six modules, structured from first principles.

Work through the modules in order. Each one builds on the last. Resist the urge to jump to the advanced scenarios — the sequencer muscle you build in Module 1 is what makes Module 4 tractable.

PLC programming course — a complete ladder logic rung: input contacts in series and parallel controlling an output coil, read left power rail to rightA basic ladder logic rung between two power rails: an examine-if-closed contact (XIC) in series driving an output coil (OTE).L1L2] [StartXIC I:0/0LampOTE O:0/0
A finished rung — contacts on the left decide whether power flows to the coil on the right. This is what you will be writing by the end of Module 1.

Module 1 — Foundations

The four lessons every PLC programmer must own before writing a single rung. Estimated: 4–8 hours.

  1. 1
    PLC Fundamentals

    What a PLC is, the scan cycle, and how I/O addressing works.

    Read →
  2. 2
    Ladder Logic Basics

    Contacts, coils, XIC/XIO, power flow across a rung.

    Read →
  3. 3
    Latching and Sealing-In

    SET/RESET coils, the seal-in rung, motor start/stop fundamentals.

    Read →
  4. 4
    Timers and Counters

    TON, TOF, TP, CTU, CTD — every beginner trips on timers first.

    Read →
PLC programming course Module 1 — ladder logic symbols: normally-open contact (XIC), normally-closed contact (XIO), and output coil (OTE)The core ladder logic symbols side by side: XIC examine-if-closed, XIO examine-if-open, OTE output energize, OTL output latch and OTU output unlatch.XICIfXIOIfOTEEnergizeLOTLLatchUOTUUnlatch
The three symbols Module 1 starts with — every rung you write is built from contacts and coils.
PLC programming course Module 1 — the seal-in (latching) rung: a START button sets a motor coil that holds itself in until STOP breaks the rungA seal-in latch rung: a Start contact in parallel with a Hold contact, in series with a normally-closed Stop contact, driving an output coil.StartHold (seal)StopMotor
The seal-in rung — the motor start/stop pattern behind your first hands-on exercise.

Module 2 — Logic Building Blocks

Comparisons, math, analog I/O, and Structured Text. Estimated: 4–8 hours.

  1. 5
    Comparisons and Math

    EQU, NEQ, GRT, LES, ADD, SUB — analog thresholds and setpoints.

    Read →
  2. 6
    Function Blocks Advanced

    Advanced timer and counter edge cases; FB instantiation patterns.

    Read →
  3. 7
    Analog I/O and Scaling

    4–20 mA loops, raw counts to engineering units, clamping.

    Read →
  4. 8
    Introduction to Structured Text

    ST syntax, CASE statements, and when to use ST over ladder.

    Read →
PLC programming course Module 2 — on-delay timer (TON): the timer accumulates while its input is true and turns its DONE bit on once the preset time elapsesA TON on-delay timer: the accumulated time bar ramps up toward the preset value, and the done (DN) bit turns on when the accumulator reaches preset.TONPRE 5000ACCACC ramps to PREPREDNdone bit
PLC programming course Module 2 — count-up counter (CTU): each false-to-true input transition increments the accumulator until it reaches the presetA CTU count-up counter: each input pulse increments the accumulator toward the preset, and the done (DN) bit turns on when count reaches preset.count pulsesCTUPRE 5ACC 3ACCcount toward presetDNdone bit
PLC programming course Module 2 — digital and analog I/O: discrete on/off signals plus scaled 4–20 mA analog inputs mapped to engineering unitsA digital input pushbutton wired to a PLC input card, and a PLC output card driving a lamp, with a sinking versus sourcing hint.I/O CARDINPUTOUTPUTPushbuttonI:0/0LampO:0/0sinking (NPN) vs sourcing (PNP)
Module 2 covers analog scaling — turning raw 4–20 mA counts into real engineering units.
PLC programming course Module 2 — Structured Text: an IEC 61131-3 textual language using IF, CASE, and assignment, for logic that is awkward in ladderA small Structured Text code block in an editor: an IF/THEN condition, a TON timer call and assignments, showing text-based PLC programming.main.st — Structured Text1IF Start AND NOT Stop THEN2 Run := TRUE;3END_IF;4DelayTmr(IN := Run, PT := T#5s);5Lamp := DelayTmr.Q;
Structured Text — the IEC 61131-3 textual language you learn alongside ladder in Module 2.

Module 4 — Machine Scenarios

Eight hands-on exercises that run your logic against a simulated machine. Auto-graded. Estimated: 12–24 hours for this module.

The full scenario library contains 40 exercises across motor control, water/HVAC, packaging, safety, and process verticals.

PLC programming course Module 4 — motor start/stop control: START and STOP push buttons, a holding contact, an overload, and the motor output the simulator runsA 3-wire motor control circuit: Stop and Start pushbuttons, a contactor coil with a seal-in auxiliary contact and an overload contact, driving a motor.StopStartM (seal-in)OLMMmotor
The first scenario you grade — your ladder logic drives this exact motor circuit in the browser simulator.
Who it’s for

Who should take this PLC programming course?

This course is designed for anyone who needs to program PLCs but does not have consistent access to hardware or a structured learning path. Four groups find it particularly useful.

Complete beginners

No programming background needed. The course starts with what a PLC actually is and builds from first principles. You write real ladder logic by lesson two.

Engineering students

Preparing for an internship or controls-engineering interview? The scenario library gives you the practice reps your university lab session could not — without booking lab time.

Maintenance technicians

You already understand the machines. This course bridges the gap from reading ladder logic to writing it — and from recognising a fault to isolating it in code.

Adjacent-field engineers

Mechanical, electrical, or software engineers moving into automation. The scan-cycle model is unlike web or embedded development; the course explains the mental shift explicitly.

Honest comparison

What makes this different from other PLC programming courses?

Most PLC programming classes are video-based. Udemy courses range from $20 to $100 and cover theory well, but you watch a completed rung rather than writing one. If you pause and try to replicate it, you are on your own with no feedback. YouTube tutorials are free but fragmented — there is no guaranteed sequence, no grading, and no way to know when you are ready for the next concept.

Paid platforms like RealPars (approximately $600/year) and PLCacademy (approximately $500 for a full course) are solid and genuinely structured. They are still video-based, and neither ships a browser-based simulator with auto-graded test cases. Classroom training from Allen-Bradley or Siemens partners typically starts at $2,000 per week and requires you to be in a specific city on a specific date.

This course is written, not filmed. Reading a lesson is faster than watching it when you already understand the mechanical context. Every scenario has a test harness: your code either makes the machine behave correctly or it does not, and you get specific feedback about which test case failed. That tight loop — write, run, fail, fix, pass — is the mechanism that builds genuine PLC programming competence faster than passive watching. It is also free to start, with no artificial trial deadline pushing you to rush.

If you want to compare in detail, see our PLC training overview page or how the simulator works.

Whichever course you choose, learn the IEC 61131-3 languages first. The five standard languages — Ladder Diagram, Function Block Diagram, Structured Text, Instruction List, and Sequential Function Chart — are vendor-neutral, so the concepts transfer directly from this simulator to Allen-Bradley Studio 5000, Siemens TIA Portal, CODESYS, or any other platform you meet on the job. You can also dive straight into the learn PLC programming hub if you prefer to follow individual topics rather than the full course track.

PLC programming course — the five IEC 61131-3 languages: Ladder Diagram, Function Block Diagram, Structured Text, Instruction List, and Sequential Function ChartThe five IEC 61131-3 PLC programming languages as chips: Ladder Diagram, Function Block Diagram, Structured Text, Instruction List and Sequential Function Chart.IEC 61131-3 — five languagesLDLadder DiagramFBDFunction BlockSTStructured TextILInstruction ListSFCSequential Func. Chart
The five IEC 61131-3 languages this course is built around — learn these and the skills transfer to any PLC brand.
OptionCostHands-on exercisesAuto-graded
This courseFree (Pro optional)40 scenariosYes
Udemy video courses$20–100NoneNo
YouTube tutorialsFreeNoneNo
RealPars / PLCacademy~$600/yr (RealPars) / varies (PLCacademy)LimitedNo
Classroom training$2,000+/weekLab time onlyNo
Time commitment

How long does the PLC programming course take?

Modules 1 and 2 — fundamentals through logic building blocks — take roughly 8–16 hours of focused practice for most learners. By the end you will have written working ladder rungs for timers, counters, seal-in circuits, and Structured Text conditionals. That is the point where you can read someone else’s ladder logic without constantly looking up notation.

Adding the machine scenarios in Modules 3 and 4 brings the total to 20–40 hours. A conveyor sorter, a batch mixer, and a PID temperature loop will each take you two to four hours the first time — longer than they look, because the test harness is precise and your first attempt will miss edge cases you did not think about. That is the point. Missing them in a simulator is free; missing them on a live production line is not.

Completing all six modules and working through the interview prep tracks is a 40–80 hour commitment. Most people doing this in the evenings — one to two hours per night — finish the foundational modules in three to four weeks and reach interview-ready confidence in six to eight weeks. That is a realistic timeline for an entry-level controls-engineering role, not a career change number. [ESTIMATE — based on typical learner progression; individual results vary.]

Explore the full lesson library or go directly to the PLC Fundamentals lesson to start.

Questions

PLC programming course — frequently asked questions.

Yes. All 20 lessons are free to read. Two scenarios are free to run with no account needed. A Pro subscription unlocks all 40 scenarios, interview tracks, and quizzes. There is no trial clock — you will not hit a paywall mid-lesson.

Open Module 1 now.

The PLC Fundamentals lesson takes about 20 minutes to read. The Motor Start/Stop scenario takes about 45 minutes to pass on your first attempt. Both are free.

Also: motor start/stop scenario · traffic light scenario · pricing · about the simulator