AI Assistants Reach PLCs: They Read Projects, Write ST, and Run Compilation on Their Own

AI assistants have arrived in industrial controller programming. A Habr review shows that specialized tools can already read PLC projects, explain LAD ladder logic, generate Structured Text code, and in some cases run compilation themselves. A generic prompt to a chat model such as "write pump control logic" also works, but with caveats. A mistake in a PLC means a stopped line or damaged equipment, not a failed test. - They read projects and explain LAD. - They generate ST and run builds. - The output must be checked on a simulator.

AI-processed from Habr AI; edited by Hamidun News
AI Assistants Reach PLCs: They Read Projects, Write ST, and Run Compilation on Their Own
Source: Habr AI. Collage: Hamidun News.
Listen to article
Article Fact Sheet & Key Figures
ParameterDetails
Primary sourceHabr AI ↗
Editor-in-Chief
Key metric #1They read projects and explain LAD.
Key metric #2They generate ST and run builds.
Key metric #3The output must be checked on a simulator.

Industrial controller programming has long stayed on the sidelines of the AI assistant wave that swept through Python, C++, and JavaScript. That is now changing. A Habr review reports that specialized tools are appearing that read PLC projects, explain ladder logic in LAD, generate Structured Text (ST) code, and in some cases run compilation themselves. The task resembles ordinary development: there is a language, variables, conditions, timers, and function blocks. In practice, though, everything comes down to the details.

How a PLC Differs from Ordinary Code

The IEC 61131-3 standard describes five languages: LD (also known as LAD), FBD, ST, SFC, and IL. Only ST looks like familiar text-based code; it is close to Pascal. The rest are largely graphical: a ladder diagram or a function block diagram does not translate well into a sequence of tokens. For a language model, this is a data representation problem.

There is a second difficulty. Controller projects are usually closed, stored in vendor formats and environments (TIA Portal, Studio 5000, CODESYS, and others), and public examples are noticeably scarcer than for web development. As a result, a model that writes a REST service flawlessly can confidently produce ST code with a nonexistent block or wrong timer semantics.

The third is the cost of error. A bug in an app gets rolled back with a release, but faulty pump or conveyor logic can stop a line or damage equipment.

What the Tools Can Do Today

A simple chat with a model ("write a pump control algorithm") works as a starting point. Specialized solutions go further because they get access to the project itself. According to the review, their capabilities look like this:

  • reading a PLC project: parsing the structure, blocks, tags, and the links between them;
  • explaining LAD in plain language, which helps when working through someone else's or legacy code;
  • generating ST code from a text description of an algorithm;
  • running compilation in some tools, which means a "write, build, get errors, fix" loop without human involvement;
  • limitations: quality depends heavily on the environment, the project format, and the language, and graphical languages are supported worse than text-based ones.

The closed loop with a compiler looks like the most important step. Feedback from the toolchain reduces the share of syntax and type errors. A similar idea was explored in the LLM4PLC research paper, which combined code generation with checking and verification. Major automation vendors are also building generative assistants into their own development environments. Siemens, together with Microsoft, announced Industrial Copilot back in 2023.

Still, a successful compilation says nothing about whether the logic is correct. The code can build and still behave wrongly: mix up a start condition, skip an interlock, or fail to handle an alarm signal.

Where This Is Heading

The likely direction is that the assistant stops being a snippet generator and becomes a participant in the engineering process. It reads the whole project, suggests changes, builds, runs the result in simulation, and shows it to a human. The main constraint is not the ability to write code but verifying that it matches the technological process.

Detailed comparisons of specific tools are in the original Habr article. What matters here is the overall picture: PLCs are no longer a zone where AI does not go.

How to Approach These Tools in Practice

It makes sense to start with ST: models are strongest there, and the output is easier to read by eye. Tasks with limited risk are a good fit: analyzing someone else's LAD code, documenting blocks, and drafting standard functions such as pump control or counters.

Any generated code should be run on a simulator before it touches hardware and go through ordinary review. Emergency stops, interlocks, and protective functions are better written and verified by hand. Closed projects raise a separate question: before handing them to a cloud assistant, find out where the data goes and what the company's security policy allows.

Story

Key Questions Answered

How a PLC Differs from Ordinary Code?

The IEC 61131-3 standard describes five languages: LD (also known as LAD), FBD, ST, SFC, and IL. Only ST looks like familiar text-based code; it is close to Pascal. The rest are largely graphical: a ladder diagram or a function block diagram does not translate well into a sequence of tokens. For a language model, this is a data representation problem. There is a second difficulty. Controller projects are usually closed, stored in vendor formats and environments (TIA Portal, Studio 5000, CODESYS, and others), and public examples are noticeably scarcer than for web developmen

What the Tools Can Do Today?

A simple chat with a model ("write a pump control algorithm") works as a starting point. Specialized solutions go further because they get access to the project itself. According to the review, their capabilities look like this: reading a PLC project: parsing the structure, blocks, tags, and the links between them; explaining LAD in plain language, which helps when working through someone else's or legacy code; generating ST code from a text description of an algorithm; running compilation in some tools, which means a "write, build, get errors, fix" loop without human invol

Where This Is Heading?

The likely direction is that the assistant stops being a snippet generator and becomes a participant in the engineering process. It reads the whole project, suggests changes, builds, runs the result in simulation, and shows it to a human. The main constraint is not the ability to write code but verifying that it matches the technological process. Detailed comparisons of specific tools are in the original Habr article. What matters here is the overall picture: PLCs are no longer a zone where AI does not go.

ZK
Zhemal Khamidun — CPO at Alpina Digital, product manager of AlpinaGPT. Building AI products since 2019. Hamidun News is a pet project that grew into a production aggregator with 6,000+ readers.
✦ Hands-On AI Engineering

Build & Ship Production AI Apps with Vibe Coding

Join Zhemal Khamidun's hands-on Vibe Coding Intensive at hamidun.com/vibecoding — master Claude Code, Cursor, and autonomous agentic workflows.

Explore Vibe Coding →Vibe Academy Platform
What do you think?
Loading comments…