SCPI (Standard Commands for Programmable Instruments)

SCPI (Standard Commands for Programmable Instruments) est une norme définissant un langage de communication avec des instruments basée sur des messages. La majorité des instrument GPIB utilisent le SCPI mais aussi des instruments RS-232, Ethernet, VXI, PXI. Plusieurs fabriquants d’instrument de mesure ont adopté cette norme comme HP/Agilent par exemple, ce qui permet une certaine uniformité de la communication entre les différents appareils.

Quelques exemple de commandes SCPI :

  • Demande d’identification de l’instrument : *IDN?
  • Reset de l’instrument : RST
  • Demande de mesure : MES

Driver IVI

L’IVI (Interchangeable Virtual Instrumentation) est une spécification de driver d’instrument éditée par l’IVI Foundation constituée par les grands noms de l’instrumentation comme Agilent, National Instruments, Rohde & Schwarz, Aeroflex, Tektronix, Teradyne, Pickering et d’autres.

Cette spécification définie des classes d’instuments (multimètre, oscilloscope, alimentation, …). Tous les drivers d’une même classe ont les mêmes fonctions exportées. Ceci permet une compatibilité et interchangeablité des instruments. Ainsi le logiciel de mesure est lié au driver de la classe qui aiguille vers le driver spécifique de l’instrument utilisé.

Exemple : j’ai un logiciel de test qui fait des mesures de tension grâce à un multimètre. Mon logiciel va appelé le driver de la classe multimètre. IVI ce charge d’aiguiller vers le driver spécifique du modèle X de chez Agilent. Ainsi, on peut changer ce multimètre par le modèle Y de chez Agilent ou le modèle Z de chez Tektronic par simple configuration, sans à modifier le logiciel (pour vu qu’on ait installé les driver IVI de ces trois instruments).

Liste des classes d’instrument définis par IVI :

  • Multimètre (DMM)
  • Oscilloscope
  • Générateur de fonction
  • Source d’alimentation DC
  • Source d’alimentation AC
  • Switch
  • Wattmètre
  • Analyser de spectre
  • Générateur de signaux RF
  • Upconverter
  • Downconverter
  • Digitizer
  • Counter/timer

Certains instruments particuliers n’entrent pas dans cette classification. Dans ce cas il est possible de créer une nouvelle classe.

LabWindows/CVI offre des assistants pour le développement des drivers et l’ajout d’une nouvelle classe.

Les drivers IVI peuvent être appelé par tout type de langage de programmation. Cependant LabWindow/CVI, LabVIEW, et Measurement Studio offrent toutes les fonctions clef en main pour leur utilisation.

Pour les bancs de test, l’utilisation des drivers IVI est avantageuse car elle permet une maintenance plus facile (interchangeabilité des instruments). A noter que le séquence de test TestStand permet de piloter directement les instruments utilisant des drivers IVI à partir des séquences (sans programmation).

WinDev

Windev est un environnement de développement, édité par la société française PC Soft, qui utilise son propre langage, le WLangage. Il est principalement orienté pour le développement d’applications de données.

Citrix

Citrix Systems est un éditeur de logiciel qui a créé une architecture client-serveur pour les applications. Par extension, on appel réseau Citrix une architecture logicielle qui s’appuie sur ce protocole de communication. Ce type de réseau est, en autres, utilisé par des applications développés sous WinDev.

TestExec

TestExec est un logiciel de type séquenceur de tests, entre autres disponible en langage G sous LabVIEW (dernière version 5.1.1) ou en langage C sous LabWindows/CVI (dernière version 2.0). La permière version date de 1994.

Il a été remplacé en 2000, chez National Instruments, par TestStand qui offre plus de souplesses et qui est compatible avec les dernières technologies.

National Instruments vendaient les sources de ce logiciel, pour LabVIEW ou pour LabWindows/CVI, sous la forme du Toolkit Test Executive, rendant ainsi possible un total contrôle et personnalisation du séquenceur.

Sous LabWindows/CVI, les fichiers de base sont :

  • txmain.c : gestion du la fenêtre principale
  • txedseq.c : édition des séquences
  • txedpc.c : édition des préconditions
  • txlogin.c : gestion du login
  • txprecnd.c : évaluation, chargement et déchargement des préconditions
  • txreport.c : création et sauvegarde des rapports de test
  • txsavres.c : collection des résultats de test
  • cvitxuir.uir : ressources de l’interface graphique
  • txengine.c : exécution, chargement et déchargement des séquences

Aujourd’hui encore il reste des entreprises qui utilisent des séquenceurs basés sur le Toolkit Test Executive. Ces séquenceurs ont souvent nécessité un investisement conséquent pour les personnaliser et ainsi répondre aux particularités techniques et métiers (modification de l’interface graphique, génération de rapport HTML, Excel ou Word, connexion aux bases de données, chargement de fichiers de tolérances et limites, commande de voyants ou instruments externes, lecture automatisée des numéros de série en EEPROM…).

Les nouveaux développements de séquenceurs sont basés sur TestStand et non plus sur Test Executive. TestStand de base des outils de personnalisation et de connexion à des composants externes plus importants à moindre coût temps/homme.

Remarque : les séquences gérées par TestExec ont une extension .squ alors que les séquences de TestStand sont d’extension .seq. Des outils de migration des séquences existent.

OLE for Process Control (OPC)

OPC, pour OLE for Process Control, est une technologie unifiée de communications entre des processus de contrôle industriels à partir de Windows. Il est généralement utilisé pour le communication des automates programmables et un logiciel de type IHM ou SCADA. Il fonctionne sur le mode client-serveur.

Datalogging and Supervisory Control (DSC)

DSC, pour Datalogging and Supervisory Control, est un module additionnel pour LabVIEW qui offre les fonctionnalités de communication avec des matériels temps réel et OPC. Il est ainsi possible de concevoir sous LabVIEW des logiciels (IHM / SCADA) de supervision et d’enregistrement de données pour les réseaux d’automates programmables.