Wat is TwinCAT?

TwinCAT (The Windows Control and Automation Technology) is de automatiseringssoftware van Beckhoff die een standaard industriële pc met een realtime-kernel omvormt tot PLC, motion controller en HMI-platform in één. In plaats van een aparte PLC-processor draait de besturingslogica op dezelfde hardware als het besturingssysteem, maar in een eigen deterministische realtime-omgeving. De huidige generatie, TwinCAT 3, is geïntegreerd in Microsoft Visual Studio en combineert IEC 61131-3 met C/C++ en MATLAB/Simulink. Daarmee is TwinCAT een van de bekendste voorbeelden van een Soft PLC in de machinebouw.


🕰️ Hoe is TwinCAT ontstaan?

Beckhoff, opgericht in 1980 in het Duitse Verl, introduceerde TwinCAT in 1996. Het was een van de eerste systemen die een Windows-pc gebruikten als volwaardige machinebesturing, terwijl de besturing deterministisch bleef. De generatie die uit die eerste versie voortkwam, staat inmiddels bekend als TwinCAT 2 en wordt nog altijd onderhouden.

Jaar Mijlpaal
1996 Introductie van TwinCAT (later TwinCAT 2) op Windows
2003 Beckhoff introduceert EtherCAT, de veldbus die met TwinCAT is verweven
2010 TwinCAT 3 (eXtended Automation) met engineering in Visual Studio
2020–2021 TwinCAT/BSD, een op FreeBSD gebaseerd alternatief voor Windows
2023 TwinCAT 3.1 Build 4026 met modulaire installatie via de TwinCAT Package Manager
2024 TwinCAT PLC++ gepresenteerd op de SPS-beurs in Neurenberg

In 2026 viert Beckhoff dertig jaar TwinCAT. In die periode groeide het aantal assen dat één TwinCAT-controller kan aansturen van tien naar ruim duizend, en het aanbod aan aanvullende functies tot ruim honderd.


🔧 Hoe werkt de architectuur van TwinCAT 3?

TwinCAT 3 bestaat uit twee gescheiden delen:

  • XAE (eXtended Automation Engineering) — de ontwikkelomgeving in Visual Studio, of in de meegeleverde TwinCAT XAE Shell. Hier configureert u I/O, schrijft u code, debugt u en zet u het project op het doelsysteem. Productcode TE1000.
  • XAR (eXtended Automation Runtime) — de runtime op de industriële pc of embedded pc. XAR voert PLC-, motion- en C++-modules uit in realtime-taken.

De realtime-kernel draait naast het besturingssysteem. Op multicore-pc’s kunt u isolated cores reserveren: processorkernen die volledig aan TwinCAT toebehoren en die Windows niet meer gebruikt. Zo verstoort een Windows-update of een zware HMI-client de besturing niet. De basistijd van de realtime-scheduler is op snelle systemen instelbaar tot 50 µs; kortere cyclustijden dan de basistijd zijn niet mogelijk. Als besturingssysteem ondersteunt Beckhoff Windows (inclusief Windows 10/11 IoT Enterprise), TwinCAT/BSD en sinds kort ook Beckhoff RT Linux, met de TwinCAT Runtime for Linux.

Communicatie tussen engineering, runtime en externe applicaties verloopt via ADS (Automation Device Specification), het eigen protocol van Beckhoff. Voor koppelingen met andere systemen biedt TwinCAT onder meer OPC UA, MQTT en Modbus.


🧠 Welke programmeertalen ondersteunt TwinCAT?

TwinCAT 3 ondersteunt alle vijf talen van IEC 61131-3: Structured Text, ladderdiagram, functieblokdiagram, sequentiële functiegrafiek en instructielijst (die laatste is in de derde editie van de norm als verouderd aangemerkt). Daarbovenop komen:

  • Objectgeoriënteerde uitbreidingen — methoden, eigenschappen, interfaces en overerving in functieblokken, conform de derde editie van IEC 61131-3
  • C/C++ — realtime-modules voor rekenintensieve taken of hergebruik van bestaande algoritmen
  • MATLAB/Simulink — modellen worden gegenereerd naar TwinCAT-modules (TcCOM) en draaien in dezelfde realtime-taken als de PLC-code
  • Continuous Function Chart (CFC) — een vrije grafische variant van het functieblokdiagram

Omdat de PLC-editor historisch op CODESYS-technologie is gebouwd, voelt TwinCAT voor CODESYS-programmeurs vertrouwd. Met TwinCAT PLC++ heeft Beckhoff een volledig herontworpen PLC-generatie geïntroduceerd: dezelfde code draait volgens Beckhoff tot 1,5 keer sneller, met compileroptimalisatie tot een factor 3. PLC++ volgt de vierde editie van IEC 61131-3 vrijwel volledig, kan naast de bestaande TwinCAT PLC worden gebruikt en heeft een converter voor bestaande projecten.


🏭 Welke modules biedt TwinCAT?

Beckhoff verkoopt aanvullende functionaliteit als TwinCAT 3 Functions (TFxxxx), inmiddels meer dan honderd. De belangrijkste:

Module Productcode Toepassing
NC PTP TF5000 Punt-tot-punt motion control voor servoassen
CNC TF5200 Volledige CNC-besturing voor gereedschapsmachines
HMI Server TF2000 Webgebaseerde HMI in HTML5 en JavaScript
Analytics Logger TF3500 Cyclussynchroon vastleggen van procesdata
Machine Learning Inference Engine TF3800 ML-modellen in realtime uitvoeren
Vision TF7xxx Beeldverwerking direct in de PLC-omgeving

Alles draait op één pc en wisselt data uit via gedeeld geheugen in plaats van via een netwerk. Dat verkort reactietijden en verkleint het aantal apparaten in de machine.


🔌 Wat is de rol van EtherCAT bij TwinCAT?

TwinCAT is de natuurlijke master voor EtherCAT. De standaard Ethernet-poort van de pc fungeert als EtherCAT-master; er is geen speciale interfacekaart nodig. Het I/O-systeem wordt in XAE automatisch gescand, waarna de variabelen van terminals en drives direct aan PLC-variabelen worden gekoppeld. Dankzij distributed clocks synchroniseren servoassen en I/O met een nauwkeurigheid van ruim onder één microseconde, wat in combinatie met korte TwinCAT-cycli zeer snelle machines mogelijk maakt. TwinCAT kan ook PROFINET-, EtherNet/IP- en andere netwerken bedienen via extra interfaces.


🔄 Hoe verhoudt TwinCAT zich tot TIA Portal, CODESYS en Studio 5000?

Kenmerk TwinCAT 3 TIA Portal CODESYS Studio 5000
Leverancier Beckhoff Siemens CODESYS GmbH Rockwell Automation
Hardware Beckhoff-IPC’s (ook andere pc’s met dongle) SIMATIC S7-1200/1500 Honderden merken ControlLogix / CompactLogix
Besturingsprincipe Soft PLC op pc Hardware-PLC (ook software-controller) Soft PLC / embedded Hardware-PLC
Engineering-IDE Visual Studio of XAE Shell Eigen IDE Eigen IDE Eigen IDE
Talen IEC 61131-3, C/C++, Simulink IEC 61131-3 (LAD, FBD, SCL, GRAPH) IEC 61131-3 Ladder, FBD, ST, SFC
Standaard veldbus EtherCAT PROFINET Leverancierafhankelijk EtherNet/IP
Licentie engineering Basis gratis Betaald Basis gratis Betaald

TwinCAT onderscheidt zich vooral door de combinatie van IT-gereedschap (Visual Studio, Git-integratie, C++) met realtime-besturing. Klassieke hardware-PLC’s hebben juist het voordeel van een gesloten platform zonder algemeen besturingssysteem, lange productlevenscycli en vertrouwdheid bij onderhoudstechnici.


💶 Hoe werkt de licentie van TwinCAT?

De basis van TwinCAT 3 Engineering, het programmeren van de PLC, is gratis en mag op onbeperkt veel ontwikkel-pc’s worden geïnstalleerd. Runtime-licenties en aanvullende functies zijn betaald. De prijs hangt af van het platform level van de hardware: een kleine Arm-gebaseerde embedded pc valt in een lager level dan een many-core server-IPC. Voor tests kunt u een 7-dagen-triallicentie activeren die onbeperkt verlengbaar is. Op industriële pc’s van andere fabrikanten (platform level 90 en hoger) is voor runtime-licenties altijd een TwinCAT-licentiedongle nodig.


🔐 Hoe beveiligt u een TwinCAT-systeem?

Omdat TwinCAT op een gewone pc draait, erft het ook de risico’s van dat besturingssysteem. Belangrijke aandachtspunten:

  • ADS zonder versleuteling — klassiek ADS gebruikt TCP-poort 48898 en UDP 48899 voor discovery, zonder versleuteling. Wie via een geldige ADS-route bij de runtime kan, kan variabelen lezen en schrijven. Onder TwinCAT/BSD staat poort 48898 standaard dicht.
  • Secure ADS — sinds TwinCAT 3.1 Build 4024 kan ADS via TLS op poort 8016 lopen, met certificaten of een pre-shared key. Secure ADS zit zonder extra licentiekosten in de basisinstallatie. Gebruik dit voor alle verbindingen tussen engineering en runtime.
  • Bekende kwetsbaarheden — CVE-2014-5414 betrof het ontbreken van een limiet op ADS-inlogpogingen. In 2024 werden vier kwetsbaarheden in TwinCAT/BSD (CVE-2024-41173 tot en met 41176) en één in de TwinCAT Package Manager (CVE-2024-8934) gepubliceerd.
  • Hardening — schakel ongebruikte Windows-diensten uit, volg de Beckhoff-hardeningrichtlijnen en overweeg TwinCAT/BSD voor een kleiner aanvalsoppervlak.
  • Netwerksegmentatie — plaats engineering-pc’s en controllers in aparte zones; laat ADS nooit het kantoornetwerk of internet bereiken.

🛠️ Hoe zet u een eerste TwinCAT-project op?

  1. Installeer XAE — download TwinCAT 3 Engineering (vanaf Build 4026 via de TwinCAT Package Manager) en kies tussen integratie in Visual Studio of de XAE Shell.
  2. Maak een project — kies TwinCAT XAE Project en voeg onder PLC een Standard PLC Project toe.
  3. Kies het doelsysteem — lokaal (de eigen pc als runtime, handig om te oefenen) of een IPC via Add Route, bij voorkeur met Secure ADS.
  4. Scan de I/O — onder I/O > Devices scant u de EtherCAT-master en voegt u terminals en drives toe.
  5. Schrijf code — bijvoorbeeld een eenvoudige motorsturing in Structured Text in MAIN.
  6. Koppel variabelen — verbind AT %I*- en AT %Q*-variabelen met de kanalen van de terminals.
  7. Activeer en test — activeer een triallicentie, kies Activate Configuration, zet de runtime in Run-modus, log in en bekijk de waarden online.

🇳🇱 Waarom is TwinCAT relevant voor Nederland?

De Nederlandse machinebouw, van verpakkingsmachines en voedselverwerking tot hightech-apparatuur, maakt veel gebruik van pc-gebaseerde besturing. Beckhoff-besturingen met TwinCAT zijn bij veel machinebouwers een gangbare keuze naast Siemens, vooral waar snelle motion control en EtherCAT het verschil maken. Voor OT-beheerders betekent dit dat machines vaak binnenkomen met een Windows-IPC en ADS-toegang die de leverancier voor onderhoud gebruikt. Leg daarom bij aankoop vast hoe updates, back-ups, Secure ADS en onderhoud op afstand worden geregeld.


❓ Veelgestelde vragen

Is TwinCAT gratis?

De basis van TwinCAT 3 Engineering is gratis en mag op een onbeperkt aantal pc’s worden geïnstalleerd. Voor gebruik van de TwinCAT-runtime in productie en voor aanvullende functies zoals motion control of HMI is een betaalde licentie nodig. Om te testen activeert u een 7-dagen-triallicentie die onbeperkt verlengbaar is.

Is TwinCAT gebaseerd op CODESYS?

De PLC-ontwikkelomgeving van TwinCAT 2 en TwinCAT 3 is historisch gebouwd op CODESYS-technologie, waardoor de editors en talen sterk op elkaar lijken. TwinCAT voegt daar een eigen realtime-kernel, Visual Studio-integratie, C++ en EtherCAT-configuratie aan toe. Met TwinCAT PLC++ heeft Beckhoff een volledig eigen, herontworpen PLC-generatie geïntroduceerd.

Op welk besturingssysteem draait TwinCAT?

TwinCAT 3 draait op Windows, waaronder Windows 10/11 IoT Enterprise, en op TwinCAT/BSD, een op FreeBSD gebaseerd besturingssysteem van Beckhoff. Daarnaast ondersteunt Beckhoff RT Linux. De realtime-besturing loopt in alle gevallen in een eigen kernel, los van het besturingssysteem.

Wat is het verschil tussen TwinCAT 2 en TwinCAT 3?

TwinCAT 2, de generatie die teruggaat op de introductie in 1996, gebruikt een aparte PLC-editor (PLC Control) en System Manager, terwijl TwinCAT 3 sinds 2010 alles in één project in Visual Studio onderbrengt. TwinCAT 3 voegt C/C++, MATLAB/Simulink, objectgeoriënteerd programmeren en multicore-ondersteuning toe. Bestaande TwinCAT 2-projecten kunnen met een converter worden overgezet.

Hoe veilig is TwinCAT?

TwinCAT is zo veilig als de configuratie ervan: klassiek ADS op poort 48898 is onversleuteld, en het onderliggende Windows moet worden gehard en gepatcht. Gebruik Secure ADS met TLS, netwerksegmentatie en de hardeningrichtlijnen van Beckhoff. Volg daarnaast de advisories van Beckhoff en CERT@VDE.

Wat is TwinCAT PLC++?

TwinCAT PLC++ is de nieuwe generatie PLC-technologie van Beckhoff, gepresenteerd op de SPS-beurs van 2024. Volgens Beckhoff voert TwinCAT PLC++ dezelfde code tot 1,5 keer sneller uit en tot een factor 3 sneller met compileroptimalisatie. TwinCAT PLC++ blijft gebaseerd op IEC 61131-3, kan naast de bestaande TwinCAT PLC draaien en heeft een converter voor bestaande projecten.


📌 Samengevat

TwinCAT maakt van een industriële pc een complete machinebesturing: PLC, motion, HMI, vision en machine learning in één realtime-omgeving, geprogrammeerd in Visual Studio en verbonden via EtherCAT. Die IT-achtige kracht vraagt ook IT-achtige beveiliging: hard het besturingssysteem, gebruik Secure ADS en houd ADS-verkeer binnen een afgeschermde OT-zone.