Standard Commands for Programmable Instruments
# 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 sous le nom « Test and Measurements System Language » (TMSL). En avril 1990, neuf constructeurs adoptaient ce standard auquel on ajouta l’ADIF (Analog data Interchange Format de Tektronix) et devenait le SCPI. Le SCPI est alors intégrée à la norme IEEE 488.2 (norme GPIB).

## 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.

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 …).

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é.

## 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

### RST

    Réinitialise les réglages de l’appareil.

### 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.

