Subscriptions
for enrichment
06 february 2014 | La Revue POLYTECHNIQUE 12/2013 | Électrotechnique

Des contrôleurs d’automatismes programmables conçus par logiciel

Brett Burger*

La société National Instruments présente son nouveau contrôleur cRIO-9068. L’unité de calcul de cet appareil est basée sur un système sur puce, rassemblant des cœurs de calcul à virgule flottante, une puce FPGA, ainsi que des couches constituées d’un processeur à signal numérique sur une seule puce. Cette conception permet aux développeurs de fusionner des sous-systèmes de machine en plus petit nombre, dans le but de créer une architecture simplifiée.
Les ingénieurs travaillant dans le domaine du contrôle-commande subissent une pression constante pour simplifier les systèmes dont la complexité ne cesse d’augmenter. Malheureusement, les solutions sont difficiles à définir clairement; ce sont les tendances globales du marché industriel, qui sont débattues pour simplifier le monde industriel devenu si complexe. Les moteurs, autrefois vus comme de gros blocs de fer prévus pour durer des décennies, sont aujourd’hui surveillés et examinés pour déceler le moindre signe de défaillance ou la plus petite trace de perte d’efficacité. De plus, les entrées de commande pour les outils de découpe ont évolué depuis l’ancienne approche TOR (tout ou rien) «couper/cesser de couper» pour devenir des dispositifs complexes guidés par la vision, permettant la détection des bords et la densité des matériaux, répondant avec une force de découpe extrêmement précise. Ces exemples illustrent le besoin réel d’intégrer de nouvelles technologies pour rester compétitif face aux pressions du marché et à des problèmes de commande de plus en plus complexes.

Heureusement, la technologie du marché continue à progresser dans l’intérêt des concepteurs de systèmes. La dernière technologie concernant le calcul et le traitement de données pour les PAC (contrôleurs d’automatismes programmables) est désormais disponible avec le contrôleur cRIO-9068 conçu par la société National Instruments. L’unité de calcul est basée sur la dernière technologie au silicium de l’entreprise Xilinx (Zy’-linx), connue sous le nom de ZynqTM (zink’). Ce système sur puce (SoC) rassemble des cœurs de calcul à virgule flottante, une puce FPGA (Field-Programmable Gate Array - réseau logique programmable), ainsi que différentes couches intégrant des DSP (Digital Signal Processor)sur une seule et même puce, ce qui aide les concepteurs à fusionner des sous-systèmes avancés de machines en un plus petit nombre de contrôleurs, afin de créer une architecture simplifiée.
 
 

Des systèmes avec plusieurs unités de calcul

Tout ceci pourrait sembler peu familier pour les automaticiens plus habitués au langage Ladder qu’aux portes logiques, mais il faut savoir qu’à l’intérieur, tous les PAC, les PLC (automates programmables) et les contrôleurs embarqués se cache une ou plusieurs unités de calcul. Certains contiennent même des FPGA  ou des ASIC (Application-Specific Integrated Circuit)pour le traitement de signaux et la synchronisation. Ces différentes parties de traitement sont l’équivalent d’un outil basique, tel qu’un marteau. En effet, les magasins d’outillage proposent un vaste choix de marteaux. Bien que la plupart de ces outils puissent être utilisés pour remplir d’autres fonctions associées aux marteaux (comme de planter des clous ou de casser des objets), il est crucial d’utiliser l’outil adéquat pour la tâche souhaitée.
Faire de l’automatisme juste en utilisant un PC est comparable à un marteau générique: assez polyvalent pour la plupart des applications, mais insuffisant pour les fonctions plus avancées, car il serait trop brutal pour jouer le rôle d’un maillet en plastique, trop léger pour servir de masse et trop petit pour être utilisé comme marteau de charpente. Le processeur à virgule flottante standard est excellent pour un grand nombre d’applications, mais n’est pas à la hauteur pour celles qui nécessitent une synchronisation ou un déclenchement à grande vitesse ou encore pour celles nécessitant de faibles temps de latence. C’est dans de tels cas qu’un FPGA est avantageux. On peut aussi utiliser les processeurs à virgule flottante pour le traitement des signaux et pour les systèmes de contrôle-commande, mais cette solution s’avère coûteuse par rapport à un FPGA ou un DSP. Les FPGA sont excellent pour les traitements d’algorithmes en parallèle, mais limités en termes de flexibilité d’exécution. C’est la combinaison de toutes ces différentes unités de calcul qui rend les nouveaux PAC/PLC et les contrôleurs embarqués si prometteurs pour la simplification de l’architecture des systèmes complexes.
 
Le nouveau contrôleur NI cRIO-9068 ajoute de nouvelles unités de calcul pour la synchronisation, la commande haute vitesse et l’analyse de signaux au processeur à virgule flottante conventionnel.

 
Des contrôleurs embarqués de nouvelle génération
Au niveau de base, les sous-systèmes associent le matériel et le logiciel pour remplir une fonction spécifique, telle qu’un système de contrôle de température. Dans ce cas, les entrées matérielles sont des capteurs de température, les sorties commandent un ventilateur ou un élément chauffant, et la programmation logique du système peut aller d’une simple fonction d’addition à un algorithme PID (proportionnel intégral dérivé) plus avancé. Dans les machines complexes ayant plusieurs sous-systèmes, ce contrôleur de température est un élément séparé sur une carte électronique personnalisée, qui communique en retour avec le contrôleur principal via un bus de communication.
Au lieu de devoir concevoir un composant électronique spécialement conçu pour une application, les concepteurs vont  pouvoir utiliser des contrôleurs embarqués de nouvelle génération, afin de tirer parti d’un cœur unique et polyvalent. Ceci aide à simplifier les machines en les équipant d’un nombre plus réduit de contrôleurs reconfigurables, permettant d’accélérer la mise sur le marché et de diminuer les coûts de conception. Dans les machines, les sous-systèmes sont représentés de manière abstraite par des blocs logiciels pouvant être exécutés sur le processeur à virgule flottante de l’ordinateur ou sur les ressources FPGA/DSP disponibles. Il est alors plus pertinent de penser en termes de sous-routine que de sous-contrôleur. Quant au matériel, de nombreux sous-contrôleurs utilisent déjà des E/S modulaires et les capacités avancées des nouveaux contrôleurs embarqués aident à réduire le besoin de recourir à des conceptions matérielles FPGA/ASIC personnalisées.
On utilise, par exemple, une scie laser dans le procédé de fabrication de plaquettes de silicium. Ces machines comportent plusieurs sous-systèmes interconnectés, intégrant pour chacun des sous-systèmes, sa propre unité de calcul. Les sous-systèmes peuvent être un automate programmable, une commande numérique, un PC de supervision, ainsi que divers autres équipements permettant de faire du traitement ou du calcul plus spécifiques, par exemple. Grâce au contrôleur embarqué équipé de la dernière technologie, comme l’est le cRIO-9068, les intégrateurs pourront utiliser un seul et même contrôleur embarqué pour effectuer les différentes tâches principales de l’application.
Le jeu d’instructions en logiciel/micrologiciel pour chaque contrôleur existe en tant que sous-routine autonome sur le contrôleur principal. Les concepteurs peuvent étendre le système par un copier-coller de la sous-routine adéquate et l’ajout d’un autre module d’E/S.
 
Des systèmes équipés de contrôleurs embarqués
Il est désormais plus intuitif de concevoir ces systèmes avec des contrôleurs embarqués tout en un, alors que la conception personnalisée de puce ASIC ou FPGA/DSP était autrefois nécessaire. Pour ce qui est des moteurs, les mesures prédictives de maintenance sur les équipements en rotation incluent des calculs d’écarts quadratiques moyens et de transformées de Fourier rapides. Ces algorithmes consomment de nombreuses ressources processeur, ce qui laisse peu de temps au processeur pour effectuer d’autres tâches et limite les capacités du contrôleur ou augmente son coût. En déplaçant ces processus vers une unité de traitement combinée FPGA/DSP, il est possible d’éliminer une partie de la charge du processeur et d’augmenter le débit de données, car les FPGA gèrent plus efficacement les processus multiples. Bien que les FPGA contiennent un espace mémoire de taille i fixe, ils ont la capacité d’ajouter des processus parallèles de manière presque illimitée dans cet espace. Pour reprendre l’analogie utilisée ci-dessus, il est possible d’utiliser un marteau pour des travaux de démolition, mais une masse peut s’avérer plus adaptée, car elle offre une meilleure efficacité.
Tandis qu’une partie de la conception passe au logiciel, il est important que des outils logiciels existent pour tirer parti de la technologie de traitement disponible. La norme CEI 61131 est la norme de programmation la plus courante pour les PAC/PLC. Celle-ci est un langage abstrait essentiellement consacré aux processus et aux commandes séquentiels numériques, mais il n’est pas conçu pour prendre en charge la programmation avancée ou les cibles FPGA/DSP. Un grand nombre de concepteurs de systèmes de contrôle-commande avancés envisagent l’utilisation d’un langage de programmation standard, tel que le langage C pour la conception embarquée. Bien que ce langage prenne en charge pratiquement toutes les tâches ou cibles de traitement, il s’agit d’un langage bas niveau, qui nécessite plus d’expertise et de temps pour mettre en œuvre la conception de programme.
D’autres environnements de programmation existent, à mi-chemin entre ces deux extrêmes. A titre d’exemple, le logiciel de conception de systèmes NI LabVIEW offre un intermédiaire entre ces deux environnements logiciels, car il peut simplifier le processus de programmation avec la gestion de la mémoire, la création de threads et la gestion de plusieurs cœur de calcul, tout en offrant un accès bas niveau à certains éléments de traitement et d’E/S sur le cœur de calcul ou la cible FPGA.
Indépendamment de la syntaxe de la programmation, il est essentiel de garantir aux développeurs l’accès à ces technologies, afin de relever des défis de plus en plus complexes, tels que l’évolution des normes et la pression pour innover plus vite et à moindre coût. En définitif, ces nouvelles unités de calcul ne sont pas avantageuses pour les développeurs, s’il n’existe aucun moyen de les programmer. Plus le contrôleur embarqué est ouvert, plus il est facile pour les concepteurs de fusionner ces machines complexes en un plus petit nombre de sous-systèmes. Par exemple, les PAC/PLC avec des modules, qui mesurent des formes d’onde e, ou les circuit intégrés intégrant une fonction PID, comportent des portes logiques codées en dur. Ces conceptions sont plus économiques du point de vue de la mise en œuvre matérielle, mais n’offrent pas au concepteur la flexibilité de déboguer ou de modifier le microprogramme qui est verrouillé. De plus, lorsque ces composants arrivent en fin de vie, il peut être difficile de répliquer exactement les algorithmes, ce qui peut causer de nombreux problèmes.
 
Un nouveau contrôleur
Le nouveau contrôleur cRIO-9068 (voir fig. 2) donne accès au processeur à virgule flottante, à la puce FPGA et aux différents DSP et même au système d’exploitation, qui est une version en temps réel de Linux. Grâce à internet, les développeurs peuvent tirer parti de la vaste communauté Linux pour mettre en service une machine plus rapidement et avec moins de ressources. En plus des applications Linux prêtes à l’emploi, les concepteurs peuvent réutiliser du code en langage C, car le nouveau processeur prend en charge les applications développées avec LabVIEW, ainsi que celles développées avec l’environnement de développement Eclipse. Avec ce système offrant le meilleur des deux mondes, les utilisateurs peuvent déployer des logiciels existants sur les matériels les plus récents, avec peu de contrainte.
Dans des secteurs tels que la sidérurgie, les textiles et les semi-conducteurs, le besoin pour des machines plus intelligentes est à l’origine d’une demande pour des technologies avancées. Les PAC et les contrôleurs embarqués, utilisant les dernières technologies de traitement hybride, peuvent aider à perfectionner et à simplifier la conception de machines en déplaçant l’architecture depuis des PAC/PLC uniques (ou des conceptions personnalisées) vers des contrôleurs conçus par logiciel moins nombreux et plus intégrés. La nouvelle génération de contrôleurs embarqués ne remplacera certes pas la plupart des vétérans du monde du traitement. Cependant, ces contrôleurs sont excellents pour la nouvelle génération de machines intelligentes, et ils conviennent mieux aux concepteurs experts souhaitant une mise sur le marché plus rapide avec une architecture simplifiée.
 
National Instruments Switzerland Corp. Austin
5408 Ennetbaden
Tél.: 056 200 51 51
www.ni.com

 

* Directeur produits pour les systèmes embarqués de la société National Instruments.