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.
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
- Safety
SIL or PL: which one does your machine need?
Two standards, two scales, and one machine. Which one applies, how they map to each other, and why the answer is usually ISO 13849.
- Safety
Categories B, 1, 2, 3 and 4, in plain terms
Five architectures, what a single fault does to each, and the practical wiring that goes with them.
- Safety
Safety relay or safety PLC: how to decide
One is a wiring decision, the other is a programming one. The count of safety functions, not the size of the machine, is what settles it.