EtherCAT MainDevice
trait de séparation
Temps de lecture : 6 minutes
Lorsqu’on parle de performance dans un réseau EtherCAT, la vitesse est souvent le premier critère évoqué. Un temps de cycle court (de l’ordre de 1 kHz ou plus) permet en effet des boucles de contrôle rapides. Mais la performance ne se limite pas à la rapidité : elle recouvre aussi la capacité à gérer un grand volume de données ou à piloter simultanément de nombreux équipements depuis un même contrôleur.
Au cœur de ces enjeux se trouve le logiciel EtherCAT MainDevice, qui doit répondre à trois exigences majeures :
- supporter des cycles très courts,
- gérer de larges volumes de données cycliques,
- contrôler un nombre important de SubDevices.
Conception d’un logiciel EtherCAT performant
Pour atteindre ces objectifs, la conception logicielle joue un rôle décisif. Un MainDevice efficace repose sur plusieurs principes :
Au-delà de la consommation moyenne, il est crucial de réduire la charge de pointe (pic d’utilisation CPU ou du bus), afin de garantir que l’application principale conserve toujours la puissance nécessaire pour fonctionner dans les délais spécifiés.
- utilisation de drivers Ethernet temps réel performants,
- indépendance vis-à-vis du système d’exploitation pour la partie cyclique,
- absence d’interruptions et de tâches internes,
- limitation du trafic acyclique (mailbox),
- exploitation d’optimisations bas niveau (macros C, compilateurs adaptés),
- gestion par découpage temporel des tâches non critiques.
Au-delà de la consommation moyenne, il est crucial de réduire la charge de pointe (pic d’utilisation CPU ou du bus), afin de garantir que l’application principale conserve toujours la puissance nécessaire pour fonctionner dans les délais spécifiés.
Variables système et choix du matériel
EtherCAT est aujourd’hui déployé sur une large gamme de matériels :
La performance réelle dépend fortement de plusieurs paramètres :
Dans la pratique, le choix du processeur se fait souvent en fonction de l’application, plus que du MainDevice lui-même. C’est pourquoi le logiciel doit être capable de s’adapter à différents contextes tout en restant efficace.
À titre d’exemple, le logiciel EC-Master d’acontis intègre l’ensemble de ces considérations et ne mobilise en général que 10 à 20 % du temps CPU disponible, laissant le reste à l’application.
- microcontrôleurs ARM Cortex-M4,
- processeurs multi-cœurs ARM A57,
- PC industriels ou serveurs équipés d’Intel Core i5, i7 ou Xeon.
La performance réelle dépend fortement de plusieurs paramètres :
- nombre et type de SubDevices,
- taille des données cycliques,
- temps de cycle requis,
- fonctionnalités attendues (horloges distribuées, redondance, hot connect…),
- puissance de calcul nécessaire à l’application.
Dans la pratique, le choix du processeur se fait souvent en fonction de l’application, plus que du MainDevice lui-même. C’est pourquoi le logiciel doit être capable de s’adapter à différents contextes tout en restant efficace.
À titre d’exemple, le logiciel EC-Master d’acontis intègre l’ensemble de ces considérations et ne mobilise en général que 10 à 20 % du temps CPU disponible, laissant le reste à l’application.
Mesurer la performance
Avant de valider une architecture, il est essentiel de mesurer précisément la consommation de temps processeur liée au traitement cyclique EtherCAT.
Acontis propose pour cela des outils intégrés à ses applications de démonstration (EcMasterDemo, EcMasterDemoDc).
Ces applications permettent :
Le processus est simple : les fonctions clés (traitement des entrées, génération des sorties, envoi des trames cycliques ou acycliques, gestion de l’état des SubDevices) sont appelées dans la tâche de haut niveau de l’application. Leur temps d’exécution est directement mesuré, sans interaction avec d’autres tâches. Les résultats sont consignés dans un fichier log ou affichés en console.
Exemples de résultats
Des mesures ont été réalisées par acontis sur différentes plateformes :
Dans chaque cas, la charge CPU générée par l’EC-Master reste faible en comparaison de la puissance disponible, garantissant un fonctionnement fluide même avec des dizaines de SubDevices et des cycles courts.
Acontis propose pour cela des outils intégrés à ses applications de démonstration (EcMasterDemo, EcMasterDemoDc).
Ces applications permettent :
- de calculer les temps d’exécution des principales fonctions (« jobs »),
- d’obtenir des mesures minimales, moyennes et maximales,
- d’évaluer l’impact du MainDevice sur le cycle global.
Le processus est simple : les fonctions clés (traitement des entrées, génération des sorties, envoi des trames cycliques ou acycliques, gestion de l’état des SubDevices) sont appelées dans la tâche de haut niveau de l’application. Leur temps d’exécution est directement mesuré, sans interaction avec d’autres tâches. Les résultats sont consignés dans un fichier log ou affichés en console.
Exemples de résultats
Des mesures ont été réalisées par acontis sur différentes plateformes :
- Texas Instruments AM3359 (ARM Cortex-A8, 600 MHz),
- NXP i.MX8 (ARM Cortex-A72, 1 GHz),
- Intel Atom Elkhart Lake x6425E (1,8 GHz),
- NVIDIA Jetson AGX Orin (Cortex-A78AE, 2,2 GHz).
Dans chaque cas, la charge CPU générée par l’EC-Master reste faible en comparaison de la puissance disponible, garantissant un fonctionnement fluide même avec des dizaines de SubDevices et des cycles courts.
La performance d’un réseau EtherCAT ne se résume pas à la vitesse : elle implique aussi la capacité à gérer de larges volumes de données et de nombreux équipements, tout en minimisant la charge processeur.
Un logiciel MainDevice bien conçu, comme l’EC-Master d’acontis, permet d’atteindre ces objectifs grâce à une architecture optimisée, une gestion fine des ressources et des outils de mesure intégrés. Résultat : des réseaux EtherCAT fiables, performants et adaptés à une large variété de configurations matérielles et applicatives.
Un logiciel MainDevice bien conçu, comme l’EC-Master d’acontis, permet d’atteindre ces objectifs grâce à une architecture optimisée, une gestion fine des ressources et des outils de mesure intégrés. Résultat : des réseaux EtherCAT fiables, performants et adaptés à une large variété de configurations matérielles et applicatives.
