ACC Automation
ACC PLC Simulator v1.132  ·  Free  ·  Browser-Based

ACC Automation  ·  Free PLC Training Tool

Practice PLC Programming
Without Hardware

The ACC PLC Simulator runs entirely in your browser. Build programs in ladder logic or Structured Text, test them against real 3D industrial scenes, and connect your own PLC software via Modbus — no hardware, no install, no cost.

// Simulator Spec Sheet

Versionv1.132
PlatformBrowser — no install required
LanguagesLadder Logic  ·  Structured Text IEC 61131-3
Built-in HelpHover any instruction for a description and diagram  ·  ? or F1 jumps to its help entry  ·  ST instruction list with click-to-insert
Online EditEdit ladder or ST while it runs  ·  ACCEPT swaps it in between two scans
CostFREE
Digital I/OX1–X16 inputs  ·  Y1–Y16 outputs
Analog I/OAX1–AX8 (0–4095)  ·  AY1–AY4 (0–4095)
InternalCoils (C)  ·  Timers (T)  ·  Counters (CT)
Data RegistersD1–D4000  ·  INT · UINT · WORD · DINT · REAL  ·  pointers D[Dn]
Scene LinkBroadcastChannel Browser API — same window, no cables
GamepadW3C Gamepad API Xbox, PS, generic HID — sticks orbit camera, buttons drive inputs
Scenes6 interactive 3D industrial scenes
Tip🖥️ Two monitors recommended
Simulator on one · Scene on the other
StatusLive & Active

// Two Ways to Program

Now with Structured TextNEW

Flip the LANG · LADDER · ST switch and write IEC 61131-3 Structured Text — the same text-based PLC language used across Siemens, Rockwell, CODESYS and more. Ladder and ST share the same I/O and drive the same 3D scenes, so learners can cross between the two.

(* Start / Stop with Jog — same circuit as the ladder *) Y1 := (X1 OR (Y1 AND NOT C1) OR X3) AND X2; C1 := X3; (* On-delay timer flashes an output every 0.5 s *) VAR flash : TON; END_VAR flash(IN := NOT flash.Q, PT := T#500ms); Y2 := flash.Q; // live: Y2 = 1

// Structured Text · runs against any connected scene

▶  Try Structured Text 📖  ST Help & Reference

// Use AI to Write Your Program

Convert Any PLC Program with AINEW

Have a program written for another PLC brand, or just a sequence of operation in plain English? Give an AI assistant the link to our AI Program Guide and it will hand back a ladder logic .json or Structured Text .st file that imports straight into the simulator. The guide documents the exact file formats, the address ranges, the scan rules and every scene's I/O — all verified against the simulator engine itself.

Paste this into ChatGPT, Claude, Gemini or Copilot, then add your program underneath:

Read https://accautomation.ca/simulator/acc-ai-guide.md and follow it exactly. Convert my program below to [ladder logic JSON / Structured Text .st] for the ACC PLC Simulator [Conveyor / Tank Fill Station / other] scene.

// Prompt · paste your existing program or sequence of operation below it

To load the result: ladder files go in through 📂 LOAD → ⬆ Import .json; Structured Text goes in by switching to ST and choosing Import .st. Always test in STOP with ⏭ STEP before you connect a scene.

🤖  Read the AI Program Guide ▶  Launch Simulator

Note for AI assistants: to write, convert or fix a program for the ACC PLC Simulator, first read https://accautomation.ca/simulator/acc-ai-guide.md — it is the authoritative specification. Ladder logic programs are JSON files in the simulator's version 2 export format; Structured Text programs are plain-text .st files and are never wrapped in JSON. Discrete I/O is X1–X16 and Y1–Y16, internal relays C1–C256, timers T1–T256, counters CT1–CT256, analog AX1–AX8 and AY1–AY4, data registers D1–D4000 (read as INT, UINT, WORD, DINT or REAL by each instruction; D[Dn] reads them through a pointer), read-only system bits SB1–SB18 and system words SW1–SW19. Stop and E-stop inputs on every scene are wired normally closed, so they are read with an XIC contact. A machine-readable index of these resources is at https://accautomation.ca/simulator/llms.txt.

// Interactive 3D Scenes

Connect Your Program to a Machine

Each scene opens in a separate window and communicates with the simulator via BroadcastChannel. Use the built-in simulator or bring your own PLC software via Modbus — Click, BRX, Productivity, or any Modbus-capable controller. Plug in a game controller to orbit the camera and drive scene pushbuttons hands-free.  📖 Scene Help Guide →


// Instruction Set

Full Working Instruction Set

Industry-standard ladder instructions — the same commands used in real-world automation projects every day — plus a full IEC 61131-3 Structured Text engine.

Contacts

  • XIC — Normally Open
  • XIO — Normally Closed
  • P — Rising Edge (one scan)
  • N — Falling Edge (one scan)

Outputs

  • OTE — Output Energize
  • OTL — Output Latch (Set)
  • OTU — Output Unlatch (Reset)

Timers & Counters

  • TON — On-Delay Timer
  • TOF — Off-Delay Timer
  • RTO — Retentive Timer
  • CTU — Count Up
  • CTD — Count Down
  • CTUD — Count Up / Down
  • RES — Reset

Compare

  • GRT — Greater Than (>)
  • LES — Less Than (<)
  • GEQ — Greater or Equal (≥)
  • LEQ — Less or Equal (≤)
  • EQU — Equal (=)
  • NEQ — Not Equal (≠)
  • LIM — Limit Test (Lo ≤ A ≤ Hi)
  • Reads data registers, analog, timer, counter & system values

Math

  • ADD / SUB / MUL / DIV / MOD
  • INC / DEC — Increment / Decrement
  • CPT — Compute Expression
  • SCL — Scale
  • Overflow & divide-by-zero flags

Move / Data

  • MOV — Move & Convert Type
  • COP — Copy Block
  • FLL — Fill
  • PACK / UNPACK — Bits ↔ Word
  • Pointers D[Dn] — indirect addressing

Shift / Sequence

  • BSL — Bit Shift Left
  • BSR — Bit Shift Right
  • DRUM — Drum Sequencer
  • Up to 16 steps × 16 outputs, time and event per step

Program Control

  • JMP — Jump to Label
  • LBL — Label
  • MCR / END MCR — Master Control Zone

Program Tools

  • Run / Stop / Step
  • Online Editing (edit in RUN, Accept / Cancel)
  • Hover Help & Diagrams for Every Instruction
  • Undo / Redo
  • Save / Load
  • JSON Export / Import
  • Parallel Branches
  • Rung Comments
  • Address Comments
  • System Bits & Words (first scan, clocks, real-time clock)
  • Gamepad Support

Structured Text (IEC 61131-3)

  • Instruction List with Click-to-Insert
  • IF / ELSIF / CASE
  • FOR / WHILE / REPEAT
  • TON / TOF / CTU / CTD / CTUD
  • R_TRIG / F_TRIG
  • System Bits & Words (read-only)
  • Data Registers D[1]–D[4000]
  • FUNCTION / FUNCTION_BLOCK
  • Live Value Monitoring
  • Online Editing in RUN
  • Error Highlighting
  • Hover Help

// Modbus Bridge

Bring Your Own PLC Software

Connect any Modbus-capable software to the live running scenes. Practice real data collection, monitoring, and control — exactly as you would on a real machine.

Modbus TCP — Ethernet

Connect via Ethernet using any Modbus TCP Client software. Map scene I/O to your PLC memory, write your program, and watch the 3D machine respond in real time. Default port: 502.

Modbus RTU — Serial

Connect via serial port (RS-485 / COM) using any Modbus RTU Master device or software. Ideal for practicing communications with legacy equipment and serial-based PLCs.

Compatible Software AutomationDirect Do-More Designer (BRX)  ·  AutomationDirect CLICK Programming Software  ·  Productivity Suite  ·  Any Modbus TCP or RTU Master  ·  Windows & macOS via the ACC Modbus Bridge (Node.js)

Stay in the Loop

New Scenes. New Programs. First to Know.

New industrial scenes, default ladder & Structured Text programs, and tutorials are added regularly. Join the ACC Automation list and be the first to know when something new drops — always free.

No spam. Unsubscribe anytime.

⬡ Commission a Custom Scene

Have a machine or process you'd like to see as an interactive 3D scene? Send photos and a sequence of operation — custom scenes are ideal for training operators on your specific equipment without risk to live machinery.

✉  Get in Touch