← Back to blog
ProductOhad Lev-Aretz, Product and Customer Success Lead · Sep 14, 2026 · 5 min read

PLCs.ai now supports CODESYS V3 projects, across the entire CODESYS ecosystem.

PLCs.ai now supports CODESYS V3 projects, across first-party CODESYS environments and OEM platforms like WAGO, ABB, and Bosch Rexroth. A CODESYS export has no tag table and no hardware/IO tree, so getting there took real re-engineering, not just a new parser.

Welcome, CODESYS, to the PLCs.ai supported family. L5X, Siemens ZIP, or a CODESYS export, one upload flow for all three.

PLCs.ai now supports CODESYS V3 projects.

CODESYS joins Rockwell and Siemens as a first-class platform inside PLCs.ai. Upload a CODESYS V3 project and you can parse and navigate its structure, ask questions about the logic in natural language, run engineering and compliance analysis, generate documentation, and have the AI author or modify Structured Text and Ladder logic, all of it also available through the PLCs.ai public API.

That’s the headline. Here’s what actually went into it.

CODESYS V3 in the PLCs.ai upload platform picker, showing 12 live vendors and 3 more coming soon
CODESYS V3 in the platform picker, alongside 12 live vendors and 3 more on the way.

One parser, a wide ecosystem

CODESYS isn’t a single vendor’s IDE. It’s the engineering platform behind a long list of OEM-branded environments, and PLCs.ai’s CODESYS V3 support extends across all of them through one shared parser.

That matters because real factories are rarely single-vendor. A production line assembled over many years by different machine builders often runs controllers from several of these ecosystems side by side, and PLCs.ai now treats all of them as one CODESYS family rather than separate integrations.

A PLCs.ai project list showing an Allen-Bradley line alongside two CODESYS lines in the same workspace
A mixed Allen-Bradley and CODESYS line inside PLCs.ai. Different vendors, same workspace.
Why industrial AI must understand the entire production line, not just one PLC →

Why CODESYS needed different reasoning, not just a new parser

A CODESYS .export carries no tag table and no hardware/I/O module tree, the two things both Rockwell’s L5X and Siemens’ TIA exports provide. Almost every CODESYS-specific behavior in PLCs.ai traces back to that one gap.

PLCs.ai code editor showing FB_PackML and PackML-named data types, with the AI assistant offering a PackML compliance report
FB_PackML, FB_CycleInterlock, and PackML-named data types, recognized automatically. The assistant offers a packaging-specific compliance report without being told the industry.
PLCs.ai showing the referenced libraries of a CODESYS project, including safety and IEC libraries
Referenced libraries surfaced directly from the export, part of how PLCs.ai identifies safety-related logic without a safety-controller class to key on.

The Import Report: naming what isn’t there

Every CODESYS upload gets an Import Report: what was captured, what wasn’t, and what the project references but doesn’t contain. It only flags a partial import when there’s hard evidence something was left out, not just an unresolved name, so it doesn’t cry wolf.

A “not captured” entry might read as plainly as: FBD body for CTRL_ValveSequence not drawn, logic is present but not represented as text. That’s the difference between silence and a defect.

And it doesn’t just sit in the UI. It feeds the AI’s own prompt, so the model is told what it can’t see instead of quietly assuming it doesn’t exist.

We’ve made this argument before in the abstract. This is what it looks like built into a product: absence of information is not evidence of absence.

Why not just give an LLM more PLC context? →

Where this fits

CODESYS is the third major platform inside PLCs.ai, and it won’t be the last. Every ecosystem we add has to earn its place with reasoning built for how that platform actually represents a project, not a reskinned version of whatever we built for the last one. That’s the part of the multi-vendor bet that doesn’t show up in a feature list.

How PLCs.ai builds Automation Context, layer by layer →

More from the blog

This runs on your own project.