Programmation Beckhoff TwinCAT 3 : Guide pratique pour les ingénieurs passant des automates programmables traditionnels aux automates programmables industriels (API).
Un ingénieur qui a passé dix ans à programmer en langage Ladder sur des plateformes Allen Bradley et Siemens ouvre TwinCAT 3 pour la première fois et se retrouve paralysé. L'arborescence du projet se trouve dans Visual Studio. Les fichiers C++ partagent l'espace avec le code de l'automate. Aucun emplacement de châssis à configurer, aucun catalogue de matériel à parcourir. Le noyau temps réel s'installe comme un pilote Windows, au même titre que votre navigateur web. C'est la programmation Beckhoff TwinCAT 3 : une approche logicielle du contrôle industriel. La transition est brutale, mais la récompense est une plateforme aux capacités inégalées par les automates programmables traditionnels.
TwinCAT 3 (technologie de contrôle et d'automatisation pour Windows) transforme n'importe quel PC Windows en automate programmable et contrôleur de mouvement temps réel. Contrairement aux plateformes traditionnelles où l'environnement d'exécution réside sur un matériel propriétaire, TwinCAT 3 isole les cœurs de processeur dédiés de Windows via un pilote noyau temps réel : une planification directe sur le matériel, et non une virtualisation.
L'environnement d'ingénierie, TwinCAT 3 XAE, s'intègre à Microsoft Visual Studio en tant qu'extension shell. Le projet PLC est intégré à une solution .sln standard. La gestion des versions s'effectue via Git. Plusieurs programmeurs peuvent travailler simultanément. Pour les ingénieurs habitués à Studio 5000 ou TIA Portal, l'IDE offre une expérience similaire à celle d'un environnement de développement logiciel, car il s'agit bien d'un tel environnement.
L'architecture s'affranchit totalement du cadre de la norme IEC 61131-3. Les modules C++ et MATLAB/Simulink sont compilés en tant que tâches temps réel natives, parallèlement au code de l'automate, et partagent la mémoire directement via TcCOM (TwinCAT Component Object Model). Le bus de terrain est EtherCAT, le protocole déterministe de Beckhoff qui permet de connecter en série des milliers de terminaux d'E/S sur un seul câble avec des temps de cycle inférieurs à la milliseconde. Aucun nommage de périphérique PROFINET, aucun fichier GSDML, aucun outil de configuration de variateur tiers.
La pile logicielle comprend : TwinCAT 3 XAE (ingénierie), TwinCAT 3 XAR (exécution) et le noyau temps réel. Le développement est gratuit. Vous pouvez écrire, compiler et simuler des programmes machine complets sur un ordinateur portable standard, sans aucun matériel Beckhoff.
À Djeddah, un intégrateur d'emballages a déployé un système de commande pour une machine de montage de cartons, utilisant un PC embarqué CX5130, des entrées numériques EL1008 à 8 canaux et des sorties numériques EL2008 à 8 canaux. L'ensemble du projet, de l'installation à la mise en service, a été réalisé en un après-midi.
Étape 1 — Installez TwinCAT 3 XAE. Téléchargez-le depuis le site web de Beckhoff. Le programme d’installation ajoute une barre d’outils TwinCAT à Visual Studio et installe le pilote noyau temps réel. Les environnements VS 2017, 2019 et 2022 sont compatibles.
Étape 2 — Créer un projet. Fichier → Nouveau → Projet → « Projet TwinCAT ». La solution comprend un nœud PLC, un nœud SYSTEM pour la configuration en temps réel et un nœud E/S pour les périphériques EtherCAT. Cible x86 pour les PC embarqués comme le CX5130, x64 pour les IPC plus récents.
Étape 3 — Choisissez le langage de programmation. Cliquez avec le bouton droit sur le nœud PLC, puis ajoutez un projet PLC. Beckhoff utilise par défaut le langage Texte structuré (ST), et la plupart des programmeurs l'adoptent car il gère les tableaux, les automates à états finis et la logique complexe de manière bien plus claire que le langage Ladder. Cela dit, le langage CFC (Continuous Function Chart) — un langage graphique libre où vous placez des blocs sur un canevas et dessinez des fils de signal — est particulièrement adapté aux boucles de régulation de processus. Le langage Ladder (LD) reste disponible pour les interverrouillages discrets dont les équipes de maintenance ont besoin pour le dépannage.
Pour la machine à former les cartons, l'ingénieur a programmé une machine à états en ST avec des états pour le démarrage, l'alimentation, le pliage, le collage et l'éjection. Chaque état assigne des sorties à l'EL2008 et lit des entrées depuis l'EL1008.
Étape 4 — Analyse des périphériques EtherCAT. Dans l’arborescence des E/S, cliquez avec le bouton droit sur « Périphériques », puis sélectionnez « Analyser ». TwinCAT 3 détecte automatiquement tous les terminaux, variateurs et tranches d’E/S connectés. EL1008 apparaît comme un terminal d’entrée à 8 canaux et EL2008 comme un terminal de sortie à 8 canaux. Associez les canaux des terminaux aux variables de l’automate en les faisant glisser dans votre déclaration de variables.
Étape 5 — Activation de la configuration. Cliquez sur « Activer la configuration » dans la barre d’outils. TwinCAT 3 compile le code de l’automate, génère la configuration temps réel et charge le tout dans l’environnement d’exécution. Cliquez sur « Connexion », sélectionnez « Mode d’exécution », et le CX5130 exécute la logique de l’automate au temps de cycle configuré (généralement 1 ms).
Seul hic : l’ordinateur portable ne pouvait pas se connecter au CX5130 car l’identifiant réseau AMS n’était pas configuré. L’ajout de cet identifiant via l’outil de routage TwinCAT (icône de la barre des tâches) a résolu le problème en moins de deux minutes.
Ce qui distingue TwinCAT 3 de toutes les plateformes PLC traditionnelles : le C++ natif. Vous ajoutez un module C++ directement au projet temps réel, vous écrivez du C++ standard avec des extensions temps réel, et il s’exécute comme un objet TcCOM sur le même cœur isolé que le PLC — partageant la mémoire via des pointeurs sans aucune latence.
Un fabricant allemand d'emballages a utilisé cette solution pour réaliser un contrôle qualité des bouchons de bouteilles à 400 ppm grâce à OpenCV. Le module de vision C++ échange les résultats de réussite/échec avec l'automate programmable via une structure partagée. Une approche traditionnelle (communication interprocessus externe via OPC UA) induirait une latence de 10 à 50 ms et nécessiterait la maintenance d'une liaison réseau supplémentaire.
La cible TE1400 exporte les modèles Simulink sous forme de modules TcCOM. Un ingénieur de procédés conçoit une cascade PID, clique sur « Générer le code », et le modèle est compilé en un objet temps réel dans le projet TwinCAT 3. Le programmeur d'automate programmable associe les entrées et sorties du modèle aux bornes d'E/S réelles. Une station d'épuration des Émirats arabes unis a utilisé cette solution pour un algorithme de dosage par coagulation : des capteurs de turbidité et de pH sont connectés aux entrées analogiques EL3024, et la sortie du modèle pilote les sorties analogiques EL4024 vers les pompes doseuses. Intégration complète : une journée.
NC PTP gère le positionnement point à point standard avec des profils trapézoïdaux ou en S — convoyeurs, actionneurs linéaires, positionnement rotatif. TwinCAT CNC est un noyau de commande numérique complet prenant en charge le code G, la cinématique 5 axes, la compensation du rayon d'outil et l'anticipation. Un atelier d'usinage italien réalise des opérations 5 axes sur TwinCAT CNC avec des servomoteurs AX5000 à des cycles d'interpolation de 0,1 ms.
L'interface homme-machine TwinCAT (TE2000) diffuse des tableaux de bord HTML5/JavaScript depuis le PC industriel Beckhoff. Tout appareil doté d'un navigateur (PC industriel, tablette, smartphone) affiche les mêmes écrans. La communication entre le serveur IHM et l'automate programmable utilise ADS via le routeur AMS local avec une latence inférieure à la milliseconde. Aucun matériel de panneau propriétaire n'est requis.
TwinCAT 3 affecte des tâches individuelles à des cœurs isolés spécifiques, la préemption étant désactivée. Dans une configuration typique d'un CX2040 quadricœur : le cœur 1 exécute la machine d'état de l'automate programmable (PLC) à 1 ms, le cœur 2 exécute le PTP CN à 0,5 ms, le cœur 3 exécute un module de vision C++ à 5 ms et le cœur 0 gère Windows. Si une tâche temps réel dépasse son cycle, TwinCAT signale une violation et passe dans un état d'erreur configurable. Pour les opérations d'encapsulation à grande vitesse ou les interpolateurs CNC, l'isolation manuelle des cœurs élimine les fluctuations susceptibles de déstabiliser la machine.
Les licences TwinCAT 3 sont vendues une seule fois par appareil cible. Le module TC1200 (automate programmable uniquement, conforme à la norme IEC 61131-3) coûte environ 700 $ pour un CX5130. Le module TC1250 ajoute la commande de mouvement NC PTP. Le module TC1300 permet l'utilisation du langage C++. La suite complète sur un CX2040 coûte entre 3 000 $ et 4 000 $. L'environnement d'ingénierie est gratuit pour le développement et la simulation.
PC embarqués : CX7000 (entrée de gamme à environ 400 $), série CX2000 (1 500 $ à 4 000 $), IPC ultra-compact C6030 (à partir de 2 000 $). Les modules d’E/S tels que les EL1008 et EL2008 coûtent entre 80 $ et 120 $ l’unité. Délai de livraison standard : 1 à 3 semaines.
Découvrez les PC embarqués, les terminaux EtherCAT et les solutions de licences et d'automates programmables de Beckhoff sur tztechio.com.

Q : Puis-je exécuter TwinCAT 3 sur un ordinateur portable standard pour le développement ?
Oui. TwinCAT 3 XAE s'installe sur n'importe quelle machine Windows 10/11 x64. Le noyau temps réel s'exécute en mode local avec une planification CPU isolée. Vous pouvez écrire, compiler et simuler des programmes PLC, C++ et de mouvement complets sans matériel Beckhoff. Pour la simulation d'E/S, écrivez une courte routine ST générant le retour d'information des capteurs. Pour le mouvement, activez le mode de simulation d'axe dans la configuration SYSTÈME.
Q : TwinCAT 3 est-il plus difficile à apprendre que Studio 5000 ou TIA Portal ?
L'environnement Visual Studio nécessite un temps d'adaptation si vous n'avez utilisé que des environnements de développement intégrés (IDE) dédiés aux automates programmables. Cependant, le flux de travail de numérisation des entrées/sorties est plus simple que le catalogue de matériel de TIA Portal, et les ingénieurs familiarisés avec le texte structuré et les bonnes pratiques logicielles (gestion de versions, débogage, portée des variables) trouvent généralement TwinCAT 3 intuitif dès la première semaine. L'aide contextuelle de Beckhoff (F1) est complète et pertinente.
Q : Ai-je besoin d'un Beckhoff IPC, ou puis-je utiliser un PC tiers ?
L'environnement d'exécution fonctionne sur n'importe quel PC Windows x86, mais Beckhoff ne valide le comportement en temps réel que sur son propre matériel. L'utilisation de PC tiers peut entraîner des problèmes de latence liés au chipset, à la gestion de l'alimentation du BIOS ou aux pilotes. Le développement et la simulation sont possibles sur n'importe quel ordinateur portable. Pour la production, utilisez les IPC Beckhoff : la différence de coût est négligeable par rapport au débogage sur du matériel non validé.
Q : Puis-je mélanger la logique à relais et le texte structuré dans le même projet ?
Oui. Un seul projet PLC peut contenir des PRG, des FB et des FC dans n'importe quelle combinaison de ST, LD, FBD et CFC. Une routine Ladder peut appeler un bloc fonction ST. Un diagramme CFC peut référencer des réseaux Ladder. La compilation et l'édition de liens sont indépendantes du langage.
Q : TwinCAT 3 prend-il en charge OPC UA et MQTT pour l'industrie 4.0 ?
Oui. Le TF6100 offre des fonctionnalités de serveur OPC UA permettant d'exposer les symboles d'automate programmable sous forme de nœuds configurables. Le TF6701 ajoute la fonctionnalité de publication/abonnement MQTT. Les deux fonctionnent comme des modules TcCOM côté temps réel, indépendamment des services Windows.
Q : Comment les mises à jour du firmware et des logiciels sont-elles gérées sur une machine en fonctionnement ?
TwinCAT 3 prend en charge les modifications en ligne : modification du code automate, ajout de variables, ajustement de la configuration des tâches sans interruption de l’exécution. Les modifications structurelles (nouveaux périphériques EtherCAT, modifications du temps de cycle, modules C++) nécessitent une « Activation de la configuration » suivie d’un bref redémarrage contrôlé. Pour les processus fonctionnant 24 h/24 et 7 j/7, des configurations TwinCAT redondantes avec basculement automatique sont disponibles.
De plus, avec votre autorisation, nous souhaitons placer des cookies pour rendre votre visite et votre interaction avec slOC plus personnelles. Pour cela, nous utilisons des cookies analytiques et publicitaires. Grâce à ces cookies, nous et des tiers pouvons suivre et collecter votre comportement Internet à l'intérieur et à l'extérieur de super-instrument.com. Grâce à cela, nous et des tiers adaptons super-instrument.com et les publicités à vos intérêts. En cliquant sur Accepter, vous acceptez cela. Si vous refusez, nous utilisons uniquement les cookies nécessaires et vous ne recevrez malheureusement aucun contenu personnalisé. Veuillez consulter notre politique en matière de cookies pour plus d'informations ou pour modifier votre consentement à l'avenir.
Accept and continue Decline cookies