Présentation du langage SCPI

SCPI (Standard Commands for Programmable Instruments) est un langage de programmation ASCII destiné aux appareils de test et de mesure. Les commandes SCPI utilisent une structure hiérarchique appelée système arborescent. Les commandes associées sont regroupées dans un nœud (ou racine) commun pour former un sous-système. Ce langage est illustré dans un échantillon du sous-système SENSe ci-dessous.

SENSe:
         VOLTage:
                  DC:RANGe {<plage>|MIN|MAX|DEF}
                  DC:RANGe? [MINimum | MAXimum | DEFault]

SENSe est le mot clé racine de la commande, VOLTage est un mot clé de second niveau et DC est un mot clé de troisième niveau. Le signe deux points ( : ) sépare les mots clés consécutifs.

Conventions syntaxiques

Le format de syntaxe des commandes est illustré ci-dessous :

VOLTage:DC:RANGe {<plage>|MIN|MAX|DEF}

La plupart des commandes (et certains paramètres) forment une combinaison de majuscules et de minuscules. Les majuscules indiquent l'abréviation des commandes, qui génère des lignes de programme plus courtes. Pour une lisibilité accrue des programmes, utilisez la forme complète.

Par exemple, examinons le mot clé VOLTage, ci-dessus. Vous pouvez saisir VOLT ou VOLTage à l'aide d'une combinaison de majuscules et de minuscules. Par conséquent, VolTaGe, volt et Volt sont tous acceptables. D'autres formes, telles que VOL et VOLTAG génèrent une erreur.

Séparateurs des commandes

Le signe deux points ( : ) sépare les mots clés consécutifs. Vous devez insérer un espace pour séparer un paramètre d'un mot clé de commande. Si une commande requiert plusieurs paramètres, vous devez les séparer par une virgule :

CONF:VOLT:DC 10,0.003

Le point virgule (;) sépare les commandes dans un même sous-système et minimise la frappe. Par exemple, la chaîne suivante :

TRIG:SOUR EXT;COUNT 10

équivaut aux deux commandes suivantes :

TRIG:SOUR EXT
TRIG:COUNT 10

Utilisez deux points et un point virgule pour relier les commandes de différents sous-systèmes. Par exemple, dans l'exemple suivant, une erreur est générée si vous n'utilisez pas les deux points et le point virgule :

TRIG:COUN MIN;:SAMP:COUN MIN

Utilisation des paramètres MIN, MAX et DEF

Pour de nombreuses commandes, vous pouvez remplacer un paramètre par "MIN" ou "MAX" et par "DEF" dans certains cas. Par exemple, examinons l'exemple suivant :

VOLTage:DC:RANGe {<plage>|MIN|MAX|DEF}

À la place d'une valeur donnée pour le paramètre <plage>, vous pouvez remplacer MIN pour définir la plage à sa valeur minimale, MAX pour définir la plage à sa valeur maximale ou DEF pour définir la plage à sa valeur par défaut.

Requêtes sur les paramètres

Vous pouvez rechercher la valeur actuelle de la plupart des paramètres en ajoutant un point d'interrogation (? ) à la commande. Par exemple, l'exemple suivant illustre la configuration du nombre de déclenchements sur 10 mesures :

TRIG:COUN 10

Vous pouvez ensuite rechercher le nombre avec la commande suivante :

TRIG:COUN?

Vous pouvez également rechercher le nombre minimal et maximal autorisé :

TRIG:COUN? MIN
TRIG:COUN? MAX

Caractères de fin de commande SCPI

Une chaîne de commandes envoyée à l'instrument doit se terminer par le caractère <nouvelle ligne> (<NL>) (décimale ASCII 10). Le message IEEE-488 EOI (End-Or-Identify) est interprété comme le caractère <NL> et peut être utilisé pour terminer une commande à la place du caractère <NL>. Le <retour chariot> suivi d'un caractère <NL> est également accepté. Le caractère de fin de commande réinitialise toujours le chemin de la commande SCPI au niveau racine.

Remarque

Pour chaque message SCPI comportant une requête et envoyé à l'appareil, l'appareil termine la réponse retournée par un caractère <NL> ou un caractère de fin de ligne (EOI). Par exemple, si R? est envoyé, la réponse se termine par <NL> après le bloc de données qui est renvoyé. Si un message SCPI comporte plusieurs requêtes séparées par des points virgules (ex. "ROUTe:TERMinals?;R?"), la réponse renvoyée se termine à nouveau par le caractère <NL> après la réponse à la dernière requête. Dans tous les cas, le programme doit lire ce caractère <NL> dans la réponse avant d'envoyer une autre commande à l'appareil, faute de quoi une erreur se produit.

Commandes courantes IEEE-488.2

La norme IEEE-488.2 définit un ensemble de commandes qui exécutent des fonctions telles que la réinitialisation, les autotests et l'état de l'appareil. Les commandes courantes commencent toujours par un astérisque (*), comportent 3 caractères et peuvent inclure un ou plusieurs paramètres. Le mot clé d'une commande est séparé du premier paramètre par un espace. Utilisez un point virgule (;) pour séparer plusieurs commandes (ci-dessous) :

*RST; *CLS; *ESE 32; *OPC?

Types de paramètres SCPI

Le langage SCPI définit plusieurs formats de données à utiliser dans les messages de programmes et de réponses.

Paramètres numériques

Les commandes qui requièrent des paramètres numériques acceptent toutes les notations décimales courantes des nombres, y compris les signes facultatifs, les points décimaux et la notation scientifique. Les valeurs spéciales de paramètres numériques telles que MIN, MAX et DEF sont également acceptées. Vous pouvez également envoyer des suffixes d'unités techniques (ex. M, k, m ou u). Si une commence accepte uniquement certaines valeurs, l'appareil arrondit automatiquement les paramètres numériques d'entrée aux valeurs acceptées. La commande suivante requiert un paramètre numérique pour la plage :

VOLTage:DC:RANGe {<plage>|MIN|MAX|DEF}

Remarque

Comme l'interpréteur SCPI distingue les majuscules et les minuscules, il existe une confusion sur la lettre "M" (ou "m"). Par commodité, l'appareil interprète "mV" (ou "MV") comme des millivolts, mais "MHZ" (ou "mhz") comme des mégahertz. De même, "MΩ" (ou "mΩ") est interprété comme des mégohms. Vous pouvez utiliser le préfixe "MA" pour méga. Par exemple, "MAV" est interprété comme des mégavolts.


Paramètres discrets

Les paramètres discrets sont utilisés pour programmer des paramètres ayant un nombre limité de valeurs (ex. IMMediate, EXTernal ou BUS). Ils possèdent une forme abrégée et une forme complète comme les mots clés des commandes. Vous pouvez combiner des majuscules et des minuscules. Les réponses aux requêtes renvoient toujours la forme abrégée en majuscules. La commande suivante requiert un paramètre discret pour les unités de température :

UNIT:TEMPerature {C|F|K}

Paramètres logiques (booléens)

Les paramètres logiques représentent une condition binaire exclusivement vraie ou fausse. Pour une condition fausse, l'instrument accepte "OFF" ou "0". Pour une condition vraie, l'instrument accepte "ON" ou "1". Lorsque vous effectuez une requête sur un paramètre logique, l'appareil renvoie toujours "0" ou "1". La commande suivante requiert un paramètre logique :

DISPlay:STATe {ON|1|OFF|0}

Paramètres de chaînes de caractères ASCII

Les paramètres de chaînes de caractères peuvent pratiquement contenir n'importe quelle combinaison de paramètres ASCII. Une chaîne de caractères doit commencer et se terminer par des guillemets simples ou doubles. Vous pouvez inclure le délimiteur de guillemets dans la chaîne de caractères en le tapant deux fois sans caractères entre eux. La commande suivante utilise un paramètre de chaîne de caractères :

DISPlay:TEXT <chaîne de caractères>

Par exemple, la commande suivante affiche le message "WAITING..." sur le panneau avant de l'appareil (les guillemets ne sont pas affichés).

DISP:TEXT "WAITING..."

Vous pouvez également afficher le même message avec des guillemets simples.

DISP:TEXT 'WAITING...'

Utilisation de Device Clear

Device Clear est un message de bas niveau du bus IEEE-488 que vous pouvez utiliser pour ramener l'appareil dans l'état réactif. Différents langages de programmation et cartes d'interface IEEE-488 permettent d'accéder à cette fonction au moyen de commandes uniques propres. Les registres d'état, la file d'erreurs et tous les états de configuration ne sont pas modifiés à la réception d'un message Device Clear.

Device Clear effectue les actions suivantes :

Remarque

L'utilisation de la commande ABORt est la méthode recommandée pour terminer une mesure.