2. Introduzione ai comandi SCPI
Nel 1975, l'IEEE ha standardizzato un bus sviluppato da Hewlett-Packard originariamente chiamato HPIB (Hewlett-Packard Interface Bus), poi modificato in GPIB (General Purpose Interface Bus). Lo standard si chiamava IEEE 488 (IEEE 488.1) e definiva gli aspetti meccanici del bus. La successiva versione IEEE 488.2 ne ha definito le proprietà di protocollo. Mancava una serie di regole tra i produttori sui comandi per controllare gli strumenti. A volte questi variano anche tra i diversi modelli dello stesso produttore.
Nel 1990 il Consorzio SCPI ha rilasciato il primo standard SCPI (Standard Commands for Programmable Instruments) come livello aggiuntivo per lo standard IEEE-488.2.
I comandi SCPI sono stringhe ASCII che vengono inviate allo strumento attraverso il livello di comunicazione fisico. Esse possono eseguire:
- Operazioni di impostazione, ad esempio il comando *RST (reset dello strumento).
- Operazioni di interrogazione, ad esempio query *IDN? (interrogazione della stringa di identificazione dello strumento).
Alcuni comandi SCPI esistono sia come comandi di impostazione che come comandi di interrogazione. Ne è un esempio il comando del tempo di acquisizione di un oscilloscopio "TIMebase:ACQTime". È possibile impostarlo con il comando SCPI "TIM:ACQT 10ms" e interrogare il suo valore attuale con il comando "TIM:ACQT?".
Il formato indicato nei manuali d'uso Rohde & Schwarz, ad es: "TRIGger<m>:LEVel<n>[:VALue] <Level>", è chiamato forma canonica. Ecco le regole più importanti da ricordare:
- Le parti tra parentesi quadre non sono obbligatorie e possono essere omesse.
- Le parti in maiuscolo sono obbligatorie; le lettere minuscole possono essere omesse. Si tratta della cosiddetta forma breve. Un esempio di questo comando nella forma breve è "TRIG1:LEV2 3.5". È possibile utilizzare sia la forma breve che quella lunga "TRIGGER1:LEVEL2 3.5", ma non una via di mezzo, ad esempio "TRIGGE1:LEVE2 3.5".
- I comandi SCPI non fanno distinzione tra maiuscole e minuscole. È possibile utilizzare anche la forma breve "trig1:lev2 3.5" o la forma lunga "trig1:level2 3.5"
- Unire più comandi in un'unica stringa utilizzando il punto e virgola ';'. Ad esempio, una stringa combinata di "TRIG1:SOUR CH1" e "TRIG1:LEV2 3.5" è "TRIG1:SOUR CH1;LEV 2". Si noti che il secondo comando non contiene la parte "TRIG1:". Il motivo è che il percorso dell'albero dei comandi non cambia all'interno di una stringa. Se si desidera ripristinare il percorso dell'albero dei comandi alla radice, utilizzare i due punti all'inizio del secondo comando: "TRIG1:SOUR CH1;:CHAN2:STATe ON".
- Creare moduli di interrogazione aggiungendo un punto interrogativo, per lo più alla fine: "TRIG1:LEV2?" A volte, dopo il punto interrogativo è presente un parametro aggiuntivo. Tra il punto interrogativo e il parametro aggiuntivo deve esserci uno spazio. Ad esempio: "TRACE:DATA? ALL"
- I parametri numerici senza indicazione delle unità sono considerati unità di base. Nel nostro caso, il parametro numerico 3,5 equivale a 3,5 Volt.
Lo standard SCPI completo è disponibile qui: SCPI-99
Consultate la nostra descrizione approfondita dello standard SCPI: Controllo remoto tramite SCPI