2. Introducción a los comandos SCPI
En 1975, el Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) estandarizó un bus que fue desarrollado por Heweltt-Packard, originalmente se lo llamó HPIB (bus de interfaz de Hewlett-Packard), que más tarde cambió a GPIB (bus de interfaz de propósito general). El estándar se llamó IEEE 488 (IEEE 488.1) y definía los aspectos mecánicos del bus. El posterior estándar IEEE 488.2 definía sus propiedades de protocolo. Lo que faltaba era un conjunto de reglas entre los fabricantes acerca de los comandos para controlar los instrumentos. A veces estos comandos variaban incluso entre los distintos modelos de un mismo fabricante.
En 1990 el SCPI consortium lanzó el primer estándar SCPI (comandos estándar para instrumentos programables) como una capa adicional para el estándar IEEE 488.2.
Los comandos SCPI son strings (cadenas) ASCII que se envían al instrumento a través de la capa de comunicación física. Pueden realizar:
- Operaciones de configuración, por ejemplo, el comando *RST (reinicio del instrumento).
- Operaciones de consulta, por ejemplo, la query *IDN? (consulta de las strings de identificación del instrumento).
Algunos comandos SCPI existen tanto como comandos de configuración como de consulta. Un ejemplo es el comando de tiempo de adquisición de un osciloscopio « TIMebase:ACQTime ». Puede configurarse como el comando SCPI « TIM:ACQT 10ms », así como también para consultar su valor actual con el comando « TIM:ACQT? ».
El formato que se menciona en los manuales de usuario de Rohde & Schwarz, por ejemplo: « TRIGger<m>:LEVel<n>[:VALue] <Level> » se denomina forma canónica. Las reglas más importantes a tener en cuenta son:
- Las partes entre los corchetes no son de carácter obligatorio y pueden omitirse.
- Las partes en mayúsculas son de carácter obligatorio; las minúsculas pueden omitirse. Esto se denomina forma abreviada. Un ejemplo del comando mencionado anteriormente en su forma abreviada es « TRIG1:LEV2 3.5 ». Puede utilizarse o la forma abreviada o la extendida « TRIGGER1:LEVEL2 3.5 », pero nada en medio, por ejemplo « TRIGGE1:LEVE2 3.5 ».
- Los comandos SCPI no distinguen entre mayúsculas y minúsculas. También pueden utilizar tanto la forma abreviada «trig1:lev2 3.5», así como la extendida «trigger1:level2 3.5»
- Combinan varios comandos en una sola string con el punto y coma « ; ». Por ejemplo, una string combinada de « TRIG1:SOUR CH1 » y « TRIG1:LEV2 3.5 » es « TRIG1:SOUR CH1;LEV 2 ». Observe que el segundo comando no contiene la parte « TRIG1: ». La razón es que el trayecto del árbol de comandos no cambia dentro de una string. En caso de que se desee restablecer el trayecto del árbol de comandos a la raíz, utilice los dos puntos « : » al inicio del segundo comando: « TRIG1:SOUR CH1;:CHAN2:STATe ON ».
- Al añadir un signo de interrogación se crean formularios query, generalmente al final: «TRIG1:LEV2?» A veces se coloca un parámetro adicional después del signo de interrogación. Debe haber un espacio entre el signo de interrogación y el parámetro adicional. Por ejemplo: « TRACE:DATA? ALL »
- Los parámetros numéricos en los cuales no se especifica la unidad se consideran unidades básicas. En nuestro caso, el parámetro numérico 3.5 significa 3.5 voltios.
El estándar SCPI completo se encuentra disponible aquí: SCPI-99
Consulte nuestra descripción especial de SCPI: Control remoto vía SCPI