IronPLC and the IEC 61131-3 Ecosystem

This page explains where IronPLC fits in the broader world of PLC development tools.

The Traditional PLC Workflow

Most PLC manufacturers ship an integrated development environment (IDE) tied to their hardware. For example:

  • Beckhoff provides TwinCAT, which runs inside Visual Studio.

  • Siemens provides TIA Portal for its S7 family.

  • Codesys provides a hardward-neutral IDE and runtime.

These tools handle everything: editing, compiling, downloading to hardware, debugging, and visualization. They are powerful, but they are also proprietary, expensive, and locked to specific hardware.

What IronPLC Does Today

IronPLC is an open-source toolchain for working with IEC 61131-3 Structured Text code. Today it provides:

  • A compiler (ironplcc) that parses and checks IEC 61131-3 programs for correctness. It catches syntax errors, type mismatches, and other problems before you ever download code to a PLC.

  • A Visual Studio Code extension that provides auto-completion, syntax highlighting and real-time error checking as you type.

  • A runtime (ironplcvm) that can execute compiled programs.

  • An MCP server (ironplcvm) that AI agents can use to understand and run programs.

Try it now — this program increments a counter on every scan cycle:

PROGRAM main
   VAR
      Counter : INT := 0;
   END_VAR

   Counter := Counter + 1;

END_PROGRAM

IronPLC reads several source formats:

  • Structured Text (.st files) — the native text format

  • PLCopen XML (.xml, plc.xml) — used by Beremiz and other PLCopen-compatible tools

  • TwinCAT (.TcPOU, .TcGVL, .plcproj) — used by Beckhoff TwinCAT 3

This means you can point IronPLC at an existing project from Beremiz or TwinCAT and get a second opinion on your code without changing your workflow.

How IronPLC Relates to Other Tools

Tool

Relationship to IronPLC

Beremiz

An open-source PLC IDE. IronPLC can read Beremiz project files (plc.xml) to provide additional checking. See Check Beremiz Projects.

TwinCAT

Beckhoff’s PLC IDE. IronPLC can read TwinCAT project files to provide additional checking. See Check TwinCAT 3 Projects.

Codesys

A widely used commercial PLC IDE. IronPLC does not currently read Codesys project files, but Codesys can export to PLCopen XML.

OpenPLC

An open-source PLC runtime. IronPLC and OpenPLC share the goal of making PLC development more accessible through open-source tools.