Catto / Mapa de Temas · Medidas Electrónicas I 4to nivel
Medidas Electrónicas I · 120 h · Contenido 11 de 11

Automatización de mediciones

Un comando mal escrito no detiene un programa de medición: el instrumento solo guarda un error en su cola, y si nadie la lee, los datos parecen buenos.

GPIB VISA SCPI PyVISA Adquisición de datos

01Por qué automatizar una medición

Barrer la respuesta en frecuencia de un filtro en cien puntos, registrar una temperatura cada minuto durante una semana o ensayar mil placas al final de una línea de producción no se puede hacer a mano. Un sistema automático de medición controla los instrumentos desde una computadora: los configura, dispara las mediciones, lee los resultados y los guarda con todos sus datos. Gana velocidad, repetibilidad y registro: cada medición se hace exactamente igual, y queda documentado con qué instrumento, en qué condiciones y cuándo.

02Controlador, bus e instrumentos

InterfazCaracterísticasUso
GPIB (IEEE 488)Bus paralelo de 8 bits, hasta 15 instrumentos, unos 20 m, alrededor de 1 MB/sBancos de laboratorio desde los años 70; todavía muy difundido
RS-232Serie punto a punto, lentaInstrumentos simples y equipos antiguos
USB-TMCUSB con una clase normalizada para instrumentosInstrumentos de mesa actuales
LAN / LXIEthernet con reglas comunes de descubrimiento y disparoSistemas distribuidos y control remoto
PXIInstrumentos en tarjetas dentro de un chasis con bus PCI Express y disparo sincronizadoEnsayo en producción, alta velocidad

Para no escribir un programa distinto por interfaz, el software usa una biblioteca intermedia, VISA, que abre una sesión con cualquier instrumento a partir de una dirección como GPIB0::22::INSTR, USB0::…::INSTR o TCPIP0::192.168.1.20::INSTR, y ofrece las mismas funciones para escribir y leer. En Python, el paquete PyVISA la usa; en la industria también se usa LabVIEW.

03El lenguaje SCPI

Casi todos los instrumentos programables entienden SCPI (Standard Commands for Programmable Instruments), un lenguaje de texto con comandos jerárquicos separados por dos puntos. Cada palabra tiene una forma larga y una corta, la parte en mayúsculas: MEASure:VOLTage:DC? se puede escribir MEAS:VOLT:DC?. Los comandos que terminan en ? son consultas y devuelven una respuesta. La norma IEEE 488.2 agrega comandos comunes que empiezan con asterisco:

ComandoQué hace
*IDN?Devuelve fabricante, modelo, número de serie y versión
*RSTLleva el instrumento a un estado conocido
*OPC?Responde 1 cuando terminaron las operaciones pendientes: sirve para sincronizar
SYST:ERR?Lee el próximo error de la cola; un programa robusto la vacía al final

04La estructura de un programa de medición

Un programa bien hecho sigue siempre los mismos pasos: llevar el instrumento a un estado conocido, configurarlo explícitamente (sin depender de cómo lo dejó el último usuario), disparar, leer, verificar que no haya errores y guardar los datos con su contexto. En Python con PyVISA:

import pyvisa
rm = pyvisa.ResourceManager()
dmm = rm.open_resource("USB0::0x1234::0x5678::MY001::INSTR")
dmm.timeout = 5000                      # milisegundos
print(dmm.query("*IDN?"))
dmm.write("*RST")
dmm.write("CONF:VOLT:DC 10")            # función y rango fijos
dmm.write("VOLT:DC:NPLC 10")            # integración de 10 ciclos de red
dmm.write("TRIG:COUN 5")
lecturas = [float(x) for x in dmm.query("READ?").split(",")]
print(dmm.query("SYST:ERR?"))           # debería ser +0,"No error"

La velocidad de una medición automática la fija casi siempre el instrumento, no el bus. Un multímetro que integra 10 ciclos de red tarda 200 ms por lectura a 50 Hz, y el rango automático y la puesta a cero automática agregan más. Es el mismo compromiso visto en interferencias: más tiempo de integración, menos ruido y más rechazo de 50 Hz, pero menos lecturas por segundo.

Laboratorio · una consola SCPI

Un multímetro programable simulado, conectado a una fuente de 1,234567 V y a un resistor de 1000,12 Ω. Tocás un comando o lo escribís, y el instrumento responde como uno real, con su cola de errores y el tiempo que tardaría cada lectura. El modelo es ficticio.


        

05Placas de adquisición y buenas prácticas

Para muchas señales a la vez se usan placas de adquisición de datos (DAQ): un conversor con un multiplexor de entradas, entradas y salidas digitales, contadores y a veces salidas analógicas, conectadas por USB, PCI Express o Ethernet. Al multiplexar, la frecuencia de muestreo se reparte entre los canales, y cambiar de canal requiere un tiempo de asentamiento: con fuentes de impedancia alta, un canal contamina al siguiente.

Los datos automáticos valen tanto como su contexto. Cada archivo debería guardar, junto con las lecturas, la identificación y la configuración de los instrumentos, las condiciones ambientales, la fecha de la última calibración y la versión del programa.

06En el laboratorio

Actividad 1 · Primer contacto

Conectar un multímetro o un osciloscopio por USB, identificarlo con *IDN? desde PyVISA y leer una medición.

Actividad 2 · Respuesta en frecuencia automática

Programar un generador y un osciloscopio para barrer un filtro de 100 Hz a 100 kHz en 50 puntos logarítmicos y graficar el diagrama de Bode.

Actividad 3 · Registro de larga duración

Registrar la tensión de una batería en descarga cada 10 s durante horas, guardando los datos con su contexto en un archivo CSV.

07Errores frecuentes

  • No configurar todo explícitamente. El programa funciona hasta que alguien deja el instrumento en otro modo.
  • Leer antes de que termine la medición. Sin *OPC? o sin un tiempo de espera adecuado, se leen datos viejos.
  • Ignorar la cola de errores. Un comando mal escrito no detiene el programa: solo deja un error que nadie lee.
  • Guardar números sin unidades ni contexto. Un archivo de lecturas sin configuración es inservible un mes después.

08Autoevaluación

¿Cuánto tarda un multímetro en tomar 100 lecturas con NPLC 10 en una red de 50 Hz?

Al menos 100 · 200 ms = 20 s, más el tiempo propio de cada conversión.

¿Cuál es la forma corta de SENSe:VOLTage:DC:RANGe?

SENS:VOLT:DC:RANG, y como SENSe es opcional, también VOLT:DC:RANG.

¿Para qué sirve *OPC??

Para esperar a que el instrumento termine lo pendiente antes de seguir: responde 1 recién entonces.

¿Qué ventaja da VISA frente a programar cada interfaz?

Que el mismo programa funciona con el instrumento conectado por GPIB, USB o red, cambiando solo la dirección.

09Para ampliar

  • SCPI Consortium. Standard Commands for Programmable Instruments (SCPI), Volume 1: Syntax and Style. SCPI Consortium, 1999. La norma del lenguaje: sintaxis, jerarquía de comandos y formato de las respuestas.
  • John Park y Steve Mackay. Practical Data Acquisition for Instrumentation and Control Systems. Newnes, 2003. Placas de adquisición, interfaces y software para sistemas de medición.
  • Alan S. Morris y Reza Langari. Measurement and Instrumentation: Theory and Application. 3.ª ed., Academic Press, 2020. Los sistemas de medición computarizados en el contexto de la instrumentación completa.
Desarrollo del contenido «Automatización de mediciones» de Medidas Electrónicas I (cuarto nivel), según el diseño curricular de Ingeniería Electrónica, Plan 2023 — Ordenanza N° 1849 del Consejo Superior de la UTN. Volver al Mapa de Temas · catto.ar