Technologies de contrôle d'instruments pour tous les bus et pour tous les langages
Overview
Quels que soient vos besoins en matière d'application de test et de mesure, vous devez vous appuyer sur des technologies de contrôle d'instruments qui vous permettent de vous connecter et de contrôler vos instruments par l'intermédiaire de n'importe quel bus matériel et en utilisant n'importe quel langage de programmation de logiciels. Vous devriez pouvoir optimiser vos choix de bus matériel indépendamment, sans observer d'effet secondaire sur votre sélection de langage de programmation et vice versa. Ainsi, le point clé du développement d'applications de contrôle d'instruments fiables, durables et hautes performances est constitué par du matériel et des logiciels flexibles et évolutifs qui permettent un contrôle transparent de tout instrument dans votre application. Ce tutorial présente les différentes options disponibles, vous aidant à sélectionner le matériel et les logiciels les plus adaptés pour votre application.
Table of Contents
Technologie de bus matériel
Le terme contrôle d'instruments fait référence à l'utilisation de logiciels sur PC pour commander un instrument à distance, par un bus de contrôle d'instruments. Les instruments eux-mêmes offrent souvent au moins une option de bus pour leur contrôle et les PC offrent également bien souvent plusieurs choix de bus de contrôle d'instruments. Lorsqu'un PC n'intègre pas nativement le bus qui est disponible sur l'instrument, il peut bien souvent être ajouté sous la forme d'une carte enfichable ou d'un convertisseur externe. Il existe de nombreux bus pouvant être utilisés pour contrôler un instrument. Ils peuvent être répartis en deux catégories générales :
- Les bus autonomes sont utilisés pour communiquer avec une baie et une pile d'instruments. Ils comprennent des bus autonomes spécifiques au test et à la mesure, comme le GPIB et des bus standards sur PC, comme les bus série (RS-232), Ethernet, USB, sans fil et IEEE 1394. Certains bus autonomes peuvent être utilisés comme moyen de proposer d'autres bus autonomes, tel qu'un convertisseur USB-vers-GPIB.
- Les bus modulaires intègrent le bus d'interface à l'intérieur de l'instrument lui-même. Les bus PCI, PCI Express, VXI et PXI font partie de cette catégorie. Ils peuvent également être utilisés comme moyen d'ajouter un bus autonome à un PC qui n'en intègre pas, tel qu'une carte de contrôle PCI-GPIB.
Bus autonomes
GPIB
Le bus GPIB (General Purpose Interface Bus) est l'une des interfaces d'E/S les plus répandues parmi les instruments autonomes. Le GPIB a été spécialement conçu pour les applications de contrôle d’instruments, de test et de mesure. Conçu à l'origine par Hewlett Packard (prédécesseur d'Agilent Technologies) dans les années 1960 sous le nom de HP-IB, le GPIB a été normalisé en 1975 en tant que standard IEEE 488-1975. Le standard de départ qui normalise ce bus définit ses spécifications électriques, mécaniques et fonctionnelles, tout en établissant ses règles de communication logicielle élémentaires. La norme IEEE/ANSI 488.2-1987 renforce le standard original en définissant précisément la manière dont les contrôleurs et les instruments communiquent par GPIB (le standard original a été renommé IEEE 488.1-1975). En 2003, une mise à jour de la spécification originale, la version IEEE 488.1-2003, a été publiée : elle définit un mode de transfert de données haute vitesse. Le GPIB est une interface de communication numérique parallèle 8 bits qui permet un transfert de données jusqu'à 8 Mbit/s. Le bus permet d'associer jusqu'à 14 instruments à un contrôleur système et le câblage est limité à moins de 20 m. Les utilisateurs peuvent dépasser ces deux limitations en utilisant des expandeurs GPIB ou des extensions. Les câbles et les connecteurs GPIB sont polyvalents et sont classés industriellement, pour une utilisation dans n'importe quel environnement.
Sans être un bus industriel sur PC, il y est rarement disponible nativement. À la place, les utilisateurs ajoutent habituellement un matériel enfichable, comme une interface PCI-GPIB, un convertisseur externe tel que le GPIB-USB, pour adjoindre des fonctionnalités de contrôle d'instruments GPIB à leurs PC.
Série (RS-232)
Le RS-232 est une spécification de communication série et il constitue la déclinaison la plus répandue du bus "série" dans son sens traditionnel. Le RS-232 est répandu parmi les instruments analytiques et scientifiques. Il est couramment utilisé pour commander des modems et des imprimantes. Contrairement au GPIB, l’interface RS-232 permet de connecter et de contrôler un seul matériel à la fois. Le RS-232 est également une interface relativement lente, avec des vitesses de transfert inférieures à 20 kbit/s (bien qu'il existe des produits capables d'atteindre des débits plus élevées).
Le RS-232 est un bus PC courant qui est trouvé sur la plupart des vieux modèles de PC portables ou de bureau. Il est possible d'acheter des produits série offrant un port supplémentaire, ou plus, par l'intermédiaire d'une carte PCI enfichable ou d'un convertisseur USB externe, par exemple.
USB
Le bus série universel (USB) a été conçu au départ pour connecter des périphériques, tels que des claviers, des souris, des scanners et des lecteurs de disques, au PC. Ces dernières années, le nombre de matériels dotés d'une connectivité USB a considérablement augmenté. L'USB est une technologie Plug-and-Play qui permet à l'hôte USB de détecter automatiquement l'ajout d'un nouveau matériel, de requérir l'identification de ce matériel et de configurer les drivers matériels de manière appropriée. Jusqu'à 127 matériels peuvent fonctionner de manière concurrente sur un port, connectés par des concentrateurs (hubs). L'USB est défini par un organisme de normalisation dénommé USB-IF (USB Implementers Forum). La spécification de départ USB 1.1 (USB 1.0 avec quelques corrections mineures) définissait deux modes et vitesses de transfert de données : basse vitesse avec des débits atteignant 1,5 Mbit/s (200 Ko/s) au maximum et haute vitesse avec un débit maximum de 12 Mbit/s (1,5 Mo/s). La toute dernière spécification de l'USB, l'USB 2.0, est entièrement compatible avec les matériels haute et basse vitesses, mais il définit un nouveau mode Hi-Speed capable de vitesses de transfert de données jusqu'à 480 Mbit/s (60 Mo/s).
Bien que l'USB soit conçu au départ pour être un bus pour périphériques de PC, sa vitesse, sa large disponibilité et sa facilité d'utilisation font de lui un bus attractif pour une utilisation dans les applications de contrôle d'instruments. Toutefois, il présente certains inconvénients pour son utilisation dans ce domaine. D'abord, les câbles USB ne sont pas classés pour l'industrie et peuvent générer des pertes de données potentielles en environnement bruyant. De plus, il n'existe pas de mécanisme de fixation des câbles USB : ils peuvent être retirés du PC ou de l'instrument relativement facilement. Également, la longueur de câble maximum dans les systèmes USB est de 30 m, en incluant l'utilisation de répéteurs en ligne.
Ethernet
L'Ethernet est une technologie mature qui est largement utilisée pour les systèmes de mesure pour ses autres capacités, comme la mise en réseau générale et le stockage de données à distance. Avec plus de 100 millions de PC dotés de capacités Ethernet dans le monde, l'Ethernet offre aussi une option attractive pour le contrôle d'instruments. L'Ethernet est défini par le standard IEEE 802.3 et propose des configurations réseau qui supportent des vitesses de transfert de données théoriques de 10 Mbits (10BASE-T), 100 Mbit/s (100BASE-TX) et 1 Gbit/s (1000BASE-T). Actuellement, les réseaux les plus courants sont des réseaux 100BASE-TX. Les applications de contrôle d'instruments par Ethernet peuvent tirer parti des caractéristiques uniques du bus, dont le contrôle à distance des instruments, le partage d'instruments simplifié et une publication facile des résultats. De plus, les utilisateurs bénéficient des avantages des vastes réseaux Ethernet existants dans leur entreprise ou dans les laboratoires. Cependant, cet avantage peut poser un problème dans certaines entreprises où il oblige à impliquer les administrateurs réseau dans les applications techniques traditionnelles.
Les vitesses de transfert actuelles, le déterminisme et la sécurité représentent d'autres inconvénients de l'Ethernet en tant que bus de contrôle d'instruments. Bien que les réseaux Ethernet puissent atteindre une vitesse de transfert théorique de 1 Gbit/s, ces vitesses ne sont que rarement obtenues sur un réseau réel en raison du trafic réseau externe et de l'inefficacité du transfert de données. De plus, en raison de l'incertitude des vitesses de transfert, le déterminisme n'est pas assuré dans les communications par Ethernet. Enfin, les utilisateurs de données sensibles doivent prendre des mesures de sécurité supplémentaires pour assurer l'intégrité et la confidentialité des données.
Sans fil
La technologie sans fil est en croissance rapide sur le marché parce qu'elle constitue un moyen pratique d'interconnecter des matériels. La technologie commerciale la plus largement disponible est l'Ethernet sans fil (le standard IEEE 802.11, également dénommé Wi-Fi [Wireless Fidelity]). L'IEEE 802.11 inclut plusieurs sous-standards (802.11a, 802.11b et 802.11g), qui définissent la bande de fréquences de fonctionnement, la distance de fonctionnement et la vitesse de transmission des connexions sans fil. Les spécifications 802.11b & g sont compatibles entre-elles, mais pas avec la version 802.11a. Les vitesses de transfert de données maximum sont de 54 Mbit/s pour le 802.11g & a. En général, la technologie sans fil peut être appliquée au contrôle d'instruments parce que, bien qu'elle souffre des mêmes problèmes de sécurité que l'Ethernet (avec des problèmes supplémentaires dus à la nature sans fil de la connexion), elle offre le côté pratique du contrôle à distance sans nécessiter de câblage.
D'autres technologies sans fil sont disponibles sur le marché ou sont en développement : Bluetooth, ZigBee et USB sans fil, par exemple. Bien qu'elles sortent du cadre de ce tutorial, elles peuvent constituer une alternative pour se connecter sans fil aux instruments.
Le FireWire, ou IEEE 1394, est un bus série haute performance développé à l’origine par Apple Computer au début des années 1990. Le standard de base permet d'atteindre des vitesses jusqu'à 400 Mbit/s, et la révision b de la spécification accroît cette vitesse de transfert à 3,2 Gbit/s. Si la distance entre les matériels sur le bus ne doit pas excéder 4,5 m pour respecter les spécifications, on peut relier jusqu’à 16 matériels en cascade sur une longueur maximum de 72 m. L’IEEE 1394 est cependant loin d’être la solution idéale pour les applications de test et mesure. Par exemple, les câbles 1394 ne sont pas classés industriellement ; de plus, le mode isochrone permet à ce bus de garantir la bande passante mais pas l'absence de perte de données ; enfin, le test des applications montre que les transferts des données 1394 sont très inférieurs à leurs valeurs théoriques. De plus, le FireWire n'est pas l'idéal pour le contrôle d'instruments, parce qu'au contraire de l'USB et de l'Ethernet, il n'est pas largement disponible sur les PC et très peu d'instruments le supportent.
Bus modulaires
PCI
Le bus PCI est apparu au début des années 1990. L'un de ses buts était d'unifier la multitude de bus d'E/S disponibles alors sur les PC, comme les bus locaux VESA, EISA, ISA et Micro Channel. Le PCI a d'abord été implémenté en tant qu'interconnexion circuit-à-circuit et que remplacement du bus ISA fragmenté. Le bus PCI a apporté de nombreux avantages par rapport aux implémentations précédentes de bus. Les plus importants d'entre-eux sont l'indépendance par rapport au processeur, l'isolation en mémoire tampon, la maîtrise de bus et un fonctionnement réellement Plug-and-Play. L'isolation en mémoire tampon isole essentiellement, électriquement et par domaine d'horloge, le bus local du processeur du bus PCI. Grâce à la maîtrise de bus, les matériels PCI peuvent obtenir un accès au bus PCI via un processus d'arbitrage et ils maîtrisent la transaction du bus directement, au lieu d'attendre que le processeur hôte serve le matériel, ce qui se traduit par une réduction de la latence globale du service des transactions d'E/S. Enfin, le fonctionnement Plug-and-Play permet une détection et une configuration automatiques des matériels, en éliminant le paramétrage manuel des adresses de base et des interruptions DMA par des commutateurs ou par des cavaliers, ce qui gênait les utilisateurs des cartes ISA. Le bus PCI n'est pas utilisé de manière classique directement pour le contrôle d'instruments, mais en tant que bus de périphériques, afin de connecter des matériels GPIB ou série pour le contrôle d'instruments. En raison de sa large bande passante, le PCI est également utilisé comme bus de transport pour les instruments modulaires, où le bus d'E/S est intégré dans le matériel de mesure.
PXI
Le PXI (PCI eXtensions for Instrumentation) est une plate-forme durcie sur PC, destinée aux systèmes de mesure et d'automatisation. Le PXI allie les fonctionnalités électriques du bus PCI au boîtier Eurocard durci et modulaire du CompactPCI, et ajoute des bus de synchronisation spécialisés et des fonctionnalités logicielles majeures. Cela fait de lui une plate-forme de déploiement hautes performances et économique, destinée aux systèmes de mesure et d'automatisation. Ces systèmes servent des applications telles que le test de production, les applications aéronautiques, aérospatiales et de défense, de surveillance industrielle, automobiles et de test industriel. Développé en 1997 et publié en 1998, le PXI est un standard industriel ouvert, destiné à satisfaire la demande croissante en matière de systèmes d'instrumentation complexes. Désormais, le PXI est administré par le groupe PXISA (PXI Systems Alliance), qui comprend plus de 65 entreprises ayant signé une charte et qui promeut le standard PXI, assure l'interopérabilité et maintient la spécification PXI. Le PXI est largement utilisé en tant que plate-forme d'instrumentation modulaire qui offre une alternative attractive à l'instrumentation autonome traditionnelle, via des matériels de mesure hautes performances dotés de ressources de cadencement et de synchronisation intégrées.
PCI Express
Au fur et à mesure que les applications PC deviennent de plus en plus consommatrices de bande passante, le bus PCI atteint ses limites physiques dans de nombreuses situations. Le résultat est que le PCI-SIG, l'organisme de normalisation qui définit le PCI, a présenté le PCI Express. Ses principaux buts sont de fournir une interface économique évolutive qui serve divers marchés et qui offre une compatibilité logicielle avec les drivers et les logiciels existants pour les cartes PCI. L'architecture PCI Express est spécifiée par couches. La compatibilité avec le modèle d'adressage PCI est maintenue pour faire en sorte que l'ensemble des applications et des drivers existants fonctionnent sans modification. La configuration PCI Express est basée sur des mécanismes standards définis dans les spécifications PCI Plug-and-Play. Les couches logicielles vont générer les requêtes de lecture et d'écriture qui sont transportées par la couche transaction vers les matériels d'E/S, grâce à un protocole à transaction partagée basé sur des paquets. La couche liaison ajoute des numéros de séquence et de CRC à ces paquets pour créer un mécanisme de transfert de données particulièrement fiable. La couche physique de base consiste en une double voie simplex implémentée en tant que paire de transmission et paire de réception. La vitesse initiale de 2,5 Gbit/s dans chaque direction offre une voie de communication à 200 Mo/s dans chaque direction, ce qui est proche du quadruplement de la vitesse de transfert classique du PCI. Comme le PCI, le PXI Express n'est pas utilisé directement pour le contrôle d'instruments de manière classique, mais en tant que bus périphérique afin de connecter des matériels GPIB aux PC pour le contrôle d'instruments. Mais en raison de sa très grande vitesse, le PCI Express peut être utilisé en tant que bus de transport pour les instruments modulaires.
VXI
Le VXIbus (VME eXtensions for Instrumentation) fut la première tentative de norme industrielle multifournisseur spécifique à l'instrumentation. Comme le nom le rappelle, le VXI est bâti sur le bus VME et sur un fond de panier VME. Il a été défini en 1987 puis ensuite normalisé en tant que standard IEEE 1155. Ses objectifs ont inclus une augmentation de l'interchangeabilité et de la cadence système, ainsi qu'une diminution de la taille et des coûts. Le VXI a retenu la méthodologie de communication GPIB et plus de 80 % des instruments VXI utilisent une communication basée messages. Le bus VXI a accompli des progrès majeurs qui lui ont permis d'atteindre certains de ses objectifs. Bien que toujours encombrant, les systèmes VXI ont pu réduire leur taille. Le VXI a également amélioré l'interopérabilité entre fournisseurs et il a défini une spécification électrique qui offre une synchronisation et un cadencement plus précis. Le bus VXI présente également quelques désavantages, dont le manque de norme logicielle, l'incapacité à obtenir une augmentation de la cadence système et une réduction de taille significatives, parce que le VXI n'exploite pas les technologies standards des PC.
Solutions matérielles de contrôle d'instruments
Quelque soit votre choix de bus de contrôle d'instruments, vous pourrez vous appuyer sur les solutions matérielles de contrôle d'instruments de National Instruments pour répondre à vos besoins. Il s'agit de produits destinés à communiquer avec certains instruments directement par GPIB ou par RS-232, ainsi que des produits qui permettent la connexion à ces instruments via des convertisseurs de bus. Il existe également des solutions logicielles qui permettent une connexion directe aux instruments par l'intermédiaire de bus PC. Enfin, les bus modulaires offrent un moyen d'allier le bus de communication et le matériel de mesure dans un seul matériel.
Bus autonomes
À l'origine, les instruments GPIB pouvaient être connectés via des cartes enfichables pour PC. Il s'agit par exemple des produits NI PCI-GPIB, NI PCIe-GPIB et NI PCMCIA-GPIB. Ils possèdent des drivers pour Windows, Linux et Mac OS X.
Les instruments série peuvent également être connectés via les ports série d'un PC. Cependant, comme la plupart des PC actuels n'incluent plus de port série, des cartes enfichables NI peuvent être achetées, comme celles Solutions matérielles de contrôle d'instrumentsde la famille NI PCI-843x.
Afin de connecter directement des instruments Ethernet ou USB via ces bus, les ports disponibles sur le PC et le driver NI-VISA peuvent être utilisés. Cependant, en raison de la lente adoption de ces nouvelles technologies de bus pour le contrôle d'instruments, l'utilisation de convertisseurs de bus constitue une solution viable dans ce domaine. Elle vous permet de tirer parti de la toute dernière technologie de bus tout en préservant votre investissement dans vos instruments GPIB ou série. Les convertisseurs de bus sont compatibles avec les versions enfichables du matériel NI GPIB ou série, ce qui permet de maintenir votre investissement en matière de logiciels.
NI propose un large éventail de contrôleurs GPIB externes. Le contrôleur compact NI GPIB-USB-HS, basé sur l'USB 2.0 Hi-Speed transforme n'importe quel ordinateur doté d'un port USB en contrôleur IEEE 488.2 Plug-and-Play aux fonctions complètes, pour contrôler jusqu'à 14 instruments GPIB programmables. Le format compact et le faible poids du GPIB-USB-HS en font une solution idéale pour les applications qui utilisent un ordinateur portable ou pour d'autres applications sur table où l'ordinateur ne dispose pas d'emplacement d'E/S interne disponible. Avec le NI GPIB-ENET/100, contrôleur Ethernet-vers-GPIB, des instruments situés n'importe où dans le monde peuvent être contrôlés et partagés via un réseau TCP/IP. En l'associant avec un point d'accès ou un routeur sans fil "sur étagère", il peut être utilisé pour contrôler des instruments GPIB à distance.
NI met également à disposition un large éventail de contrôleurs série externes qui peuvent être utilisés pour contrôler des instruments série RS-232 existant via des bus PC plus récents. Le produit NI ENET-232 est décliné en versions 2 et 4 ports qui permettent de contrôler et de partager un instrument analytique ou de laboratoire série, situé à n'importe quel endroit du réseau. Le produit NI USB-232 est disponible sous la forme d'un dongle 1 port ou d'un boîtier 2 ou 4 ports. Il permet de contrôler des instruments série par USB.
Bus modulaires
National Instruments propose des instruments modulaires pour le PCI et pour le PXI. Ces instruments allient les capacités de mesure d'un instrument autonome aux avantages d'un bus hautes performances. Ces matériels de mesure compacts hautes performances intègrent des ressources de cadencement et de synchronisation et incluent des numériseurs, des générateurs de signaux arbitraires et de fonctions, des matériels d'E/S numériques haute vitesse, des multimètres numériques et des matériels de mesure RF.
De plus, de nombreux produits sont disponibles pour la plate-forme PXI, le standard ouvert multifournisseur destiné à la mesure et à l'automatisation qui offre des performances 10 fois supérieures à celles des architectures de mesure et d'automatisation plus anciennes. La plate-forme PXI peut être associée aux instruments modulaires pour créer des solutions complètes de mesure et d'automatisation.
Technologie logicielle de programmation d'applications
Comme toutes ces technologies convergent dans le domaine du test et de la mesure, les systèmes multi-interfaces et multifournisseurs se répandent de plus en plus. Pour tirer parti de la toute dernière technologie, une architecture logicielle qui permet de gérer ces systèmes à moindre effort et avec une réutilisation logicielle maximum doit être mise en place. La meilleure approche est d'utiliser une architecture en couches qui tienne compte de l'interconnexion des différents bus matériels et qui permette d'intégrer facilement le matériel de mesure au reste du système. L'architecture logicielle idéale (illustrée à la Figure n°1 ci-dessous) inclut une application logicielle puissante et flexible qui utilise des drivers d'instrument ou des capacités d'E/S directes pour configurer et contrôler des instruments grâce aux logiciels et aux utilitaires d'E/S.
Logiciel d'application
Lors de l'évaluation d'un environnement de développement d'applications (EDA) d'un système de contrôle d'instruments, il est important de choisir un outil logiciel qui intègre les bonnes fonctionnalités de contrôle d'instruments, y compris les drivers d'instrument et des capacités d'E/S directes. Choisir le bon EDA assez tôt permet d'assurer le succès du projet en apportant les outils nécessaires pour développer plus rapidement des produits de qualité.
Pour assurer le succès d'un projet, un point important est que l'ensemble logiciel intègre des capacités de contrôle d'instruments faciles à utiliser. Les logiciels doivent offrir un large éventail de bibliothèques d'E/S d'instrument et d'utilitaires qui permettent de simplifier les communications avec les instruments, quel que soit le bus d'instrument utilisé. Sans bibliothèque d'E/S intégrée, il ne reste que la possibilité de programmer le système d'exploitation et le bus d'E/S à très bas niveau. De plus, l'EDA utilisé doit fournir un ensemble complet de fonctionnalités. Bien qu'il soit possible de trouver certains ensembles logiciels ou exécutables capables de réaliser des E/S de base, un EDA complet offre des avantages considérables qui incluent la personnalisation, l'intégration d'applications, la connectivité au système et des capacités robustes d'analyse et de présentation. Une fois les données acquises à partir de l'instrument, l'ensemble de ces fonctionnalités permet d'analyser et de présenter les données acquises, ainsi que d'intégrer le résultat au reste du système de mesure.
Des informations détaillées sur les bonnes bibliothèques d'E/S et sur les utilitaires à utiliser seront développées dans la suite de ce document. Par ailleurs, ces éléments s'intègrent à l'EDA via des drivers d'instruments ou via des capacités d'E/S directes.
Drivers d'instruments
Une fois le bon EDA choisi, les instruments peuvent être contrôlés grâce à un driver d'instruments ou par l'intermédiaire de commandes d'E/S directes. Généralement, l'utilisation d'un driver d'instruments, s'il en existe un, est l'approche privilégiée parce qu'il est plus efficace et qu'il permet d'économiser du temps. Un driver d’instrument est une bibliothèque contenant des fonctions haut niveau qui permettent de contrôler un instrument ou une famille d’instruments spécifiques. Les drivers d’instruments sont la clef d’un développement rapide des applications de test et mesure. En offrant des bibliothèques haut niveau et modulaires pour une programmation facile, ils permettent de s'affranchir de l'apprentissage de protocoles de programmation complexes, bas niveau, qui peuvent être spécifiques à un instrument. Un driver d’instrument est un ensemble de routines logicielles qui correspondent à une opération de programmation, telle que la configuration, la lecture, l'écriture et le déclenchement de l'instrument. De plus, comme les drivers d'instruments ont typiquement une structure et une interface de programmation d'applications (API) communes pour les instruments d'une même classe, il est facile de passer d'un driver d'instrument à un autre, lorsqu'on connaît l'utilisation de l'un d'eux. National Instruments propose des drivers pour un large éventail d’instruments ; ils sont écrits en NI LabVIEW ou en LabWindows™/CVI et utilisent l’API VISA (Virtual Instrumentation Software Architecture) pour le contrôle d’instruments. L'ensemble de ces drivers d'instruments est disponible à partir d'IDNet, réseau de drivers d'instruments à l'adresse ni.com/idnet/f.
Il existe deux types différents de drivers d'instruments qui permettent de satisfaire les diverses exigences des applications de contrôle d'instruments et de test : les drivers Plug&Play et les drivers IVI. Les drivers d’instrument Plug&Play simplifient le contrôle et la communication avec un instrument grâce à un modèle de programmation simple et standard pour tous les drivers. Ils fournissent le code source natif pour LabVIEW et LabWindows/CVI. Les drivers IVI (Interchangeable Virtual Instruments) sont des drivers d’instrument plus élaborés qui présentent une souplesse et des performances accrues pour des applications de test plus complexes qui nécessitent l’interchangeabilité, le cache d’états ou la simulation d'instruments. Tous les types de drivers disponibles pour un instrument peuvent être utilisés ; mais, il n'est nécessaire d'utiliser les drivers IVI que si l'application exige leurs fonctionnalités avancées. Ceci est particulièrement vrai pour un petit sous-ensemble d'applications de pointe.

Figure n°2. Choix d'un driver d'instrument : IVI, Plug&Play et E/S directes
Drivers Plug&Play LabVIEW
Un driver d'instrument LabVIEW Plug&Play est un ensemble de VIs (instruments virtuels) utilisé pour contrôler et pour communiquer avec un instrument programmable. Chaque VI correspond à une opération de programmation, telle que la configuration, la lecture, l'écriture ou le déclenchement de l'instrument. Les drivers d'instruments LabVIEW Plug&Play répondent aux exigences et recommandations en termes de style de programmation, traitement des erreurs, faces-avant, diagrammes, icônes et aide en ligne. Comme les drivers LabVIEW Plug&Play conservent une architecture et une interface communes, l’utilisateur peut rapidement et facilement se connecter aux instruments et communiquer avec eux en ayant très peu de code à développer. Par ailleurs, grâce au modèle de programmation standard des drivers d’instruments LabVIEW Plug&Play, il peut facilement ajouter des instruments au système de test sans devoir apprendre de nouveaux protocoles de communication.
Drivers Plug&Play LabWindows/CVI
Un driver d'instrument LabWindows/CVI Plug&Play est un ensemble routines logicielles en C ANSI, utilisé pour contrôler et pour communiquer avec un instrument programmable. Chaque routine correspond à une opération de programmation, telle que la configuration, la lecture, l'écriture ou le déclenchement de l'instrument. Les drivers d'instruments LabWindows/CVI Plug&Play répondent aux exigences et recommandations en termes de style de programmation, traitement des erreurs, panneaux de fonctions, arborescences de fonctions et fichiers d'aide. Comme les drivers LabWindows/CVI Plug&Play conservent une architecture et une interface communes, l’utilisateur peut aussi rapidement et facilement se connecter aux instruments, communiquer avec eux en ayant très peu de code à développer, et ajouter facilement des instruments au système de test sans devoir apprendre de nouveaux protocoles de communication.
Drivers IVI (Instruments Virtuels Interchangeables)
Les drivers IVI sont des drivers d’instrument plus élaborés qui présentent une souplesse et des performances accrues pour des applications de test plus complexes nécessitant l’interchangeabilité, le cache d’états ou la simulation d'instruments. Les drivers IVI reposent sur des standards développés par la Fondation IVI. La Fondation IVI a été créée pour élaborer un standard de drivers d’instruments qui, tout en s’appuyant sur les standards VXIplug&play, offre des caractéristiques telles que l’interchangeabilité des instruments, la simulation, le cache d’état et la sécurité multithread. La Fondation IVI définit deux architectures pour les drivers IVI, l’une basée sur le C ANSI et l’autre sur la technologie COM (Component Object Model) de Microsoft. Elles sont conçues pour coexister et sont parfaitement compatibles. Les drivers IVI-C et IVI-COM peuvent être utilisés dans la même application. Bien que les technologies qui sous-tendent IVI-C et IVI-COM soient différentes, la technologie de mise en œuvre en elle-même ne doit pas être votre principale préoccupation. Concentrez-vous au contraire sur ces deux éléments clefs : 1) la longévité de l’architecture sur laquelle s’appuie le driver d’instruments et 2) la facilité d’utilisation des drivers d’instruments dans votre EDA.
Longévité de l'architecture : la question de la longévité de l'architecture est particulièrement importante pour les utilisateurs de drivers IVI. L’interchangeabilité est l’un des atouts majeurs d’IVI et l’un des principaux objectifs de l’interchangeabilité est de faciliter le remplacement des instruments dans les systèmes censés durer 10 à 20 ans. Le fait d’avoir une API commune aux drivers d’instruments ne suffit pas si l’architecture sur laquelle ces drivers s’appuient change tous les deux ou trois ans. C'est pour cette raison que l'architecture IVI-C est privilégiée. Le C ANSI est un standard établi depuis longtemps, qui est disponible sur toutes les plates-formes et qui est censé perdurer. Au contraire, l'architecture COM n'est pas disponible librement sur toutes les plates-formes et a déjà été remplacée par .NET.
Facilité d’utilisation : l’une des principales motivations sous-jacente des drivers IVI-COM est le souhait de développer un driver qui fonctionne automatiquement dans tous les environnements de développement. Malheureusement cela se fait aux dépens de la facilité d’utilisation. Les drivers IVI-COM présentent un style d’interface optimal uniquement sous Microsoft Visual Basic 6.0, qui a été remplacé par Microsoft Visual Basic .NET. Dans l’absolu, les drivers d’instruments devraient offrir une interface optimale pour tous les environnements de développement dans lesquels ils sont utilisés. Par exemple, les drivers d’instruments devraient se présenter sous la forme d’un jeu de VIs LabVIEW lorsqu’ils sont utilisés avec LabVIEW, d’un ensemble de classes C++ lorsqu'ils sont utilisés avec Microsoft Visual C++ et d'un ensemble de classes .NET lorsqu'ils sont utilisés avec Microsoft Visual Basic .NET et Visual C#.
Bien que les drivers IVI-C constituent le meilleur choix pour la construction d'un système de test interchangeable qui remplisse le critère de durée, si les seuls drivers disponibles pour un instrument sont IVI-COM ou VXIplug&play, vous devrez les utiliser. Votre objectif est d’être capable de communiquer aisément avec votre instrument et non d’être lié à l’une ou l’autre des technologies de driver.
E/S directes
Si vous ne trouvez pas de driver d’instrument pour un instrument spécifique ou si vous n’en avez pas besoin, plusieurs outils interactifs facilitant le contrôle et la communication avec les E/S directes sont également disponibles. L’utilisateur ne se servira pas de driver d’instruments dans les cas de figure suivants :
- pour envoyer uniquement un petit nombre de commandes à l'instrument
- il n’existe aucun driver d’instrument
- il n’a pas besoin de distribuer un ensemble de commandes d’instruments à d’autres développeurs.
Que ce soit par choix ou parce qu'un driver d'instrument n'est pas disponible, il devrait être possible de tirer parti des capacités interactives des E/S directes intégrées à l'EDA. Les logiciels NI offrent l’Assistant d’E/S d'instruments, des interfaces VISA et des interfaces intégrées spécifiques au bus, ainsi que plusieurs outils de mise au point dans Measurement and Automation Explorer (présenté en détail ci-dessous), notamment NI Spy, IBIC (Interface Bus Interactive Control), pour le GPIB, et VISAIC (VISA Interactive Control).
Assistant d'E/S d'instrument
L’Assistant d’E/S d'instrument fournit une interface utilisateur destinée à envoyer des commandes de façon interactive vers un instrument, à lire les données retournées et à spécifier comment analyser la réponse dans un format pertinent pour l'application. Il est entièrement intégré dans tous les EDA de NI. L’Assistant d’E/S d'instruments simplifie l’écriture des applications d’instrumentation en générant automatiquement du code à partir de vos configurations dans votre environnement. L’Assistant d’E/S d'instruments permet également à l’utilisateur d'analyser rapidement les réponses complexes d’un instrument et de réutiliser cette analyse de façon native dans les drivers d’instruments. Comme l’analyse de chaîne peut s’avérer complexe, l’utilisation de la fenêtre interactive de l’assistant, dans le but d’analyser les réponses compliquées, peut faire gagner du temps dans la création d’une application.
Figure n°3. Boîte de dialogue interactive de l'Assistant d'E/S d'instrument
Logiciels et utilitaires d'E/S
Que vous utilisiez des E/S directes ou des drivers d'instrument, ces technologies se basent en interne sur des logiciels d'E/S pour opérer réellement la communication avec les instruments. De plus, il existe de nombreux utilitaires disponibles pour vous assister dans le développement, depuis la configuration du matériel jusqu'à la mise au point des applications.
Logiciels d'E/S VISA
Au début des années 1990, de nombreuses implémentations commerciales non standard des logiciels d'E/S co-existaient pour les protocoles GPIB, série et VXI. Bien que nombre d'entre-elles soient d'une qualité particulièrement élevée et qu'elles aient répondu aux attentes de leurs utilisateurs, il y a eu un besoin de logiciels d'E/S standards qui pourraient être utilisés par plusieurs bus. Le consortium VXIplug&play Systems Alliance a développé une spécification de logiciel d'E/S pour atteindre ce but : l'architecture VISA (Virtual Instrument Software Architecture). Elle offre une base commune pour le développement, la distribution et l'interopérabilité de composants logiciels système multifournisseurs, comme les drivers d'instrument, les faces-avant logicielles et les logiciels d'application. Bien que le consortium VXIplug&play Systems Alliance définisse la spécification VISA, c'était aux fournisseurs individuels de proposer différentes implémentations de VISA. Parce que VISA défini une API de communication avec l'instrument, l'investissement logiciel peut être préservé lors de la migration vers de nouveaux bus d'interface ou systèmes d'E/S mixtes.
Actuellement, VISA défini une interface d'E/S destinée à la communication avec les instruments via les protocoles GPIB, série, USB, Ethernet, PXI et VXI. Les utilisateurs peuvent créer des applications qui communiquent avec des instruments par n'importe lequel de ces bus, en utilisant pratiquement la même API. De plus, en utilisant un driver d'instrument pour un instrument GPIB par exemple, si ce driver a été écrit avec VISA et si l'instrument est ensuite distribué avec une interface Ethernet en plus de l'interface GPIB, l'utilisation de cette interface Ethernet est aussi facile que de modifier une chaîne d'initialisation.
Logiciels d'E/S spécifiques à un bus
En plus de VISA, il est également possible d'utiliser différentes implémentations logicielles d'E/S spécifiques à un bus. Elles incluent les logiciels destinés aux interfaces GPIB qui sont compatibles avec les API définies par les standards IEEE 488.1 et 488.2. De nombreux fournisseurs proposent des drivers d'E/S GPIB. Toutefois, le driver NI et l'API NI-488 sont devenus les standards de facto en offrant une API stable qui n'a pas changé depuis le début des années 1980, qui est supportée par une multitude de systèmes d'exploitation et qui fonctionne avec un large éventail d'interfaces de bus.
Utilitaires d'E/S
Quel que soit le logiciel d'E/S utilisé, des utilitaires d'E/S peuvent être employés pour simplifier le processus de développement d'applications. Ces utilitaires facilitent la configuration et le dépannage du matériel, les communications et le contrôle interactifs, la surveillance ou le suivi des API et l'analyse de bus. L'ensemble de ces utilitaires permet de simplifier les tâches de développement et de diminuer considérablement le temps de développement.
Solutions logicielles de contrôle d'instruments
Une fois le matériel sélectionné, NI propose un large éventail de solutions logicielles qui entrent dans les catégories définies ci-dessus. Voici quelques-unes d'entre-elles.
Logiciels d'application
NI propose plusieurs environnements de développement destinés à la création d'applications de contrôle d'instruments.
LabVIEW
LabVIEW est un environnement de développement graphique complet. Il s’agit d’un environnement particulièrement interactif et ouvert destiné au prototypage rapide et au développement incrémental d’applications, depuis la mesure et l’automatisation jusqu'aux systèmes temps réel embarqués, en passant par la conception matérielle. LabVIEW offre tous les avantages des environnements de développement traditionnels, ainsi que des capacités révolutionnaires de développement rapide, grâce à la programmation graphique. Avec LabVIEW, l’utilisateur peut concevoir des instruments virtuels personnalisés en créant une interface utilisateur graphique qui permet :
- d'exécuter le programme d'instrumentation
- de contrôle le matériel choisi
- d'analyser les données acquises
- d'afficher des résultats.
Il est possible de personnaliser les faces-avant à l’aide de boutons rotatifs, de boutons-poussoirs, de cadrans et de graphes pour émuler les panneaux de contrôle des instruments traditionnels, pour créer des panneaux de tests personnalisés ou pour représenter visuellement le contrôle et le fonctionnement des processus. La similitude entre les organigrammes standards et la programmation graphique de LabVIEW raccourcit la durée de l’apprentissage par rapport à celle des langages textuels traditionnels.
L’utilisateur détermine le comportement des instruments virtuels en reliant des icônes entre elles pour créer des diagrammes, comme en ont l’habitude les ingénieurs et les scientifiques. Grâce à la programmation graphique, il est possible de développer des systèmes plus rapidement qu’avec les langages de programmation traditionnels, tout en conservant la puissance et la souplesse nécessaires à la création d'une variété d'applications.
LabWindows/CVI
LabWindows/CVI est également un environnement de développement complet, qui s’appuie sur le C ANSI et non sur la programmation graphique. Comme LabVIEW, LabWindows/CVI offre la souplesse d’un environnement spécifique à la mesure et à l’automatisation. Ce logiciel rationalise le développement en C ANSI grâce à des assistants de configuration matériels, des outils de mise au point complets et une exécution interactive pour exécuter des fonctions pendant la conception. Des bibliothèques de mesure intégrées permettent de développer rapidement des applications d’instrumentation complexes, des fonctions d’analyse et des contrôles d’interfaces utilisateur.
Microsoft Visual Studio
Microsoft Visual Studio, qui comprend Visual C# .NET, Visual Basic .NET, Visual Basic 6.0 et Visual C++, est lui aussi un environnement de développement complet. Toutefois, contrairement à LabVIEW et LabWindows/CVI, l’environnement Microsoft Visual Studio est un outil d’usage général qui n’est pas conçu ni optimisé pour le développement d’applications de mesure et d’automatisation. Ainsi, il n’intègre pas d’outils pour ce domaine, comme le contrôle d’instruments ou encore l’analyse et la présentation des données de mesure. C’est là qu’interviennent les outils complémentaires présents dans NI Measurement Studio. Measurement Studio s’appuie sur l’environnement de développement Visual Studio et intègre des interfaces de contrôle d’instruments natives, des routines d’analyse avancée et des contrôles d’interfaces utilisateur natifs spécialement conçus pour afficher les données de mesure.
SignalExpress
SignalExpress est un logiciel interactif qui permet de répondre aux besoins des ingénieurs de conception et de test qui souhaitent acquérir et analyser rapidement des signaux électroniques. SignalExpress simplifie les tâches exploratoires et de mesure automatisée en offrant : un environnement sans aucune programmation, par glissé-déplacé ; une configuration rapide des mesures ; une intégration des données simulées et des fonctionnalités étendues grâce à LabVIEW. De plus, SignalExpress offre une connectivité et un contrôle directs à des centaines d'instruments grâce aux drivers d'instrument IVI-C.
Drivers d'instrument
NI propose des drivers pour plus de 4000 modèles d'instruments par l'intermédiaire d'IDNet (instrument driver network). Ces drivers sont une association de drivers LabVIEW Plug&Play, LabWindows/CVI Plug&Play et IVI pour des instruments tels que des oscilloscopes, des multimètres numériques (DMM), des générateurs de signaux RF et des matrices de commutation, ainsi que pour des fournisseurs comme NI, Agilent Technologies, Tektronix, Keithley Instruments, etc. Parcourez la bibliothèque et téléchargez les drivers à l'adresse ni.com/idnet/f.
E/S directes
NI propose des capacités d'E/S directes par l'intermédiaire de l'Assistant d'E/S d'instrument décrit ci-dessus. L'Assistant d'E/S d'instrument permet une communication et un contrôle de pratiquement tout instrument pour peu qu'il accepte des commandes textuelles en ASCII et qu'il renvoie des réponses textuelles. Il permet également d'analyser facilement les réponses et il est intégré à tous les EDA NI, dont LabVIEW, LabWindows/CVI et Measurement Studio pour Microsoft Visual Studio.
Logiciels et utilitaires d'E/S
NI propose deux principaux ensembles logiciels d'E/S qui accompagnent l'application de développement et de mise au point appropriée.
NI-VISA
NI-VISA est l'implémentation du standard VISA par NI. Il supporte les communications avec les instruments via les protocoles GPIB, série, Ethernet (VXI-11 et sockets), USB (USBTMC-USB488 et sockets), PXI et VXI. NI-VISA accompagne les EDA NI ainsi que les matériels tel que les contrôleurs GPIB qui bénéficient de ses fonctionnalités.
NI-488.2
NI-488.2 est le driver NI destiné à la communication logicielle par GPIB. Il est l'API standard de facto qui est émulé par de nombreux fournisseurs. Il offre des commandes de base de type IEEE 488.1, comme ibwrt, ibrd, etc., ainsi que des commandes de type IEEE 488.2 moins utilisées. Il peut être utilisé avec des contrôleurs NI GPIB, dont les contrôleurs enfichables tels que le NI PCI-GPIB ou le NI PCIe-GPIB, et avec des contrôleurs externes, tels que le NI GPIB-USB-HS et le NI GPIB-ENET/100.
Contrôle interactif
Les drivers NI-VISA et NI-488.2 sont livrés avec un utilitaire de contrôle interactif qui permet de communiquer de manière interactive avec les instruments, pour vérifier le paramétrage du matériel. Ils possèdent une interface très succincte et sont surtout utilisés pour le paramétrage initial et sa vérification. En ce qui concerne les tâches avancées de communication interactive avec l'instrument, il est préférable d'utiliser l'Assistant d'E/S d'instrument.
NI Spy
NI Spy est un utilitaire qui est fourni avec les logiciels d'E/S NI. Comme son nom le suggère, il "espionne" le logiciel d'E/S en offrant un rapport détaillé commande par commande des appels effectués par les drivers NI-488.2 ou NI-VISA, ou encore par d'autres drivers NI tels que ceux des instruments modulaires ou des drivers de classe IVI.
Démarrage et mise au point
Le driver NI-488.2 est accompagné d'un assistant de démarrage et d'un assistant de mise au point. Ils facilitent l'installation et le dépannage des contrôleurs GPIB et permettent la mise au point d'éventuels problèmes.
Analyseur GPIB
NI propose également un utilitaire d'analyse GPIB qui accompagne le driver NI-488.2 et qui peut être utilisé avec un contrôleur GPIB doté de fonctionnalités d'analyse (par exemple, le PCI-GPIB+), pour vérifier l'état électrique des 8 lignes de données GPIB et des 8 lignes de gestion du bus GPIB. Cet outil s'avère très utile pour les applications de mise au point plus complexes.
Conclusion
La multitude de bus et de technologies logicielles disponibles pour les applications de contrôle d'instruments laisse la liberté du choix du bus le plus approprié en fonction des besoins d'une application spécifique. Le choix des logiciels ne doit pas être contraint par celui du matériel et réciproquement.
Alors que les bus matériels émergeants constituent des options viables pour le contrôle d'instruments, d'autres bus fiables plus matures sont également toujours disponibles sur le marché. Pour tirer parti de ces nouveaux bus tout en maintenant l'investissement dans les technologies existantes, le point clé est de se baser sur une architecture logicielle en couches qui offre des environnements de développement d'applications robustes, des drivers d'instrument, des capacités d'E/S directes, ainsi que des logiciels et des utilitaires d'E/S puissants et multibus. NI propose les outils matériels et logiciels de contrôle d'instruments les plus souples, qui incluent des EDA standards optimisés, la plus large sélection de matériel de contrôle d'instruments et de mesure, ainsi qu'une bibliothèque complète de drivers d'instrument.
Liens
L'utilisation des nouveaux bus pour le test et la mesure
Paramètres incontournables pour la connexion d'instruments et la création de solutions à long terme
Technologie des drivers IVI-C, pour la longévité du système et la portabilité de la plate-forme
LabWindows est utilisé sous licence Microsoft Corporation. Windows est une marque déposée de Microsoft Corporation aux États-Unis et dans d'autres pays.
Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this content with each new revision of related products and drivers. THIS TUTORIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).


