Supported scope and limitations

PLC Practice Lab is an education-focused, vendor-neutral behavior subset. These are the honest boundaries of the first version.

Supported (v1)

  • BOOL inputs, internal bits and outputs.
  • Normally-open and normally-closed contacts; series (AND) and parallel (OR) branches.
  • Ordinary coils, TON on-delay timers, CTU up-counters.
  • Fixed 20 ms scan cycle; run, pause, single step, reset.
  • Eight basic exercises with automatic judging, failure messages and hints.
  • Local storage, refresh restore, JSON import/export, shareable URL fragments.

Not supported (v1)

  • No Structured Text compiler or arbitrary script execution.
  • No vendor firmware simulation, real PLC hardware access, or HMI builder.
  • No 3D factory, robotics, or motion control.
  • No AI assistant, API billing, accounts, cloud sync, or community library.
  • No team/school admin, seats, or purchasing.
  • No additional languages beyond English.
  • No payment or advertising.

Timing note

The 20 ms scan is driven by browser timers. It is deterministic within the page but isnot industrial real time. Tab backgrounding may pause the logic clock; the engine does not catch up with missed scans when the tab returns. Pause freezes the logic clock and tank model. Step advances exactly one scan while paused. Editing the program resets runtime state and clears current test results.

Program limits

Up to 64 variables, 64 rungs, 8 parallel branches per rung and 16 contacts per branch; up to 32 TON and 32 CTU instances. Timer presets are whole milliseconds from 0 to 600000; counter presets are whole counts from 0 to 100000. Projects are limited to 1 MiB, and share payloads to 3500 characters. Larger projects can use JSON export.

An empty branch does not conduct. Each output variable has one writer. A physical NC button reads 1 when released and 0 when pressed; choose the ladder contact condition separately. Reset restores declared initial values and clears timers and counters.

Data

Projects and progress stay in your browser only. Share links contain your program and are readable by anyone who has the link โ€” they are not encrypted or private.