Standard Commands for Programmable Instruments
Standard Commands for Programmable Instruments (SCPI) (littéralement « commandes standard pour les instruments programmables » généralement prononcé [skippy]) définit une norme de langage permettant de contrôler un instrument de mesure (un oscilloscope par exemple).
Origine
Comme le HP-IB, cette norme fut à l’origine développée par Hewlett-Packard[N 1] sous le nom « Test and Measurements System Language » (TMSL). En , neuf constructeurs adoptaient ce standard auquel on ajouta l’ADIF (Analog data Interchange Format de Tektronix) et devenait le SCPI[1]. Le SCPI est alors intégrée à la norme IEEE 488.2 (norme GPIB)[2].
Types d'instructions
Les instructions peuvent varier d’un constructeur à l’autre, et en pratique les concepteurs de logiciels de test et mesure vont plutôt utiliser l’interface de programmation (« API ») Virtual Instrument Software Architecture (VISA) qui permet d’utiliser des commandes haut-niveau et de s’affranchir du connecteur utilisé (bus GPIB, RS-232…). Pour des applications plus importantes, on utilisera plutôt des logiciels comme LabVIEW ou LabWindows/CVI.
Ainsi un fabricant de matériel de mesure fournit généralement des pilotes (« drivers ») utilisables avec ce logiciel et programmés avec l’interface VISA qui elle-même utilise les instructions SCPI[3].
Des programmeurs avancés peuvent toutefois écrire leurs propres pilotes, en utilisant les commandes SCPI, dans des cas d’exigences plus importantes (vitesse de fonctionnement optimisée, utilisation de fonctions d’instruments non gérés par les pilotes disponibles …)[4].
Les commandes SCPI utilisent des mots de commande et une syntaxe de programmation pour donner aux instruments une même façon de travailler. De plus le SCPI ne nécessite pas de documentation supplémentaire car le langage est très commenté[5].
Exemples de commande
Les commandes sont du type :
- IDN
- instruction qui demande à l’instrument de renvoyer son identification. Cette instruction est une « requête » (« query ») ce qui signifie que l’instrument doit répondre au message[N 2]
- RST
- Réinitialise les réglages de l’appareil[N 2].
MEASure :VOLTage
: Demande à l’instrument d’envoyer une valeur de tension.
Les commandes peuvent être écrites en majuscules ou en minuscules, la différence de casse est ici utilisée pour indiquer qu’il est possible de raccourcir les commandes et d’écrire par exemple MEAS:VOLT
.
Notes et références
Notes
- L’activité instrumentation de Hewlett-Packard fait partie aujourd’hui de la société Keysight.
- Instruction spécifiée dans la norme IEEE 488.2
Références
- Tichon et al. 2001, Norme SCPI : historique
- « Les origines du GPIB », sur ni.com
- « Le logiciel standardise le contrôle des instruments », sur mesures.com,
- « Commandes natives ou pilotes d’instrument : que choisir ? », sur mesures.com,
- « 3/ Les protocoles liés au GPIB », sur www.ni.com
Bibliographie et pages web
- Jacques Tichon, Christian Couwenbergh, Rudi Giot et Salvador Garcia Acevedo, Communication avec les périphériques, Éditions techniques de l'ingénieur, (lire en ligne)
- (en) [PDF] « Standard Commands for Programmable Instruments (SCPI) », sur ivifoundation.org,
- (en) « SCPI Consortium », sur ivifoundation.org