Domain modules
Documentation

Version Latest

PLC module

What the Editor's PLC module does for TwinCAT 3, CODESYS V3.5 and TIA Portal projects, how it drives the vendor engine, and exactly what has and has not been run against real tools and controllers.

The PLC module lets controls, commissioning and maintenance engineers work on IEC 61131-3 projects in the Editor instead of the vendor's engineering environment. It reads and writes the vendor's own project files, and drives the vendor's own engine for what only that engine can do: compiling, downloading to a controller, online change. The compiler, soft PLC, controllers and licences stay the customer's and run as separate processes; no vendor SDK, assembly or device description ships with the Editor.

Three vendor families are in scope: Beckhoff TwinCAT 3 (3.1.4024 and 4026), CODESYS V3.5 (SP17 to SP22, with its OEM development systems) and Siemens TIA Portal (V17 to V21). TwinCAT is furthest along. CODESYS and TIA Portal are reached through the vendor engine for builds, libraries, tasks, tags and controller actions, but their project files are not opened as files yet. For a short summary of every domain module, see Domain modules.

Verification state: read this first

The module is pre-release. No capability is verified. Everything has run on Linux only, against real TwinCAT files from public repositories, a model of a TwinCAT router on real TCP, a model of an S7-1500 web server on real HTTPS, a model of the engineering host and models of the Windows tools.

  • No vendor tool has been run: not TwinCAT XAE, not CODESYS, not TIA Portal, not PLCSIM Advanced.
  • No controller has been connected.
  • Nothing has run on Windows, which is where every vendor engine runs.
  • Verification kits for a lab (TwinCAT project round trip, TwinCAT ADS, the engineering host, TcUnit tests, S7-1500 web API) are written and waiting for their first report.

Each capability is in one of these states, and moves only on evidence:

StateMeaning in this module
Not builtNothing built; listed on What's next
ModelledBuilt and tested against a model of the vendor engine or controller (a router model on real TCP, a stand-in engineering host, models of Windows tools), or on files TwinCAT wrote that are held as test fixtures
Kit shippedAs modelled, and a verification kit exists that runs it on the real vendor tool or controller; waiting for its report
VerifiedRun against the real vendor tool or controller, with edition, version and operating system recorded
Verified by a customerRun by a customer's engineer on their own project

Every page of this section states the state of what it describes. Do not use the module for production work, and never against a machine in production or a plant network. Use a bench controller on an isolated network with nothing on its outputs that can move, heat or switch anything.

What it covers

AreaTwinCAT 3CODESYS V3.5TIA Portal
Open the projectKit shippedProject file detected; read through the engine per functionProject file detected; read through the engine per function
Edit project objects, round tripKit shippedNot builtNot built
Structured Text language serviceModelledModelled (the TwinCAT and CODESYS extensions; the rest of the CODESYS dialect not built)Not built (SCL)
Declaration tableModelledNot builtNot built
LD, FBD, SFC and CFC diagramsModelled, kit shippedNot builtNot built
Build with the vendor compilerKit shippedKit shippedKit shipped
LibrariesReferences modelled; save as library kit shippedReferences and installed libraries kit shippedNot built
Tasks, I/O and tagsTasks and I/O links modelledTask configuration kit shippedPLC tags kit shipped
Download, start, stop, boot projectModelledModelled (login, online change, start, stop, resets, logout)Modelled (download to an S7-1500 or PLCSIM Advanced)
Soft PLCNot builtNot builtPLCSIM Advanced instances modelled
Watch values and writesKit shipped (ADS)ModelledS7-1500 web API, read only: kit shipped
Live values in the codeKit shipped (ADS)Not builtNot built
TraceKit shippedNot builtNot built
DiagnosticsNot builtNot builtS7-1500 diagnostic buffer: kit shipped
Tests in the Testing viewTcUnit: kit shippedNot builtNot built
Per-object compare with GitModelledNot builtNot built
Agent toolsModelledModelledModelled

Safety programs are edited in the certified vendor editors. What's next lists everything that is not built, such as static analysis, forcing, breakpoints and TwinCAT online change.

How the module runs

  • Behind a setting. The module runs only while neuralInverse.plc.enabled is on and the workspace is trusted. It is off by default. A workspace that holds a TwinCAT, CODESYS or TIA Portal project gets a one-time offer to turn it on; the Editor never turns it on by itself. See Set up.
  • Vendor engines through the engineering host. Builds, downloads and other actions that need the vendor engine run through the engineering host, a helper program on the Windows engineering machine that binds at run time to the customer's TwinCAT Automation Interface, CODESYS scripting engine, TIA Portal Openness and PLCSIM Advanced Runtime API. It has been compiled and its protocol tested on Linux; it has not yet run on Windows or against any vendor engine. See Vendor tools and the engineering host.
  • The module's own code for formats and protocols. The TwinCAT project reader and writer, the Structured Text language service, the diagram reader, the ADS client and the S7-1500 web API client are the module's own code, written from real files and from published sources.
  • Every action on a controller is confirmed and logged. See Approvals and audit.

Pages in this section

Set up and tools:

Projects and editing:

Build and download:

Online:

Test, review and governance:

Last reviewed 17 October 2026View as Markdown

PLC module · Docs · Neural Inverse