Transcript
Page 1: Sistemas de instrumentación
Page 2: Sistemas de instrumentación
Page 3: Sistemas de instrumentación
Page 4: Sistemas de instrumentación

Prólogo 7

Prólogo

Un sistema de instrumentación es una estructura compleja que agrupa un conjunto deinstrumentos, un dispositivo o sistema en el que se mide, unas conexiones entre estos elementos y porúltimo, y más importante, unos programas que se encargan de automatizar el proceso y de garantizarla repetibilidad de las medidas. El objetivo final, que no debe perderse de vista, del proceso deautomatización de las medidas es el aumento de la calidad. Esta calidad puede entenderse desde elpunto de vista del usuario del producto o del servicio que ha pasado por el proceso de prueba o desdeel punto de vista del ingeniero que desarrolla, pone en marcha y mantiene el sistema deinstrumentación que realiza este proceso de prueba, y que cada vez con mayor insistencia debeajustarse a estándares internacionales como la norma ISO 9000.

Este libro se ha escrito pensando especialmente en el tipo de sistemas que se encuentran endepartamentos de investigación y/o desarrollo y para el control de la producción, especialmente encontrol de calidad. Los sistemas que consideramos en mayor profundidad son los construidos en basea instrumentos comerciales que se unen mediante un bus digital que permite la programación de lasfunciones de medida, el procesado de los datos y la presentación de los resultados, lo que da lugar a loque se ha denominado instrumento virtual.

Para no perder generalidad y para enmarcar adecuadamente los temas centrales del librohemos dedicado los dos primeros capítulos a describir los objetivos, las estructuras y las funciones delos distintos tipos de sistemas de instrumentación existentes. El resto de capítulos se centran ya ensistemas construidos alrededor de buses estándar, en concreto IEEE-488 (conocido también por GP-IB o HP-IB) y VXI, describiendo la arquitectura y funcionalidad de los mismos, las formas deprogramarlos y la forma genérica de las aplicaciones informáticas que facilitan la tarea de desarrollarlos programas de control y que conocemos habitualmente como instrumentación virtual.

La descripción de los buses estándar de interconexión de instrumentos que suelen hacer lostextos de instrumentación es casi siempre muy somera (muchas veces por limitaciones de espacio),por lo que se limita a una descripción mecánica y eléctrica y a enumerar las característicasfuncionales más relevantes. Aquel ingeniero interesado en conocer más profundamente elfuncionamiento del sistema, ya sea como usuario avanzado o como diseñador de aplicaciones, notiene otra alternativa que recurrir al texto de las normas. En el presente libro hemos intentado unadescripción rigurosa pero didáctica de los estándares. Aquel que necesite asegurar que su diseño, yasea un equipo o una aplicación informática, cumple con el estándar no tendrá otro remedio que acudira él, pero el usuario avanzado que necesita comprender las razones del comportamiento de unadeterminada aplicación encontrará en este texto el material suficiente para ello o para acudir a la parte

Page 5: Sistemas de instrumentación

8 Sistemas de instrumentación

del estándar requerida con suficiente base como para leerlo con provecho.

La explicación de los buses de interconexión de instrumentos, igual que la descripción debuses de microprocesador, es una tarea que no se presta a ser desarrollada en un aula, sino que esideal para el laboratorio. Por este motivo hemos desarrollado en paralelo con este libro un curso delaboratorio de instrumentación virtual. Nuestra sugerencia para la docencia de esta materia es dedicarpoco tiempo (4 a 6 horas) de pizarra para introducir los conceptos de sistemas de instrumentaciónexpuestos aquí y dedicar mucho más tiempo (25 a 30 horas) al curso de laboratorio. Hecho de estaforma, el presente libro se deberá usar como material de referencia y como tal se ha desarrollado.

Este texto se ha escrito pensando en estudiantes de ingeniería, de ciclo corto o largo, queestén cursando materias de instrumentación o cursos de laboratorio con instrumentos controlados deforma automática. También será útil a aquellos profesionales que trabajen con sistemas automáticosde medida y que deban desarrollar aplicaciones de bajo nivel, no soportadas o suministradas por losfabricantes de los equipos o del entorno informático de aplicación.

Los autoresSeptiembre de 1995

Page 6: Sistemas de instrumentación

Índice 9

Índice

1 Automatización de las medidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.1 Objetivos de los sistemas de instrumentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.2 Estructura general de los sistemas de instrumentación . . . . . . . . . . . . . . . . . . . . . . . . 131.3 Sistemas dedicados y de bastidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.4 Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2 Arquitectura de los sistemas de instrumentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.1 Estructura del hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.2 Estructura del software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.3 Sistema de direccionamiento de la señal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.4 Tipos de instrumentos y buses de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3 Sistemas basados en el bus IEEE-488 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.1 Introducción histórica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.2 Aspectos eléctricos y mecánicos (IEEE-488.1-1987) . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.2.1 Aspectos mecánicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.2.2 Aspectos eléctricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.3 Transferencia de información . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.4 Funciones de la interfase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.4.1 Funciones bàsicas de transferencia: AH y SH . . . . . . . . . . . . . . . . . . . . . . 363.4.2 Funciones de emisión y recepción de información (T, L, TE, LE) . . . . . . . 373.4.3 Funciones que afectan al instrumento (DC, DT y RL) . . . . . . . . . . . . . . . . 383.4.4 Funciones de petición de servicio (SR y PP) . . . . . . . . . . . . . . . . . . . . . . . 383.4.5 Función de controlador (C) y codificación de las órdenes . . . . . . . . . . . . . . 39

3.5 Códigos, formatos, protocolos y comandos comunes (IEEE-488.2-1992) . . . . . . . . . 423.5.1 Requerimientos de la interfase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.5.2 Registro de estado y petición de servicio . . . . . . . . . . . . . . . . . . . . . . . . . . 433.5.3 Sintaxis de los mensajes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.5.4 Comandos comunes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.5.5 Procedimientos comunes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.6 Realización de interfases IEEE-488.1 y .2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Page 7: Sistemas de instrumentación

10 Sistemas de instrumentación

4 Sistemas basados en el bus VME y VXI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.1 Del VME al VXI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.2 Especificaciones generales de la norma VXI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.3 Descripción de los buses VXI y VME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.3.1 El bus VME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.3.2 Extensión del bus VME, el bus VXI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

4.4 Modos de funcionamiento y arquitecturas del bus VXI . . . . . . . . . . . . . . . . . . . . . . . 594.4.1 Tipos de dispositivos en un sistema VXI . . . . . . . . . . . . . . . . . . . . . . . . . . 594.4.2 Recursos del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614.4.3 Protocolos de comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624.4.4 Arquitecturas de un sistema VXI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5 Comandos de medida normalizados. SCPI, ADIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.1 Modelo de instrumento según la norma SCPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665.2 Sintaxis y estilo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695.3 Comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705.4 Formato de datos: ADIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

6 Instrumentación virtual. Programas de ayuda al diseño de sistemas deinstrumentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

6.1 Clases de instrumentos virtuales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756.2 Lenguajes de control para sistemas de instrumentación . . . . . . . . . . . . . . . . . . . . . . . 78

Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Libros y artículos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83Normas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84Catálogos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

Page 8: Sistemas de instrumentación

Bibliografía 83

Bibliografía

Libros y artículos

[BUC92] BUCHLA, D.; MCLAHAN, W. Applied electronic instrumentation and measurement.New York, Macmillan, 1992.

[COO95] COOMBS, C.F. JR. Electronic instrument handbook, 2a. Edición, Nueva York,McGraw-Hill, 1995.

[MAN94] MANUEL, A.; SÁNCHEZ, F,; SÁNCHEZ, J. "Controladores GPIB. Características yprestaciones". Mundo electrónico, 249, junio-julio 1994, pp. 32-36.

[MER91] MERCADÉ, J. "SCPI normalización de comandos y datos en instrumentaciónprogramable". Mundo electrónico, 220, septiembre 1991, pp. 62-67.

[SYD89] SYDENHAM, P.H.; HANCOCK, N.H.; THORN, R. Introduction to measurement scienceand engineering. Chichester, Wiley, 1989.

[JOH94] JOHNSON, G.W. LabVIEW Graphical programming. Practical Applications inInstrumentation and control, Nueva York, McGraw-Hill, 1994.

Page 9: Sistemas de instrumentación

84 Sistemas de instrumentación

Normas

ANSI/IEEE Std 488.1-1987, IEEE Standard Digital Interface for Programmable Instrumentation TheInstitute of Electrical and Electronics Engineers, Inc, 1988.

ANSI/IEEE Std 488.2-1992, IEEE Standard Codes, Formats, Protocols and Common Commands;The Institute of Electrical and Electronics Engineers, Inc, 1988, 1993.

ANSI/IEEE Std 728-1982, IEEE Recomended Practice for Code and Format Conventions for usewith ANSI/IEEE Std 488-1978; The Institute of Electrical and Electronics Engineers, Inc, 1982.

IEEE Std 1014-1987, IEEE Standard for a Verastile Backplane Bus:VMEbus; The Institute ofElectrical and Electronics Engineers, Inc, 1987.

IEEE Std 1155-1992, IEEE Standard VME bus extensions for Instrumentation:VXI; The Institute ofElectrical and Electronics Engineers, Inc, 1992.

Standard Commands for Programmable Instruments:SCPI, SCPI Consortium, La Mesa (CA), 1991.

Catálogos

National Instruments, Instrumentation reference and catalogue 1995, Austin, Texas 1994.

Intelligent Instrumentation, The handbook of personal computer instrumentation, Tucson,Arizona, 1994.

Data Translation, 1993 Product Handbook: Data Acquisition and Image Procesing,Massachusetts, 1993.

Keithley, Data acquisition & control, Taunton, MA, 1991.

IOtech, Products for the IEEE-488 BUS, Cleveland, OH, 1992.

Page 10: Sistemas de instrumentación

Automatización de las medidas 11

1 Automatización de las medidas

La imagen del técnico o del científico, con bata blanca, manejando manualmente uno o variosinstrumentos conectados mediante un amasijo de cables a una tarjeta de circuito impreso u otrodispositivo es una imagen ciertamente bucólica pero poco representativa de la realidad de lainstrumentación electrónica actual. Con esto no queremos decir que esta imagen sea falsa, sino quelos instrumentos que se usan de esta forma representan un porcentaje pequeño en el mercado globalde la instrumentación.

El concepto básico que subyace detrás del mundo de la instrumentación es el concepto decalidad. La calidad puede entenderse desde el punto de vista del usuario o desde el punto de vista deltécnico de medida (test engineer). Desde el punto de vista del usuario, la calidad de un producto oservicio puede descomponerse en tres ámbitos objetivos: la fiabilidad, la facilidad de mantenimientoy la disponibilidad [SYD89]. La disponibilidad es una cuestión de capacidad de producción y canalesde distribución. La facilidad de mantenimiento es fundamentalmente una cuestión de diseño delproducto y del servicio post-venta. La fiabilidad es la capacidad del producto para realizar unadeterminada función durante un intervalo de tiempo especificado. En la fiabilidad de un producto oservicio intervienen numerosos factores que impiden que ésta pueda calcularse de forma simple. Poreste motivo hay que recurrir a ensayos que nos permitan determinar si el producto es funcionalmentecorrecto y estimar estadísticamente la tasa de fallos.

Estos ensayos consisten siempre en la aplicación de estímulos (eléctricos, mecánicos,entradas del usuario, etc.), la recogida de datos de las respuestas a los estímulos y la generación de losinformes que documentan la prueba. Este proceso no puede realizarse de forma manual. El motivo noes únicamente la cantidad de productos que deben ensayarse sino el ensayo en sí mismo. Tomemoscomo ejemplo un sistema digital basado en microprocesador. Hacer una prueba funcional exhaustivadel sistema significaría aplicar la totalidad de las entradas distintas posibles para cada uno de losestados posibles del sistema. La generación de los estímulos (en este contexto se llaman vectores deprueba) debe hacerse de forma sistemática si no queremos correr el riesgo de olvidar partesimportantes. La comparación de las respuestas recogidas con las respuestas esperadas no puedehacerse de forma manual, al menos en un tiempo razonable, y el informe no puede mecanografiarse amano porque se tardaría semanas en escribirlo. Aunque en la práctica no se prueben todos losvectores posibles, sino solo algunos considerados significativos, el volumen de información que semaneja sólo se puede tratar de forma automática.

Hay otros ejemplos donde la cantidad de información no es tan grande pero para poderasegurar la exactitud o la repetibilidad requerida en las pruebas es necesaria una sistematización delos ensayos que solo puede asegurarse, con un tiempo y un coste razonable, si se realiza de formaautomática.

Page 11: Sistemas de instrumentación

12 Sistemas de instrumentación

Desde el punto de vista del técnico, aumentar la calidad de una medida puede constituirsimplemente en el aumento de la velocidad de adquisición o procesado de los datos, el aumento de laexactitud o la disminución del coste. Así deberíamos incluir aquellos sistemas destinados a adquirirconocimiento del mundo físico para contrastar hipótesis sobre el mismo, el uso de los cuales solorepercutirá en la calidad de un producto o servicio de forma muy indirecta, o bien los sistemas decontrol donde, tradicionalmente, se ha dado más importancia a los algoritmos que se usaban paradecidir las acciones a seguir que a la instrumentación usada para adquirir los datos con que sealimentan estos algoritmos.

1.1 Objetivos de los sistemas de instrumentación

El objetivo básico de un sistema de instrumentación es la adquisición de información delmundo físico a la máxima velocidad posible, con la mayor exactitud que se pueda obtener y con elmenor coste. Si esto se usa para adquirir conocimiento hablaremos de sistema de instrumentación osistema de medida. Si esta adquisición de información se usa para determinar la respuesta a losensayos a los que se somete un circuito integrado, un sistema electrónico o mecánico, etc. hablaremosde sistemas automáticos de prueba (automatic test equipment:ATE). Históricamente el término inglésATE se ha reservado a aquellos sistemas destinados a realizar ensayos en circuitos integrados,componentes electrónicos discretos, placas de circuito impreso o sistemas electrónicos completos,pero puede generalizarse a otros tipos de ensayo como térmicos o mecánicos.

La diferencia estructural entre los sistemas de medida y los de prueba radicaría en laexistencia en estos últimos de un subsistema destinado a aplicar excitaciones al elemento que sesomete a ensayo. Este subsistema puede sustituirse, a nivel formal, por la existencia de una hipótesissobre el comportamiento del sistema físico en el que se mide. Salvado este extremo ambos tipos desistema admiten igual tratamiento, por lo que usaremos ambos términos de forma indistinta.

Podemos definir los objetivos de los sistemas de instrumentación según el tipo decomprobación que realizan en el sistema bajo prueba (SBP):

1. Análisis de defectos: el objetivo de estos sistemas es la realización de ensayos en dispositivos oelementos complejos, para determinar si las medidas realizadas secorresponden con un conjunto de medidas de referencia realizadas en unelemento que se considera correcto. El objeto o sistema que se mide puedeestar o no realizando su función habitual. Las medidas que se realizan notienen por qué corresponder a parámetros de algún componente del sistema nia salidas funcionales del mismo. Simplemente sirven para determinar siaquello que se mide es igual o distinto a lo que se esperaba obtener. Elobjetivo final es determinar si el objeto presenta defectos, ya sea defabricación o ensamblaje o bien debidos al uso o manipulación.

2. Medida de parámetros: en este caso se trata de obtener un conjunto de parámetros de unelemento del SBP. El elemento o dispositivo puede estar aislado delsistema o conectado a él. El sistema puede estar funcionando o no.Por ejemplo podemos medir el valor de un resistor o caracterizar eltiempo de subida de un elemento lógico al variar las condiciones decarga. La técnica de medida cambia si el elemento está aislado oinsertado en un sistema [COO95].

Page 12: Sistemas de instrumentación

Automatización de las medidas 13

Fig. 1.1 Esquema conceptual de un sistema de instrumentación

3. Pruebas funcionales: el objetivo de estos ensayos es determinar si el SBP realiza la funciónpara la cual fue diseñado. Es obvio que en este caso el sistema debeestar funcionando y deben suministrársele las entradascorrespondientes, ya sean de usuario o bien de los subsistemas que leprecedan cuando el sistema opera normalmente. Este tipo de ensayoes el que requiere un sistema de instrumentación más complejo, yaque deben simularse todos los modos de operación del SBP y debenrealizarse las medidas a la velocidad real de funcionamiento delmismo.

1.2 Estructura general de los sistemas de instrumentación

En la figura 1.1 se puede ver el esquema conceptual de un sistema de instrumentacióngenérico. El sistema bajo prueba (SBP) recibe excitaciones generadas por una serie de dispositivos oinstrumentos que están conectados a un bus. Estas excitaciones se aplican a través a actuadores sparael caso de un sistema no eléctrico. El SBP además puede recibir entradas directas del usuario, porejemplo si se hace una prueba funcional. La respuesta a las excitaciones es recogida por los elementosde adquisición. Al igual que para los generadores de excitación, estos elementos pueden ser circuitosdiseñados a medida o bien instrumentos comerciales independientes. Los sensores tampoco estaránpresentes si se mide en un sistema eléctrico.

Page 13: Sistemas de instrumentación

14 Sistemas de instrumentación

Fig. 1.2 Sistema de prueba dedicado de alta velocidad para entornos de fabricación HP84000 (Hewlett-Packard)

Tanto la parte de generación de la excitación como la de adquisición están unidas a niveldigital mediante buses de comunicaciones. Puede haber uno o más buses coexistiendo en un mismosistema. Estos buses se conectarán a un elemento inteligente, típicamente un ordenador de propósitogeneral, mediante las correspondientes interfases.

A partir de este punto entramos en el dominio de la programación, que se ha representadocomo un estructura jerárquica de capas. Los datos que llegan de los buses van a parar a una capa decontrol y gestión de bajo nivel que pasa la información a una capa de procesado y esta, a su vez, lapasa a una aplicación de presentación y recogida de señales del usuario.

1.3 Sistemas dedicados y de bastidor

Una forma de realizar un sistema de instrumentación consiste en diseñar cada una las partesque lo componen a medida de la aplicación. Este proceso acaba en un sistema, que tiene la estructuravista en el apartado anterior, y que normalmente conocemos como instrumento. En el caso de unsistema de prueba automático (ATE), el instrumento finalmente diseñado (incluido el ordenador)puede tener un volumen considerable, como el sistema de la figura 1.2. No obstante, se le continúaconsiderando un instrumento aislado más que un sistema de instrumentación. La ventaja de estaaproximación es la adecuación perfecta entre instrumento y aplicación. La desventaja es el coste y laincapacidad de reconfiguración para cubrir nuevas necesidades. Por este motivo los sistemasdedicados sólo son factibles económicamente si cubren una necesidad suficientemente amplia quepermita a sus diseñadores/fabricantes producir una cantidad significativa, y aun así su precio puederesultar muy elevado. Es del dominio público el hecho que durante la década de los 70 los circuitosintegrados digitales estaban limitados a 40 terminales porque los equipos de prueba que se usabantenían previsto como máximo este número de entradas y cambiarlos suponía un coste excesivo. Esta

Page 14: Sistemas de instrumentación

Automatización de las medidas 15

limitación afectó a microprocesadores tan populares como el Z80 o el i8086.

La alternativa a esta aproximación consiste en escoger instrumentos de propósito general,disponibles comercialmente, colocarlos unos encima de los otros (stack) en un bastidor (rack)comercial y controlarlos mediante un bus estándar de instrumentación, como IEEE-488 o VXI. A estaaproximación se le conoce, en terminología inglesa, como rack & stack. Las ventajas son,esencialmente, el menor coste de adquisición y la posibilidad de reutilización del todo o de las partesy por tanto la rentabilización de la inversión. Como contrapartida deberemos destinar un ciertotiempo a configurar las conexiones del sistema y a realizar la aplicación informática de control ypresentación. Esta solución suele adoptarse en laboratorios de investigación/desarrollo donde lasnecesidades de los ensayos a realizar cambian rápidamente, o bien en empresas que por la pocacontinuidad de la producción deben reconfigurar frecuentemente los sistemas de prueba.

1.4 Aplicaciones

La aplicaciones más importantes de los sistemas de instrumentación las encontramos en loscampos del diseño y desarrollo, de la producción, de las medidas de campo y del control de procesos[BUC92]. Cada uno de estos campos tiene características especiales que repercuten en la concepcióndel sistema de instrumentación, y que comentaremos muy brevemente.

1.4.1 Diseño y desarrollo

Las principales aplicaciones en este campo son la verificación del diseño, las medidas deprestaciones y los ensayos ambientales. Los sistemas de verificación de diseño son usados por losingenieros de diseño para comprobar los primeros prototipos del producto desarrollado. Son sistemascon vida muy corta y niveles de automatización pequeños, donde los sistemas de tipo bastidor tienensus dominios. En estos entornos, la existencia de aplicaciones informáticas que permitan undesarrollo rápido de la automatización de las medidas es un factor clave.

Las medidas de prestaciones se realizan en prototipos muy parecidos al producto final. Seusan para determinar las características de funcionamiento general del producto y el resultado sueleutilizarse para redactar las hojas de especificaciones. Es habitual realizar también pruebas de robusteza base de variar algunos parámetros fuera del margen especificado, como por ejemplo la tensión dealimentación o la frecuencia de trabajo.

Los ensayos ambientales consisten en someter al producto a cambios en parámetros externosde funcionamiento como pueden ser la temperatura, la humedad, las interferencias electromagnéticas,etc. Habitualmente existen normativas que obligan a realizar estas medidas de una forma determinada(p. ej. la directiva europea sobre compatibilidad electromagnética) y por tanto los sistemas deinstrumentación suelen estar altamente automatizados, para asegurar que las medidas se realizan deacuerdo con aquello que especifica la norma. Habitualmente estos sistemas no están en las empresasde diseño o producción, sino que se encuentran en laboratorios pseudo-gubernamentalesespecializados (p. ej.: Laboratori d'Assaigs de la Generalitat de Catalunya).

1.4.2 Sistemas para medidas en producción

Estos sistemas se usan para asegurar que el producto que se construye cumple con lasespecificaciones deseadas. En estos sistemas el factor clave es la velocidad puesto que limita la

Page 15: Sistemas de instrumentación

16 Sistemas de instrumentación

velocidad de la cadena de producción. En el mundo de la fabricación de productos electrónicos nosencontramos con sistemas de prueba de componentes en circuito, que determinan si cada uno de loscomponentes de una tarjeta de circuito impreso es correcto una vez los componentes han sidomontados (esto no excluye que las tarjetas y los componentes se hayan podido probar por separadocon anterioridad). El hecho de que los componentes estén montados en la placa impone técnicasespeciales de conexión y guarda para asegurar que se mide sólo el componente deseado [COO95].

En el caso de circuitos digitales complejos (microprocesadores, FPGA, etc.) las pruebasdentro del circuito son difíciles si se usan técnicas convencionales. Por este motivo se ha desarrolladoun método conocido como Boundary Scan Test (IEEE Std. 1149.1-1990; 1149.1a-1993). Este métodorequiere que el circuito a medir se haya diseñado de forma especial, añadiendo un circuito a cada unode los terminales de conexión. A estos circuitos (colocados en la periferia:boundary) se accede con unprotocolo serie y pueden configurarse para operación transparente, para fijar un nivel de tensión opara recoger la tensión de salida del terminal. Este método facilita enormemente la medida encircuitos digitales complejos puesto que solo hay que acceder a dos puntos de cada tarjeta de circuitoimpreso. El sistema de instrumentación requerido es, no obstante, muy complejo a nivel degeneración de vectores de prueba.

Finalmente se suelen realizar pruebas funcionales con el producto ya acabado para determinarque éste realiza la función para la cual fue diseñado. Es una prueba entrada/salida, es decir,considerando el producto como una caja negra. Si el producto no supera la prueba no es posible, eneste estadio, saber cuál es el componente defectuoso y debe volverse a alguna de las pruebasanteriores.

1.4.3 Medidas de campo

Las medidas de campo suelen realizarse para reparar productos que han dejado de funcionar ono realizan su tarea a satisfacción del cliente. Dado que los sistemas de instrumentación necesarioshan de desplazarse hasta el SBP, el tamaño y el peso son factores muy importantes. Habitualmenteson instrumentos diseñados a medida. También en esta campo la técnica de Boundary Scan ofrecegrandes ventajas.

1.4.4 Sistemas de control

La enseñanza clásica de los sistemas de control se centra en el estudio de los algoritmosnecesarios para llevar al sistema a un estado deseado tomando como información de entrada el estadoactual y la historia. Generalmente se supone que el conocimiento del estado actual es perfecto. Esteconocimiento, sin embargo, se adquiere a través de un sistema de instrumentación, que puede ser muysimple, en el caso de controlar, por ejemplo, la velocidad de un motor, o muy complejo en el caso decontrolar una refinería. La calidad del control que se puede realizar nunca será mejor que la calidadde las medidas que se obtengan del estado del SBP [SYD89].

En la mayoría de las aplicaciones se usan tarjetas de adquisición conectadas a un ordenadorde propósito general o bien a controladores especialmente diseñados (PLC: Progammable LogicControllers). A estas tarjetas se conectan directamente sensores con salidas estándar (0-5 V o 4-20mA) y los programas de control son especiales para el PLC. Algunos entornos de instrumentaciónvirtual basados en ordenadores de propósito general incluyen algoritmos de control, como porejemplo LabView de National Instruments.

Page 16: Sistemas de instrumentación

Arquitectura de los sistemas de instrumentación 17

2 Arquitectura de los sistemas de instrumentación

Entendemos por arquitectura del sistema la estructuración de éste en bloques funcionales y ladefinición de las interacciones entre ellos. La estructura que se presenta intenta abarcar todos losaspectos conceptuales existentes en sistemas de instrumentación para la prueba automática.Lógicamente, la arquitectura concreta de cada sistema de instrumentación dependerá de la aplicaciónde éste, el cual constituido por un subconjunto de los bloques aquí descritos.

El primer objetivo de este capítulo es describir la funcionalidad de los bloques constituyentesde un sistema de instrumentación, tanto en el aspecto hardware como software. El segundo objetivoes describir con más profundidad los subsistemas que son más específicos, como son el sistema dedireccionamiento de señal y los diferentes tipos de instrumentos y buses de control existentes en elmercado actual.

2.1 Estructura del hardware

Desde el punto de vista de la realización física es a partir de donde un sistema deinstrumentación puede tomar estructuras más diferentes. Pensemos, por ejemplo, en un equipo queintegre en una sola caja los circuitos para realizar medidas de impedancias terminales, funciones dered, análisis espectral y alguna cosa más. Este equipo, un analizador de redes, constituye lo quehemos llamado un instrumento y en la estructura representada en la figura 2.1 aparecería como uno delos bloques con este nombre. Sin embargo, podríamos realizar las mismas funciones de este equipobasándonos en varios equipos independientes (generadores de señal, amplificadores, analizadores deespectro) estructurados en un sistema de medida automática (que podría estar descrita por el mismoesquema de bloques). En definitiva, la estructura interna del analizador de redes en realidad se puededescomponer en un conjunto de bloques (subsistemas) que se ajustarían a toda la estructurarepresentada en la figura 2.1. Con esto queremos decir que la estructura que presentamos responde aun modelo funcional de las distintas partes del hardware y no a su apariencia o localización física, conlo que es útil para describir el funcionamiento tanto de equipos más o menos sencillos como sistemascomplejos de instrumentación.

El funcionamiento y las partes más importantes del sistema de instrumentación de la figura2.1 son los siguientes: el dispositivo o sistema bajo prueba (DBP o SBP) está conectado a losinstrumentos mediante un sistema de contactos (fijación del SBP) y un encaminamiento(conmutación) de las señales que permite seleccionar qué señales aplicar a las entradas del SBP ydónde enviar (a qué instrumentos) las salidas del SBP. Todo el proceso de controlar elencaminamiento de la señal, las medidas a realizar por los instrumentos, el almacenado de lainformación adquirida y su posterior procesado y presentación es realizado por el sistema de control.

Page 17: Sistemas de instrumentación

INSTRUMENTO

(ALIMENTACIÓN)CONMUTACIÓN

FIJACIÓN SBP

SBP

CONTROL

USUARIO

I/O

PLACAS

BUS DE CONTROL

CONEXIONADO DE SEÑAL

COMUNICACIONES

SISTEMA DE CONTROL

DEL BUS INSTRUMENTO INSTRUMENTO

INSTRUMENTO

18 Sistemas de instrumentación

Fig. 2.1 Arquitectura general de un sistema de instrumentación controlable

Normalmente será un ordenador con todos los periféricos típicos más las interfases necesarias paracontrolar el sistema. A continuación pasamos a describir cada bloque en mayor profundidad.

- Sistema bajo prueba (SBP)

En inglés se le denomina Device Under Test: DUT o también System Under Test:SUT. Es el elemento que se mide con el objeto de caracterizar alguna o algunas de suscualidades. Puede ser desde un componente electrónico de 2 terminales -resistor,condensador, etc- a un sistema de N terminales de entrada y M de salida.

Tal como se representa en la figura 2.1, el SBP puede ser un sistema que requiera unaprogramación o un control. Para ello hay que prever el disponer del bus adecuado para poderreconfigurar de forma automática el SBP.

- Fijación del SBP

Es el sistema que establece la conexión eléctrica del SBP con el sistema de medida.Para aplicaciones en control de producción suelen ser conjuntos de puntas de prueba (bed ofnails) contra los que se enfrentan las placas de circuito impreso a examinar. Las puntas deprueba están constituidas por una parte fija más una móvil que gracias a un muelle tiene uncierto recorrido y ejerce una presión dada. La parte móvil es la que establece el contactoeléctrico con las pistas o los pines existentes en las placas de circuito impreso bajo prueba.

Page 18: Sistemas de instrumentación

Arquitectura de los sistemas de instrumentación 19

Para que el contacto sea estable mecánicamente y de baja resistencia las puntas de pruebaestán acabadas normalmente en formas puntiagudas con un baño de oro o de rodio. La ventajade estos sistemas es la rapidez con que se establecen los contactos y que se puede acceder acualquier punto de la placa de circuito impreso.

En sistemas de laboratorio, usualmente, la conexión se realiza de forma manual através de conectores preestablecidos (paneles de conexión) o de sondas conectadas a pines dela placa o componente bajo prueba.

- Conmutación

Este bloque es el encargado de direccionar las señales entre los instrumentos y loscontactos del sistema de fijación del SBP para excitar o medir, en función de la medida arealizar, las entradas o salidas correspondientes del SBP. En algunos casos este sistema noexistirá o se reconfigurarán las conexiones de forma manual, reconectando los cables o laspuntas de prueba.

En sistemas automáticos puede estar constituido por un sistema simple basado eninterruptores independientes controlados directamente por el sistema de control, o por uninstrumento específico controlado a alto nivel que pueda establecer cualquier combinación deconexiones entre sus entradas y salidas.

- Conexionado de señal

El conjunto de cables para conectar los instrumentos con el SBP es una de las partesimprescindibles en un sistema de medida. Normalmente se realiza de una forma precipitadautilizando cualquier tipo de cable que tengamos a mano. Sin embargo, este sistema puedellevarnos a resultados totalmente falsos en algunas situaciones. La problemática del sistemade conexionado estriba en los problemas que pueden surgir de diafonía, bucles de masa,atenuaciones, desfases y reflexiones a alta frecuencia. En el apartado 2.3 se verán algunasdirectrices para atacar estos problemas.

- Instrumentos

La selección de los instrumentos para realizar el sistema depende de muchos factores.Para empezar es adecuado hacer una lista de los parámetros a medir y sus márgenes devariación. Con esta lista se podrán diseñar los tipos de medidas a realizar y, por lo tanto, lasseñales a generar y los tipos de medidores necesarios. A partir de este punto ya entran enjuego cuestiones de mercado y logísticas, como pueden ser la disponibilidad o no de equiposque reúnan las características de medida requeridas y, a su vez, un bus de control adecuado anuestro sistema. Otro concepto fundamental a considerar es la flexibilidad que queramostener en nuestro sistema para reconfigurarlo y poder realizar otras medidas. Este punto es degran importancia ya que el coste del sistema suele ser elevado y las necesidades actuales deensayo evolucionan de forma muy rápida lo que hace muy costoso el cambio de todo elsistema por una falta de previsión. Esta premisa de adaptabilidad es la que está impulsandolos sistemas abiertos de instrumentación frente a lo que serían los sistemas dedicados hechosa medida.

Page 19: Sistemas de instrumentación

20 Sistemas de instrumentación

- Alimentación (distribución de energía)

En muchos casos los SBP tienen que ser examinados bajo unas condicionespreestablecidas de la alimentación o, incluso, en un margen dado de ésta. Para ello hemosconsiderado la alimentación como una señal más a aplicar al SBP. En realidad el bloque dealimentación de la figura 2.1 puede considerarse como un instrumento más del sistema deinstrumentación.

Además de esta alimentación hay que considerar el diseño de la alimentación detodos los demás elementos activos del sistema. En equipos comerciales, normalmente, esteaspecto ya estará resuelto con una alimentación directa de la red eléctrica.

- Sistema de control (controlador)

Es el núcleo central del sistema de instrumentación, se encarga de controlar elfuncionamiento general y de gestionar los datos adquiridos. Actualmente están basados ensistemas con microprocesador y con todos los periféricos típicos de sistemas tipo ordenadorpersonal.

En algunos casos el controlador es un ordenador personal o una estación de trabajo(workstation), pero en otros, orientados a aplicaciones industriales, el controlador puede estarconstituido por una sola tarjeta conectable a un bastidor (rack).

En el caso de ordenadores personales existen multitud de placas de entradas y salidas,tanto analógicas como digitales. Con estas placas, tal como se muestra en la figura 2.1,pueden generarse y/o medirse señales que vayan al SBP o vengan de él, como si el ordenadorincluyera un instrumento más. Las líneas digitales de I/O también pueden utilizarse paracontrolar partes del sistema o del SBP.

En el caso de los PC, para controlar el bus de control, normalmente se utilizantarjetas específicas para cada uno de los buses normalizados. De este modo se puede tenermás de un bus de control.

Al igual que en la selección de los instrumentos, para seleccionar el controlador hayque tener en cuenta aspectos como: fácil desarrollo del software de control y procesado,facilidad de mantenimiento, requerimientos de velocidad, etc. Otro de los aspectos másimportantes a considerar es la adaptabilidad del sistema a cambios de requerimientos.

- Bus de control

Es el soporte físico para realizar el control y la transferencia de datos entre losinstrumentos y el controlador. Entre otras, las especificaciones más importantes son laslimitaciones en las velocidades de transmisión, las longitudes máximas de cable permitidas yel número de instrumentos que se pueden conectar.

- Comunicaciones

Cada día es más importante el integrar todos los sistemas que forman parte del

Page 20: Sistemas de instrumentación

Arquitectura de los sistemas de instrumentación 21

Fig. 2.2 Estructura en capas del software para el control de un sistema de instrumentación

proceso de producción y de gestión de una empresa. Ello permite agilizar la transferencia deinformación al reducir costes y dar más flexibilidad a la producción. Para esto es necesarioprever que los sistemas de prueba puedan integrarse en la red de comunicaciones de laempresa, por ejemplo mediante una conexión a la red de área local.

2.2 Estructura del software

En un sistema de instrumentación para test automático es donde la expresión "el instrumentoes el software" adquiere toda su significación. La idea que subyace en esta expresión es la de hacer elmáximo número de funciones por software, utilizando equipos de propósito general para realizar lasmedidas básicas. Esta aproximación permite adaptar el sistema a nuevas situaciones de medida consólo modificar el programa, con lo que se consigue alta flexibilidad a bajo coste. Sin embargo, ladecisión del soporte informático de nuestro sistema, desde el nivel de sistema operativo al nivel deaplicación, puede ser crucial para determinar la flexibilidad final de nuestro sistema y los costes demantenimiento y reprogramación.

A continuación revisaremos la estructura del software. En la figura 2.2 puede observarse laestructura en capas del software, desde el nivel inferior (el sistema operativo) al nivel superior (lasaplicaciones). Para cada nivel se comentará su funcionalidad y los aspectos más importantes a teneren cuenta.

- Sistema operativo (S.O.)

Es el soporte básico que relaciona las funciones programadas con el hardwareconcreto de la máquina. Determina aspectos tan importantes como son la posibilidad deejecutar programas simultáneamente (multitarea) y/o poder dar servicio a múltiples usuarios.En aplicaciones que requieran alta velocidad de adquisición y proceso, por ejemplo sistemasen tiempo real, los monotarea pueden ser más convenientes. Por otro lado, en sistemas quetienen que responder a eventos dados que no sean repetitivos, por ejemplo una central dealarmas, los sistemas multitarea serán más adecuados.

En todos los casos, el utilizar un S.O. de uso general como puede ser UNIX, DOS,OS/2 o MS-Windows permitirá disponer de más software comercial. Además, facilitará lascomunicaciones con otros ordenadores y su integración en redes locales.

Page 21: Sistemas de instrumentación

22 Sistemas de instrumentación

- Controladores para el bus de interconexión

Los controladores (drivers, en inglés) del bus de interconexión son las rutinas quegestionan los recursos concretos del gestor del bus, normalmente una placa que se instala enel ordenador de control. En el caso de un software bien estructurado éstas serían las únicassubrutinas que se deberían modificar en el caso de que se sustituyese el controlador del bus oincluso el tipo de bus de control.

La programación de los instrumentos puede realizarse utilizando estos drivers peropara ello necesitamos saber qué códigos específicos hay que enviar a cada instrumento paracada función a realizar. Esta tarea solo es interesante realizarla en el caso de que no sedispongan de drivers para un instrumento dado. En este caso lo más apropiado es realizar undriver de instrumento siguiendo las mismas pautas que sigan los drivers de que disponemos.

- Controladores de instrumentos

Estas son las rutinas (drivers) que controlan los instrumentos conectados al bus decontrol. Estas rutinas serán, por lo tanto, dependientes de cada instrumento. Normalmente sepresentan como un conjunto de funciones de alto nivel que permiten programar uninstrumento en concreto. La programación se realiza llamando a rutinas diferentes para cadafunción o a una rutina general con un cierto número de parámetros.

Para decidir la compra de drivers de instrumentos conviene considerar los siguientespuntos:

- desde que lenguaje se pueden usar (C, Basic, Pascal,...)- extensión de la librería de instrumentos soportados- posibilidades de modificación de los drivers existentes- posibilidad de incluir nuevos drivers o funciones- disponibilidad de herramientas para el desarrollo o la verificación de nuevosdrivers.

- Programas de prueba y diagnóstico

Estos son los algoritmos que realizan la programación de los equipos para cadamedida concreta. Se basan en llamadas a los drivers de instrumento para la programación deestos. Normalmente se utilizan programas escritos en lenguajes de alto nivel, o tambiénentornos de programación específicos textuales o gráficos. Idealmente en este nivel setendrían un conjunto de funciones que realizarían cada una de las medidas y devolverían losdatos adquiridos por los instrumentos una vez procesados.

Con lo visto hasta este momento se puede entender que, en un sistema automático demedida, localizar, de forma manual, los posibles fallos puede ser muy costoso. Un malfuncionamiento puede ser debido a problemas de comunicaciones, problemas en uninstrumento o problemas en el controlador y/o en su software. Por ello, los programas dediagnóstico se hacen imprescindibles para localizar las causas de un mal funcionamiento delsistema.

Page 22: Sistemas de instrumentación

Arquitectura de los sistemas de instrumentación 23

- Programa de aplicación y gestión (elaboración de informes)

Este es el nivel más alto y se encarga de gestionar tanto los programas de pruebacomo los datos obtenidos. Puede incluir sistemas de diagnóstico automático yautoconfiguración. Aspectos clave en este nivel son: la interfase de usuario, la presentaciónde datos, la exportación o los enlaces de datos a otros programas y las comunicaciones conotros sistemas.

2.3 Sistema de direccionamiento de la señal

El soporte físico para el paso de señales entre los instrumentos y el SBP es lo quedenominamos como sistema de direccionamiento de la señal. Está compuesto, como mínimo, por loscables y sus conectores (conexionado de señal) y también puede incluir etapas de multiplexado odemultiplexado (conmutación) y sistemas para fijar el SBP.

Como se ha comentado en el apartado anterior, normalmente el cableado se realiza de unaforma precipitada utilizando cualquier tipo de cable que tengamos a mano, lo que puede acarrearserios problemas de medida. Una de las primeras recomendaciones es marcar todos los cables conetiquetas identificativas para evitar fallos en la interconexión. Mantener un cierto orden en ladisposición física de los cables y de los instrumentos también ayuda a la detección de posibles fallosy al mantenimiento.

Aunque se cumplan estos requisitos básicos aún pueden surgir problemas como son: diafonía,bucles de masa, atenuaciones indeseadas, desfases y reflexiones a alta frecuencia. Para evitar estosproblemas es necesario estudiar el sistema de cableado y prestar atención a los siguientes puntos:

- utilizar en la medida de lo posible cables apantallados- separar las líneas digitales de las analógicas- definir un único punto de puesta a tierra- utilizar sistemas diferenciales- los cables trenzados pueden ser útiles para evitar interferencias magnéticas- separar las líneas de alta tensión o de alta corriente de las líneas de señales de bajo nivel

La etapa de conmutación es la que permite encaminar las señales hacia los instrumentos o lospuertos de entrada del SBP de forma adecuada para cada medida. Puede estar constituido desde unsistema con relés individuales (figura 2.3.a) hasta un sistema basado en una matriz de interconexión(figura 2.3.b) que permita cualquier combinación de conexiones.

Los conmutadores son los elementos básicos tanto de los multiplexores como de las matricesde conexiones. Según la tecnología pueden ser de los siguientes tipos: - relés de armadura- relés de láminas (reed): secos o de mercurio- interruptores de estado sólido: FET o CMOS

Las ventajas de los interruptores de estado sólido frente a los mecánicos son: menor volumen,bajo costo y rapidez de conmutación. El mayor inconveniente es la resistencia serie del interruptorcuando está cerrado.

Page 23: Sistemas de instrumentación

24 Sistemas de instrumentación

Fig. 2.3 Conmutación utilizando un multiplexor (a) o por una matriz de conexión (b)

Según el número de contactos fijos y contactos móviles (polos) los relés se clasifican en:

- 1 polo 1 contacto (SPST: Single Pole Single Throw)form A por defecto el contacto está abiertoform B por defecto el contacto está cerrado

- 1 polo 2 contactos (SPDT: Single Pole Dual Throw) form C primero se abre el contacto inicial y luego se establece el contacto con el otro

circuito, en inglés: break before make -bbm-form D se establece el contacto con el segundo circuito antes de que se abra el

primero, en inglés: make before break -mbb-. No es útil como sistema demultiplexado porque cortocircuitaría por un momento dos líneas de salida,pero sí se puede usar para demultiplexado.

- 2 polos 2 contactos (DPDT) y así sucesivamente.

La principal ventaja de disponer de un sistema automático de conmutación es la velocidadcon que se pueden reconfigurar las conexiones. Su principal inconveniente es que todas las señalesconfluyen hacia un punto en común, lo que da lugar a los problemas vistos para el sistema deconexionado. Para evitar estos problemas hay que actuar de forma parecida a lo visto para los cables:

- utilizar conmutadores apantallados- separar los conmutadores de señales digitales de los analógicos- utilizar conmutadores independientes separados físicamente para señales de alto y bajo nivel- estudiar la puesta a tierra. Evitar bucles de tierra- utilizar multiplexores diferenciales

Otras limitaciones de los conmutadores son:

- la resistencia serie que presentan, especialmente los de estado sólido- vida útil limitada para los relés- limitación de velocidad y rebotes del contacto en relés- la capacidad parásita a tierra- la diafonía entrada salida

Page 24: Sistemas de instrumentación

Arquitectura de los sistemas de instrumentación 25

Fig. 2.4 'Mainframe' para instrumentos modulares (Natinal Instruments)

2.4 Tipos de instrumentos y buses de control

Podemos clasificar los instrumentos, definidos como todo sistema que realice unamedida concreta, en dos grandes grupos: los instrumentos modulares y los instrumentosautónomos (standalone).

Los instrumentos modulares son aquellos que requieren de un soporte físico ynormalmente también de un soporte informático y de alimentación externa. Ejemplos de estetipo de instrumentos son las placas conectables al bus de un PC o a un sistema basado enVME o VXI. La principal ventaja de estos sistemas es la posibilidad de configurar un sistemacomplejo de medida a base de conectar sobre un recurso común diversas placas. Al compartiruna misma fuente de alimentación, un mismo bus digital y una misma estructura de soporte,los costos pueden ser menores. Normalmente la estructura de soporte (figura 2.4) es una cajatipo rack (Mainframe) con una placa posterior que contiene el bus común (Backplane) conconectores en los que se insertan los instrumentos individuales. La fuente de alimentaciónpuede estar en la parte posterior o ocupar el espacio de una o varias tarjetas.

Dentro de los instrumentos modulares podemos hacer una subdivisión entre losinstrumentos para ordenadores personales y los sistemas específicamente diseñados parainstrumentación industrial o de laboratorio. Actualmente existen instrumentos modulares parala mayoría de ordenadores personales y estaciones de trabajo (workstations), como son: IBMPC/XT/AT, PS/2, Sun, DEC, NeXT, MAC, etc. A todos estos instrumentos se les denominaen inglés PLUG-IN'. También se dispone de instrumentos conectables al bus de extensiónEISA y PCMCIA.

Entre los sistemas modulares específicos para instrumentación tenemos:

- SCXI: es un producto de National Instruments para configurar sistemas deinstrumentación, de adquisición o de control, basados en PC. Es un sistemabasado en módulos conectables a un rack. La adquisición de datos puedehacerse con una placa en el propio PC o utilizando una placa específica de

Page 25: Sistemas de instrumentación

26 Sistemas de instrumentación

adquisición en el rack. En este caso la transmisión de datos se realiza por elpuerto paralelo estándar del PC.

- CDS: es un producto de Colorado Data System para control industrial. Permiteconstruir sistemas de hasta 100 placas específicas controladas mediante unpuerto serie, paralelo o IEEE-488.

- VME: es un bus digital estándar para sistemas de 32 bits que ha tenido expansión enel entorno industrial gracias a disponer de racks con características apropiadaspara entornos industriales y gran número de instrumentos modulares. Sulimitación es que el bus común del backplane es solo digital.

- VXI: es una de las plataformas de sistemas modulares de instrumentación con uncrecimiento más espectacular. Es un sistema basado en el bus digital del VME al quese han añadido más conectores al backplane. Esto ha permitido añadir más líneasdigitales y, lo que es más importante, líneas analógicas y de sincronización entremódulos.

A pesar de que estos sistemas incorporan el control digital y permiten realizar sistemascompletos de instrumentación, todos ellos tienen posibilidades de comunicarse o ser inclusocontrolados por un sistema distinto. Así, por ejemplo, un rack basado en VXI puede tener uncontrolador del bus VXI que actúe controlado a su vez por un bus IEEE-488 al que esténconectados otros instrumentos o racks y todo a su vez controlado por un PC.

Por último, los instrumentos autónomos son los que disponen de todas las funcionesnecesarias para realizar las medidas de forma independiente. Para poder configurar un sistemade medida utilizando este tipo de instrumentos es imprescindible que sean controlables. Laventaja evidente de utilizar equipos autónomos es su posible utilización de formaindependiente pero, para especificaciones parecidas, estos equipos serán más caros que susequivalentes modulares.

Desde el punto de vista de la instrumentación virtual y de sistema, el aspecto másimportante de estos instrumentos será su posibilidad de ser controlados remotamente. Por elloestableceremos una clasificación dependiente de los buses de control utilizados.

El bus más utilizado es el IEEE-488; es un bus paralelo de 8 bits más las líneas decontrol y de protocolo de comunicación (handshake). Diseñado en 1965 por Hewlett-Packardbajo el nombre de HP-IB, ganó popularidad gracias a su alta velocidad de transferencia(1 Mbyte/s), y fue recogido ya en 1975 por el IEEE como el standard IEEE-488. Otro nombrepor el que se conoce es 'General Purpose Interfase Bus' (GPIB). Puede controlar hasta 14instrumentos con una distancia total de cable de hasta 20 m.

Page 26: Sistemas de instrumentación

Arquitectura de los sistemas de instrumentación 27

Fig. 2.5 Sistemas de instrumentación integrados en la red de comunicaciones de una empresa (Natinal Instruments)

El MXIbus (Multisystem eXtension Interface bus) es un bus digital multimaster de 32bits diseñado para interconectar sistemas de instrumentación entre sí (de hecho fue diseñadopara interconectar sistemas basados en VXI). El cable de conexión es parecido al de IEEE-488con longitudes de hasta 20 m. Permite transmisión de palabras en paralelo de 8, 16 o 32 bitscon velocidades teóricas de 20 Mbytes/s. Su principal aplicación es para la interconexión demainframes basados en VXI entre ellos o a otros sistemas, por ejemplo PC.

En entornos industriales son muy utilizados los buses de control serie ya que permitendistancias mayores entre los equipos. El más utilizado es el RS-232, ya que está incorporadoen la mayoría de ordenadores. Otros buses serie son: RS-422, RS-486, I C, CAN, LAN, etc.2

Otros tipos de equipos son los adaptadores de protocolos entre buses distintos. Porejemplo, existen conversores de: RS-232 a IEEE-488, SCSI a IEEE-488, ETHERNET (conprotocolo TCP/IP) a IEEE-488, etc. Para extender la longitud de los enlaces también seencuentran adaptadores que pasan del cable estándar paralelo de IEEE-488 a una transmisiónserie por cable coaxial o fibra óptica y viceversa.

Utilizando todos los recursos vistos hasta este momento se pueden realizar sistemasdistribuidos de instrumentación basados en redes de área local. En la figura 2.5 podemos verun sistema distribuido de una empresa basado en conexiones por internet entre centros,ethernet dentro de cada edificio y GPIB para el control dentro de cada laboratorio o zona deproducción.

Page 27: Sistemas de instrumentación

Sistemas basados en el bus IEEE-488 29

3 Sistemas basados en el bus IEEE-488

El bus IEEE-488, conocido también como GP-IB o HP-IB es, con mucho, el más usado de lossistemas de interconexión de instrumentos presentes en el mercado. Este hecho debe justificarse,actualmente, más por razones de mercado que por razones tecnológicas. La muerte del bus IEEE-488(que tiene una antigüedad de jure de 20 años, y de facto de casi 30) ha sido vaticinada varias veces,pero es previsible que subsista durante mucho más tiempo. Dos son los motivos que podemos aducir.En primer lugar, disponer de un instrumento que pueda funcionar autónomamente es mucho másrentable para empresas de tamaño medio/pequeño y para departamentos de investigación o desarrolloque adquirir instrumentación que deba funcionar en un bastidor o conectada al bus de un ordenador,por las razones de tiempo de vida y necesidad de reconfiguración comentadas en el capítulo 1. Ensegundo lugar, añadir una interfase IEEE-488 a un instrumento supone, actualmente, un coste mínimoy prácticamente todos los instrumentos de gama media/alta lo llevan de serie.

El bus IEEE-488 es un bus paralelo de 8 bits con una transferencia de información similar ala de un bus asíncrono de ordenador, mediante el uso de 3 líneas de protocolo (Fig. 3.3). Permitetransferir datos a una velocidad de 1 Mbyte/s, aunque en la práctica el límite suele estar en2505 kbyte/s. Algunos fabricantes han desarrollado circuitos de interfase que permiten hasta 8Mbytes/s de velocidad de transmisión. Pueden conectarse un máximo de 14 instrumentos más uncontrolador, de forma directa, y se pueden ampliar usando extensores de bus, con una longitudmáxima de 20 m para cada sección. Se pueden configurar estructuras físicas lineales, en estrella omixtas, aunque la estructura lógica es tipo bus (todos los instrumentos están conectados en paralelo).La transmisión de órdenes de programación y datos de medida suele hacerse usando códigos ASCII,aunque no es obligatorio. Los instrumentos pueden pedir atención al controlador mediante una únicalínea de interrupción y se identifican con una dirección de 5 bits.

3.1 Introducción histórica

En septiembre de 1965 la empresa Hewlett-Packard empezó a diseñar lo que debería ser lainterfase digital para "todos los instrumentos HP del futuro". Este trabajo se concretó en lapublicación del General Purpose Interface Bus en el Hewlett Packard Journal en 1972. Estapublicación fue tomada como documento de referencia por el International ElectrotechnicalCommitte (IEC) para realizar la norma IEC-625-1, que fue aprobada de forma provisional en 1974 yde forma definitiva en 1980. Paralelamente el Institute of Electrical and Electronics Engineers(IEEE) definía una norma que fue publicada en 1975: IEEE Std 488-1975 con idéntico contenido.Esta norma fue revisada en 1978, y se convirtió en ANSI/IEEE Std 488-1978, IEEE Standard Digital

Page 28: Sistemas de instrumentación

30 Sistemas de instrumentación

Interface for Progammable Instrumentation. Esta publicación cubre los aspectos eléctricos y deprotocolo de bajo nivel del bus (se podría asimilar a los niveles 1 y 2 del modelo de referencia OSI dela ISO), pero deja totalmente libre la estructura de los comandos de programación de los instrumentosy los formatos de los datos. Dado que existía esta libertad, cada fabricante, e incluso cada instrumentode un mismo fabricante, usaba estructuras y codificaciones distintas, lo que complicaba el diseño desistemas de instrumentación. Un intento de solventar esta dispersión fue la norma ANSI/IEEE Std728-1982, IEEE Recomended Practice for Code and Format Conventions for use with IEEE Std 488-1978, que de hecho era similar al estándar internacional IEC-625.2. Este documento defineestructuras sintácticas que permiten la construcción de mensajes y el intercambio de datos, aunque ladifusión y el seguimiento del mismo fueron escasos.

Un salto cualitativo se dio en 1987 cuando se volvió a revisar la norma. Después de estarevisión aparecieron dos subnormas: ANSI/IEEE Std 488.1-1987 que toma como base el estándar de1978 con el mismo nombre y ANSI/IEEE Std 488.2-1987, IEEE Standard Codes, Formats, Protocols,and Common Commands for use with ANSI/IEEE Std 488.1-1987 que toma como base y amplía elestándar IEEE 728-1982. En la norma 488.2, además de definir la sintaxis, se definen también unconjunto de comandos comunes, unos códigos de error también comunes y un conjunto deprocedimientos de operación. Sólo el último nivel, los comandos dependientes de cada instrumento,se dejan a libertad del fabricante. Esta norma ha sido revisada en 1992.

Por lo que respecta a los comandos de programación y los formatos de las estructuras dedatos, un consorcio de fabricantes definió en 1991 los Standard Commands for ProgrammableInstruments: (SCPI). Esta "norma" no está recogida, de momento, por ningún órgano oficial.

3.2 Aspectos eléctricos y mecánicos (IEEE-488.1-1987)

Empezaremos definiendo, en este apartado y el siguiente, los aspectos recogidos en la normaIEEE 488.1, que definen el tipo de conector, el cable, los niveles de tensión, la corriente, el tipo desalida lógica, la transferencia de datos y las capacidades que pueden tener las interfases de losinstrumentos, así como los tiempos de respuesta a determinadas señalizaciones.

3.2.1 Aspectos mecánicos

Se usa un conector de 24 contactos, dispuestos en 2 filas paralelas de 12 contactos (la normaIEC 625.1 especificaba inicialmente un conector de 25 contactos tipo D miniatura, como los usadosen los puertos RS-232). Los nombres correspondientes a cada línea están en la tabla 1.1 y ladistribución física de contactos en la figura 3.1. En los instrumentos se usa un conector tipo hembra,dispuesto preferiblemente de forma horizontal y con el terminal 1 en el lado derecho superior. Losconectores dispuestos en el cable deben llevar un contacto macho y uno hembra a cada extremo (fig.3.1), de forma que se puedan apilar, con lo que forman así la arquitectura física del bus.

La longitud máxima de un cable individual es de 4 metros. Para reducir interferencias se usaun cable apantallado, con una cobertura del 85% como mínimo, aunque se recomienda el 90%, y lamalla, junto con la carcasa metálica del conector, deben conectarse a la carcasa del instrumento y atierra. Una forma de realizar el cable es usar pares trenzados para las líneas de control (6 + 2 líneas) ymasa (6 líneas + GND común + pantalla). Las líneas de datos (8 líneas) se colocarán alrededor de lospares anteriores. Otra solución consiste en usar pares trenzados para todas las líneas de señal, aunqueen este caso se requieren más de 24 hilos en el cable.

Page 29: Sistemas de instrumentación

Sistemas basados en el bus IEEE-488 31

Fig. 3.1 Disposición de contactos en un conector hembra y vista esquemática de unconector situado en el extremo de un cable

El tipo de apantallamiento y la reducción de interferencias, no obstante, deberán diseñarsepara cumplir con las normativas nacionales sobre compatibilidad electromagnética.

Tabla 3.1 Nombres de las líneas y distribución de contactos en un conector IEEE-488

NÚMERO CONTACTO NOMBRE DESCRIPCIÓN

1..4 DIO1..DIO4 Líneas de datos. DIO1 es la de menor peso

5 EOI "End Or Identify". Se usa para señalizar el fin de un mensaje

6 DAV "Data VAlid". Línea del protocolo asíncrono, gestionada por el emisor

7 NRFD "Not Ready For Data". Línea de protocolo, gestionada por el receptor

8 NDAC "No Data ACcepted". Línea de protocolo, gestionada por el receptor

9 IFC "InterFace Clear". Ordena una inicialización de todas las interfases

10 SRQ "Service ReQuest". Petición de servicio de un instrumento

11 ATN "ATeNtion". Indica que los comandos son de programación de interfase

12 Shield Conexión de la malla del cable

13..16 DIO5..DIO8 Líneas de datos. DIO8 es la de mayor peso

17 REN "Remote ENable". Indica a los instrumentos que van a ser programados

18..23 GND Líneas de masa. Apareadas con líneas 6..11 respectivamente

24 GND Línea común de masa

Page 30: Sistemas de instrumentación

+2V

+4V

+2 mA

-2 mA

-4 mA

-6 mA

-8 mA

-10 mA

-12 mA

6.2 k

RECEPTOR

BUS

3k

ATAQUE

Vcc

(a) (b)

32 Sistemas de instrumentación

Fig. 3.2 (a) Requerimientos de carga para cada instrumento conectado al bus, (b)circuito que cumple con los requerimientos de carga. (trazo grueso en (a)).

3.2.2 Aspectos eléctricos

Las especificaciones eléctricas están basadas en circuitos con tecnología TTL usando lógicanegada, de forma que un 0 lógico corresponde a un nivel alto (V > +2.0 V) y un 1 lógico correspondeL

a un nivel bajo (V < +0.8 V). L

Las líneas SRQ (Service ReQuest), NRFD (Not Ready For Data) y NDAC (No DataACcepted) deberán tener los circuitos de ataque tipo colector abierto. El resto de las líneas, incluidaslas de datos, podrán ser colector abierto o de tres estados. Con circuitos de tres estados se consiguemayor velocidad. En el caso de querer implementar la función de consulta en paralelo, las líneas dedatos deben ser colector abierto. Los circuitos de ataque deben ser capaces de entregar hasta 5.2 mAal bus en estado alto y sumir 48 mA en estado bajo.

Para los circuitos de recepción es recomendable usar comparadores con histéresis, con unciclo de histéresis de 0.4 V, para aumentar la inmunidad al ruido. Cada una de las líneas de señal, encada instrumento conectado al bus, tendrá una carga resistiva, de forma que la tensión de la línea nosea flotante ni cuando todos los circuitos de ataque estén en estado de alta impedancia. Seránecesario, además, proteger los circuitos de recepción contra tensiones negativas que pudieranaparecer en la línea. La carga que supone un instrumento conectado al bus debe ser tal que la relaciónV/I esté dentro de la zona no sombreada de la figura 3.2(a). Un posible circuito que realiza todo loenumerado anteriormente se puede ver en la figura 3.2(b).

Se contempla la posibilidad de que exista una capacidad parásita entre cada línea y masa, queno debe exceder de 100 pF por cada instrumento. La existencia de una capacidad alta puedecomprometer las especificaciones de velocidad.

La máxima resistencia de las líneas de datos y control es de 0.14 S/m, para la línea de masa a

Page 31: Sistemas de instrumentación

Sistemas basados en el bus IEEE-488 33

común es de 0.085 S/m y para la malla de apantallamiento 0.0085 S/m. La máxima capacidad entrecualquier línea de señal y cualquiera de las otras conectada a masa debe ser inferior a 150 pF/m,medida a 1 kHz. Esta capacidad es la que limita la longitud máxima del cableado. El límite máximoes de 20 m, pero este límite solo puede alcanzarse si hay más de 10 instrumentos en el sistema, yconsiderando que la velocidad máxima que se conseguirá no superará los 500 kbytes/s. Si el númerode instrumentos es menor, el límite es de 2m * número de instrumentos. La razón hay que buscarla enla impedancia de carga que supone cada instrumento. Al aumentar el número de instrumentosdisminuye la resistencia de carga total de la línea y la constante de tiempo entre la capacidad parásitade la línea y esta impedancia disminuye también, de forma que la velocidad máxima se mantiene, acosta de aumentar el consumo. El límite de 4 m para el cable individual, o lo que es lo mismo, lamáxima longitud de cable entre 2 instrumentos, es debida a problemas de retardos de propagación(hay que distribuir la carga de la línea de forma uniforme).

3.3 Transferencia de información

El nivel siguiente (nivel 2 o de trama en un modelo OSI) hace referencia a cómo se realizanlas transferencia básicas de información entre elementos conectados al bus. Ya hemos comentado quela transferencia se realiza de forma similar a un bus asíncrono de ordenador. Antes de comentar endetalle las señales y las temporizaciones comentaremos la estructura genérica que puede tener un busIEEE-488.

En la figura 3.3 podemos ver un ejemplo de conexión con 4 instrumentos. En este caso eldispositivo A es capaz de emitir mensajes de control de la interfase, y es capaz de emitir y recibirinformación del bus. El dispositivo B es capaz de emitir y leer información, el dispositivo C solo escapaz de leer información (p. ej. una impresora) y el dispositivo D solo es capaz de emitirinformación (p. ej. un contador). En esta figura, además, se ha puesto de manifiesto la conexiónparalelo de todas las líneas del bus y su agrupación funcional, en líneas de datos, líneas de protocolo(DAV, NRFD y NDAC) y de control.

Antes de poder realizar una transferencia en el bus es necesario saber quiéen va a emitir lainformación y quién va a leerla. Para determinar esto el controlador configurará cada uno de losinstrumentos. Es evidente que solo puede haber un instrumento que emita información, pero puedehaber más de un elemento que la reciba. En el apartado 3.4 se comentarán con más detalle lasfunciones en el bus.

Una vez configurados los instrumentos, cuando el que está configurado para emitirinformación (talker) tiene la información disponible da comienzo el protocolo de comunicación(handshake). El momento en que se empieza a emitir depende totalmente del instrumento. Lainformación a emitir puede ser, por ejemplo, un dato de medida que no se adquiere nunca porque lacondición de disparo no se cumple y por tanto el instrumento, aunque configurado como talker, norealizará ninguna transferencia. Este tipo de problemas no están contemplados en la norma y suelensolucionarse con la introducción de timeouts, de forma que si el controlador detecta que ha pasadomucho tiempo desde que ha configurado el sistema y todavía no se ha realizado la transferencia puedereinicializar la interfase.

El proceso de intercambio de información puede verse en la figura 3.4. Justo después de serconfigurado, el talker pone la línea DAV (DAta Valid) a nivel alto (0 lógico, falso) (1). En estasituación los otros instrumentos, configurados como listeners, ponen la línea NDAC (No DataACcepted) a nivel bajo indicando que no se ha aceptado ningún dato y la línea NRFD (Not Ready For

Page 32: Sistemas de instrumentación

DISPOSITIVO A

Capacidad paraEMITIR, RECIBIR yCONTROLAR

p.e.: ordenador

DISPOSITIVO B

Capacidad paraEMITIR y RECIBIR

p.e.: multímetro

DISPOSITIVO C

Capacidad paraRECIBIR

p.e.: impresora

DISPOSITIVO D

Capacidad paraEMITIR

p.e.: contador

DAVNRFD

IFCATNSRQRENEOI

NDAC

DIO1..8

CONTROL de laINTERFÍCIE

PROTOCOLOTRANSFERENCIAINFORMACIÓN

DATOS

34 Sistemas de instrumentación

Fig. 3.3 Estructura genérica de un sistema IEEE-488 donde se hace patente laconexión en paralelo de todas las líneas

Data) también a nivel bajo, indicando que no están listos para aceptar datos (2). En el momento quelos instrumentos estén listos para aceptar datos irán poniendo esta línea a nivel alto. Al ser colectorabierto, hasta que el último de ellos no la haya puesto a nivel alto, la línea del bus estará baja (5).Cuando el talker detecta NRFD alta, activa DAV (6) si había puesto los datos (3) con antelaciónsuficiente (4). Al detectar DAV activa, los instrumentos ponen NRFD baja (7) para indicar que noaceptan más datos y a medida que cada uno lee el dato presente en el bus va desactivando NDAC (8)hasta que todos la han puesto a nivel alto (9). En este momento el talker sabe que el dato ha sidoleído, desactiva DAV (10) y quita el dato del bus (11) poniendo el siguiente si lo hubiera. Loslisteners van poniendo NRFD alta (14) hasta que todos ellos vuelven a estar listos para aceptar másdatos (15) y recomienza el proceso descrito a partir de (6).

Este procedimiento provoca que el más lento de los instrumentos que intervienen en lacomunicación sea el que fije la velocidad real de transmisión de la información. Los instrumentos queno han sido configurados ni como talker ni como listener mantienen la interfase en un estado inactivo(idle), dejando NRFD y NDAC a nivel alto, y por tanto no entorpecen la comunicación.

Page 33: Sistemas de instrumentación

Sistemas basados en el bus IEEE-488 35

Fig. 3.4 Proceso de intercambio de información (handshake) en bus IEEE-488

El tiempo de establecimiento de los datos, representado por el estado de espera (4) en lafigura 3.4, debe ser mayor que 2 µs. Con esto se consiguen velocidades de transmisión de hasta250 kbytes/s. Si se quiere aumentar la velocidad, el dispositivo que actúa como talker debe reducireste tiempo hasta un mínimo de 350 ns (Fast Handshake), y usar circuitos de tres estados para losdatos y DAV. Si utilizamos un instrumento con estas características, debemos asegurarnos de que lacapacidad total de la línea sea menor que 50 pF por cada instrumento conectado. Esto obliga a usar uncableado muy corto (1 m/instrumento). Si se violan estas restricciones usando un talker con unretardo de 350 ns se pueden producir errores.

3.4 Funciones de la interfase

El resumen de funciones que pueden realizar las interfases se ve en la tabla 3.2. En esteapartado veremos con algún detalle cómo se realizan estas funciones, haciendo hincapié en losaspectos prácticos y en la codificación de algunos mensajes de control de una línea o multilínea.

Para cada una de estas funciones existen diferentes niveles de realización, que se indican conun número que sigue al símbolo de la función. A veces el conjunto de capacidades de un instrumentoestá escrito junto al conector del bus. Otras veces está en el manual, aunque la norma no especificaque deba suministrarse esta información. Así, un instrumento que tuviera escrito el siguiente conjuntode símbolos:

AH1, SH1, T5, TE0, L3, LE0, SR0, RL1, PP0, DC0, DT0, C0

debería interpretarse como: el dispositivo realiza las funciones básicas de handshake, puede actuarcomo talker de forma completa pero no puede usar direcciones extendidas. Puede actuar comolistener de forma completa pero tampoco puede usar direcciones extendidas. No tiene capacidad degenerar un petición de servicio. Los controles del panel pueden bloquearse mediante órdenes desde elbus, no puede responder a una consulta en paralelo, el instrumento no puede inicializarse medianteuna orden, no puede iniciarse un medida desde el bus y no tiene capacidad de controlador. Es unconjunto típico de capacidades para un instrumento de medida, como un osciloscopio digital o unDMM.

Page 34: Sistemas de instrumentación

36 Sistemas de instrumentación

Fig. 3.5 Diagrama de estados de la función Acceptor Handshake (AH)

Tabla 3.2 Funciones de la interfase IEEE 488.1

SÍMBOLO NOMBRE DESCRIPCIÓN

SH Source Handshake Capacidad de generar el protocolo de transferencia de información (DAV).

AH Acceptor Handshake Capacidad de responder al protocolo de transferencia de información (NDAC,NRFD)

T Talker Capacidad de enviar mensajes dependientes del instrumento. Incluye lacapacidad de responder a un Serial Poll. Requiere SH.

L Listener Capacidad de recibir mensajes para el instrumento. Requiere AH.

SR Service Request Capacidad de pedir atención al controlador

RL Remote Local Capacidad de inhibir los controles del panel frontal

PP Parallel Poll Capacidad de responder a una consulta tipo paralelo

DC Device Clear Capacidad del instrumento para ser inicializado remotamente

DT Device Trigger Capacidad de ser iniciada una medida desde el bus

C Controller Capacidad de actuar como controlador

TE Talker Extended Capacidad de usar direcciones extendidas como talker

LE Listener Extended Capacidad de usar direcciones extendidas como listener

3.4.1 Funciones básicas de transferencia: AH y SH

Son las funciones que permiten leer y mandar información multilínea, usando las líneas dedatos. Esto, por si solo, permite recoger comandos de la interfase. Si además van acompañadas de lasfunciones L o T podrán leer o generar mensajes que dependan del instrumento (datos de medida, etc).Para cada función la norma especifica un diagrama de estados donde se indica cuándo debe activarseo desactivarse una función, etc. En la figura 3.5 puede verse, como ejemplo, el diagrama de estadosde la función AH.

Después de poner en marcha el instrumento (pon) o bien si la línea ATN (Attention) es falsa yno está configurado como Listener, la interfase está en un estado inactivo (AIDS: Acceptor Idle

Page 35: Sistemas de instrumentación

Sistemas basados en el bus IEEE-488 37

State). De este estado sale si se activa ATN (significa que el controlador va a mandar órdenes a lainterfase) o bien está configurado como listener, y se entra en un estado de no operación (ANRS:Acceptor Not Ready State). De este se sale cuando la interfase está dispuesta a recibir información,con lo que pasa a ACRS. Cuando se activa DAV (ver el cronograma del protocolo de comunicación)se pasa a un estado de aceptación de datos, del que se sale cuando se ha aceptado, y se pasa a unestado de espera, AWNS, hasta que el elemento talker desactiva DAV.

Junto con el diagrama de estados deberíamos indicar el estado de las líneas que se controlan,en este caso NRFD y NDAC. Por ejemplo en AIDS las líneas NRFD y NDAC están a nivel alto,como se ha comentado en 3.3.

3.4.2 Funciones de emisión y recepción de información (T, L, TE, LE)

Las funciones T y L permiten que una interfase envíe o reciba datos dependientes delinstrumento (datos de medida, comandos de programación, etc.). Para que un instrumento actúe comotalker o listener debe haber sido configurado como tal por el controlador. La forma de realizar estaconfiguración la veremos al hablar de la función controller. Ya hemos comentado que solo puedehaber un talker pero puede haber varios listeners, aunque en la práctica la mayoría de transferenciasde información se realizan entre un instrumento y el controlador (ordenador de propósito general),que se encarga de procesarlas.

Alternativamente, en un bus sin controlador, puede haber instrumentos configurados comotalk only o listen only. En este punto no hay que confundir un instrumento con solo capacidad derecibir mensajes (L1) con un instrumento configurado como listen only. Un instrumento con solocapacidad de recibir (p. ej. una impresora) no hará caso de los datos hasta que alguien (el controlador)lo configure como listener. Un instrumento configurado como listen only hará caso de todos los datosque circulen por el bus. La utilidad de instrumentos que puedan ser configurados como listen only otalk only está, precisamente, en poder construir buses sin controlador, por ejemplo uniendo unosciloscopio y una impresora para poder imprimir los resultados que aparecen en la pantalla. Esevidente que los instrumentos no pueden ser configurados como listen only o talk only a través delbus. Antiguamente se hacía usando microinterruptores en la parte posterior del instrumento.Actualmente se hace mediante menús, pero en cualquier caso es el usuario que debe hacerlomanualmente.

En instrumentos complejos o modulares, cada una de las partes del instrumento puede tener"personalidad" propia. En este caso el instrumento global tiene una dirección y cada uno de losmódulos tiene una sub-dirección. Se puede configurar como talker o listener a uno de lossubmódulos. No se puede configurar a un submódulo como talker y a otro como listener porque lainterfase es única. Esto se usaba p. ej. en los analizadores lógicos HP64000, y actualmente en lossistemas VXI cuando se conectan a un ordenador mediante una interfase IEEE-488.

Un tema importante es saber cómo se finaliza un mensaje multibyte. Hay dos formashabituales de hacerlo, aunque la norma no impone ninguna de ellas. Se puede usar la línea EOI (EndOr Identify) o se puede usar un carácter específico, conocido como terminador. Si la transmisión es enASCII, el terminador suele ser el carácter LF (Line Feed). De todas formas, al no especificar nada lanorma, esto debe ser un acuerdo entre emisor y receptor. Si este extremo no está bien resuelto suelehaber problemas de comunicación.

Page 36: Sistemas de instrumentación

38 Sistemas de instrumentación

3.4.3 Funciones que afectan al instrumento (DC, DT y RL)

Estas tres funciones no afectan al estado de la interfase sino al estado de las funciones demedida del instrumento. La función RL (Remote Local) permite que el instrumento sea programadodesde la interfase IEEE-488. Hay instrumentos que son capaces de volcar datos de medida al bus perono son capaces de ser programados. Cuando un instrumento es programado desde el bus los mandoslocales dejan de funcionar. Suele haber un botón (habitualmente llamado local) que devuelve elcontrol al operador. Si el instrumento posee la característica de realizar un lockout de los mandos,entonces incluso el botón de local deja de funcionar y no puede controlarse el instrumentomanualmente hasta que se desbloqueen los mandos desde el bus.

La función DC (Device Clear) permite que el instrumento (no la interfase) sea inicializadodesde el bus. La norma no especifica en qué estado debe quedar el instrumento después de realizaresta función, por lo que cada fabricante la realiza de la forma que más le conviene.

La función DT (Device Trigger) permite que se inicie una medida mediante una orden desdeel bus. La orden se puede dar a un instrumento de forma selectiva o a un grupo de instrumentos.Como los tiempos de respuesta desde la orden hasta que la medida se realiza efectivamente no estánespecificados, la utilidad de esta función para sincronizar varios instrumentos es muy limitada.

3.4.4 Funciones de petición de servicio (SR y PP)

Cuando se produce un determinado evento en un instrumento, si este ha sido programadopara ello, puede pedir la atención del controlador mediante la activación de la línea de interrupción(Service Request: SR). El evento causante puede ser una condición de error o la finalización de unamedida y no está especificado en la norma qué eventos pueden o no producir peticiones de servicio ycómo se codifican estos eventos.

Si el controlador decide hacer caso de la petición tiene dos maneras alternativas de identificaral elemento causante y la causa de la interrupción. La primera se llama Serial Poll y esta incluidadentro de la función de talker. En este caso el controlador envía una orden de Serial Poll Enable queindica a todos los instrumentos que se va a realizar una consulta en serie. Después configura de formasecuencial a cada uno de los instrumentos como talker. Estos responden con una palabra de estadodonde el bit 7 indica si el instrumento ha causado o no la petición de interrupción. El resto de bits dela palabra de estado están sin definir y cada instrumento puede codificar aquí información específica.Una vez identificado al causante o causantes de la interrupción se envía una orden Serial Poll Disabley se continúa con la actividad normal.

El inconveniente de este método, en un bus con muchos instrumentos, es la lentitud delmismo. La forma alternativa consiste en realizar un consulta en paralelo (Parallel Poll). Elcontrolador inicia la consulta con una orden PPE (Parallel Poll Enable). Después de esto todos losinstrumentos con capacidad para ello vuelcan el byte de estado a las líneas de datos. Para que estofuncione las líneas de datos deben ser tipo colector abierto. Si cada instrumento ha sido configuradopara poner un cero en una línea determinada en el caso de ser el causante de la interrupción y no haymás de ocho dispositivos, es posible identificar al causante con una sola lectura. Si hay mas de ochoinstrumentos se pueden compartir líneas. En este caso se tendrá que realizar una consulta serie paraacabar de decidir entre dos o mas posibles candidatos.

Page 37: Sistemas de instrumentación

Sistemas basados en el bus IEEE-488 39

3.4.5 Función de controlador (C) y codificación de las órdenes

La función de controlador es la más compleja de todas las del bus y no la comentaremos endetalle. Puede haber más de un instrumento capaz de actuar como controlador, pero solo uno de ellospuede estar activo en un instante dado (Controller In Charge:CIC). Hay procedimientos que permitentransferir el control de un dispositivo a otro. El controlador activo es el único que puede enviarórdenes de configuración de las interfases mediante la activación de la línea ATN (Attention). Siademás puede gestionar las líneas IFC (InterFace Clear), para dejar las interfases en un estado inicialconocido y REN (REmote eNable) para permitir la programación remota de los instrumentos,entonces se le llama controlador del sistema (System Controller). Solo puede haber un dispositivo conla capacidad para actuar como controlador del sistema, ya sea, o no, el controlador activo en unmomento dado.

Una vez el controlador ha configurado las interfases de los instrumentos, puede dejar que latransferencia de información se realice sola o puede participar en ella, con lo que se configura elmismo como listener (a no ser que él sea realmente el originador o receptor de la información). En elcaso que no participe en la transferencia de información debe poder monitorizar las líneas del buspara saber cuando finaliza la misma o bien inicializar la interfase si se detecta algún problema. Estosprocedimientos, no obstante, no están contemplados en la norma.

Para la programación de las interfases se usan órdenes de tipo unilínea (U), como porejemplo REN e IFC, u órdenes de tipo multilínea (M), que involucran las líneas de datos o variaslíneas de control. Dependiendo de a quién vayan dirigidas la órdenes se dividen en varias clases:

AC: Addressed Commands. Afecta a aquellos instrumentos configurados como listenersAD: Address. La orden lleva incorporada la dirección del dispositivoUC: Universal Commands. Afecta a todos los dispositivos conectados

En las dos páginas siguientes se puede ver la codificación de todos los mensajes posibles enuna interfase IEEE-488.1. Como ejemplo, si quisiésemos configurar al instrumento cuya dirección es12 como talker deberíamos enviar el byte Y101100 con la línea ATN activada. En esta orden el bit demayor peso puede tomar cualquier valor. Los dos siguientes (10) indican que se configura la interfasecomo talker y los 5 últimos son la dirección del dispositivo. Desde el punto de vista del controladoresta orden se llama TAG:Talker Address Group mientras que desde el punto de vista del dispositivocuya dirección es la especificada se llama MTA: My Talk Address.

Una vez realizada la transferencia, si quisiéramos reprogramar las interfases deberíamosenviar los comandos UNL:Unlisten i/o UNT:Untalk para desprogramarlas y volverlas a programar.Estos comandos son casos especiales de comandos clase AD puesto que, de hecho, no llevanincorporada la dirección del dispositivo.

Page 38: Sistemas de instrumentación

40 Sistemas de instrumentación

Page 39: Sistemas de instrumentación

Sistemas basados en el bus IEEE-488 41

Page 40: Sistemas de instrumentación

BUS

Mensajes dependientes del dispositivo

Comandos y cuestiones comunes

Sintaxis y estructura de datos

Mensajes de la interfase

Dispositivo X Dispositivo Y

IEEE-488.1 IEEE-488.2IEEE-488.2

Específicodel

dispositivo

Específicodel

dispositivo

42 Sistemas de instrumentación

Fig. 3.6 Capas de protocolos cubiertos por las normas IEEE 488.1 y IEEE 488.2

3.5 Códigos, formatos, protocolos y comandos comunes (IEEE-488.2-1992)

Para acabar con parte de la dispersión de codificación de información o la indefiniciónrespecto al contenido de los registros de estado surgió la norma IEEE-488.2 en 1987, queposteriormente fue modificada en 1992. La interrelación entre esta norma y la IEEE-488.1, con losaspectos que cubre cada una de ellas, puede verse en la figura 3.6.

Vemos que la norma IEEE-488.2 define una sintaxis y unas estructuras de datos por encimade la codificación de mensajes vista en el apartado anterior. Además define un conjunto de comandosy preguntas, basados en esta sintaxis, y por tanto multibyte, y las estructuras asociadas. De todasformas queda un nivel por encima de la norma que no se define y que está constituido por losmensajes particulares de programación de cada instrumento.

El objetivo de la norma son los sistemas de instrumentación compuestos de un controlador yunos dispositivos programables. Los sistemas sin controlador, aunque posibles, no estáncontemplados de forma explícita.

Page 41: Sistemas de instrumentación

Sistemas basados en el bus IEEE-488 43

3.5.1 Requerimientos de la interfase

Para que un dispositivo pueda programarse de acuerdo con lo que especifica la norma IEEE-488.2, la interfase debe realizar, obligatoriamente, un cierto subconjunto de las funciones definidas enel apartado 3.4. Las más significativas, y que pueden provocar que un dispositivo no diseñadoespecíficamente para cumplir la norma IEEE-488.2 no se comporte correctamente, son:

1.- Debe poder generar y aceptar el protocolo de transferencia de información (SH1 y AH1).Adicionalmente se especifica que se debe entrar en el estado AIDS (ver figura 3.5) comomáximo 1 ms después que la señal ATN se desactive, a no ser que se haya programado comolistener. Esto se hace para asegurar que el protocolo FindListeners funcione correctamente.

2.- Los dispositivos deberán usar la misma dirección como talker que como listener.Habitualmente esto es así, pero la norma IEEE-488.1, de hecho, no lo especifica. Losdispositivos deberán tener las capacidades básicas de emitir información y deberán poderresponder a un Serial Poll (T5 o T6). También deberán tener capacidad de recibirinformación (L3 o L4). Se supone, además, que un dispositivo configurado como listener sedesconfigura automáticamente si recibe MTA (My Talk Address) y viceversa.

3.- Los dispositivos deben responder a una orden Device Clear de la siguiente forma:- Limpiar la cola de órdenes de entrada y datos de salida- Abortar el comando que se estuviese ejecutando (caso de un dispositivo con procesado en paralelo de comandos)- Guardando los datos internos de medida que se hubiesen adquirido- Cambiando sólo el bit indicado en el registro de estado.

4.- Las líneas ATN, EOI y DAV deberán usar circuitos de ataque de tres estados. Las líneas dedatos también excepto que el dispositivo este respondiendo a un consulta en paralelo(Parallel Poll), en cuyo caso serán colector abierto.

3.5.2 Registro de estado y petición de servicio

Cada dispositivo tendrá, como mínimo, 4 registros en los que se indica su estado y seconfigura la posibilidad de pedir atención al controlador. La estructura de estos registros se puede veren la figura 3.7. El registro de sucesos habituales (Standard Event Status Register:SESR) contiene elestado del dispositivo. Es un registro de 16 bits. Los 8 de mayor peso están reservados y debenponerse a 0. Cada uno de los restantes tiene asociado un suceso. Este registro tiene asociada unamáscara. Si cualquiera de los bits está a 1 y la máscara lo permite se activara el bit 5 del registro deestado (Status Register). Este es el registro que se devuelve al controlador como consecuencia de unaconsulta en serie. Al igual que el anterior, este registro tiene asociada una máscara. Si cualquiera delos bits está activado y la máscara lo permite se activará el bit 6 y se generará una petición deinterrupción. De hecho, sólo 3 bits de este registro tienen función definida: el bit 6 indica que se haproducido una petición de servicio. El bit 5 indica que se ha producido un suceso habitual noenmascarado y el bit 4 indica que la cola de mensajes de salida no está vacía. El resto de bits puedenestar asociados a otros registros de estado distintos del SESR, específicos de cada dispositivo

Page 42: Sistemas de instrumentación

44 Sistemas de instrumentación

Fig. 3.7 Registros de estado, y sus interrelaciones, definidos en la norma IEEE-488.2

3.5.3 Sintaxis de los mensajes

La norma distingue entre mensajes de programación (generados por el controlador) ymensajes de dispositivo (generados por los diferentes dispositivos). Las normas sintácticas que seaplican son comunes, y los mensajes de dispositivo son un subconjunto de los de programación.Comentaremos sólo la estructura de estos últimos.

Page 43: Sistemas de instrumentación

Sistemas basados en el bus IEEE-488 45

Un mensaje consta de un cuerpo, <PROGRAM MESSAGE>, más un terminador,<PROGRAM MESSAGE TERMINATOR>. Este terminador puede ser, o bien la activación de lalínea EOI con el último carácter transmitido, o bien un carácter NL (New Line, ASCII 0AH) o unacombinación de ambos.

El cuerpo del mensaje puede constar de una o varias unidades, <PROGRAM MESSAGEUNIT> separadas por el carácter ';'. Hay dos tipos de unidad, los comandos de programación y laspreguntas. Ambas se componen de una cabecera y unos datos, separados por un espacio en blanco.Las cabeceras de las preguntas llevan un carácter '?' al final, antes de los datos y especifican aldispositivo que debe devolver un mensaje de respuesta. Los datos pueden ser numéricos o cadenas decaracteres. Si son numéricos pueden estar representados en ASCII o transmitirse en binario. Si haymás de un dato, estos se separan con el carácter ','.

Las cabeceras pueden ser de tres tipos: simples, compuestas y comandos comunes (commoncommand). Una cabecera simple es un mnemotécnico. Una cabecera compuesta es una sucesión demnemotécnicos separados por el carácter ':'. Un comando común es un mnemotécnico precedido decarácter '*'.

Así, por ejemplo:

*IDN? Es un comando común. IDN es un mnemotécnico de IDeNtify. El interrogante indica aldispositivo que debe devolver una cadena de identificación.

MED:CORR:DC? 1A,0.001A Es una cabecera compuesta. Podría indicar al dispositivo que realiceuna medida de corriente continua en la escala de 1 amperio con unaresolución de 0,001 amperios. El interrogante indica que eldispositivo debe devolver el resultado de la medida.

CONF:REP 10;VOLT:AC AUTO Es un mensaje con dos unidades. La primera podría indicarque se tienen que hacer 10 medidas. La segunda que debemedir tensiones alternas en una escala automática.

En los ejemplos anteriores el significado de los mnemotécnicos es inventado. Excepto paralos comandos comunes la norma no especifica ni la forma ni el significado de estos mnemotécnicos.

Cuando los datos numéricos representan magnitudes físicas, el símbolo de la unidad se puedeespecificar, acompañado de un multiplicador si fuese necesario. El conjunto de símbolos ymultiplicadores han sido elegidos siguiendo la norma ISO Std 2955-1983 y han sido modificadosadecuadamente para representar unidades que no son del Sistema Internacional y para poder usar unconjunto restringido de caracteres (solo mayúsculas o solo minúsculas). Así el mnemotécnico querepresenta 10 es el carácter 'm' o 'M' mientras que para 10 es 'ma' o 'MA'. En el caso de usar-3 6

unidades compuestas formadas por el producto o cociente de unidades simples, los símbolos deproducto '.' y cociente '/' se pondrán de forma explícita.

En el caso de mensajes de respuesta de dispositivos, se siguen los mismos criterios expuestosantes. Hay sólo dos diferencias significativas. Las cabeceras de pregunta no existen y el terminadorde los mensajes debe ser el carácter NL, enviado simultáneamente con la activación de la línea EOI.

Page 44: Sistemas de instrumentación

46 Sistemas de instrumentación

3.5.4 Comandos comunes

La norma define 39 comandos comunes. De ellos 13 deben ser implementados por todos losdispositivos, mientras que los otros son opcionales u obligatorios si el dispositivo tiene capacidadesadicionales a las estrictamente obligatorias (Parallel Poll, Device Trigger, Controller). Los comandosobligatorios se pueden ver en la siguiente tabla:

Tabla 3.2 Comandos comunes obligatorios definidos en la norma IEEE-488.2-1987

MNEMOTÉCNICO DESCRIPCIÓN

*CLS Clear Status. Borra toda la información de estado del dispositivo y por tanto también lacondición o las condiciones de error presentes.

*ESE Standard Event Status Enable. Fija la máscara de interrupción del registro de sucesoshabituales ("Standard Event Register"). La máscara se pasara como un número decimal entre0 y 256 en cualquiera de los formatos aceptados en al norma (decimal, hexa, octal, binario,coma flotante, etc.).

*ESE? Solicita del dispositivo el valor de la máscara del registro de sucesos habituales. La respuestadebe hacerse como un número entero en cualquiera de los formatos admitidos.

*ESR? Solicita del dispositivo el valor del registro de sucesos habituales. La respuesta se dará comoen el caso anterior.

*IDN? Solicita la identificación del dispositivo. La respuesta es una cadena de caracteres ASCII (7bits) dividida en 4 campos separados por el carácter ','. Los campos son: fabricante, modelo,número de serie y versión del firmware. Si los dos últimos no están disponibles se devolverá elcarácter '0'.

*OPC "Operation Complete". Provoca que el dispositivo active el bit correspondiente del registro desucesos habituales cuando todas las operaciones pendientes hayan finalizado.

*OPC? "Operation Complete Query". Provoca que el dispositivo mande un carácter '1' cuando todaslas operaciones pendientes finalicen.

*RST "Reset". Provoca una inicialización del dispositivo. No debe afectar al estado de la interfaseni debe modificar los registros de estado y sus máscaras.

*SRE "Service Request Enable". Fija la máscara de interrupción del registro de estado que habilitala generación de una petición de servicio. La máscara debe suministrarse con un númerodecimal en el margen 0 a 255 en cualquiera de los formatos permitidos.

*SRE? Solicita el valor de la máscara del registro de estado. La respuesta debe darse como en elcomando *ESE?

*STB? Solicita el valor del registro de estado. La respuesta debe ser como en el caso anterior.

*TST? "Self test Query". Provoca que el dispositivo realice un secuencia de prueba interna y envíe unmensaje con el resultado. EL mensaje de respuesta es un entero en el margen -32767 a 32767.El valor 0 indica que la prueba interna se superó con exito. Cualquier otro valor indica que laprueba no se finalizó o se detectó algún error. El significado de los códigos distintos de 0depende del dispositivo.

*WAI "Wait". Impide que el dispositivo realice ninguna operación hasta que la operación en cursohaya sido completada. Solo tiene sentido en aquellos dispositivos con capacidad de realizaroperaciones en paralelo.

Si un dispositivo recibe un comando común que no puede ejecutar (de los opcionales) debeactivar el bit de error correspondiente en el registro de sucesos habituales.

Page 45: Sistemas de instrumentación

Sistemas basados en el bus IEEE-488 47

3.5.5 Procedimientos comunes

Hay tres grupos de procedimientos contemplados en el ámbito de la norma IEEE-488.2: Lastécnicas de sincronización, la configuración automática del sistema y los protocolos comunes delcontrolador.

3.5.5.1 Técnicas de sincronización

Las técnicas de sincronización son procedimientos que puede usar el controlador paraasegurar que los comandos de programación que ha enviado a un dispositivo han sido completados.Los dispositivos pueden ejecutar comandos de forma secuencial o solapada (paralela). Esto dependedel dispositivo y del tipo de comando.

La primera técnica de sincronización consiste en forzar al dispositivo a que ejecute loscomandos de forma secuencial. Esto se consigue con el comando *WAI. Así, por ejemplo lasecuencia de comandos:

MEDIDA1?; MEDIDA2; *WAI; MEDIDA3?; *WAI; MEDIDA4?

provocaría que MEDIDA1 comenzara a realizarse. Si el dispositivo lo permite, MEDIDA2 empezaráen paralelo, o algo más tarde. El comando *WAI se ejecutará en paralelo con ambas y no finalizaráhasta que las dos hayan finalizado. Hasta que el comando *WAI no haya finalizado, no empezará laejecución de MEDIDA3. Igual que antes, *WAI se ejecutará en paralelo con MEDIDA3 e impedirá laejecución de MEDIDA4 hasta que aquella termine.

La segunda técnica de sincronización consiste en programar al dispositivo para que envíe unmensaje al finalizar el comando deseado. Esto se consigue con la consulta *OPC? El dispositivo noresponderá a la consulta hasta que el comando precedente haya finalizado. Así, por ejemplo, sideseamos disponer un generador de funciones para que entregue una señal senoidal de 1 kHz y mediresta señal con un frecuencímetro, debemos asegurarnos de que el generador ha colocado la señal a lasalida antes de programar el frecuencímetro. Esto se conseguiría con una secuencia de programación:

APPLY:SEN 1V, 1KHZ; *OPC?

El generador no responderá a la consulta *OPC? hasta que la salida de señal sea la programada. Dadoque la respuesta a la consulta *OPC? es la misma para todos los dispositivos, si se necesitasincronizar varios de ellos debe recurrirse a otra técnica.

Usando el comando *OPC provocamos que el bit de menor peso el registro de sucesoshabituales (SESR) se ponga a 1 cuando el comando que precede a *OPC haya finalizado. Podemosdetectar este evento bien leyendo el registro SERS con el comando *ESR? bien programando eldispositivo para que genere una petición de servicio al activarse este bit. Generar una petición deservicio habitualmente provoca una interrupción interna en el controlador, que suele ser un ordenadorde propósito general con una interfase adecuada. Manejar interrupciones en entornos multitarea(UNIX, MS-Windows, etc) no siempre es una tarea fácil o agradecida, por lo que las técnicas basadasen peticiones de servicio no suelen usarse excepto en aplicaciones muy consolidadas o si losrequerimientos de velocidad lo aconsejan.

Page 46: Sistemas de instrumentación

48 Sistemas de instrumentación

3.5.5.2 Configuración automática del sistema

La configuración automática del sistema se refiere fundamentalmente a la asignaciónautomática de direcciones en un sistema cuando este es configurado por primera vez o cuando esreconfigurado. El procedimiento general contempla dos clases de dispositivos: aquellos cuyasfunciones de interfase pueden configurarse remotamente y aquellos cuyas funciones de interfase sólopueden configurarse localmente o no pueden configurarse.

En primer lugar se determinarán las direcciones de aquellos dispositivos cuya dirección no esmodificable remotamente (que es el caso habitual). Para hacerlo se utiliza el protocolo FindListeners,que se comentará más adelante. Este protocolo devuelve las direcciones de todos los dispositivos concapacidad de listener. Para que solo respondan al protocolo aquellos cuya dirección no esconfigurable, antes de ejecutar este protocolo se inhabilita la función listener de los demás medianteel comando *DLF (opcional). Una vez identificados estos dispositivos se devuelve la capacidad delistener a los demás mediante un Device Clear y se procede a asignarles las direcciones libresmediante el comando *AAD.

Una vez asignadas las direcciones se construye una tabla que contiene las direccionesrealmente ocupadas y la identificación del dispositivo obtenida mediante la orden *IDN?. Esta tablaservirá al usuario para enviar las órdenes de programación de medida adecuadas.

La existencia de dispositivos que no cumplan con la norma IEEE-488.2 debe ser detectada deforma manual. Estos dispositivos no responderán, por ejemplo, a una orden *IDN? o incluso puedenno ser detectados con el protocolo Find Listeners si la interfase no pasa a un estado inactivo en untiempo máximo de 1 ms después que ATN se ha desactivado.

La experiencia nos enseña que puede haber incluso dispositivos más perversos. Nos hemosencontrado con dispositivos cuya interfase no funciona correctamente a no ser que se active la líneaREN, lo que permite la programación remota del instrumento. Este hecho puede parecer anecdótico,aunque provoca que protocolos como Find Listeners no detecten ningún dispositivo conectado. Estosdispositivos, de hecho, no cumplen siquiera con el estándar IEEE-488.1.

3.5.5.3 Secuencias de control y protocolos comunes

La norma IEEE-488.1 establece los códigos de los comandos para configurar la interfase perono especifica en qué orden deben enviarse ni qué secuencias de códigos son necesarias para unadeterminada acción. En la norma IEEE-488.2 se establece un conjunto de secuencias de control quepermiten realizar acciones básicas en el sistemas de instrumentación así como protocolos que ayudan,por ejemplo, a la configuración automática del sistema.

En la tabla 3.3 pueden verse las secuencias de control que debe realizar el controlador.Adicionalmente se pueden implementar secuencias de control que permiten el paso de control a otrodispositivo y la configuración de una consulta en paralelo.

En este conjunto de secuencias de comandos se ha previsto sólo que la transferencia deinformación se realice a través del controlador. Ya mencionamos anteriormente que éste era el casomás habitual. No obstante, si fuese necesario realizar una transferencia entre dos dispositivos sin queel controlador actuase de intermediario (por ejemplo, por motivos de velocidad), deberíanprogramarse las interfases del sistema usando la secuencia SEND COMMAND. De todas formas, el

Page 47: Sistemas de instrumentación

Sistemas basados en el bus IEEE-488 49

controlador debería tomar parte en la transferencia, como listener. Algunos programas de aplicacióntienen prevista esta situación y provocan que el controlador responda únicamente al handshake, sinalmacenar realmente la información, aunque esto escapa un poco del contenido de la norma.

Tabla 3.3 Secuencias de control obligatorias para el controlador

SECUENCIA DE CONTROL DESCRIPCIÓN

SEND COMMAND Permite enviar comandos de programación de la interfase, activando la líneaATN

SEND SETUP Configura el sistema para que el controlador pueda enviar mensajes deprogramación del instrumento a uno o varios dispositivos

SEND DATA BYTES El controlador envía mensajes de programación de instrumento a losdispositivos configurados como "listeners" con el comando anterior

SEND Realiza las dos secuencias anteriores secuencialmente

RECEIVE SETUP Configura el sistema para que un dispositivo actúe como "talker" y elcontrolador pueda recibir la información

RECEIVE RESPONSE MESSAGE El controlador recibe el mensaje del dispositivo previamente configurado

RECEIVE Realiza las dos secuencias anteriores secuencialmente

SEND IFC Pulsa la línea IFC durante un tiempo mayor que 100 µs. Solo puede realizarlo elcontrolador del sistema

DEVICE CLEAR Provoca una inicialización de los dispositivos, bien de todos ellos ("DeviceClear") o de un conjunto ("Selected Device Clear") usando órdenes 488.1

ENABLE LOCAL CONTROLS Coloca en estado local los dispositivos seleccionados o todo el sistema,permitiendo el uso de los controles manuales

ENABLE REMOTE Configura todo el sistema o algunos dispositivos para que puedan recibircomandos de programación de medida de forma remota, activando la línea REN

SET RWLS Impide que se puedan utilizar los controles locales de los instrumentosseleccionados ("Local LockOut")

SEND LLO Impide que se puedan usar los controles locales de todos los instrumentos,aunque de hecho no los dispone en estado de programación remota.

READ STATUS BYTE Realiza una lectura del registro de estado de un dispositivo. De hecho se realizauna consulta serie ("Serial Poll") a un solo dispositivo

TRIGGER Envía un "Group Execute Trigger" (IEEE-488.1 GET) a todo el sistema o a unconjunto seleccionado de dispositivos

Los protocolos comunes son algoritmos diseñados para realizar determinadas funciones. Ladiferencia con las secuencias de comandos es la existencia de sentencias condicionales. Solo hay dosprotocolos obligatorios: RESET y ALLSPOLL.

RESET esta diseñado para realizar una inicialización completa del sistema. En primer lugarse envía un mensaje IFC que provoca que todas las interfases queden en un estado inactivo y elcontrolador se autoconfigura como controlador activo (CIC) y después se activa una secuenciaENABLE REMOTE. En segundo lugar se pone en marcha una secuencia DEVICE CLEAR para todoel sistema y en tercer lugar se envía el comando *RST a todos los dispositivos del sistema usando una

Page 48: Sistemas de instrumentación

50 Sistemas de instrumentación

secuencia SEND. Para este último paso el controlador debe conocer las direcciones de losdispositivos. Si existieran dispositivos que no tuviesen implementada la orden *RST, debería sabersede antemano cómo reaccionan cuando la reciben, ya que podrían provocar situaciones inesperadas(errores, peticiones de servicio, etc.).

El protocolo ALLSPOLL realiza una consulta serie de todos los dispositivos en el sistema.Para poder ejecutarse correctamente el controlador debe saber las direcciones de los dispositivos concapacidad de responder a una consulta serie (todos los que cumplan IEEE-488.2).

Hay otros protocolos que se pueden realizar de forma opcional y que comentamosbrevemente:

FINDRQS: Determina el dispositivo que ha pedido servicio. Se basa en ALLSPOLL.FINDLSTN: Determina las direcciones de todos los dispositivos con capacidad de ser

configurados como listener.TESTSYS: Realiza un autotest de todos los dispositivos del sistema.SETADD: Configura las direcciones de aquellos dispositivos con esta capacidad.PASSCTL: Cede el control a un dispositivo con capacidad para ello.REQUESTCTL: Pide el control a otro dispositivo.

3.6 Realización de interfases IEEE-488.1 y .2

Sería posible emular el funcionamiento de una interfase IEEE-488.1 usando una interfase deentradas -salidas digitales y realizando los diagramas de estados a través de programas que seejecutasen en un microprocesador. Esta solución fue adoptada en alguna máquina basada en i8086con un puerto de E/S basado en i8255 que se usaba normalmente como interfase CENTRONICS parauna impresora y que, mediante el programa adecuado, se convertía en IEEE-488.1. Si bien es unasolución muy barata, la velocidad de transferencia de información se ve muy comprometida.

Por este motivo han ido apareciendo en el mercado circuitos integrados que realizan en más oen menos las funciones de una interfase IEEE-488.1 y que se conectan como un periférico demicroprocesador al sistema informático que se usa como controlador.

Los circuitos más significativos comercialmente son el TMS9914 de Texas Instruments, eli8291A e i8292 de Intel, el µPD7210 de NEC y el conjunto Turbo488, NAT4882 y TNT4882 deNational Instruments [MAN94]. Excepto los circuitos de National Instruments, todos los demásfueron diseñados antes de la aparición de la norma IEEE-488.2, por lo que no se podrá realizar unainterfase que implemente la totalidad de esta norma con dichos circuitos integrados.

Los chips de Intel realizan las funciones de Talker y Listener en un circuito (8291) y las deController en otro (8292), por lo cual se puede dimensionar mejor la interfase si no se está diseñandoun controlador. Estos dos integrados requiren circuitos de interfase física con las líneas del bus. Si sequiere realizar una interfase completa se debe recurrir a los circuitos 8293, especialmente diseñadospara ello.

Los integrados de Texas y NEC tienen todas las funciones (T, L, C) en el mismo circuito.También requiren chips adicionales para la interfase física con el bus, pero en este caso se puedenusar circuitos 75160/161/162, que son mucho más asequibles que los anteriores.

Page 49: Sistemas de instrumentación

Sistemas basados en el bus IEEE-488 51

Las diferencias entre todos estos circuitos son pequeñas por lo que respecta a la funcionalidadde la interfase IEEE-488 y quizá algo mayores por lo que respecta a la interfase con elmicroprocesador que los controla. En cualquier caso, conviene leer detenidamente las hojas decaracterísticas de todos ellos antes de realizar la elección.

Por lo que respecta al circuito de National Instruments TNT4882, éste consiste en la unión enun solo chip de los circuitos NAT4882 (T, L, C), Turbo488 (interfase rápida con el microprocesador)y unos drivers para el bus, con lo cual se puede hacer una interfase GPIB con un solo circuito.Además de esto, este integrado tiene algunas características especiales que le permiten realizarprotocolos previstos en la norma IEEE-488.2, como son la monitorización de todas las líneas del buso la detección automática del terminador de mensaje. Finalmente, este circuito es capaz deimplementar un protocolo de comunicación llamado HS488 (High Speed 488) que permite alcanzarvelocidades de transferencia de datos de hasta 8 Mbyte/s. Este protocolo se basa en que la mayorparte de las transferencias de información se realizan hacia o desde el controlador a un dispositivo,con lo cual el protocolo de tres líneas clásico (handshake) se puede obviar y por tanto evitar losretardos asociados con el mismo. La revisión de la norma IEEE-488.1 (que fue reafirmada en 1994)para incluir este protocolo de alta velocidad y la extensión de los mensajes de la interfase que permitala conmutación dinámica entre el protocolo clasico y el nuevo está actualmente en fase de proyecto.

Page 50: Sistemas de instrumentación

Sistemas basados en el bus VME y VXI 53

4 Sistemas basados en el bus VME y VXI

4.1 Del VME al VXI

A finales de la década de los setenta, muchos fabricantes diseñaban y construían sus propiossistemas de instrumentación modulares o en tarjeta. Sin embargo, la mayor parte de estos equiposutilizaban arquitecturas propias y sólo algunas soportaban los equipos de más de un fabricante.

La aparición previa del estándar del bus VME para sistemas basados en microprocesador,junto con el deseo del Departamento de Defensa de los Estados Unidos de reducir el tamaño de susequipos de prueba automáticos, propiciaron la aparición del bus VXI. Para conseguirlo recurrieron albus VME, que en aquel momento, gracias a su estructura modular, y velocidad de transferencia dedatos, tenía un exito comercial importante. Era particularmente útil en el diseño de aplicaciones detest digital y procesado digital de señal.

No obstante, la limitación más importante del bus VME era que su diseño no estaba orientadoal diseño de sistemas de instrumentación, en especial no incorporaba líneas analógicas ni desincronización. Para solventar este problema se creó en abril de 1987 un comite de cinco empresasfabricantes de instrumentación (Colorado Data Systems, Hewlett Packard, Racal Dana, Tektronix yWavetek). Cuatro meses después se definía un nuevo estándar abierto para instrumentación basado enel bus VME llamado VXI (VME bus Extensions for Instrumentation).

El bus VXI es una arquitectura abierta para todos los fabricantes de instrumentos modulares.Esta especificación pública de sistema permite la coexistencia y el funcionamiento de un ampliomargen de instrumentos dentro del mismo bastidor. Mientras que el estándar IEEE-488 esprincipalmente un estándar de comunicaciones para facilitar la integración del sistema, el bus VXI esun estándar de sistema. En la norma VXI no se define únicamente el protocolo de comunicaciones yla conexión física de dichos instrumentos, se definen también aspectos mecánicos, eléctricos, decompatibilidad electromagnética y tipos de instrumentos.

El bus VXI está orientado a aplicaciones que requieren una capacidad de integración yvelocidad que se encuentran fuera de las capacidades del bus IEEE-488. Sin embargo, la enormepopularidad de la norma IEEE-488 se tuvo en cuenta en la definición de la norma VXI y se utilizócomo modelo para el protocolo de comunicaciones entre dispositivos e instrumentos.

Page 51: Sistemas de instrumentación

54 Sistemas de instrumentación

4.2 Especificaciones generales de la norma VXI

Desde la primera definición de la norma en el año 1987 han ido apareciendo sucesivasversiones que incorporaban ligeras modificaciones sobre el borrador original, de las cuales la últimaversiónha sido la 1.4, correspondiente a abril de 1992, que se ha consolidado con el reconocimientopor parte del IEEE como estándar IEEE-1155. El consorcio original de cinco empresas se haampliado con nuevos miembros como Bruel & Kjaer, Fluke, GenRad, Keythley y NationalInstruments.

Para la definición de la norma se tomó como base el bus VME (IEEE-1014). Su estructurajerárquica, velocidad, flexibilidad y la existencia de multitud de tarjetas ya disponibles lo hacen idealen este contexto. La primera consecuencia es la posibilidad de integrar dispositivos o sistemas VMEya existentes en futuras aplicaciones basadas en VXI.

La norma VXI define las características mecánicas, eléctricas, los protocolos y los procesosde inicialización así como las peculiaridades de los posibles interficies IEEE-488 que puedanemplearse para la comunicación con elementos de control externos.

Dentro de la norma VXI se pueden distinguir un conjunto de nueve especificaciones quehacen referencia a diferentes aspectos del diseño de sistemas VXI y son:

VXI-0 Visión general de las especificaciones del bus VXI. Revisión 1.0 mayo 1992.VXI-1 Especificación de un sistema basado en el bus VXI. Revisión 1.4, abril 1992.VXI-2 Especificación para dispositivos extendidos basados en registros y para dispositivos

VXI de memoria extendidos basados en registros. Revisión 1.0, febrero 1991.VXI-3 Especificación de comandos de palabra serie para la identificación de la versión y el

número de serie de dispositivos VXI. Revisión 1.0, febrero 1991.VXI-4 Especificación de mnemotécnicos comunes en la norma VXI. Revisión 1.0, junio

1991.VXI-5 Especificación de los comandos ASCII comunes del sistema. Revisión 1.0, junio

1991.VXI-6 Especificación de la interfase estándar para la extensión del bus VXI. Revisión 1.0,

febrero 1991.VXI-7 Especificación del formato de datos de memoria compartida. Revisión 1.0, marzo

1992.VXI-9 Especificación del protocolo de memoria compartida para sistemas VXI. Revisión

1.0, mayo 1992.

Todas ellas están recogidas y publicadas dentro de un documento conocido como VXIbusSystem Specifications Revision 1.4. El núcleo principal de la norma, donde se comprende laconfiguración y el funcionamiento de un sistema VXI, es la especificación VXI-1.

4.3 Descripción de los buses VXI y VME

La norma VXI constituye una extensión del la norma VME. Por tanto, los dispositivos VMEson un subconjunto dentro de los instrumentos VXI.

Page 52: Sistemas de instrumentación

Sistemas basados en el bus VME y VXI 55

4.3.1 El bus VME

El bus VME es bus asíncrono formado por cuatro sub-buses: transferencia de datos, arbitraje,interrupciones y utilidades.

- Bus de transferencia de datos:

Es un bus asíncrono de datos que puede transferir palabras de 8, 16 o 32 bits entremódulos. Está compuesto de un conjunto de 32 líneas de dirección (A1-A32), 32 líneas dedatos (D1-D32) y líneas de control.

El espacio de direcciones puede configurarse de tres maneras diferentes:-Direccionamiento corto (A16) 64 kbyte-Direccionamiento estándar (A24) 16 Mbyte-Direccionamiento extendido (A32) 4 Gbyte

- Bus de arbitraje de transferencia de datos:

Permite transferir el control del bus de datos entre diferentes dispositivos maestros deuna manera ordenada y garantizando que únicamente un dispositivo maestro controla el busde datos en cualquier instante.

- Bus de interrupciones

Dispone de siete líneas de interrupción (IRQ1-IRQ7) con diferentes niveles deprioridad y un máximo de siete controladores de interrupción. Permite a los dispositivosrealizar sus peticiones de interrupción y que éstas sean reconocidas por el módulo controladordel sistema.

- Bus de utilidades

Suministra la alimentación, las señales de inicialización del sistema, detección defallos en la alimentación, señales de reloj y una línea auxiliar de transmisión de datos serie.

Dentro de la norma VME se definen tarjetas de dos dimensiones estándar diferentes (figura4.1); Eurocard, tamaño A (100 mm x 160 mm), y doble Eurocard, tamaño B (233 mm x 160 mm),figura 4.1. Las señales descritas están disponibles en dos conectores denominados P1 y P2 de 96contactos cada uno. En el primer conector se utilizan las 96 líneas y del segundo (P2) se utilizan las32 líneas centrales del conector. Las tarjetas de tamaño A incluyen únicamente el conector P1, que esla configuración mínima de funcionamiento. El espacio de direcciones en la tarjeta de tamaño Apuede ser el A24 (16 Mbytes) o A16 (64 kbytes) con palabras de 8 o 16 bits.

El tamaño B dispone de los dos conectores P1 y P2 y el espacio de direcciones puede ser elA16, A24 o A32 (4 Gbytes) con palabras de 8, 16 o 32 bits.

Page 53: Sistemas de instrumentación

VMETamaño A

VMETamaño B

VXI Tamaño C

VXI Tamaño D

100 mm x 160 mm

233 mm x 160 mm

233 mm x 340 mm

366 mm x 340 mm

P1

P1

P1

P1

P2

P2

P2

P3

56 Sistemas de instrumentación

Fig. 4.1 Tarjetas estándar VXI y VME

4.3.2 Extensión del bus VME, el bus VXI

La extensión del bus VME, por parte de la norma VXI, a un bus para instrumentaciónmodular contempla diversos aspectos.

El primero de ellos es el mecánico. Se definen dos nuevos tamaños además de los yaincorporados en la norma VME, y son el C (233,35 mm x 340 mm) y el D (366,7 mm x 340 mm) alos que se les añade un nuevo conector P3. El segundo define los sub-buses que se han añadidoutilizando las dos líneas de contactos del conector P2, que quedan libres en la norma VME, y elconector P3. Los nuevos sub-buses son:

Bus de reloj

Está formado por dos señales de reloj de 10 MHz y 100 MHz y una señal de sincronizaciónde reloj para esta última. La señal de 10 MHz (CLK10) está disponible en el conector P2 y la señalde 100 MHz (CLK100) junto con la de sincronización (SYNC100) están ubicadas en el conector P3.CLK10, CLK100 y SYNC100 son señales diferenciales con niveles ECL y disponen de unamplificador en el bus para cada módulo para aumentar el aislamiento entre módulos y reducir elefecto de carga sobre la señal de reloj. El controlador del bus VXI, el módulo 0, puede generar estosrelojes o pueden ser suministrados a partir de un generador de frecuencia patrón a través del panelfrontal del módulo 0. La señal SYNC100 permite sincronizar diferentes módulos con un determinadoflanco de subida de la señal CLK100.

Bus en estrella

Situado en el conector P3, está formado por doce pares de líneas (STARXn y STARYn) queunen respectivamente cada uno de los módulos con el módulo 0 como muestra la figura 4.2. Ademásson líneas bidireccionales diferenciales con niveles ECL.

Page 54: Sistemas de instrumentación

bus VME

Bus de Disparo

Bus Suma

Líneas de reloj y sincronismo

Líneas de identificación (MODID)

Bus en estrella

Bus Local

Sistemas basados en el bus VME y VXI 57

Fig. 4.2 Esquema de la estructura completa de un BUS VXI

El bus en estrella ofrece una vía de comunicación de alta velocidad entre módulos paraprocesos en los cuales la temporización es extremadamente crítica. La norma VXI fija un retardomáximo de 5 ns entre cualquier módulo y el módulo 0 y una desviación de 2 ns entre cualquier par deseñales STARXn-STARYn.

Bus de disparo

El bus de disparo puede subdividirse en 8 líneas de disparo con niveles TTL (TTLTRG*) y 6líneas con niveles ECL (ECLTRG). Todas la líneas TTLTRG* y dos de las ECLTRG están situadasen el conector P2. Las cuatro restantes ECLTRG están en el conector P3.

Su utilización por un instrumento o grupo de ellos posibilita la implementación de complejospatrones de disparo y temporización. Se han definido diversos protocolos para la coordinación ycomunicación entre módulos. Además de señales de disparo y reloj es posible el intercambio deinformación digital a través de estos buses mediante la agrupación de líneas con el fin de descargar ycomplementar al bus VME. La velocidad de transmisión en las líneas TTLTRG* puede llegar a unafrecuencia máxima de 12,5 MHz mientras que en las ECLTRG este límite llega a 62,5 MHz.

Las líneas TTLTRG* son TTL en colector abierto y están terminadas en cada uno de losextremos del bus con una red pasiva. El nivel lógico alto, 5 V, viene fijado por las terminaciones delbus. Para la temporización de procesos mediante estas líneas la norma recomienda utilizar los flancosdescendentes de las señales al tener un tiempo de bajada menor por la configuración de colectorabierto.

Page 55: Sistemas de instrumentación

58 Sistemas de instrumentación

La norma define seis protocolos para las señales TTLTRG*:- Disparo síncrono: una única línea transmite una señal de disparo que no requiere unavalidación por parte de ningún receptor. La velocidad de repetición máxima es de 12,5 MHz.- Disparo semisíncrono: una única línea transmite una señal de disparo, nivel bajo, ymúltiples receptores validan la señal poniendo la misma línea a nivel bajo.- Disparo asíncrono: Se utilizan dos líneas. Hay una única fuente de disparo y un únicoreceptor para validar la señal de disparo.- Transmisión de reloj: Cualquier línea TTLTRG* puede utilizarse para la transmisión de unaseñal de reloj desde 0 Hz a 12,5 MHz.- Transmisión de datos: Una o más líneas TTLTRG* pueden agruparse para la transmisión dedatos en paralelo. Una de estas líneas se usa como reloj o disparo.- Protocolo Start/Stop: Una línea TTLTRG* es controlada por el modulo Slot 0 y su estadosignifica el inicio o el final de la operación de otros módulos.

Bus local

Está formado por 36+36 líneas (12+12 en el conector P2 y 24+24 en P3) que comunican cadamódulo únicamente con los inmediatamente adyacentes y con el que se pueden realizar transferenciasde hasta 200 MHz, proporcionando una velocidad de transmisión efectiva de 1 Gbyte/s. Su función esla de enlazar localmente diferentes tarjetas a gran velocidad, por ejemplo un módulo digitalizador yun módulo de procesado de señal.

Al no estar ligado al conjunto de los módulos, la definición de las señales transferidas serealiza según las necesidades de cada dispositivo, estando prevista la transferencia de señales digitalesTTL y ECL y analógicas de bajo, medio y alto nivel (-42 V a 42 V).

Bus de suma analógica

Está presente en el conector P2 y forma un nodo común a todos los módulos del sistema.Está terminado con una resistencia de 50 S conectada a la masa de señal en cada extremo del bus. Laseñal de suma analógica está situada en un extremo del conector P2, alejada de las señales digitales yapantallada por tres terminales de masa. Está previsto que cualquier módulo pueda enviar o recibir deesta línea. Cada módulo puede transmitir a esta línea mediante una fuente de corriente con unaimpedancia de salida mayor de 10 kS con una capacidad en paralelo menor de 4 pF. El receptordeberá tener una impedancia equivalente de entrada mayor de 10 kS con una capacidad en paralelomenor de 3 pF.

Un ejemplo de utilización es la generación de formas de onda complejas a partir de las salidasde diferentes módulos que se combinaría de forma aditiva en el bus suma. La ventaja de este métodoes que permite combinar diferentes módulos de generación de señal para crear una forma de ondacompleja que, de otra forma, requeriría un instrumento de mayor coste.

Page 56: Sistemas de instrumentación

Sistemas basados en el bus VME y VXI 59

Bus de identificación de módulos

El bus de identificación de módulos esta formado por 12 líneas de P2 (MODID) conectadascada una de ellas a una de las 12 ranuras disponibles en el bus VXI para la conexión de módulos.Estas líneas se alimentan desde el módulo conectado en la ranura 0 y permiten la detección de laexistencia de los dispositivos conectados al bus, incluso en el caso de fallo de los mismos, ya que sebasa en la detección de un contacto a masa. Es de gran utilidad en el diagnóstico de fallos y en elproceso de autoconfiguración en los módulos que dispongan del conector P2.

Bus de alimentación

El bus de distribución de la alimentación puede suministrar hasta 268 W a un único móduloque tenga los conectores P1, P2 y P3. Esta potencia se entrega en siete tensiones reguladas diferentes.El bus VXI añade con respecto a la norma VME tensiones de +24 V y -24 V para la alimentación decircuitos analógicos, y -5.2 V y -2 V para circuitos ECL.

En la figuras 4.2 y 4.3 puede verse una esquema de la estructura completa de sub-buses delbus VXI y la distribución de las diferentes señales en los conectores P1, P2 y P3.

4.4 Modos de funcionamiento y arquitecturas del bus VXI

En el apartado anterior se han descrito los recursos físicos disponibles en la norma VXI quese basan en un bus específico. La norma también define las relaciones entre los componentes delsistema y las estructuras que permiten la realización de configuraciones efectivas.

Un sistema VXI puede estar constituido por un máximo de 256 dispositivos incluyendo unoo más subsistemas VXI. Cada subsistema incluye un módulo central o ranura 0 (SLOT0), que generalas señales de reloj, temporización y control del sistema, y hasta 12 instrumentos o módulosadicionales. Todo el subsistema se encuentra ubicado en un bastidor normalizado.

Los dispositivos son los elementos básicos de un sistema VXI; están formados generalmentepor un solo módulo, pero pueden existir varios dispositivos en un solo módulo, o bien un dispositivopuede ocupar varios módulos. Cada uno de los 256 dispositivos que pueden existir en un sistema VXItiene una dirección lógica asociada entre 0 y 255. A cada dispositivo se le adjudican 64 direccionesabsolutas de memoria en el mapa de direcciones A16, de 64 kbytes. La dirección lógica deldispositivo define la dirección de este segmento de 64 bytes. Estos 64 bytes contienen los registros deconfiguración y los registros de comunicación del dispositivo.

4.4.1 Tipos de dispositivos en un sistema VXI

En la norma VXI se ha buscado, ante todo, una gran flexibilidad que facilite su adaptación alos más variados entornos y aplicaciones. Se han definido cuatro tipos diferentes de dispositivos VXI:basados en mensajes, basabdos en registros, memoria y extendidos.

Los dispositivos de memoria proporcionan posiciones de almacenamiento de datos enbloques de memoria RAM o ROM. Permiten mover grandes cantidades de datos. Los dispositivos

Page 57: Sistemas de instrumentación

60 Sistemas de instrumentación

Definición del conector P1 del bus VXI; Slot 0-12 Definición del conector P2 del bus VXI; Slot 0

Número dePIN

Fila ASeñal

Fila BSeñal

Fila CSeñal

Número dePIN

Fila ASeñal

Fila BSeñal

Fila CSeñal

1 D00 BBSY* D08 1 ECLTRG0 +5 CLK10+2 D01 BCLR* D09 2 -2V GND CLK10-3 D02 ACFAIL* D10 3 ECLTRG1 RSV1 GND4 D03 BG0IN* D11 4 GND A24 -5,2V5 D04 BG0OUT* D12 5 MODID12 A25 LBUSC006 D05 BG1IN* D13 6 MODID11 A26 LBUSC017 D06 BG1OUT* D14 7 -5,2V A27 GND8 D07 BG2IN* D15 8 MODID10 A28 LBUSC029 GND BG2OUT* GND 9 MODID09 A29 LBUSC0310 SYSCLK BG3IN* SYSFAIL* 10 GND A30 GND11 GND BG3OUT* BERR* 11 MODID08 A31 LBUSC0412 DS1* BR0* SYSRESET* 12 MODID07 GND LBUSC0513 DS0* BR1* LWORD* 13 -5,2V +5V -2V14 WRITE* BR2* AM5 14 MODID06 D16 LBUSC0615 GND BR3* A23 15 MODID05 D17 LBUSC0716 DTACK* AM0 A22 16 GND D18 GND17 GND AM1 A21 17 MODID04 D19 LBUSC0818 AS AM2 A20 18 MODID03 D20 LBUSC0919 GND AM3 A19 19 -5,2V D21 -5,2V20 IACK* GND A18 20 MODID02 D22 LBUSC1021 IACKIN* SERCLK(1) A17 21 MODID01 D23 LBUSC1122 IACKOUT* SERDAT*(1) A16 22 GND GND GND23 AM4 GND A15 23 TTLTRG0* D24 TTLTRG1*24 A07 IRQ7* A14 24 TTLTRG2* D25 TTLTRG3*25 A06 IRQ6* A13 25 +5V D26 GND26 A05 IRQ5* A12 26 TTLTRG4* D27 TTLTRG5*27 A04 IRQ4* A11 27 TTLTRG6* D28 TTLTRG7*28 A03 IRQ3* A10 28 GND D29 GND29 A02 IRQ2* A9 29 RSV2 D30 RSV330 A01 IRQ1* A8 30 MODID00 D31 GND31 -12V +5VSTDBY +12V 31 GND GND +24V32 +5V +5 +5V 32 SUMBUS +5V -24V

Definición del conector P3 del bus VXI; Slot 0

Número de PIN

Fila ASeñal

Fila BSeñal

Fila CSeñal

1 ECLTRG2 +24V +12V2 GND -24V -12V3 ECLTRG3 GND RSV44 -2V RSV5 +5V5 ECLTRG4 -5,2V RSV66 GND RSV7 GND7 ECLTRG5 +5V -5,2V8 -2V GND GND9 STARY12+ +5V STARX01+10 STARY12- STARY01- STARX01-11 STARX12+ STARX12- STARY01+12 STARY11+ GND STARX02+13 STARY11- STARY02- STARX02-14 STARX11+ STARX11- STARY02+15 STARY10+ +5V STARX03+16 STARY10- STARY03- STARX03-17 STARX10+ STARX10- STARY03+18 STARY09+ -2V STARX04+19 STARY09- STARY04- STARX04-20 STARX09+ STARX09- STARY04+21 STARY08+ GND STARX05+22 STARY08- STARY05- STARX05-23 STARX08+ STARX08- STARY05+24 STARY07+ +5V STARX06+25 STARY07- STARY06- STARX06-26 STARX07+ STARX07- STARY06+27 GND GND GND28 STARX+ -5,2V STARY+29 STARX- GND STARY-30 GND -5,2V -5,2V31 CLK100+ -2V SYNC100+

Fig. 4.3 Distribución de señales en los conectores P1, P2 y P3 de un bus VXI

basados en registros disponen de una inteligencia limitada. Se comunican con su módulo controladorpor medio de protocolos específicos definidos por el fabricante, en forma de escrituras directas en sus

Page 58: Sistemas de instrumentación

COMMANDER

COMMANDERSERVANT

SERVANT

SERVANT SERVANT

Sistemas basados en el bus VME y VXI 61

Fig. 4.4 Estructura e interrelaciones entre un 'comander' y un 'servant'

registros de configuración o comunicación. Su principal desventaja es la dificultad de programación,y su mayor ventaja es la facilidad de diseño y coste reducido. Los dispositivos extendidos seencuentran reservados, y permiten la definición de nuevas subclases de dispositivos VXI en futurasampliaciones de la norma.

Los dispositivos basados en mensajes, en contraste con los basados en registros, secomunican mediante mensajes de caracteres ASCII similares a los empleados por los instrumentosIEEE-488. El protocolo de comunicación está definido en la norma, denominado Word SerialProtocol (WSP), proporciona un soporte básico para la transmisión serie de los comandos de altonivel. Actualmente se tiende a la estandarización de los comandos, de forma que dispositivosequivalentes de diferentes fabricantes puedan ser perfectamente intercambiables. Esta tendencia serecoge en la normativa SCPI (Standard Commands for Programmable Instrumentation), que sedescribe en el capítulo siguiente.

Un instrumento puede estar compuesto por más de un módulo. Los buses definidos en lanorma son el soporte físico que permite el funcionamiento de los distintos módulos como un únicoinstrumento. En cuanto al soporte lógico, software, es necesario que la acción de los componentes delinstrumento sea coordinada adecuadamente y que la información se comparta de la forma más naturaly transparente posible. La norma VXI contempla la constitución de estructuras jerárquicas basadas endispositivos Servants y Commanders (ver figura 4.4). Varios dispositivos Servants dependen de unúnico dispositivo Commander. Un determinado Commander puede a su vez ser un Servant de otro.Los dispositivos Servants pueden ser de dos tipos, basados en registro o basados en mensajes. Sinembargo, los Commander ha de ser dispositivos basados en mensajes que permitan controlar a losServant.

4.4.2 Recursos del sistema

Como ya se ha comentado, la arquitectura del bus VXI ofrece un conjunto de recursoscomunes al sistema. Estos recursos o funciones están centralizados en dos entidades conocidas comoSlot 0 y Resource Manager. Normalmente se implementan en un mismo módulo que, además, incluyela interfase de comunicación (IEEE-488, RS232 o MXI) o control adecuados.

El Slot 0 debe generar las señales de reloj, CLK10, CLK100 y SYNC100 así como las señalesdel Bus de Identificación de Módulos (MODID) y comunicación STARXn, STARYn.

Page 59: Sistemas de instrumentación

CONFIGURACIÓN

COMUNICACIÓN

WORD SERIAL

488-VXI

488.2

SCPI

MEMORIACOMPARTIDA

PROTOCOLOS ESPECÍFICOS

62 Sistemas de instrumentación

Fig. 4.5 Jerarquia de comunicación en un bus VXI

El Resource Manager tiene asignadas funciones de mas alto nivel. Es un dispositivo basadoen mensajes con capacidad de Commander que debe estar situado en la dirección lógica 0 y que, alarrancar el sistema, realiza las siguientes funciones:

-Identificar todos los dispositivos VXI del sistema.-Gestionar el autotest y la secuencia de inicialización del sistema.-Configurar el mapa de direcciones A24 y A32 del sistema.-Configurar las jerarquías Commander/Servant del sistema.-Iniciar la operación normal del mismo.

4.4.3 Protocolos de comunicación

La comunicación dentro de un sistema VXI se establece entre un Commander y cualquiera desus Servants a iniciativa del primero. En el nivel superior de la estructura jerárquica se encuentra elcontrolador VXI o el dispositivo de comunicación entre el controlador externo y el bus VXI.

La comunicación con los dispositivos basados en registros, que sólo pueden actuar comoServants, no está especificada por la norma VXI y depende del fabricante del equipo. En este caso elsistema deberá incluir el dispositivo o los dispositivos Commander adecuados del fabricante parapoder controlar el Servant basado en registros. La comunicación entre Commanders y Servantsbasados en mensajes está totalmente definida en la norma. El protocolo empleado es conocido comoWord Serial. Permite el envío y la recepción de información secuencialmente de una forma similar ala usada en el entorno IEEE-488. Se trata de un protocolo asíncrono cuya velocidad se adapta aldispositivo más lento en cada momento. La longitud de estas palabras es de 16 bits, aunque existenvariantes de 8, 32 o 48 bits. El protocolo hace uso del contenido de diversos registros en el Servantnormalizados para la coordinación y configuración de las transmisiones.

Un protocolo alternativo es de memoria compartida. En este, zonas de memoria, del espaciode direcciones VME, pueden ser utilizadas por más de un dispositivo y usarse para la transferencia degrandes bloques de información. La memoria puede estar físicamente incluida en los propiosdispositivos o estar en tarjetas de memoria conectadas a tal efecto al bus. En la figura 4.5 puede versela estructura jerárquica de los diferentes niveles de comunicación para un sistema VXI.

Page 60: Sistemas de instrumentación

Sistemas basados en el bus VME y VXI 63

4.4.4 Arquitecturas de un sistema VXI

La norma VXI permite una gran variedad de configuraciones posibles. Las más típicas son:

1.- Un único controlador externo, Host, conectado al sistema a través del SLOT 0 y elResource Manager mediante una interfase IEEE-488, RS232 o red local.

2.- Un único controlador interno que realiza además las funciones de SLOT0 y ResourceManager. Los controladores VXI existentes se basan, en su mayoría, en laarquitectura PC, con procesadores de la familia INTEL 80x86.

3.- Varios procesadores internos con control distribuido de sistemas.

La primera opción es la más frecuente. La disponibilidad de controladores adecuados, lasvelocidades de transferencia posibles y el hecho de que la mayoría de sistemas que incluyenequipamiento VXI sean mixtos al hacer uso de instrumentación IEEE-488, son las razones que avalanesta elección. En este caso el controlador se conecta a uno o varios subsistemas a través de un módulode interfase adecuado presente en cada uno de ellos. Este dispositivo realiza además las funciones deSLOT 0 y Resource Manager. La norma especifica cómo ha de ser la traducción de protocolos entreel bus VXI y el IEEE-488 pero no define nada sobre los esquemas de direccionado, que quedan estoslibres a elección del fabricante o diseñador. Las soluciones adoptadas hasta el momento han sido tres:

a) Múltiples primarias: Cada instrumento VXI se identifica mediante una dirección primariaválida dentro del bus IEEE-488. Tiene como ventaja la similitud con la programación deinstrumentación IEEE-488, pero el número de direcciones de dispositivos se limita a 30.

b) Múltiples secundarias: Las direcciones secundarias IEEE-488 se utilizan para extender elespacio de direccionamiento. En este caso una única dirección primaria se asignaría albastidor y una dirección secundaria a cada dispositivo VXI.

c) Dirección incluida en los comandos, Embeded Addressing. Se envía con cada comando unidentificador antepuesto al mismo indicando qué dispositivo lógico es el destinatario de lainformación. Se utiliza una única dirección primaria y el nombre del dispositivo queda aelección del programador.

Page 61: Sistemas de instrumentación

Comandos de medida normalizados 65

Fig. 5.1 Jerarquía de las normas para instrumentos controlables

5 Comandos de medida normalizados. SCPI, ADIF

La norma ANSI/IEEE 488.2 de 1987 (revisada en 1992) introdujo una estandarización demuchos aspectos que no estaban incluidos en la norma previa de 1975, como son: el formato de datos,el reporte de estados, el tratamiento de errores, la funcionalidad del controlador y algunos comandosbásicos al que todos los instrumentos deben responder. Así, esta norma establece algunasespecificaciones del software que no estaban incluidas en la norma original. Sin embargo, deja abiertoel formato y tipo de comandos que hay que enviar a los instrumentos (ver la figura 3.6). La normaSCPI (Standard Commands for Programmable Instruments) aparece en 1991 para conseguir unaestandarización de los comandos de control y el formato de los datos de los instrumentos. El objetivoes que, independientemente del fabricante, equipos que tienen la misma funcionalidad respondan deigual forma a un conjunto estándar de comandos.

La norma SCPI es el escalón más alto dentro de la jerarquía normativa para el control desistemas de instrumentación. Tal como se puede ver en la figura 5.1, la norma SCPI se asienta sobrela IEEE-488.2 y esta, a su vez, se basa en la IEEE-488.1. A pesar de esta jerarquía los comandos y laestructura de datos basados en la norma SCPI pueden usarse, y se usan, en sistemas deinstrumentación que no estén basados en IEEE-488, por ejemplo en sistemas basados en VXI, RS-232o LAN.

El objetivo general de la norma SCPI es reducir los costes de desarrollo y mantenimiento deprogramas de control de sistemas de instrumentación para prueba automática. Este objetivo seconsigue ya que el cumplimiento de la normativa:

- facilita el aprendizaje y uso de los comandos y los datos.- facilita el desarrollo y mantenimiento de los programas.- posibilita la sustitución de equipos con los mínimos cambios de software.

Para conseguir estos objetivos la norma establece la sintaxis y los formatos de los mensajespara que instrumentos con la misma funcionalidad o instrumentos del mismo tipo utilicen los mismoscomandos. Por ejemplo, los comandos para medir una frecuencia utilizando frecuencímetros dedistintos fabricantes serán los mismos. Además, la medida de la frecuencia con otro instrumento que

Page 62: Sistemas de instrumentación

66 Sistemas de instrumentación

Fig. 5.2 Modelo de instrumento general definido en la norma SCPI

lo permita, por ejemplo un osciloscopio digital o un multímetro, también utilizarán los mismoscomandos.

La norma establece tres tipos de compatibilidad entre instrumentos:

1.- Vertical: equipos de un mismo tipo tienen los mismos controles. Ejemplo: en dos multímetrosdistintos la selección de escala se realizará de la misma forma.

2.- Horizontal: equipos que realizan la misma medida, aunque sea de formas distintas, utilizarán losmismos comandos. Ejemplo: un osciloscopio que pueda medir períodos y un frecuencímetro-contadorutilizarán los mismos comandos para medir el período de una señal.

3.- Funcional: dos equipos distintos que puedan realizar la misma función lo harán con los mismoscomandos. Ejemplo: un analizador de espectros que pueda realizar barridos de frecuencia y ungenerador de señal serán funcionalmente compatibles si el barrido de frecuencia se programa con losmismos comandos.

Para conseguir un conjunto de comandos que puedan ser utilizados en cualquier instrumento,optimizando la compatibilidad, la norma define un modelo de instrumento universal. Este modelo esel que pasamos a ver de forma más detallada a continuación.

Para facilitar el aprendizaje de los nombres de los comandos, que provienen de abreviacionesde palabras inglesas, usaremos las denominaciones inglesas para las distintas partes de losinstrumentos.

5.1 Modelo de instrumento según la norma SCPI

El objetivo de establecer un modelo general de instrumento es estandarizar un conjunto debloques funcionales a los que se les asignará un conjunto de comandos para su programación. De estaforma cada instrumento concreto podrá ser descrito mediante un subconjunto de estos bloques

Page 63: Sistemas de instrumentación

Comandos de medida normalizados 67

La parte de las palabras que está en mayúsculas coincide con el nombre de los comandos estándares abreviados para cada bloque.1

Fig. 5.3 Modelo para un multímetro digital

Fig. 5.4 Modelo para un generador de funciones

funcionales y su programación se realizará utilizando los comandos correspondientes a estos bloques.El modelo de instrumento es el representado en la figura 5.2. Este modelo describe el flujo de datosen un instrumento genérico; las líneas de trazo continuo representan flujo de datos y las líneas atrazos representan controles.

Cada instrumento específico se representa sólo por los bloques que lo constituyen. Porejemplo, un multímetro digital puede tener sólo los bloques de función de medida, TRIGger yFORMat (figura 5.3). En cambio, para un generador de funciones sólo tendríamos: FORMat y Signalgeneration (figura 5.4) .1

A continuación se describe cada uno de los bloques del modelo de instrumento definido.

- Signal ROUTingRepresenta la posibilidad que tienen ciertos instrumentos para direccionar las señales de susconectores de entrada a distintos circuitos internos. Es análogo al bloque de direccionamientode señal visto en el apartado 5.2. Los comandos que controlan esta sección se denominanROUTe.

- MEASurement FunctionEste bloque es el que realiza la medida, entendida en su sentido más amplio como unatransformación de una señal en un código que luego podrá ser procesado. Este bloque sesubdivide a su vez en los siguientes (figura 5.5): INPut, SENSe y CALCulate.

La subdivisión del bloque de medida en estas tres partes no se ha incluido en el modelo deinstrumento (figura 5.2) porque hay instrumentos que no serían 'horizontalmente compatiblesa este nivel pero sí lo son a nivel del bloque funcional de medida. Por ejemplo, la medida delvalor eficaz de una senoide con un voltímetro y con un osciloscopio digital podrían serhorizontalmente compatibles utilizando instrucciones al nivel del bloque MEASurement(utilizarían los mismos comandos), pero los comandos para programar la medida a un nivel

Page 64: Sistemas de instrumentación

68 Sistemas de instrumentación

Fig. 5.5 Bloque de medida expandido

Fig. 5.6 Bloque de generación expandido

más bajo serían distintos. En el voltímetro la medida se realiza con un comando del bloqueSENSe, mientras que en el osciloscopio habría que calcular (utilizando comandos del bloqueCALCulate) el valor eficaz a partir de las muestras adquiridas.

- INPutRepresenta la etapa de adaptación de la señal de entrada, por ejemplo el acoplo AC,DC, GND de osciloscopios.

- SENSeEs propiamente el bloque de medida, que pasa de una señal eléctrica a un código queluego puede ser procesado digitalmente.

- CALCulateSu función es pasar los datos adquiridos por el bloque de medida a valores que seanmás apropiados para una aplicación concreta. Por ejemplo, calcular períodos,frecuencias, tiempos de subida, etc. en un osciloscopio digital.

Page 65: Sistemas de instrumentación

Comandos de medida normalizados 69

- Signal GenerationEste bloque también esta subdividido al igual que el de medida (figura 5.6). Su función es lade pasar datos a una señal eléctrica. Para ello se pueden distinguir los siguientes sub-bloques:

- CALCulateSu función es modificar el flujo de datos recibido para generar la señal deseada a lasalida.

- SOURceLa función de este bloque es determinar las características de la señal generada apartir del flujo de datos suministrado.

- OUTputEs la parte que determina cómo se aplica la señal generada. Incluye las funciones deatenuación, filtrado, suma de tensiones continuas, etc.

- TRIGgerSu función es proveer al instrumento de medios para sincronizarse con eventos de lasseñales, tanto internas como externas.

- MEMoryEs el almacén de datos interno al instrumento. Según sea el caso pueden realizarselecturas de datos, escrituras o guardarse parámetros de calibración internos.

- FORMatEs el encargado de transformar el formato de los datos digitales internos alinstrumento a otros que sean transferibles a través del bus de control.

5.2 Sintaxis y estilo

Los comandos en la norma SCPI se agrupan jerárquicamente en forma de árbol. En la raíz delárbol se encuentran los comandos que hacen referencia a los bloques que aparecen en el modelo deinstrumento visto en la sección anterior. Cada uno de estos comandos se divide en un conjunto deramas identificadas por palabras clave que a su vez identifican a funciones subordinadas al bloqueraíz y así sucesivamente.

En la figura 5.7 se representa el arbol del bloque de INPut. La notación que se sigue es lasiguiente:: indican el paso a un nivel jerarquico inferior. Para clarificar la notación también se ha

utilizado identación de los niveles inferiores.[ ] palabras clave opcionales< > encierran el tipo de parámetro| separa parámetros opcionales (solo se puede poner uno de ellos); separa comandos que están en la misma línea (no cambia el nivel del último comando), se usa para separar distintos parámetros dentro de un mismo nivel? indica que es un comando de consulta y que se espera una respuesta del equipo al que se

envía. Es muy importante leer el dato solicitado; de no ser así al enviar otro comando se creauna situación de error en el instrumento.

Page 66: Sistemas de instrumentación

70 Sistemas de instrumentación

KEYWORD PARAMETER FORM NOTES

INPut:ATTenuation <numeric_value> <tipo de variable>

:AUTO <Boolean>|ONCE | separa parámetros opcionales:BIAS

[:STATe] <Boolean> opcional:VOLTage

[:DC] <numeric_value> opcional:AC <numeric_value>

:TYPE CURRent|VOLTage. otras opciones. .. .

:COUPling AC|DC|GROund:GAIN <numeric_value>

:AUTO <Boolean>|ONCE. otras opciones. .. .

Fig. 5.7 Estructura jerárquica de comandos para el bloque de INPut de un instrumento.

Comandos SCPI correctos para este bloque son:

INPut:BIAS:STATe OFFINP:COUPling ?INP:ATT 20 INPut:ATTenuation:AUTO; INPut:BIAS:STATe ON; INPut:BIAS:VOLTage:DC 0.1 VINP:ATT:AUTO; INP:BIAS:STAT ON; VOLT:DC 0.1 V (esta línea realiza la misma programacióndel instrumento que la anterior)

La sintaxis para los valores numéricos, las unidades y sus prefijos es la definida en losapartados 7.2 y 7.3 de la norma IEEE-488.2. Los parámetros numerícos pueden ser en cualquier tipode notación: entera, decimal o científica. Entre los sufijos numerícos aceptados están: MA (10 ), k o6

K (10 ), m o M (10 ), u o U (por µ: 10 ). También pueden enviarse las palabras MAXimum,3 -3 -6

MINimum y DEFault.

Los parámetros booleanos pueden escribirse como ON y OFF o como 0 y 1. Los instrumentossiempre responderán con 0 o 1.

Existen dos grupos de comandos definidos en la norma: comunes y específicos deinstrumento. Los comandos comunes son los mismos comandos que se definen como obligatorios enla norma IEEE 488.2. Éstos sirven para funciones tales como: reinicialización, autocomprobación yoperaciones de estado. Los comandos específicos de instrumento son los propios que define la normaSCPI. La sintaxis de cada grupo puede verse en la figura 5.8.

5.3 Comandos

Los comandos comunes definidos en la norma IEEE-488.2 que deben estar implementadospara cumplir la norma SCPI son:

Page 67: Sistemas de instrumentación

Comandos de medida normalizados 71

Fig. 5.8 Sintaxis para los comandos comunes y específicos.

*CLS Clear Status Command*ESE Standard Event Status Enable Command

*ESE? Standard Event Status Enable Query*ESR? Standard Event Status Register Query*IDN? Identification Query*OPC Operation Complete Command*OPC? Operation Complete Query*RST Rest Command*SRE Service Request Enable Command*SRE? Service Request Enable Query*STB? Read Status Byte Query*TST? Self Test Query*WAI Wait-to-Continue Command

Para una explicación de estos comandos véase el apartado 3.5.4.

Los comandos específicos definidos en la norma SCPI se dividen a su vez en dos grupos, losobligatorios y los opcionales. Los únicos bloques que son obligatorios son el de SYSTem y el deSTATus.

Los comandos específicos definidos en la norma SCPI son los siguientes:

- MEASure - INPut - ROUTe - TRACe|DATA- CALCulate - INSTrument - SENSe - TRIGger- CALibration - MEMory - SOURce - UNIT- DIAGnostic - MMEMory - STATus - VXI- DISPlay - OUPut - SYSTem- FORMat - PROGram - TEST

En la norma se estipulan todos los niveles inferiores posibles para cada uno de estos bloques.En un instrumento en particular sólo se utilizarán aquellos comandos que tengan una funcióndefinida. En la figura 5.9 pueden verse los comandos que son funcionales en un multímetro digital

Page 68: Sistemas de instrumentación

72 Sistemas de instrumentación

MEASure:VOLTage:DC? {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF}:VOLTage:DC:RATio? {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF}:VOLTage:AC? {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF}:CURRent:DC? {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF}:CURRent:AC? {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF}:RESistance? {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF}:FRESistance? {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF}:FREQuency? {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF}:PERiod? {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF}:CONTinuity?:DIODe?

CONFigure:VOLTage:DC {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF}:VOLTage:DC:RATio {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF}:VOLTage:AC {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF}:CURRent:DC {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF}:CURRent:AC {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF}:RESistance {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF}:FRESistance {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF}:FREQuency {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF}

Fig. 5.9 Ejemplo de comandos posibles en un multímetro digital para los bloques de medida y configuración

para los bloques de medida y configuración. Se debe notar que si se envía un comando de medida, porejemplo:

MEAS:VOLT:DC? 10, 0.003

el multímetro automáticamente realizará una medida y esperará a que se lea su registro de salida. Encambio, con la instrucción:

CONF:VOLT:DC 10, 0.003

solo se configurará el instrumento pero la medida no se realizará hasta que se envíe una instrucciónadecuada, por ejemplo:

TRIG:SOUR EXT; READ?

en este caso el multímetro esperará a recibir un sincronismo de reloj externo para realizar la medida yponerla en su registro de salida.

5.4 Formato de datos: ADIF

El objetivo de este formato de datos es el de disponer de un estándar para el intercambio dedatos entre instrumentos o sistemas de forma automática. El formato ADIF está diseñado para que lainformación de cada bloque de datos sea autosuficiente. La estructura está diseñada para que sea muyflexible y extensible, y puede almacenar desde datos sencillos como un vector unidimensional aestructuras complejas multidimensionales.

El formato de datos está estructurado en bloques. De forma general, un conjunto de datosconsiste en varios bloques de descripción y un bloque de datos. Los bloques de descripción contienenpalabras claves que identifican sub-bloques en los que otras palabras clave seguidas de variablesdefinen las características de la información contenida en el bloque de datos.

Page 69: Sistemas de instrumentación

Comandos de medida normalizados 73

Los bloques definidos por la norma son 10; entre corchetes [] se incluyen los bloques que sonopcionales:

ADIF: define el bloque general en el que se incluyen los demás, asignándole una etiqueta.

STD: define la versión de ADIF usada.

[REMark]: es un texto libre que contiene comentarios generales sobre los datos.

[IDENtify]: da nombre al bloque de datos, describe de dónde proviene y contiene identificadorescomo número de prueba, fecha y hora de captura, etc.

[ENCode]: especifica la codificación de todos los datos numéricos del bloque y, opcionalmente,su valor máximo y mínimo o su resolución.

DIMension: este bloque puede repetirse varias veces y especifica la estructura y el formato decada bloque de datos. Los datos pueden ser implícitos, y en este este caso se incluiránen el bloque DATA, o explícitos estando definidos en este bloque. Contiene otrascaracterísticas como son: escala, offset y unidades de medida.

[ORDer]: especifica el orden dentro del bloque de datos para cada una de las dimensionesimplícitas que tenga. Los datos pueden estar ordenados por dimensiones (DIM) o deforma alternada con un dato de cada dimensión (TUPLe).

[TRACe]: agrupa lógicamente las variables en forma de arrays, superficies o conjuntosarbitrarios. Da nombres a las trazas y puede dar información sobre posibles simetríasde éstas.

[VIEW]: define relaciones entre los distintos grupos de trazas (TRACe), por ejemplo puedeidentificar a una dimensión como parte real y a otra como parte imaginaria de unnúmero complejo.

DATA: contiene los datos propiamente dichos en el orden indicado por ORDer y en elnúmero indicado por las dimensiones implícitas y su longitud. Normalmente incluyeuna comprobación de errores basada en una suma (CSUM)

El formato está estructurado en bloques; en la figura 5.10 puede verse un ejemplo. Cada niveljerárquico está definido por un nombre de bloque seguido de un paréntesis que incluye a los bloquessubordinados. Dentro de cada sub-bloque hay palabras clave seguidas de uno o más valoresnuméricos. Los valores numéricos están separados por comas. Esta estructura de datos es compatiblecon lo definido por la norma IEEE 488.2.

Todos los carácteres usados son ASCII de 7 bits (ANSI X3.4-1977). Los datos en el bloqueDATA pueden ir codificados en otros códigos distintos de ASCII. La norma especifica 11 tiposdistintos de codificación, desde números enteros en ASCII a bloques de datos en binario con distintaslongitudes (8, 16, 32 o 64 bits) pasando por formatos especiales para cadenas de caracteres, tiempo yfecha.

El ejemplo de la figura 5.10 es bastante complejo; para mostrar el caso más simple podemosponer parte de la misma información de la siguiente forma:

Page 70: Sistemas de instrumentación

74 Sistemas de instrumentación

ADIF = canal1 (STD (VERSion 1.0)REMARK (

NOTE "array opcional de un máximo de 255 caracteres")IDENtify (

NAME "Ejemplo de formato"DATE 1995-08-22TIME 13:15:10.55TEST (NUMBer "AD1","3.1"))

ENCode (NOTE "array opcional de caracteres"FORMat INT16HRANge 1000LRANge -1000)

DIMension = amplitud (TYPE EXPLicitSCALe 3.2E-6OFFSet 1.0E-5UNITs "V")

DIMension = tiempo (TYPE IMPLicitSCALe 1E-6SIZE 1024UNITs "S")

ORDer (BY DIMension)

TRACE = respuesta_impulsional (SYMMetry NONEINDependent (LABel tiempo)DEPendent (LABel amplitud))

DATA (CURVe (

VALue 233,-134,...389 CSUM 67)))

Fig. 5.10 Ejemplo de formato de datos ADIF

ADIF = datos1 (STD (1.0)DIM = amplitud (

TYPE EXPUNIT "V")

DATA ( CURV ( VAL 233, -134, ... 389 ) ) )

La estructura se ha simplificado mucho pero a costa de perder información (en este caso la escalatemporal y otros datos identificativos), lo que está en contra de la filosofía básica de la norma, que esel contener los datos en una estructura que sea autosuficiente para reconstruir toda la informaciónadquirida por los instrumentos de medida.

Page 71: Sistemas de instrumentación

Instrumentación virtual 75

6 Instrumentación virtual. Programas de ayuda al diseño de sistemasde instrumentación

6.1 Clases de instrumentos virtuales

Un instrumento virtual es simplemente un conjunto de programas y equipos con una interfasegráfica que tiene la apariencia y el aspecto de un instrumento físico. El usuario puede manejar elinstrumento a través del panel gráfico como si fuera un instrumento real.

Los instrumentos tradicionales son autocontenidos, tanto las capacidades de entrada salidacomo la interfase de usuario, botones, pulsadores, pantallas, etc., y otras características adicionalesson fijas. Dentro de la caja del instrumento convertidores A/D, circuitos acondiconadores de señal,microprocesadores, memoria y un bus interno convierten señales del mundo real, las analizan, y laspresentan como resultados al usuario. El fabricante define completamente la funcionalidad delinstrumento, sin la posibilidad de ser cambiada por el usuario.

La tendencia actual en instrumentación es utilizar el ordenador como un elemento más. Losinstrumentos virtuales se benefician de la arquitectura abierta de los estándares de ordenadores paraofrecer las capacidades de procesado, memoria y visualización; mientras que las tarjetas deadquisición, de bajo coste, y las tarjetas de interfase IEEE-488 y VXI conectadas en el bus delordenador sirven de vehículo para las capacidades del instrumento virtual. La funcionalidad delinstrumento la define el propio usuario y la potencia de procesado puede ser incluso mucho mayorque en los instrumentos convencionales.

El instrumento virtual simula cada una de las partes descritas anteriormente, apoyándose enelementos hardware accesibles por el ordenador (tarjetas de adquisición, instrumentos IEEE-488,VXI, RS-232).

Cuando se ejecuta un programa que funciona como instrumento virtual, el usuario ve en lapantalla de su ordenador un panel cuya función es idéntica a la de un instrumento físico, lo quefacilita la visualización y el control del aparato. A partir de los datos reflejados en el panel frontal, elinstrumento virtual debe actuar recogiendo o generando señales, como lo haría su homólogo físico.

El usuario, y no el fabricante, define la funcionalidad final del instrumento. El software es laclave en los instrumentos virtuales; ofrece al usuario las herramientas necesarias para construirinstrumentos virtuales y expandir su funcionalidad ofreciendo una conectividad con las enormesposibilidades de los PC y las estaciones de trabajo, y otras aplicaciones. Esta flexibilidad que permite

Page 72: Sistemas de instrumentación

Caro

Cerrado, funcionalidad fija

Cambios lentos en la tecnología(5-10 años de ciclo de vida)

Constes de desarrollo y mantenimiento

Instrumentos tradicionales Instrumentos virtuales

Definido por el usuario

El software es la clave

Bajo coste, reutilizable

Abierto, funcionalidad flexibleutilización de una tecnología familiar

Adaptación rápida a los cambiostecnológicos, (1-2 años de ciclo de vida)

El software minimiza los costes dedesarrollo y mantenimientograndes

Sistema orientado a la aplicacion conconectividad a redes, periféricos y aplicaciones

Definido por el fabricante

Función específica, conectividad limitada

El hardware es la clave

76 Sistemas de instrumentación

el software puede, sin embargo, llevar un coste asociado mayor que el del instrumento tradicional. Siel usuario no dispone de las herramientas adecuadas de programación para el desarrollo de laaplicación, las horas invertidas en la realización de los programas encarecerán el valor real delinstrumento final.

Las diferencias entre intrumentos tradicionales y virtuales se pueden resumir en la siguientetabla:

Tal como se ha visto, un instrumento virtual está formado por tres elementos principales:adquisición de datos, análisis y presentación, tal como muestra la figura 6.1. Junto al gran crecimientode la microinformática han ido apareciendo en el mercado diversas herramientas de programaciónpara el desarrollo de sistemas de instrumentación virtual, que se centran en alguno o en todos loselementos del sistema. La elección del entorno de programación vendrá condicionada por laaplicación final del usuario.

El software que realiza el instrumento virtual y que se ejecuta sobre el controlador, en estecaso el ordenador, ha evolucionado con el tiempo. Los primeros entornos de programación permitíanel control de instrumentos o dispositivos externos al ordenador, un ejemplo es el Basic de la familiaHP9000 (la mayor parte de los instrumentos de HP programables mediante el bus IEEE-488 todavíaincluyen ejemplos de programación en Basic). Otros fabricantes de interfases para ordenadorsuministraban, primero, un conjunto de funciones (funciones de nivel 0 o de registro) que se dejabanresidentes en memoria y a las que se accedía mediante interrupciones software. Posteriormentesuministraban librerías de funciones (funciones de nivel 1) que se podían llamar desde lenguajes dealto nivel, ( C, Basic o Pascal) que ejecutaban las interrupciones software. Estas primerasherramientas facilitaban el control de la interfase de comunicaciones con instrumentos externos yeran independientes del instrumento a controlar. No obstante, éstas no incluían utilidades para elanálisis de datos ni la presentación de los mismos. La creación de instrumentos virtuales, con

Page 73: Sistemas de instrumentación

Adquisición Análisis Presentación

Drivers de instrumentos

488.2 VXI DAQDSP

ComandosSerie

Mensaje

IEEE 488.2

Mensaje

Registro Registro Mensaje

GPIB VXIBus

OrdenadorRS-232Serie

Programación gráfica

Programación linguística

Instrumentación virtual 77

Fig. 6.1 Partes integrantes de un instrumento virtual

Fig. 6.2 Arquitectura del entorno de programación para instrumentación virtual

interfases gráficas de usuario, requerían un gran esfuerzo de programación y adolecían de flexibilidadde adaptación o modificaciones.

El siguiente paso fue crear librerías de funciones específicas para un determinado instrumentoo conjunto de instrumentos de un fabricante. Evitan la necesidad de aprender los comandos o lasinstrucciones del instrumento por parte del programador. Cada una de estas funciones (de nivel 2)suele hacer uso de una serie más o menos compleja de funciones de nivel 1 y 0. A este conjunto defunciones se le denomina driver de instrumento y pueden encontrarse en forma de librerías enlazablesa un lenguaje de programación (C, Basic, Pascal), o bien en formato DLL (Dyamic Link Library) para

Page 74: Sistemas de instrumentación

78 Sistemas de instrumentación

MS-Windows de manera que se pueden llamar desde cualquier entorno de programación (figura 6.2).

Al igual que las funciones de nivel 1 y 0, las de nivel 2 siguen abarcando únicamente laadquisición de datos, bien sea a través de instrumentos convencionales provistos de interfase GPIB,RS-232 o VXI, o con tarjetas de adquisición de datos incorporadas al bus del propio ordenador.

No obstante, los mismos fabricantes de software ofrecen entornos programación propios parael desarrolo de aplicaciones que permiten acceder a estas librerías de una forma mas fácil. Estosentornos ya incluyen herramientas para el análisis y presentación de datos más o menos elaboradas.

6.2 Lenguajes de control para sistemas de instrumentación

Los entornos de programación para el control de sistemas de instrumentación virtual puedenclasificarse en diversas categorías o clases según el grado de flexibilidad y facilidad de uso.

El primer grupo lo comprenden aquellos entornos que han sido desarrollados para el controlde un instrumento específico o tarjeta de adquisición de datos. Permiten, mediante una interfase demenús desplegables, configurar y programar el dispositivo para la adquisición de una señal y suvisualización. Un ejemplo de estos entornos es el software DAQ-Ware de National Instruments queofrece con sus tarjetas de adquisición datos. Permite configurar el número de canales, la ganancia y lafrecuencia de muestreo de sus tarjetas y visualizar en pantalla las señales adquiridas así comosalvarlas a fichero.

En el segundo grupo están los entornos de programación lingüísticos. El acceso a lasfunciones de nivel 2, para la adquisición de datos, se hace a través de un terminado lenguaje deprogramación, este puede ser estándar (C, BASIC, etc.) o propio del entorno. Además se dispone delibrerías de funciones para el análisis y la presentación de datos. Algunos de estos entornosincorporan una interfase gráfica de menús desplegables que permite el acceso a estas funciones parafacilitar la generación del programa. Otro parámetro importante es el modo de ejecución de laaplicación final. Algunos entornos permiten únicamente la ejecución de la aplicación dentro delmismo. Tienen como ventaja las facilidades de depuración que incluyen y la simplificanción de lainterfase con el hardaware del controlador. Sin embargo, la velocidad de ejecución es mucho menor yrequiere el pago, en la mayoría de los casos, de una licencia run-time para su distribución o venta.

Algunos de los entornos más utilizados son:

LabWindows y LabWindows/CVI (National Instruments): Son entornos de programaciónpropios en C y Basic, con menús de ayuda para la generación de código de forma interactiva, paraaplicaciones MS-DOS y MS-Windows, respectivamente, de test, medida y control. Incluyencompiladores de ANSI-C, linker, debugger y librerías para adquisición de datos, análisis ypresentación. Se pueden incorporar ficheros fuente externos, módulos objeto y DLL (en la versiónMS-Windows). Ambas versiones pueden generar aplicaciones ejecutables fuera del entorno aunque

Page 75: Sistemas de instrumentación

Instrumentación virtual 79

Fig. 6.4 Panel frontal de un instrumento virtual creado con labVIEW

en la versión MS-DOS es necesario un compilador C estándar externo al entorno, no suministrado conel paquete. Una característica importante de estos paquetes de programación es la inclusión delibrerías de instrumentos, drivers, dentro del mismo entorno y que el fabricante suministra de formagratuita para una gran diversidad de fabricantes de instrumentos controlables: IEEE-488, VXI, RS-232 y CAMAC.

VisuaLab (IOtech): Es una extensión del entorno Visual Basic para el desarrollo deaplicaciones de adquisición de datos.

Asyst (Keithley-MetraByte): Entorno de programación en un lenguaje propio para MS-DOS. Aplicaciones de adquisición de datos y análisis. Incluye librerías de análisis y drivers paratarjetas de adquisición de varios fabricantes. Los programas corren únicamente dentro del entorno.

HPITG II (Hewlett-Packard): Es un entorno de programación con una interfase gráfica quepermite mediante menús generar secuencias sencillas de medida y análisis. Estas pueden grabarse enun fichero y convertirse posteriormente a una secuencia de llamadas de funciones en C paraincorporar dentro de la aplicación final. Incluye únicamente librerías para instrumentos de Hewlett-Packard, aunque dispone de un instrumento genérico que permite programar cualquier instrumentocon interfase IEEE-488.

Page 76: Sistemas de instrumentación

80 Sistemas de instrumentación

Fig. 6.5 Ejemplo de un programa gráfico para un instrumento virtual (LabVIEW)

Los entornos de programación gráficos forman el tercer grupo. Su aparición en el mercado esmás reciente. El desarrollo de aplicaciones es totalmente diferente. Permiten crear al usuariosoluciones completas uniendo iconos de una forma totalmente gráfica y según una estructurajerárquica; véase la figura 6.5. Los bloques son módulos software preprogramados que aparecencomo iconos en la pantalla. Algunos iconos son estándares para cualquier aplicación, pero otroscorresponden a un hardware específico del sistema de medida. Pulsando sobre cualquier icono se abreuna ventana de diálogo que contiene un listado de propiedades para su funcionamiento. Una de lascaracterísticas más importantes de la programación gráfica es que se dispone de iconos para crearinterfases de usuario muy similares a las de cualquier instrumento convencional. Al igual que loslenguajes de programación clásicos se dispone de múltiples tipos de datos y estructuras deprogramación (bucles, condiciones, E/S, etc.) incluyendo algunos entornos un compilador gráficopara aumentar la velocidad de ejecución.

El ciclo de aprendizaje y programacion se reduce drásticamente al ser entornos que imitanuna forma de programación muy parecida a un diagrama de flujo o bloques. Esta simplificación en laforma de programación lleva asociada algunas limitaciones. La velocidad final de la aplicación serámucho menor que su versión en lenguaje C y la utilización de muchos elementos gráficos e iconosrequiere grandes cantidades de memoria y potencia de cálculo.

Existen en el mercado diversos paquetes de programación gráfica; no todos son iguales ydeben hacerse algunas distinciones. Una diferencia básica es que algunos, como LabView, sonentornos que funcionan por sí solos y otros, como el Visual DAS de Keithley, son adaptaciones deentornos de programación de uso común como el Visual Basic. Otra diferencia importante aconsiderar a la hora de la adquisición del paquete de programación son los drivers para dispositivos,instrumentos, tarjetas de adquisición, etc.., que incluyen. Algunos paquetes únicamente cubren los delpropio fabricante , por lo que obligan prácticamente a utilizar su hardware.

Page 77: Sistemas de instrumentación

Instrumentación virtual 81

Uno de los primeros y más conocido de los entornos de programación gráfica es el LabView(National Instruments), que apareció en el año 1986. Las primeras versiones funcionaban sólo sobreMacintosh, que eran entonces los únicos que disponían de memoria suficiente, 1 Mbyte, y de unsistema operativo avanzado. Actualmente está disponible en versiones Macintosh, PC MS-Windows ypara estaciones de trabajo Sun SPARC.

El usuario dispone de una completa gama de librerías de iconos para la manipulación dedatos, control de flujo, interfase de usuario (botones, gráficos, menús, etc..), tarjetas de adquisición dedatos del propio fabricante y drivers de la mayoría de instrumentos controlables (IEEE-488, VXI, RS-232, CAMAC) disponibles en el mercado. También pueden incluirse rutinas en lenguaje C comoiconos y llamadas a funciones de librerías externas, por ejemplo DLL de MS-Windows.

El editor gráfico incluye un compilador para aumentar la velocidad de la aplicación. Laaplicación final corre dentro del entorno y es necesario el pago de una licencia run-time paraaplicaciones comerciales.

VEE (Hewlett-Packard): Es un entorno de programación gráfica propio que funciona sobrediferentes plataformas: Macintosh, PC (MS-Windows, Windows NT), y estaciones de trabajo HP ySUN.

Dispone de librerías para la manipulación de datos, control de flujo, interfases de usuario ydrivers de instrumento controlables de HP (IEEE-488, VXI, RS-232). No dispone, sin embargo, delibrerías de drivers para el control de tarjetas de adquisición. También permite el uso de libreríasexternas. El editor gráfico no incluye compilador y existe una versión run-time para la aplicaciónfinal.

DT VEE (Data Translation): Es un entorno propio, disponible únicamente en la versión PC(MS-Windows). Está orientado a la programación de sus tarjetas de adquisición y presentación dedatos. No dispone de drivers para instrumentos controlables.


Top Related