Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. Introducción
El campo de la instrumentación controlada por ordenador está experimentando un fuerte
desarrollo en los últimos años lo que está conduciendo a una enorme variedad de tecnologías físicas de
comunicación (GPIB, RS232, USB, Ethernet), de arquitecturas de instrumentos (VXI, PXI, LXI), así
como una amalgama de capas de software (VISA, IVI), lenguajes de comunicación (SCPI) y entornos
completos de desarrollo de sistemas de control de instrumentación (LabVIEW, LabWindows) [1].
Este panorama tecnológico resulta apabullante para quien se enfrenta por primera vez a él. Sin
embargo diferentes motivos, como la implantación de protocolos de calidad en el proceso productivo
entre otros, apuntan a la importancia que tiene para un ingeniero una formación específica en este
campo. Es por ello que cada vez está siendo más habitual en las asignaturas destinadas a la metrología,
y con mayor énfasis en las dedicadas a la metrología de magnitudes eléctricas, la inclusión dentro de
sus temarios de sistemas destinados a la realización de medidas de forma automatizada con apoyo de
un ordenador, y así se ha hecho dentro de la asignatura de Electrometría, obligatoria (troncal) de tercer
curso de la titulación de Ingeniero Técnico Industrial, especialidad de Electricidad, de la Escuela
Universitaria de Ingeniería Técnica Industrial de Zaragoza.
Con el objeto de dotar al estudiante de una formación suficiente en este campo que le permita
poner en marcha de forma autónoma un sistema de este tipo, y atendiendo al tiempo limitado que se
dispone para ello, de entre las diferentes aproximaciones tecnológicas se ha optado por mostrar al
estudiante la forma de resolver el problema de la comunicación con los instrumentos usando un
lenguaje de programación de alto nivel y el lenguaje SCPI [2]. La comunicación con los dispositivos
se realiza fundamentalmente a través de una interface GPIB junto con una biblioteca de llamadas
compatibles con la NI-488.2. En caso de emplear la conexión RS232 se emplean las funciones
estándar del sistema operativo.
El lenguaje SCPI nace ante la necesidad de estandarizar la comunicación con los dispositivos de
forma que instrumentos con funcionalidades similares respondan a los mismos mandatos
independientemente de su tipología y fabricante. En este sentido, una fuente de alimentación con
capacidad de monitorizar la tensión continua que está generando y un multímetro digital obedecerán
al mismo mensaje de solicitud de medida de tensión DC, lo que facilita y acelera la puesta a punto del
sistema de medida. Los mensajes SCPI se codifican como cadenas de caracteres ASCII en un formato
legible para el programador.
Se ha evitado el uso de VISA porque, pese a presentar una interface homogénea con respecto a
los canales de comunicación, incorpora una complejidad estructural añadida. Resulta más interesante
que el estudiante entienda la comunicación utilizando los recursos básicos antes de hacerle afrontar
una nueva capa de abstracción. Por unas consideraciones similares tampoco se ha empleado IVI, que
además implica la necesidad de disponer de drivers específicos para cada dispositivo. También se ha
huido de los entornos completos de desarrollo dado que adolecen de su propia complejidad instrínseca,
constituyen software privativo, son muy caros, máxime considerando la necesidad de disponer de
varias licencias para dotar a un laboratorio de prácticas, resultan excesivos para sistemas sencillos, que
por otra parte suelen ser los que se necesitan en la mayor parte de las ocasiones, y además crearían la
tendencia en el estudiante a optar por su uso en su ejercicio profesional en detrimento por
desconocimiento de soluciones basadas en software libre que conllevarían globalmente un desembolso
económico mucho menor.
4. Detalles de implementación
Ambas aplicaciones se han escrito en lenguaje C++ y buscando herramientas libres para su
desarrollo. Bajo Windows se ha empleado el IDE wxDev-C++ y para Linux el IDE Anjuta. En ambos
casos el compilador ha sido GNU GCC. Con el fin de mejorar la portabilidad de código entre
Windows y Linux se ha empleado la biblioteca wxWidgets [4].
Figura 2. Aplicación cliente. Ventana de edición del guión y ventana de resultados de la ejecución
Si bien se disponía de algunos otros instrumentos con capacidad de ser controlados por
ordenador, ninguno de ellos obedecía al estándar por lo que no se consideraron.
Para una primera sesión de prácticas se plantearon tres sistemas constituidos cada uno de ellos
por un único instrumento: Una fuente de alimentación con una carga resistiva conectada, un
multímetro con una referencia de tensión AC y de corriente DC conectadas y un generador de señales
conectado a un osciloscopio. El osciloscopio tenía propósito de permitir a los estudiante visualizar la
señal que estaban generando y no se controlaba por ordenador. A los estudiantes se les solicitaba que
realizasen pequeñas tareas sencillas, solubles en la mayoría de los casos con un único mandato SCPI,
con objeto de familiarizarse con su uso y los manuales de los instrumentos. A modo de ejemplo la lista
de tareas para realizar con el multímetro fue la siguiente:
El software descrito se utilizó en cuatro turnos de prácticas con una duración de cuatro horas
por turno, contabilizando un total de 16 horas de uso además de las empleadas en el examen final de la
asignatura. Durante estas sesiones llegaron a estar conectados hasta 9 ordenadores simultáneamente.
La aplicación cliente contaba de un medidor de tiempo en espera, siendo éste el tiempo que el
programa servidor mantenía retenido el guión enviado a la espera de que se liberara el sistema de
instrumentación al que se dirigía. Dado que cuando se puso en marcha la aplicación, aún se encontraba
en fase de pruebas no se pueden aportar datos estadísticos, pero era inferior en todos los casos a 8
minutos frente a las dos horas que duraban cada una de la sesiónes.
6. Conclusiones
Se ha diseñado un sistema orientado a la docencia del estándar SCPI a través de un enlace
TCP/IP lo que permite la optimización de recursos (con un pequeño número de instrumentos
programables se puede atender a un grupo numeroso de estudiantes) así como soporte para enseñanza
semipresencial.
El sistema hace hincapié en el uso de los mandatos SCPI y permite al estudiante centrarse en su
utilización evitando la necesidad de programar a bajo nivel el protocolo de comunicación.
7. Agradecimientos
El presente proyecto se ha desarrollado bajo el Programa de Enseñanza Semipresencial, sección
“utilización de herramientas TIC especializadas en metodologías activas” del año 2007 de la
Universidad de Zaragoza.
Referencias
[1] Keithley. Understanding new developments in data adquisition, measurement and control. 1ª edición
[2] SCPI Consortium. SCPI-99. http://www.scpiconsortium.org/SCPI-99.pdf.
[3] Zorzano L., Zorzano A., Zorzano J., y Vicuña J, Sistema de aprendizaje de programación de instrumentos
con comandos SCPI. TAEE´06 VII Congreso de Tecnologías Aplicadas a la Enseñanza de la Electrónica.
Madrid, julio 2006. CD-ROM de Actas del Congreso. ISBN: 84-689-9590-8
[4] Smart J., Hock K. Cross-Platform GUI Programming with wxWidgets. Ed. Prentice Hall, 2006. ISBN:
0131473816