DriveLab
Account

Practical work

PLC simulators and projects

Programs can be rehearsed and whole projects built without the bench. Pick a simulator, then a project: every project follows the TP method (GRAFCET first, then the program, then the tests and the fault injection) and is handed in with the same report form.

How a project runs

  1. Read the specification and write the I/O table with symbols.
  2. Draw the GRAFCET (grafcet.io or on paper) and have it approved.
  3. Program it, one network per function, with comments.
  4. Test every function, then provoke every fault listed and check the machine ends safe.
  5. Hand in the group report: the form, the program export and a short video or screenshots of the tests.

Group work and hand-in: see any TP page, section Group report.

In the browser, free

Nothing to install: phones and lab computers.

  • FreeLD · STL · GRAFCETDriveLab · PLC-200This site: a virtual S7-200 CPU 224 with ladder editor, GRAFCET player, STL runner for Micro/WIN .awl exports, and the trainer's DC motor, stepper and encoder.For this course: Closest to the bench: rehearse every TP program before the session.Website
  • Free tierGRAFCETgrafcet.ioDraw GRAFCETs to IEC 60848 and simulate them step by step in the browser; export PNG, SVG or PDF.For this course: The preparation GRAFCET: draw it, run it, attach it to the report.Website ↗
  • FreeGRAFCETGRAFCET MasterFree online GRAFCET editor and simulator.For this course: A second GRAFCET tool when grafcet.io's free tier is not enough.Website ↗
  • FreeLDPLC FiddleLadder logic in the browser, with shareable links.For this course: Quick ladder exercises on a phone or in a lab without software.Website ↗
  • FreeLD · STrungs.devLadder or Structured Text in the browser, run live against built-in tests.For this course: Self-checking practice between sessions.Website ↗

Desktop software, free or trial

Full programming environments with a simulated controller.

  • FreeLD · ST · FBD · IL · SFCOpenPLC EditorOpen-source IEC 61131-3 IDE with a built-in simulator; its runtime can run on a PC or a Raspberry Pi and speak Modbus TCP.For this course: The free controller for 3D plants (Factory I/O over Modbus TCP) and for SFC work.Website ↗
  • FreeLD · ST · FBD · IL · SFCCODESYSFree development system with a simulation target and a visualization editor to draw an animated HMI or plant.For this course: No-budget projects: students draw their own plant and program it.Website ↗
  • FreeLD · ILEcoStruxure Machine Expert – BasicSchneider's free software for the M221, with a PLC simulator.For this course: A second brand of PLC for comparison.Website ↗
  • TrialLD · FBD · ST · STL · SFCTIA Portal + S7-PLCSIMSiemens' current tools (S7-1200/1500) with the PLCSIM simulator; trial licences, and free SCE teaching modules with projects for schools.For this course: The successor of the S7-200: for students heading to industry.Website ↗

Virtual plants: 3D and 2D scenes

Sensors and actuators of a whole machine, driven by a real or simulated PLC. Paid, with school licences.

  • Paid · school licencesFactory I/O3D factory with 20+ ready scenes (sorting, elevator, palletizer, warehouse, level control…) and a parts library to build new ones. Drivers: S7-200/300/400 over Ethernet, S7-1200/1500, S7-PLCSIM, Modbus TCP, OPC, Automgen.For this course: The main project platform below; pair it with OpenPLC (free) or PLCSIM.Website ↗
  • Paid · school licencesITS PLCFive 3D systems of increasing difficulty: sorting, batching, palletizer, pick & place, automatic warehouse.For this course: Ready-made batching and warehouse projects.Website ↗
  • Paid · school licencesHome I/OA smart house with more than 400 I/O points: lighting, heating, blinds, alarms.For this course: Building-automation projects.Website ↗
  • Paid · school licencesGRAFCET · LDAUTOMGEN + IRIS 3DGRAFCET-native programming with 3D virtual machines; the most used automation teaching software in France.For this course: Best match for a GRAFCET-first course.Website ↗
  • Paid · school licencesGRAFCETGrafcet-Studio + PLC-LabGRAFCET to IEC 60848 run on 2D virtual devices; works with S7 and PLCSIM. Free demo, school licences.For this course: GRAFCET projects without a 3D budget.Website ↗
  • Paid · school licencesSimumatik3D systems in the browser connected to CODESYS, TIA Portal or TwinCAT; free online academy.For this course: Remote or hybrid classes.Website ↗
  • Paid · school licencesLDAutomation StudioPLC ladder together with electrical, pneumatic and hydraulic circuits in one simulation.For this course: Projects mixing the PLC with the power and pneumatic side.Website ↗

Editions, prices and licence terms were checked in September 2026 and change often: check the vendor's page before relying on them.

Project library

Each project is a specification, not a solution. The functions and fault tests below are the minimum; the scale line says what a group of four adds and what a student alone may drop.

Level 1Related TP 1, TP 5

Conveyor with start, stop and jam detection

A box travels from A to B. The conveyor runs on START, stops on STOP (NC) and at B, and flags a jam when the box takes too long.

Run it on: Factory I/O · CODESYS · DriveLab · PLC-200 — Scene From A to B (Set and Reset)

The program must
  • Self-holding start/stop with an NC stop
  • Stop at the end sensor
  • Jam timer with a fault lamp and reset
Fault-injection tests
  • Stop wire broken while running
  • End sensor never switches
  • Box held back by hand

Group size: Four: add a second conveyor started against the flow. Alone: skip the jam timer.

Level 1Related TP 2

Tank level with hysteresis and dry-run protection

Keep a tank between a low and a high level with a fill valve and a drain; never run the pump dry.

Run it on: Factory I/O · CODESYS · OpenPLC Editor — Scene Level Control / Filling Tank (Timers)

The program must
  • Fill below low, stop above high (hysteresis)
  • Pump allowed only above the dry-run level
  • Overflow alarm
Fault-injection tests
  • High-level sensor stuck at 0
  • Low-level sensor wire broken
  • Drain left open

Group size: Four: two pumps with lead–lag alternation. Alone: one pump.

Level 1Related TP 5

Counting boxes into batches

Count boxes on a conveyor, stop after a batch of N, wait for the operator, and start the next batch.

Run it on: Factory I/O · DriveLab · PLC-200 · CODESYS — Scene Queue of Items (Counters)

The program must
  • Up counter on the sensor's rising edge
  • Batch size from a potentiometer or HMI
  • Batch-complete lamp and restart
Fault-injection tests
  • Two boxes touching (one pulse)
  • Sensor chattering
  • Power cycle mid-batch

Group size: Four: reject line for boxes counted twice. Alone: fixed batch size.

Level 2Related TP 5

Sorting by height with a shift register

Measure each box at the entry, remember it while the belt moves, and push it to the right lane.

Run it on: Factory I/O · ITS PLC · OpenPLC Editor — Scene Sorting by Height (Basic → Advanced)

The program must
  • Height classification at the entry
  • Shift register clocked by belt pulses
  • Pushers timed per lane
Fault-injection tests
  • Belt stops with boxes in the register
  • Height sensor disconnected
  • Lane full

Group size: Four: three classes and a reject lane. Alone: two classes.

Level 2Related TP 3

Elevator with calls, doors and a safety chain

Serve floor calls in order, open doors only at a floor, and stop on any break of the safety chain.

Run it on: Factory I/O · AUTOMGEN + IRIS 3D · CODESYS — Scene Elevator (Basic → Advanced)

The program must
  • Call memory per floor
  • Direction choice (OR divergence in the GRAFCET)
  • Door open/close with a timeout
  • Homing at power-up
Fault-injection tests
  • Door contact opened while moving
  • Floor sensor missing
  • Two calls pressed together

Group size: Four: floor display and inspection mode. Alone: two floors.

Level 2Related TP 4

Pick & place cycle

Take a part from the input conveyor and place it on the output conveyor, with the gripper proven closed before moving.

Run it on: Factory I/O · ITS PLC · OpenPLC Editor — Scene Pick & Place (Basic)

The program must
  • Sequence down–grip–up–across–down–release
  • Movement only with the gripper state proven
  • Cycle stop at the end of a cycle
Fault-injection tests
  • Part dropped (gripper sensor lost)
  • Stop in mid-move
  • Output conveyor blocked

Group size: Four: the XYZ version with positions. Alone: the basic two-axis cell.

Level 3Related TP 6

Palletizer: layers and pallets

Build pallets of several layers, turning boxes to make each layer, and change the pallet when it is full.

Run it on: Factory I/O · ITS PLC · CODESYS — Scene Palletizer

The program must
  • Layer pattern with counters
  • Parallel branches: next layer prepared while the lift lowers
  • Pallet exit and new pallet in
Fault-injection tests
  • Box missing in a layer
  • Pallet sensor blocked
  • Emergency stop mid-layer

Group size: Four: two patterns chosen by the operator. Alone: one pattern, two layers.

Level 3Related TP 4, TP 6

Automated warehouse: store and retrieve

Store incoming boxes in free cells and bring back a requested one, keeping a table of occupied cells.

Run it on: Factory I/O · ITS PLC · CODESYS — Scene Automated Warehouse

The program must
  • Occupancy table in memory
  • Positioning to a cell number
  • Store and retrieve modes
Fault-injection tests
  • Warehouse full
  • Request for an empty cell
  • Stop during a transfer

Group size: Four: retrieval by product type. Alone: one row of cells.

Level 2Related TP 6

Batch mixing from a recipe

Dose three ingredients by level or time, mix for a set time, drain, and refuse to start if the mixer is not proven running.

Run it on: ITS PLC · CODESYS · Factory I/O — Scene ITS PLC Batching

The program must
  • Recipe values from potentiometers or HMI
  • Sequential dosing then mixing
  • Proof of motion of the mixer
Fault-injection tests
  • Mixer feedback lost
  • Valve stuck open
  • Drain blocked

Group size: Four: recipes stored in memory. Alone: two ingredients.

Level 2Related TP 6

Crossroads with pedestrian call

Run two traffic-light groups through a cycle with an all-red phase, a pedestrian call and a flashing amber on lamp fault.

Run it on: DriveLab · PLC-200 · CODESYS · OpenPLC Editor

The program must
  • Timed cycle as a GRAFCET
  • All-red clearance between phases
  • Pedestrian request served at the right moment
  • Flashing mode
Fault-injection tests
  • Green lamp failure
  • Button held down
  • Two greens commanded at once (must be impossible)

Group size: Four: traffic-dependent green extension. Alone: without the pedestrian call.

Level 1Related TP 6

Smart home: lighting and heating

Light rooms from presence and daylight, and keep a room temperature with a heater and a hysteresis.

Run it on: Home I/O · CODESYS

The program must
  • Presence-timed lighting
  • Thermostat with hysteresis
  • Night mode
Fault-injection tests
  • Temperature sensor out of range
  • Window open while heating
  • Presence sensor stuck

Group size: Four: alarm and blinds. Alone: one room.