← Resources
Platforms·7 min read·

TwinCAT: a PLC that is really a PC

Beckhoff's approach puts the controller inside Windows, which changes what is easy and what is worrying.

Short answer

TwinCAT is Beckhoff's automation platform, running the PLC as a real-time task on a standard industrial PC alongside Windows rather than on dedicated controller hardware. Programs are written in Visual Studio using IEC 61131-3 languages plus object-oriented extensions, and the source files are plain XML, which makes version control genuinely workable.

The five IEC 61131-3 languagesLDLadder Diagramgraphical, relay heritageFBDFunction Block Diagramgraphical, signal flowSFCSequential Function Chartsteps and transitionsSTStructured Texttextual, Pascal-likeILInstruction Listtextual, deprecatedOne standard, five notations. Most projects use two.

Beckhoff took a different route to everyone else: instead of designing controller hardware and putting a runtime on it, they put a real-time runtime alongside Windows on an industrial PC.

What that buys

The PLC task runs on dedicated CPU cores under a real-time kernel, deterministically. Windows runs on the others, doing the things Windows is good at: HMI, databases, file handling, networking.

One box, one operating system to patch, and no serial link between the controller and the visualisation.

Object-oriented extensions

TwinCAT 3 adds classes, inheritance and interfaces to Structured Text. For a machine builder repeating the same station twenty times with variations, this is genuinely useful and closer to how software engineers think.

It also produces code that a maintenance technician trained on ladder cannot read at three in the morning, which is a real cost and worth deciding deliberately.

The version control story

TwinCAT source files are XML. .TcPOU, .TcDUT, .TcGVL are all text, so Git diffs them, merges them and reviews them.

This is rarer than it should be. Most PLC platforms store projects in binary formats where version control degrades to keeping dated copies of a file.

What to watch

The PC is now a machine component. It needs the same lifecycle thinking as any other part: spares, image backups, and a policy about Windows updates that does not involve a reboot during production.

Common questions

Is TwinCAT a real-time system if it runs on Windows?
Yes. TwinCAT installs a real-time kernel that takes dedicated CPU cores and runs the PLC task deterministically, with Windows running on the remaining cores. A Windows crash does not stop the PLC task, though it does take the HMI with it.
Why is TwinCAT good for version control?
Its project files are plain text XML: .TcPOU for program units, .TcDUT for data types, .TcGVL for global variables. That means Git can diff and merge them meaningfully, which is not true of the binary project formats most PLC platforms use.

Keep reading