E/S d’extension pour les systèmes LabVIEW RIO : Une comparaison approfondie

Aperçu

Les produits d’E/S reconfigurables (RIO) de NI sont utilisés dans des applications système qui nécessitent un contrôle haute vitesse en boucle fermée avec des mesures haute précision sur une plate-forme de développement flexible. Il arrive que ces applications aient besoin d’un plus grand nombre de voies ou d’une architecture plus distribuée que ce que le système de base est à même d’offrir. Les systèmes d’extension d’E/S permettent une topologie de système 1 à N avec un contrôleur et « N » FPGA (Field-Programmable Gate Arrays) et nœuds d’E/S pour des systèmes flexibles à grand nombre de voies qui peuvent effectuer à la fois un contrôle distribué et un traitement personnalisé. 

Contenu

Tout commence par le bus

Les besoins en systèmes à grand nombre de voies sont divers, et la plate-forme d’E/S d’extension de National Instruments offre une gamme complète de produits pour répondre aux besoins variés de ces systèmes. La principale différence entre les options d’E/S d’extension réside dans le bus qui sépare les E/S du processeur, comme le montre la Figure 1.  Chaque bus présente des avantages uniques qui en font la solution idéale pour un sous-ensemble d’applications d’E/S d’extension.

Figure 1. Les E/S d’extension séparent le processeur des E/S. Chaque option d’extension implémente un bus de communication différent entre les deux et convient à différents domaines d’application.

Comparaison des extensions pour les châssis CompactRIO

Chaque option d’E/S d’extension est basée sur un bus de communication unique (MXI-Express, Ethernet, EtherCAT ou sans fil) qui détermine certaines fonctionnalités du système. Le tableau 1 résume les principales différences entre chaque option d’E/S d’extension.

 

 

MXI

Utilisez ce châssis d’extension hautes performances pour des applications à grand nombre de voies.

Ethernet

Ajoutez des E/S FPGA n’importe où sur votre réseau Ethernet.

EtherCAT

Utilisez des E/S déterministes par EtherCAT pour des applications distribuées.

 
Nombre d’E/S8 ou 14 emplacements de la Série C4 ou 8 emplacements de la Série C8 emplacements de la Série C 
FPGAVirtex-5 (LX50/LX85/LX110)Artix-7/Spartan 2M/Spartan 6 (LX45)Spartan 2M 
Topologie de réseauEn cascade ou en étoileIdentique à l’EthernetEn cascade ou en étoile 
Distance7 m entre les châssis100 m avant le hub100 m avant le répétiteur 
Synchronisation de plusieurs matérielsE/S numériques FPGAE/S numériques FPGAIntrinsèque au bus 
Jitter de communication<10 μsAucune spécification<1 μs 
Débit du bus250 Mb/s25 Mb/s12,5 Mb/s 
Support d’APIInterface hôte FPGAInterface hôte FPGA/RSIRSI 
HôteWindows et LV Real-TimeWindows et LV Real-TimeLV Real-Time uniquement 

Tableau 1. Comparaison des principales fonctionnalités d’E/S d’extension

 

RIO MXI-Express

Le châssis d’extension RIO MXI-Express offre une solution hautes performances pour les applications qui nécessitent un transfert rapide des données, un grand nombre de voies, des E/S avec conditionnement de signaux mixtes, ainsi que des algorithmes personnalisés de traitement du signal et de contrôle. Chaque châssis RIO MXI-Express prend en charge 8 ou 14 modules d’E/S de la Série C et fournit un FPGA Virtex-5 LX50, LX85 ou LX110 de premier ordre. Les châssis peuvent être connectés en cascade jusqu’à six châssis et communiquent avec un contrôleur hôte via une liaison PCI Express x1 câblée pour un débit 20 fois supérieur à celui des châssis d’extension RIO Ethernet ou EtherCAT. Cette liaison MXI-Express permet de se connecter à une variété de systèmes hôtes, y compris les contrôleurs multicœurs NI CompactRIO et les contrôleurs PC, PXI et industriels double cœur et quadricœur exécutant NI LabVIEW Real-Time ou Windows. Les systèmes RIO MXI-Express sont parfaitement adaptés aux tests HIL (Hardware-in-the-loop), à la surveillance de l’état des machines industrielles, au son et aux vibrations, ainsi qu’aux applications de recherche complexes, telles que celles rencontrées en physique de haut niveau.

RIO Ethernet

Vous pouvez utiliser le châssis RIO Ethernet robuste à 4 ou 8 emplacements pour ajouter des E/S distribuées compatibles FPGA à n’importe quel réseau Ethernet. Grâce à la flexibilité des câbles standard CAT-5, vous pouvez connecter les systèmes RIO Ethernet à presque tous les hôtes prenant en charge Ethernet, y compris NI CompactRIO, les contrôleurs PXI temps réel et le contrôleur industriel NI. Vous pouvez également connecter des systèmes d’extension RIO Ethernet à des ordinateurs sous Windows pour créer un réseau flexible et hautement distribué d’E/S avec conditionnement de signaux mixtes compatibles FPGA. Grâce au FPGA embarqué, vous pouvez mettre en place des applications personnalisées d’analyse de signaux, de contrôle et de sécurité propres à chaque châssis, créant ainsi un système vraiment modulaire. Les systèmes RIO Ethernet sont parfaitement adaptés aux applications dans lesquelles la facilité d’utilisation, le coût et la flexibilité sont des préoccupations majeures. Ces applications incluent la surveillance distribuée pour les mesures point par point telles que la température et le débit.

RIO EtherCAT

RIO EtherCAT (Ethernet Control Automation Technology) est un châssis esclave à 8 emplacements qui instaure une communication sur Ethernet avec le protocole EtherCAT déterministe. RIO EtherCAT vous permet d’ajouter des E/S FPGA à votre système d’E/S distribuées ou à grand nombre de voies, avec un degré défini de déterminisme et de synchronisation. RIO EtherCAT vous permet de connecter en cascade plusieurs périphériques esclaves à partir d’un seul maître et de synchroniser les E/S sur une seule horloge maître. RIO EtherCAT est mieux adapté aux applications de contrôle et de commande d’axes monopoint et distribuées qui nécessitent un déterminisme élevé sur plusieurs châssis synchronisés. Les clients utilisent RIO EtherCAT pour la surveillance structurelle de turbines éoliennes, de bancs de test synchronisés et d’applications de contrôle déportées.

Nombre d’E/S

MXI-Express, Ethernet et EtherCAT

Les systèmes RIO MXI-Express, RIO Ethernet et RIO EtherCAT peuvent se connecter à tout type de capteur sur n’importe quel bus grâce aux modules d’E/S de la Série C. Les E/S sont directement disponibles sur le FPGA, où vous pouvez implémenter le traitement du signal en série, le cadencement personnalisé, le déclenchement spécialisé et le contrôle en boucle fermée. Chaque module d’E/S de la Série C intègre un conditionnement de signaux et des connecteurs par bornier à vis, BNC ou Sub-D. Il existe actuellement plus de 100 modules NI et tiers de la Série C disponibles pour différentes mesures, dont celles de thermocouples, de tension, de RTD, de courant, de résistance, de contrainte, numériques (TTL et autres), d’accélération et de microphones. Le nombre de voies d’un module individuel varie de 3 à 32, pour répondre à une large gamme d’exigences système.

FPGA

MXI-Express, Ethernet et EtherCAT

Si les FPGA rencontrent un tel succès dans tous les secteurs, c’est parce qu’ils combinent les meilleures caractéristiques des ASIC (Application-Specific Integrated Circuits) et des systèmes basés processeur. Ainsi, ils offrent un cadencement par matériel qui allie vitesse et fiabilité, mais sont plus rentables que les ASIC personnalisés.

Les circuits reprogrammables jouissent également de la même souplesse d’exécution logicielle qu’un système basé processeur, mais ils ne sont pas limités par le nombre de cœurs de traitement disponibles. Contrairement aux processeurs, les FPGA sont intrinsèquement parallèles, de sorte que plusieurs opérations de traitement différentes ne se trouvent pas en concurrence en ce qui concerne l’utilisation des ressources. Chaque tâche de traitement indépendante est affectée à une section spécifique du circuit et peut donc s’exécuter en toute autonomie sans dépendre aucunement des autres blocs logiques. En conséquence, vous pouvez accroître le volume de traitement effectué sans que les performances d’une partie de l’application n’en soient affectées pour autant.

 ChâssisFPGAPortesBascules bistablesLUTMultiplieur

Bloc RAM 

(kbit)

Ethernet       
NI 9149Artix-7--106 40053 2002204480
NI 9148Spartan-3 20002 millions40 96040 96040720
NI 9147Artix-7--106 40053 2002204480
NI 9146Spartan-6 LX45--54 57654 576582088
EtherCAT      
NI 9144Spartan-3 20002 millions40 96040 96040720
MXI-Express      
NI 9159Virtex-5 LX110--69 12069 120644608

 NI 9157,

NI 9155

Virtex-5 LX85--51 84051 840483456
NI 9154Virtex-5 LX50--28 80028 800481728

Tableau 2. Voir les FPGA utilisés dans les produits d’extension d’E/S reconfigurables (RIO).

 

Topologie de réseau

RIO MXI-Express

Avec le RIO MXI-Express, vous pouvez utiliser des configurations en étoile ou en série. Le nombre de châssis possible dépend du système, mais, en général, vous pouvez mettre en série jusqu’à six châssis. Le nombre total de châssis dans une configuration en étoile dépend des segments du bus PCI disponibles dans le contrôleur hôte, avec plus de 40 châssis possibles sur un seul et unique contrôleur.

RIO EtherCAT

La limite théorique des périphériques pour un réseau EtherCAT est de 65 535 esclaves et le même nombre est possible avec Fast Ethernet (100 Mbit/s). Le facteur restrictif réel dans le nombre maximum de matériels autorisés dans ce système est le nombre de voies d’E/S que vous déployez, la vitesse du contrôleur, et l’application que vous exécutez.

Notez que tous les châssis réunis dans une chaîne en série partagent le même « canal » qui les relie au contrôleur hôte au moment de configurer un système et de calculer les besoins de la cadence. En outre, la vitesse de la boucle est affectée par le nombre de matériels et les données sur le bus, à mesure que chaque châssis et câble ajoute de la latence au système.

Distance

 

RIO MXI-Express est limité à des distances de 7 m entre les châssis sur le bus. Les châssis esclaves RIO Ethernet et EtherCAT supportent tous deux jusqu’à 100 m avant de nécessiter un concentrateur, un commutateur ou un répéteur entre les périphériques.

Remarque : Pour étendre la portée d’un réseau EtherCAT, vous devez utiliser un périphérique compatible EtherCAT ; un commutateur Ethernet normal n’est pas compatible avec un réseau EtherCAT. 

Synchronisation de plusieurs matériels

Le cadencement et la synchronisation permettent la corrélation ou la coordination des événements dans les temps impartis, ce qui fait partie intégrante de bon nombre d’applications de contrôle et de mesure, en particulier lorsque le nombre de voies évolue.

RIO MXI-Express et RIO Ethernet

Les châssis RIO MXI-Express et RIO Ethernet ne prennent pas en charge la synchronisation native sur le bus de communication (MXI-Express et Fast Ethernet, respectivement). Le partage d’horloge ne s’intègre pas dans l’architecture du bus et le retard occasionné par des paquets perdus ou une collision due à la topologie du réseau n’est pas pris en compte (la communication entre les nœuds du système est asynchrone). Cependant, tous les modules d’un seul et unique châssis peuvent être synchronisés car ils partagent le fond de panier du châssis, et plusieurs châssis RIO MXI-Express ou RIO Ethernet peuvent être synchronisés à l’aide d’un module d’E/S numériques de la Série C pour distribuer un signal d’horloge de référence entre les châssis.  

RIO EtherCAT

RIO EtherCAT est synchronisé automatiquement sur d’autres parties du système car la norme de communication du bus EtherCAT définit une horloge du système maître qui sert de référence à tous les matériels présents sur le réseau. Cela fait du bus EtherCAT une option idéale pour les systèmes qui nécessitent une synchronisation étroite (moins d’une microseconde) ainsi qu’un déterminisme accru.

Jitter de communication

Cette spécification fait référence au jitter introduit uniquement par le bus de communication. La principale source de jitter dans un système est généralement associée au contrôleur plutôt qu’au bus de communication (en particulier s’il s’agit d’un contrôleur Windows). De plus, le jitter d’un système dépend de l’architecture du système et du nombre de châssis que les données doivent négocier dans une chaîne en série pour atteindre l’hôte. 

La communication déterministe est importante dans les applications où la communication de données entre les nœuds de calcul temps réel distribués fait partie intégrante de la boucle de contrôle. Cela signifie que tout jitter induit par le réseau aboutit à un jitter pour la boucle de contrôle. Le jitter acceptable de la boucle de contrôle dépend du système en question, mais une gamme standard est de ±10 pour cent du temps de la boucle de contrôle. Dans le cas d’une boucle de contrôle de 1 kHz, cela signifie que chaque itération peut s’exécuter entre 900 et 1100 μs et que le système répond toujours de manière appropriée. 

Le jitter de communication pour RIO MXI-Express et RIO EtherCAT est inférieur à 10 microsecondes et à une microseconde, respectivement. Les matériels RIO Ethernet n’ont pas de spécification pour le jitter. En effet, Fast Ethernet et la transmission sans fil ne sont pas des méthodes déterministes de transfert de données.

Débit du bus

RIO MXI-Express fournit le plus grand canal de communication au contrôleur avec une bande passante théorique maximale de 250 Mo/s, contre 25 Mo/s pour RIO Ethernet et 12,5 Mo/s pour EtherCAT. Gardez à l’esprit que les performances du bus ne dépendent pas uniquement de la bande passante théorique maximale du bus ; tenez compte de facteurs tels que la latence, l’implémentation, les spécifications d’alimentation et votre application en plus de la bande passante. Pour les applications à haut débit, RIO MXI-Express est la meilleure option.  Les capacités de débit de RIO Ethernet et de RIO EtherCAT sont suffisantes pour la plupart des applications de contrôle et de surveillance.

API

Une API, ou interface de programme d’application, est un ensemble de sous-programmes utilisés comme blocs de construction pour les applications logicielles. Il existe deux méthodes de programmation de cibles d’E/S d’extension : Mode de balayage CompactRIO ou l’API d’interface hôte LabVIEW FPGA.

Vous pouvez utiliser le mode de balayage CompactRIO (également appelé Interface de balayage RIO ou RSI) sur le châssis EtherCAT et Ethernet. Le « Scan Mode » (mode de balayage) du CompactRIO permet de détecter automatiquement vos modules d’E/S et de les ajouter dans un Projet LabVIEW. Vous pouvez ensuite « glisser-déposer » les variables d’E/S dans vos diagrammes LabVIEW Real-Time et VIs hôtes, puis lire et écrire instantanément les données d’E/S calibrées et mises à l’échelle, sans aucune programmation ni compilation FPGA. 

Figure 2. Utilisation du mode de balayage CompactRIO

Si vous souhaitez programmer directement le FPGA, utilisez le module LabVIEW FPGA. Une fois que vous avez écrit votre VI FPGA, il est compilé en flux de bits et déployé sur le FPGA. Pour communiquer avec le FPGA depuis votre application hôte, utilisez l’API d’interface hôte LabVIEW FPGA. Cela vous permet d’exécuter des fonctions telles que la lecture et l’écriture dans les registres, et les transferts DMA.

Notez qu’avec le châssis EtherCAT, vous pouvez utiliser uniquement des variables d’E/S définies par l’utilisateur pour communiquer entre le VI temps réel du contrôleur et le VI FPGA du châssis d’extension. (Les variables d’E/S définies par l’utilisateur servent à synchroniser les données FPGA avec le Scan Engine de NI.) Cela signifie que pour le VI FPGA du châssis d’extension, vous n’avez pas d’interface hôte FPGA, de fonctions de transfert DMA ni de mise au point de face-avant.

Vous ne pouvez utiliser l’API d’interface hôte LabVIEW FPGA que pour communiquer avec le RIO MXI-Express. 

Il existe aussi quelques restrictions quant aux types de modules de Série C compatibles avec chaque châssis, en fonction de la capacité des modules à supporter le Scan Mode de NI. Comme le RIO MXI-Express supporte uniquement LabVIEW FPGA, les modules qui reposent sur le Scan Mode de NI, comme les modules CAN NI 986x, ne sont pas compatibles avec le RIO MXI-Express. Pour obtenir une liste complète de la compatibilité des modules de la Série C, consultez le Tableau de compatibilité des modules NI de la Série C.

Contrôleurs hôtes

Les quatre options d’extension utilisent des bus différents et nécessitent donc des connexions différentes du côté du contrôleur.

RIO MXI-Express

Le RIO MXI-Express nécessite une interface MXI-Express avec le système hôte : les options incluent les contrôleurs CompactRIO, PXI ou industriels multicœurs, ainsi que les PC exécutant Windows ou un système d’exploitation temps réel dotés d’une interface PCI MXI-Express. Vous pouvez utiliser un adaptateur ExpressCard MXI-Express pour connecter le châssis RIO MXI-Express aux contrôleurs qui n’ont pas encore d’interface MXI-Express, mais qui intègrent un emplacement ExpressCard, tel que le NI PXIe-8115. Vous pouvez également utiliser l’interface MXI-Express de NI PXIe-8364 pour connecter un RIO MXI-Express à votre système PXI. Vous pouvez utiliser un MXI-Express vers un adaptateur PCI ou PCI Express afin de connecter le RIO MXI-Express à un PC.  

RIO Ethernet

Le RIO Ethernet peut s’enficher dans n’importe quel système doté d’un port Ethernet, et peut s’utiliser avec la plupart des topologies de réseau standard. Pour connecter directement le RIO Ethernet au port Ethernet secondaire d’un contrôleur temps réel, reportez-vous à Connecter un châssis d’extension RIO Ethernet au port Ethernet secondaire d’un contrôleur temps réel. Les châssis RIO Ethernet 9149 et 9147 incluent également un port USB pour faciliter la configuration des périphériques. Cependant, ce port n’est pas conçu pour être utilisé à la place du port Ethernet. 

RIO EtherCAT

Le châssis RIO EtherCAT est compatible avec tous les contrôleurs temps réel dotés de deux ports Ethernet, dont le CompactRIO, le PXI et les plates-formes de contrôle industriel. Notez que pour l’EtherCAT, si un contrôleur PXI temps réel ne dispose pas de deux ports Ethernet, vous devez inclure une interface Ethernet NI PXI-8231/8232 (l’interface Ethernet NI 8234 n’est pas compatible), qui est supportée uniquement sur les contrôleurs temps réel. Il vous faut aussi le driver NI-Industrial Communications for EtherCAT, et le second port Ethernet doit être en mode « EtherCAT ».