Pac Conçus Par Logiciel:Penser “sous-Routines” Plutôt Que “Sous-Contrôleurs”

Le 01/10/2013 à 14:00

L'essentiel

Le besoin pour des machines plus intelligentes est à l'origine d'une demande pour des technologies avancées.

Les contrôleurs d'automatisme programmables (PAC) et les contrôleurs embarqués de dernière génération simplifient la conception de ces machines.

L'architecture de ces machines se déplace ainsi des PAC/API uniques vers des contrôleurs conçus par logiciel moins nombreux et plus intégrés.

A l'architecture simplifiée s'ajoute une mise sur le marché plus rapide.

Les ingénieurs dans le domaine du contrôle-commande subissent une pression constante pour simplifier des systèmes industriels dont la complexité ne cesse d'augmenter. C'est particulièrement vrai dans des secteurs tels que la sidérurgie, les textiles ou les semiconducteurs,par exemple.Pour se convaincre de cette complexification galopante, il suffit de prendre quelques exemples. Les moteurs, autrefois vus comme de gros blocs de métal prévus pour durer des décennies, sont aujourd'hui surveillés et examinés de près pour déceler le moindre signe de défaillance ou la plus petite trace de perte d'efficacité. Autre exemple, les entrées de commande pour les outils de découpe ont évolué depuis l'ancienne approche tout-ou-rien (couper/cesser de couper) pour devenir des dispositifs complexes guidés par la vision et à retour de force. Ce qui permet la détection de densité et de bordures, et une réponse 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ématiques de contrôle/commande de plus en plus complexes.

Les contrôleurs d'automatisme programmables (PAC) de dernière génération permettent aux concepteurs de machines de créer une architecture simplifiée en fusionnant plusieurs sous-systèmes avancés de machines en un nombre réduit de contrôleurs.

National Instruments

Des unités de calcul toujours plus performantes

Heureusement pour les concepteurs de systèmes de contrôle, les technologies dont ils peuvent disposer progressent continuellement. La toute dernière en date concerne l'amélioration des moyens de calcul et de traitement des signaux intégrés dans les contrôleurs d'automatisme programmables (PAC) de dernière génération. C'est le cas du contrôleur cRIO-9068 conçu par National Instruments ( voir photo page 40 ), dont l'unité de calcul est basée sur le circuit SoC (système sur puce) Zynq de Xilinx. Ce composant rassemble, sur une seule et même puce, à la fois des cœurs de calcul à virgule flottante (signés ARM), un circuit FPGA (réseau logique programmable) et des DSP (processeurs de signaux numériques). Cela permet aux concepteurs de créer une architecture simplifiée en fusionnant plusieurs sous-systèmes avancés de machines en un nombre réduit de contrôleurs.

Tout ceci doit sembler bien peu familier aux automaticiens plus habitués au langage Ladder qu'aux portes logiques d'un FPGA. Et pourtant, il faut savoir qu'à l'intérieur de tout PAC, API (automate programmable industriel) et contrôleur embarqué se cachent une ou plusieurs unités de calcul. Certains contiennent même des FPGA ou des ASIC pour le traitement de signaux et la synchronisation. Ces différentes unités de traitement des signaux constituent l'équivalent d'un outil basique et on peut faire ici l'analogie avec un marteau.Ainsi, les magasins de bricolage proposent-ils une grande variété de marteaux en rayon. Mais bien que la plupartdeces outils puissent êtreutilisés pour remplir certaines fonctionsassociées à l'usage que l'on peut imaginer d'un marteau (telles que planter des clous ou casser des objets), il est certaines tâches qui nécessitent des marteaux spécifiques, adaptés au plus près des besoins du bricoleur.Ainsi, recourir àl'automatisation sur base PC revient en quelque sorte àutiliser un marteau arrache-clou d'usage général qui est certes assez polyvalent pour la plupart des applications, mais est mal adapté àdes fonctions plus avancées: ilserait trop lourd pour servir de maillet en plastique,tropléger pour être utilisé comme une masse et trop petit pour faireoffice de marteau de charpentier. De même,unprocesseur àvirgule flottante standard est idéal pour un grand nombre d'applications, mais n'est pas àlahauteur pour celles qui requièrent une synchronisation ou un déclenchement àgrande vitesse ou encorecelles nécessitant de faibles temps de latence.C'est dans de tels cas qu'un FPGA est en revanche avantageux. Les processeurs àvirgule flottante peuvent aussi êtreutilisés pour le traitement des signaux et pour les systèmes de contrôle-commande,mais cette solution s'avère coûteuse en comparaison d'un FPGA ou d'un DSP utilisé pour des algorithmes répétitifs. Cela dit, si le FPGA est idéal pour fairetourner des algorithmes en parallèle, ilest acontrario limité en termes de flexibilité d'exécution. C'est en fait la combinaison de ces différentes unités de calcul, avec ces caractéristiques qui leur sont propres, qui rend les nouveaux PAC/ API et contrôleurs embarqués si prometteurs pour simplifier les sous-systèmes.

Nombre réduit de contrôleurs grâce aux modèles de dernière 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 que le 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 de limitation àunalgorithme de régulation PID (Proportionnel Intégral Dérivé) plus avancé.Dans les machinescom-plexes comprenant plusieurs sous-systèmes, ce contrôleur de températureest un élément séparé sur une carte électronique personnalisée qui communique en retour avec le contrôleur principal via un busdecommu-nication.Au lieu de devoir réaliser une carte électronique spécialement conçue pour une application, les concepteurs vont pouvoir utiliser les contrôleurs embarqués de nouvelle génération afin de tirer parti d'un cœur unique et polyvalent. Ceci va les aider à simplifier les machines en utilisant un nombre plus réduit de contrôleurs conçus et reconfigurables par logiciel, permettant par là même 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-routines” plutôt que de“sous-contrô-leurs” ( voir figure ci-contre ). Quant au matériel, de nombreux sous-contrôleurs utilisent déjà des entrées/sorties (E/S) modulaires, et les capacités avancées des nouveaux contrôleurs embarqués concourent à refréner le besoin de recourir à des conceptions matérielles FPGA/ASIC personnalisées.

Le contrôleur cRIO-9068 de National Instruments (à droite sur la photo) dispose d'une unité de calcul basée sur le circuit SoC (système sur puce) Zynq de Xilinx, un composant qui rassemble, sur une seule et même puce, à la fois des cœurs de calcul à virgule flottante (signés ARM), un circuit FPGA (réseau logique programmable) et des DSP (processeurs de signaux numériques).

NI

Prenons l'exemple d'une scie laser utilisée dans le procédé de fabrication de tranches de silicium. Ces machines comportent plusieurs sous-systèmes interconnectés intégrant chacun son propre contrôleur pour assurer le contrôle de la température, le contrôle du laser, les entrées analogiques haute vitesse avec traitement en ligne, sans oublier un PC de supervision doté d'une interface homme-machine. Comme un framework de communication avec le système de contrôle central est nécessaire pour tous les sous-contrôleurs, les concepteurs de machines doivent développer une conception spécifique pour chaque sous-système. Mais grâce aux contrôleurs de dernière génération dotés de diverses unités de calcul, les intégrateurs peuvent réunir plusieurs de ces sous-systèmes au sein d'un seul et même équipement matériel 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, et 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. Il est désormais plus intuitif de concevoir ces systèmes avec des contrôleurs embarqués tout-en-un,là où la conception personnalisée de puces ASIC ou FPGA/ DSP était autrefois nécessaire. Pour ce qui est des moteurs, les mesures de maintenance prédictive sur les équipements en rotation incluent des calculs d'écarts quadratiques moyens et de transformées de Fourier rapides. Ces algorithmes consomment d'importantes ressources processeur, ce qui laisse peu de temps au processeur pour effectuer d'autres tâches et limite les capacités du contrôleur, voire même 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, d'autant plus que les FPGA gèrent plus efficacement les processus multiples. Bien que les FPGA contiennent un espace mémoire de taille fixe, ils ont la capacité quasi illimitée d'ajouter des processus parallèles dans cet espace. Pour reprendre l'analogie précédente, 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é.

Les efforts de conception se déplacent au niveau du logiciel

Alors qu'une partie des efforts de conception se déplace au niveau du logiciel, il est important de disposer d'outils logiciels permettant de tirer parti de la technologie de traitement disponible.Lanorme de programmation la plus courante pour les PAC/API est estampillée IEC 61131. Il s'agit d'un langage abstrait essentiellement destiné aucontrôle/ commande de processus numériques séquentiels, mais qui n'est pas conçu pour permettre une programmation avancée, ni un déploiement sur des cibles FPGA/DSP.Un grand nombre deconcepteurs de systèmes de contrôle/commande avancés envisagent l'utilisation d'un langage de programmation standard tel que le Cpour la conception de systèmes embarqués.Bien que le Cprenne en charge pratiquement toutes les tâches ou cibles de traitement,il s'agit d'un langage bas niveau qui nécessite de l'expertise et du temps pour mettre enœuvre les pro-grammes.Ilexiste d'autres environnements de programmation, àmi-chemin entre ces deux extrêmes.C'est typiquement le cas du logiciel de conception graphique de systèmes NI LabVIEW qui peut simplifier le processus deprogrammation en intégrant de façon transparente la gestion de la mémoire, la création de threads et la gestion de plusieurs cœurs de calcul, tout en offrant un accès bas niveau àcertains éléments d'entrée/sortie et de traitement sur le cœur de calcul ou la cible FPGA.

Version temps réel de Linux

Indépendamment de la syntaxe delapro-grammation, il est essentiel de garantir aux développeurs l'accès àces technologies afin de relever des défis deplus en plus complexes tels que l'évolution des normes et la pressionpourinnoverplus viteetàmoindre coût.Endéfinitive, ces nouvelles unités de calcul ne sont avantageuses pour les développeurs que s'il existe des moyens de les programmer.Etplus le contrôleur embarqué est ouvert, et plus il est facile pour les concepteurs de réduirelenombredesous-systèmes d'une machine complexe. Par exemple,les PAC/API dotés de modules qui mesurent des signaux analogiques et intègrent 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é. Qui plus est, lorsque ces composants arrivent en fin de vie,ilpeut êtredifficile de répliquer exactement les algorithmes, ce qui peut donner lieu àdenombreux problèmes.Cen'est pas le cas avec le nouveau contrôleur cRIO-9068 qui permet aux concepteurs d'accéder au processeur àvirgule flottante,mais aussi àla puce FPGA et aux différents DSP.L'ouverture va jusqu'au système d'exploitation qui est une version temps réel de Linux. Grâce à Internet, les développeurs peuvent ainsi tirer parti de la vaste communauté Linux pour mettreenœuvreune machine plus rapidement et avec moins de ressources. Enplus des applications Linux prêtes àl'emploi, les concepteurs peuvent réutiliser du code en langage Ccar le nouveau processeur supporte les applications développées avec LabVIEW mais aussi avec Eclipse.Avec ce système offrant le meilleur des deux mondes, les utilisateurs peuvent ainsi déployer des logiciels existants sur les matériels les plus récents avec peu de contraintes.

Copy link
Powered by Social Snap