Professional Documents
Culture Documents
Prlogo
Un sistema de instrumentacin es una estructura compleja que agrupa un conjunto de instrumentos, un dispositivo o sistema en el que se mide, unas conexiones entre estos elementos y por ltimo, y ms importante, unos programas que se encargan de automatizar el proceso y de garantizar la repetibilidad de las medidas. El objetivo final, que no debe perderse de vista, del proceso de automatizacin de las medidas es el aumento de la calidad. Esta calidad puede entenderse desde el punto de vista del usuario del producto o del servicio que ha pasado por el proceso de prueba o desde el punto de vista del ingeniero que desarrolla, pone en marcha y mantiene el sistema de instrumentacin que realiza este proceso de prueba, y que cada vez con mayor insistencia debe ajustarse a estndares internacionales como la norma ISO 9000. Este libro se ha escrito pensando especialmente en el tipo de sistemas que se encuentran en departamentos de investigacin y/o desarrollo y para el control de la produccin, especialmente en control de calidad. Los sistemas que consideramos en mayor profundidad son los construidos en base a instrumentos comerciales que se unen mediante un bus digital que permite la programacin de las funciones de medida, el procesado de los datos y la presentacin de los resultados, lo que da lugar a lo que se ha denominado instrumento virtual. Para no perder generalidad y para enmarcar adecuadamente los temas centrales del libro hemos dedicado los dos primeros captulos a describir los objetivos, las estructuras y las funciones de los distintos tipos de sistemas de instrumentacin existentes. El resto de captulos se centran ya en sistemas construidos alrededor de buses estndar, en concreto IEEE-488 (conocido tambin por GPIB o HP-IB) y VXI, describiendo la arquitectura y funcionalidad de los mismos, las formas de programarlos y la forma genrica de las aplicaciones informticas que facilitan la tarea de desarrollar los programas de control y que conocemos habitualmente como instrumentacin virtual. La descripcin de los buses estndar de interconexin de instrumentos que suelen hacer los textos de instrumentacin es casi siempre muy somera (muchas veces por limitaciones de espacio), por lo que se limita a una descripcin mecnica y elctrica y a enumerar las caractersticas funcionales ms relevantes. Aquel ingeniero interesado en conocer ms profundamente el funcionamiento del sistema, ya sea como usuario avanzado o como diseador de aplicaciones, no tiene otra alternativa que recurrir al texto de las normas. En el presente libro hemos intentado una descripcin rigurosa pero didctica de los estndares. Aquel que necesite asegurar que su diseo, ya sea un equipo o una aplicacin informtica, cumple con el estndar no tendr otro remedio que acudir a l, pero el usuario avanzado que necesita comprender las razones del comportamiento de una determinada aplicacin encontrar en este texto el material suficiente para ello o para acudir a la parte
Sistemas de instrumentacin
del estndar requerida con suficiente base como para leerlo con provecho. La explicacin de los buses de interconexin de instrumentos, igual que la descripcin de buses de microprocesador, es una tarea que no se presta a ser desarrollada en un aula, sino que es ideal para el laboratorio. Por este motivo hemos desarrollado en paralelo con este libro un curso de laboratorio de instrumentacin virtual. Nuestra sugerencia para la docencia de esta materia es dedicar poco tiempo (4 a 6 horas) de pizarra para introducir los conceptos de sistemas de instrumentacin expuestos aqu y dedicar mucho ms tiempo (25 a 30 horas) al curso de laboratorio. Hecho de esta forma, 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 ingeniera, de ciclo corto o largo, que estn cursando materias de instrumentacin o cursos de laboratorio con instrumentos controlados de forma automtica. Tambin ser til a aquellos profesionales que trabajen con sistemas automticos de medida y que deban desarrollar aplicaciones de bajo nivel, no soportadas o suministradas por los fabricantes de los equipos o del entorno informtico de aplicacin.
ndice
ndice
11 12 13 14 15 17 17 21 23 25 29 29 30 30 31 33 35 36 37 38 38 39 42 43 43 44 46 47 50
10
Sistemas de instrumentacin
53 53 54 54 55 56 59 59 61 62 63 65 66 69 70 72
75 75 78 83 83 84 84
Bibliografa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Libros y artculos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Normas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Catlogos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bibliografa
83
Bibliografa
Libros y artculos
[BUC92] BUCHLA, D.; MCLAHAN, W. Applied electronic instrumentation and measurement. New York, Macmillan, 1992.
[COO95]
COOMBS, C.F. JR. Electronic instrument handbook, 2a. Edicin, Nueva York, McGraw-Hill, 1995.
[MAN94]
MANUEL, A.; SNCHEZ, F,; SNCHEZ, J. "Controladores GPIB. Caractersticas y prestaciones". Mundo electrnico, 249, junio-julio 1994, pp. 32-36.
[MER91]
MERCAD, J. "SCPI normalizacin de comandos y datos en instrumentacin programable". Mundo electrnico, 220, septiembre 1991, pp. 62-67.
[SYD89]
SYDENHAM, P.H.; HANCOCK, N.H.; THORN, R. Introduction to measurement science and engineering. Chichester, Wiley, 1989.
[JOH94]
JOHNSON, G.W. LabVIEW Graphical programming. Practical Applications in Instrumentation and control, Nueva York, McGraw-Hill, 1994.
84
Sistemas de instrumentacin
Normas
ANSI/IEEE Std 488.1-1987, IEEE Standard Digital Interface for Programmable Instrumentation The Institute 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 use with 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 of Electrical and Electronics Engineers, Inc, 1987.
IEEE Std 1155-1992, IEEE Standard VME bus extensions for Instrumentation:VXI; The Institute of Electrical and Electronics Engineers, Inc, 1992.
Standard Commands for Programmable Instruments:SCPI, SCPI Consortium, La Mesa (CA), 1991.
Catlogos
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.
11
12
Sistemas de instrumentacin
Desde el punto de vista del tcnico, aumentar la calidad de una medida puede constituir simplemente en el aumento de la velocidad de adquisicin o procesado de los datos, el aumento de la exactitud o la disminucin del coste. As deberamos incluir aquellos sistemas destinados a adquirir conocimiento del mundo fsico para contrastar hiptesis sobre el mismo, el uso de los cuales solo repercutir en la calidad de un producto o servicio de forma muy indirecta, o bien los sistemas de control donde, tradicionalmente, se ha dado ms importancia a los algoritmos que se usaban para decidir las acciones a seguir que a la instrumentacin usada para adquirir los datos con que se alimentan estos algoritmos.
1. Anlisis de defectos: el objetivo de estos sistemas es la realizacin de ensayos en dispositivos o elementos complejos, para determinar si las medidas realizadas se corresponden con un conjunto de medidas de referencia realizadas en un elemento que se considera correcto. El objeto o sistema que se mide puede estar o no realizando su funcin habitual. Las medidas que se realizan no tienen por qu corresponder a parmetros de algn componente del sistema ni a salidas funcionales del mismo. Simplemente sirven para determinar si aquello que se mide es igual o distinto a lo que se esperaba obtener. El objetivo final es determinar si el objeto presenta defectos, ya sea de fabricacin o ensamblaje o bien debidos al uso o manipulacin. 2. Medida de parmetros: en este caso se trata de obtener un conjunto de parmetros de un elemento del SBP. El elemento o dispositivo puede estar aislado del sistema o conectado a l. El sistema puede estar funcionando o no. Por ejemplo podemos medir el valor de un resistor o caracterizar el tiempo de subida de un elemento lgico al variar las condiciones de carga. La tcnica de medida cambia si el elemento est aislado o insertado en un sistema [COO95].
13
3. Pruebas funcionales:
el objetivo de estos ensayos es determinar si el SBP realiza la funcin para la cual fue diseado. Es obvio que en este caso el sistema debe estar funcionando y deben suministrrsele las entradas correspondientes, ya sean de usuario o bien de los subsistemas que le precedan cuando el sistema opera normalmente. Este tipo de ensayo es el que requiere un sistema de instrumentacin ms complejo, ya que deben simularse todos los modos de operacin del SBP y deben realizarse las medidas a la velocidad real de funcionamiento del mismo.
En la figura 1.1 se puede ver el esquema conceptual de un sistema de instrumentacin genrico. El sistema bajo prueba (SBP) recibe excitaciones generadas por una serie de dispositivos o instrumentos que estn conectados a un bus. Estas excitaciones se aplican a travs a actuadores spara el caso de un sistema no elctrico. El SBP adems puede recibir entradas directas del usuario, por ejemplo si se hace una prueba funcional. La respuesta a las excitaciones es recogida por los elementos de adquisicin. Al igual que para los generadores de excitacin, estos elementos pueden ser circuitos diseados a medida o bien instrumentos comerciales independientes. Los sensores tampoco estarn presentes si se mide en un sistema elctrico.
14
Sistemas de instrumentacin
Tanto la parte de generacin de la excitacin como la de adquisicin estn unidas a nivel digital mediante buses de comunicaciones. Puede haber uno o ms buses coexistiendo en un mismo sistema. Estos buses se conectarn a un elemento inteligente, tpicamente un ordenador de propsito general, mediante las correspondientes interfases. A partir de este punto entramos en el dominio de la programacin, que se ha representado como un estructura jerrquica de capas. Los datos que llegan de los buses van a parar a una capa de control y gestin de bajo nivel que pasa la informacin a una capa de procesado y esta, a su vez, la pasa a una aplicacin de presentacin y recogida de seales del usuario.
Fig. 1.2 Sistema de prueba dedicado de alta velocidad para entornos de fabricacin HP84000 (Hewlett-Packard)
15
limitacin afect a microprocesadores tan populares como el Z80 o el i8086. La alternativa a esta aproximacin consiste en escoger instrumentos de propsito general, disponibles comercialmente, colocarlos unos encima de los otros (stack) en un bastidor (rack) comercial y controlarlos mediante un bus estndar de instrumentacin, como IEEE-488 o VXI. A esta aproximacin se le conoce, en terminologa inglesa, como rack & stack. Las ventajas son, esencialmente, el menor coste de adquisicin y la posibilidad de reutilizacin del todo o de las partes y por tanto la rentabilizacin de la inversin. Como contrapartida deberemos destinar un cierto tiempo a configurar las conexiones del sistema y a realizar la aplicacin informtica de control y presentacin. Esta solucin suele adoptarse en laboratorios de investigacin/desarrollo donde las necesidades de los ensayos a realizar cambian rpidamente, o bien en empresas que por la poca continuidad de la produccin deben reconfigurar frecuentemente los sistemas de prueba.
1.4 Aplicaciones
La aplicaciones ms importantes de los sistemas de instrumentacin las encontramos en los campos del diseo y desarrollo, de la produccin, de las medidas de campo y del control de procesos [BUC92]. Cada uno de estos campos tiene caractersticas especiales que repercuten en la concepcin del sistema de instrumentacin, y que comentaremos muy brevemente.
1.4.1 Diseo y desarrollo Las principales aplicaciones en este campo son la verificacin del diseo, las medidas de prestaciones y los ensayos ambientales. Los sistemas de verificacin de diseo son usados por los ingenieros de diseo para comprobar los primeros prototipos del producto desarrollado. Son sistemas con vida muy corta y niveles de automatizacin pequeos, donde los sistemas de tipo bastidor tienen sus dominios. En estos entornos, la existencia de aplicaciones informticas que permitan un desarrollo rpido de la automatizacin de las medidas es un factor clave. Las medidas de prestaciones se realizan en prototipos muy parecidos al producto final. Se usan para determinar las caractersticas de funcionamiento general del producto y el resultado suele utilizarse para redactar las hojas de especificaciones. Es habitual realizar tambin pruebas de robustez a base de variar algunos parmetros fuera del margen especificado, como por ejemplo la tensin de alimentacin o la frecuencia de trabajo. Los ensayos ambientales consisten en someter al producto a cambios en parmetros externos de funcionamiento como pueden ser la temperatura, la humedad, las interferencias electromagnticas, etc. Habitualmente existen normativas que obligan a realizar estas medidas de una forma determinada (p. ej. la directiva europea sobre compatibilidad electromagntica) y por tanto los sistemas de instrumentacin suelen estar altamente automatizados, para asegurar que las medidas se realizan de acuerdo con aquello que especifica la norma. Habitualmente estos sistemas no estn en las empresas de diseo o produccin, sino que se encuentran en laboratorios pseudo-gubernamentales especializados (p. ej.: Laboratori d'Assaigs de la Generalitat de Catalunya). 1.4.2 Sistemas para medidas en produccin Estos sistemas se usan para asegurar que el producto que se construye cumple con las especificaciones deseadas. En estos sistemas el factor clave es la velocidad puesto que limita la
16
Sistemas de instrumentacin
velocidad de la cadena de produccin. En el mundo de la fabricacin de productos electrnicos nos encontramos con sistemas de prueba de componentes en circuito, que determinan si cada uno de los componentes de una tarjeta de circuito impreso es correcto una vez los componentes han sido montados (esto no excluye que las tarjetas y los componentes se hayan podido probar por separado con anterioridad). El hecho de que los componentes estn montados en la placa impone tcnicas especiales de conexin y guarda para asegurar que se mide slo el componente deseado [COO95]. En el caso de circuitos digitales complejos (microprocesadores, FPGA, etc.) las pruebas dentro del circuito son difciles si se usan tcnicas convencionales. Por este motivo se ha desarrollado un mtodo conocido como Boundary Scan Test (IEEE Std. 1149.1-1990; 1149.1a-1993). Este mtodo requiere que el circuito a medir se haya diseado de forma especial, aadiendo un circuito a cada uno de los terminales de conexin. A estos circuitos (colocados en la periferia:boundary) se accede con un protocolo serie y pueden configurarse para operacin transparente, para fijar un nivel de tensin o para recoger la tensin de salida del terminal. Este mtodo facilita enormemente la medida en circuitos digitales complejos puesto que solo hay que acceder a dos puntos de cada tarjeta de circuito impreso. El sistema de instrumentacin requerido es, no obstante, muy complejo a nivel de generacin de vectores de prueba. Finalmente se suelen realizar pruebas funcionales con el producto ya acabado para determinar que ste realiza la funcin para la cual fue diseado. Es una prueba entrada/salida, es decir, considerando el producto como una caja negra. Si el producto no supera la prueba no es posible, en este estadio, saber cul es el componente defectuoso y debe volverse a alguna de las pruebas anteriores.
1.4.3 Medidas de campo Las medidas de campo suelen realizarse para reparar productos que han dejado de funcionar o no realizan su tarea a satisfaccin del cliente. Dado que los sistemas de instrumentacin necesarios han de desplazarse hasta el SBP, el tamao y el peso son factores muy importantes. Habitualmente son instrumentos diseados a medida. Tambin en esta campo la tcnica de Boundary Scan ofrece grandes ventajas.
1.4.4 Sistemas de control La enseanza clsica de los sistemas de control se centra en el estudio de los algoritmos necesarios para llevar al sistema a un estado deseado tomando como informacin de entrada el estado actual y la historia. Generalmente se supone que el conocimiento del estado actual es perfecto. Este conocimiento, sin embargo, se adquiere a travs de un sistema de instrumentacin, que puede ser muy simple, en el caso de controlar, por ejemplo, la velocidad de un motor, o muy complejo en el caso de controlar una refinera. La calidad del control que se puede realizar nunca ser mejor que la calidad de las medidas que se obtengan del estado del SBP [SYD89]. En la mayora de las aplicaciones se usan tarjetas de adquisicin conectadas a un ordenador de propsito general o bien a controladores especialmente diseados (PLC: Progammable Logic Controllers). A estas tarjetas se conectan directamente sensores con salidas estndar (0-5 V o 4-20 mA) y los programas de control son especiales para el PLC. Algunos entornos de instrumentacin virtual basados en ordenadores de propsito general incluyen algoritmos de control, como por ejemplo LabView de National Instruments.
17
18
Sistemas de instrumentacin
Normalmente ser un ordenador con todos los perifricos tpicos ms las interfases necesarias para controlar el sistema. A continuacin pasamos a describir cada bloque en mayor profundidad.
BUS DE CONTROL
CONTROL
INSTRUMENTO INSTRUMENTO INSTRUMENTO
CONEXIONADO DE SEAL
INSTRUMENTO (ALIMENTACIN) CONMUTACIN
PLACAS I/O
FIJACIN SBP
USUARIO
SBP
COMUNICACIONES
- Sistema bajo prueba (SBP) En ingls se le denomina Device Under Test: DUT o tambin System Under Test: SUT. Es el elemento que se mide con el objeto de caracterizar alguna o algunas de sus cualidades. Puede ser desde un componente electrnico 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 una programacin o un control. Para ello hay que prever el disponer del bus adecuado para poder reconfigurar de forma automtica el SBP.
- Fijacin del SBP Es el sistema que establece la conexin elctrica del SBP con el sistema de medida. Para aplicaciones en control de produccin suelen ser conjuntos de puntas de prueba (bed of nails) contra los que se enfrentan las placas de circuito impreso a examinar. Las puntas de prueba estn constituidas por una parte fija ms una mvil que gracias a un muelle tiene un cierto recorrido y ejerce una presin dada. La parte mvil es la que establece el contacto elctrico con las pistas o los pines existentes en las placas de circuito impreso bajo prueba.
19
Para que el contacto sea estable mecnicamente y de baja resistencia las puntas de prueba estn acabadas normalmente en formas puntiagudas con un bao de oro o de rodio. La ventaja de estos sistemas es la rapidez con que se establecen los contactos y que se puede acceder a cualquier punto de la placa de circuito impreso. En sistemas de laboratorio, usualmente, la conexin se realiza de forma manual a travs de conectores preestablecidos (paneles de conexin) o de sondas conectadas a pines de la placa o componente bajo prueba.
- Conmutacin Este bloque es el encargado de direccionar las seales entre los instrumentos y los contactos del sistema de fijacin del SBP para excitar o medir, en funcin de la medida a realizar, las entradas o salidas correspondientes del SBP. En algunos casos este sistema no existir o se reconfigurarn las conexiones de forma manual, reconectando los cables o las puntas de prueba. En sistemas automticos puede estar constituido por un sistema simple basado en interruptores independientes controlados directamente por el sistema de control, o por un instrumento especfico controlado a alto nivel que pueda establecer cualquier combinacin de conexiones entre sus entradas y salidas.
- Conexionado de seal El conjunto de cables para conectar los instrumentos con el SBP es una de las partes imprescindibles en un sistema de medida. Normalmente se realiza de una forma precipitada utilizando cualquier tipo de cable que tengamos a mano. Sin embargo, este sistema puede llevarnos a resultados totalmente falsos en algunas situaciones. La problemtica del sistema de conexionado estriba en los problemas que pueden surgir de diafona, bucles de masa, atenuaciones, desfases y reflexiones a alta frecuencia. En el apartado 2.3 se vern algunas directrices para atacar estos problemas.
- Instrumentos La seleccin de los instrumentos para realizar el sistema depende de muchos factores. Para empezar es adecuado hacer una lista de los parmetros a medir y sus mrgenes de variacin. Con esta lista se podrn disear los tipos de medidas a realizar y, por lo tanto, las seales a generar y los tipos de medidores necesarios. A partir de este punto ya entran en juego cuestiones de mercado y logsticas, como pueden ser la disponibilidad o no de equipos que renan las caractersticas de medida requeridas y, a su vez, un bus de control adecuado a nuestro sistema. Otro concepto fundamental a considerar es la flexibilidad que queramos tener en nuestro sistema para reconfigurarlo y poder realizar otras medidas. Este punto es de gran importancia ya que el coste del sistema suele ser elevado y las necesidades actuales de ensayo evolucionan de forma muy rpida lo que hace muy costoso el cambio de todo el sistema por una falta de previsin. Esta premisa de adaptabilidad es la que est impulsando los sistemas abiertos de instrumentacin frente a lo que seran los sistemas dedicados hechos a medida.
20
Sistemas de instrumentacin
- Alimentacin (distribucin de energa) En muchos casos los SBP tienen que ser examinados bajo unas condiciones preestablecidas de la alimentacin o, incluso, en un margen dado de sta. Para ello hemos considerado la alimentacin como una seal ms a aplicar al SBP. En realidad el bloque de alimentacin de la figura 2.1 puede considerarse como un instrumento ms del sistema de instrumentacin. Adems de esta alimentacin hay que considerar el diseo de la alimentacin de todos los dems elementos activos del sistema. En equipos comerciales, normalmente, este aspecto ya estar resuelto con una alimentacin directa de la red elctrica.
- Sistema de control (controlador) Es el ncleo central del sistema de instrumentacin, se encarga de controlar el funcionamiento general y de gestionar los datos adquiridos. Actualmente estn basados en sistemas con microprocesador y con todos los perifricos tpicos de sistemas tipo ordenador personal. En algunos casos el controlador es un ordenador personal o una estacin de trabajo (workstation), pero en otros, orientados a aplicaciones industriales, el controlador puede estar constituido por una sola tarjeta conectable a un bastidor (rack). En el caso de ordenadores personales existen multitud de placas de entradas y salidas, tanto analgicas como digitales. Con estas placas, tal como se muestra en la figura 2.1, pueden generarse y/o medirse seales que vayan al SBP o vengan de l, como si el ordenador incluyera un instrumento ms. Las lneas digitales de I/O tambin pueden utilizarse para controlar partes del sistema o del SBP. En el caso de los PC, para controlar el bus de control, normalmente se utilizan tarjetas especficas para cada uno de los buses normalizados. De este modo se puede tener ms de un bus de control. Al igual que en la seleccin de los instrumentos, para seleccionar el controlador hay que tener en cuenta aspectos como: fcil desarrollo del software de control y procesado, facilidad de mantenimiento, requerimientos de velocidad, etc. Otro de los aspectos ms importantes a considerar es la adaptabilidad del sistema a cambios de requerimientos.
- Bus de control Es el soporte fsico para realizar el control y la transferencia de datos entre los instrumentos y el controlador. Entre otras, las especificaciones ms importantes son las limitaciones en las velocidades de transmisin, las longitudes mximas de cable permitidas y el nmero de instrumentos que se pueden conectar. - Comunicaciones Cada da es ms importante el integrar todos los sistemas que forman parte del
21
proceso de produccin y de gestin de una empresa. Ello permite agilizar la transferencia de informacin al reducir costes y dar ms flexibilidad a la produccin. Para esto es necesario prever que los sistemas de prueba puedan integrarse en la red de comunicaciones de la empresa, por ejemplo mediante una conexin a la red de rea local.
Fig. 2.2 Estructura en capas del software para el control de un sistema de instrumentacin
A continuacin revisaremos la estructura del software. En la figura 2.2 puede observarse la estructura en capas del software, desde el nivel inferior (el sistema operativo) al nivel superior (las aplicaciones). Para cada nivel se comentar su funcionalidad y los aspectos ms importantes a tener en cuenta.
- Sistema operativo (S.O.) Es el soporte bsico que relaciona las funciones programadas con el hardware concreto de la mquina. Determina aspectos tan importantes como son la posibilidad de ejecutar programas simultneamente (multitarea) y/o poder dar servicio a mltiples usuarios. En aplicaciones que requieran alta velocidad de adquisicin y proceso, por ejemplo sistemas en tiempo real, los monotarea pueden ser ms convenientes. Por otro lado, en sistemas que tienen que responder a eventos dados que no sean repetitivos, por ejemplo una central de alarmas, los sistemas multitarea sern ms 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 ms software comercial. Adems, facilitar las comunicaciones con otros ordenadores y su integracin en redes locales.
22
Sistemas de instrumentacin
- Controladores para el bus de interconexin Los controladores (drivers, en ingls) del bus de interconexin son las rutinas que gestionan los recursos concretos del gestor del bus, normalmente una placa que se instala en el ordenador de control. En el caso de un software bien estructurado stas seran las nicas subrutinas que se deberan modificar en el caso de que se sustituyese el controlador del bus o incluso el tipo de bus de control. La programacin de los instrumentos puede realizarse utilizando estos drivers pero para ello necesitamos saber qu cdigos especficos hay que enviar a cada instrumento para cada funcin a realizar. Esta tarea solo es interesante realizarla en el caso de que no se dispongan de drivers para un instrumento dado. En este caso lo ms apropiado es realizar un driver 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 de control. Estas rutinas sern, por lo tanto, dependientes de cada instrumento. Normalmente se presentan como un conjunto de funciones de alto nivel que permiten programar un instrumento en concreto. La programacin se realiza llamando a rutinas diferentes para cada funcin o a una rutina general con un cierto nmero de parmetros. Para decidir la compra de drivers de instrumentos conviene considerar los siguientes puntos: - desde que lenguaje se pueden usar (C, Basic, Pascal,...) - extensin de la librera de instrumentos soportados - posibilidades de modificacin de los drivers existentes - posibilidad de incluir nuevos drivers o funciones - disponibilidad de herramientas para el desarrollo o la verificacin de nuevos drivers.
- Programas de prueba y diagnstico Estos son los algoritmos que realizan la programacin de los equipos para cada medida concreta. Se basan en llamadas a los drivers de instrumento para la programacin de estos. Normalmente se utilizan programas escritos en lenguajes de alto nivel, o tambin entornos de programacin especficos textuales o grficos. Idealmente en este nivel se tendran un conjunto de funciones que realizaran cada una de las medidas y devolveran los datos adquiridos por los instrumentos una vez procesados. Con lo visto hasta este momento se puede entender que, en un sistema automtico de medida, localizar, de forma manual, los posibles fallos puede ser muy costoso. Un mal funcionamiento puede ser debido a problemas de comunicaciones, problemas en un instrumento o problemas en el controlador y/o en su software. Por ello, los programas de diagnstico se hacen imprescindibles para localizar las causas de un mal funcionamiento del sistema.
23
- Programa de aplicacin y gestin (elaboracin de informes) Este es el nivel ms alto y se encarga de gestionar tanto los programas de prueba como los datos obtenidos. Puede incluir sistemas de diagnstico automtico y autoconfiguracin. Aspectos clave en este nivel son: la interfase de usuario, la presentacin de datos, la exportacin o los enlaces de datos a otros programas y las comunicaciones con otros sistemas.
24
Sistemas de instrumentacin
Fig. 2.3 Conmutacin utilizando un multiplexor (a) o por una matriz de conexin (b)
Segn el nmero de contactos fijos y contactos mviles (polos) los rels se clasifican en: - 1 polo 1 contacto (SPST: Single Pole Single Throw) form A por defecto el contacto est abierto form 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 ingls: break before make -bbmform D se establece el contacto con el segundo circuito antes de que se abra el primero, en ingls: make before break -mbb-. No es til como sistema de multiplexado porque cortocircuitara por un momento dos lneas 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 automtico de conmutacin es la velocidad con que se pueden reconfigurar las conexiones. Su principal inconveniente es que todas las seales confluyen hacia un punto en comn, lo que da lugar a los problemas vistos para el sistema de conexionado. Para evitar estos problemas hay que actuar de forma parecida a lo visto para los cables: - utilizar conmutadores apantallados - separar los conmutadores de seales digitales de los analgicos - utilizar conmutadores independientes separados fsicamente para seales 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 slido - vida til limitada para los rels - limitacin de velocidad y rebotes del contacto en rels - la capacidad parsita a tierra - la diafona entrada salida
25
2.4 Tipos de instrumentos y buses de control Podemos clasificar los instrumentos, definidos como todo sistema que realice una medida concreta, en dos grandes grupos: los instrumentos modulares y los instrumentos autnomos (standalone).
Los instrumentos modulares son aquellos que requieren de un soporte fsico y normalmente tambin de un soporte informtico y de alimentacin externa. Ejemplos de este tipo de instrumentos son las placas conectables al bus de un PC o a un sistema basado en VME o VXI. La principal ventaja de estos sistemas es la posibilidad de configurar un sistema complejo de medida a base de conectar sobre un recurso comn diversas placas. Al compartir una misma fuente de alimentacin, 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 caja tipo rack (Mainframe) con una placa posterior que contiene el bus comn (Backplane) con conectores en los que se insertan los instrumentos individuales. La fuente de alimentacin puede estar en la parte posterior o ocupar el espacio de una o varias tarjetas. Dentro de los instrumentos modulares podemos hacer una subdivisin entre los instrumentos para ordenadores personales y los sistemas especficamente diseados para instrumentacin industrial o de laboratorio. Actualmente existen instrumentos modulares para la mayora de ordenadores personales y estaciones de trabajo (workstations), como son: IBM PC/XT/AT, PS/2, Sun, DEC, NeXT, MAC, etc. A todos estos instrumentos se les denomina en ingls PLUG-IN'. Tambin se dispone de instrumentos conectables al bus de extensin EISA y PCMCIA. Entre los sistemas modulares especficos para instrumentacin tenemos: - SCXI: es un producto de National Instruments para configurar sistemas de instrumentacin, de adquisicin o de control, basados en PC. Es un sistema basado en mdulos conectables a un rack. La adquisicin de datos puede hacerse con una placa en el propio PC o utilizando una placa especfica de
26
Sistemas de instrumentacin
adquisicin en el rack. En este caso la transmisin de datos se realiza por el puerto paralelo estndar del PC. - CDS: es un producto de Colorado Data System para control industrial. Permite construir sistemas de hasta 100 placas especficas controladas mediante un puerto serie, paralelo o IEEE-488. es un bus digital estndar para sistemas de 32 bits que ha tenido expansin en el entorno industrial gracias a disponer de racks con caractersticas apropiadas para entornos industriales y gran nmero de instrumentos modulares. Su limitacin es que el bus comn del backplane es solo digital.
- VME:
- VXI: es una de las plataformas de sistemas modulares de instrumentacin con un crecimiento ms espectacular. Es un sistema basado en el bus digital del VME al que se han aadido ms conectores al backplane. Esto ha permitido aadir ms lneas digitales y, lo que es ms importante, lneas analgicas y de sincronizacin entre mdulos.
A pesar de que estos sistemas incorporan el control digital y permiten realizar sistemas completos de instrumentacin, todos ellos tienen posibilidades de comunicarse o ser incluso controlados por un sistema distinto. As, por ejemplo, un rack basado en VXI puede tener un controlador del bus VXI que acte controlado a su vez por un bus IEEE-488 al que estn conectados otros instrumentos o racks y todo a su vez controlado por un PC. Por ltimo, los instrumentos autnomos son los que disponen de todas las funciones necesarias para realizar las medidas de forma independiente. Para poder configurar un sistema de medida utilizando este tipo de instrumentos es imprescindible que sean controlables. La ventaja evidente de utilizar equipos autnomos es su posible utilizacin de forma independiente pero, para especificaciones parecidas, estos equipos sern ms caros que sus equivalentes modulares. Desde el punto de vista de la instrumentacin virtual y de sistema, el aspecto ms importante de estos instrumentos ser su posibilidad de ser controlados remotamente. Por ello estableceremos una clasificacin dependiente de los buses de control utilizados. El bus ms utilizado es el IEEE-488; es un bus paralelo de 8 bits ms las lneas de control y de protocolo de comunicacin (handshake). Diseado en 1965 por Hewlett-Packard bajo 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 nombre por el que se conoce es 'General Purpose Interfase Bus' (GPIB). Puede controlar hasta 14 instrumentos con una distancia total de cable de hasta 20 m.
27
Fig. 2.5 Sistemas de instrumentacin integrados en la red de comunicaciones de una empresa (Natinal Instruments)
El MXIbus (Multisystem eXtension Interface bus) es un bus digital multimaster de 32 bits diseado para interconectar sistemas de instrumentacin entre s (de hecho fue diseado para interconectar sistemas basados en VXI). El cable de conexin es parecido al de IEEE-488 con longitudes de hasta 20 m. Permite transmisin de palabras en paralelo de 8, 16 o 32 bits con velocidades tericas de 20 Mbytes/s. Su principal aplicacin es para la interconexin de mainframes 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 permiten distancias mayores entre los equipos. El ms utilizado es el RS-232, ya que est incorporado en la mayora de ordenadores. Otros buses serie son: RS-422, RS-486, I2C, CAN, LAN, etc. Otros tipos de equipos son los adaptadores de protocolos entre buses distintos. Por ejemplo, existen conversores de: RS-232 a IEEE-488, SCSI a IEEE-488, ETHERNET (con protocolo TCP/IP) a IEEE-488, etc. Para extender la longitud de los enlaces tambin se encuentran adaptadores que pasan del cable estndar paralelo de IEEE-488 a una transmisin serie por cable coaxial o fibra ptica y viceversa. Utilizando todos los recursos vistos hasta este momento se pueden realizar sistemas distribuidos de instrumentacin basados en redes de rea local. En la figura 2.5 podemos ver un 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 de produccin.
29
30
Sistemas de instrumentacin
Interface for Progammable Instrumentation. Esta publicacin cubre los aspectos elctricos y de protocolo de bajo nivel del bus (se podra asimilar a los niveles 1 y 2 del modelo de referencia OSI de la ISO), pero deja totalmente libre la estructura de los comandos de programacin de los instrumentos y los formatos de los datos. Dado que exista esta libertad, cada fabricante, e incluso cada instrumento de un mismo fabricante, usaba estructuras y codificaciones distintas, lo que complicaba el diseo de sistemas de instrumentacin. Un intento de solventar esta dispersin fue la norma ANSI/IEEE Std 728-1982, IEEE Recomended Practice for Code and Format Conventions for use with IEEE Std 4881978, que de hecho era similar al estndar internacional IEC-625.2. Este documento define estructuras sintcticas que permiten la construccin de mensajes y el intercambio de datos, aunque la difusin y el seguimiento del mismo fueron escasos. Un salto cualitativo se dio en 1987 cuando se volvi a revisar la norma. Despus de esta revisin aparecieron dos subnormas: ANSI/IEEE Std 488.1-1987 que toma como base el estndar de 1978 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 ampla el estndar IEEE 728-1982. En la norma 488.2, adems de definir la sintaxis, se definen tambin un conjunto de comandos comunes, unos cdigos de error tambin comunes y un conjunto de procedimientos de operacin. Slo 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 programacin y los formatos de las estructuras de datos, un consorcio de fabricantes defini en 1991 los Standard Commands for Programmable Instruments: (SCPI). Esta "norma" no est recogida, de momento, por ningn rgano oficial.
3.2.1 Aspectos mecnicos Se usa un conector de 24 contactos, dispuestos en 2 filas paralelas de 12 contactos (la norma IEC 625.1 especificaba inicialmente un conector de 25 contactos tipo D miniatura, como los usados en los puertos RS-232). Los nombres correspondientes a cada lnea estn en la tabla 1.1 y la distribucin fsica 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. Los conectores 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 fsica del bus. La longitud mxima de un cable individual es de 4 metros. Para reducir interferencias se usa un cable apantallado, con una cobertura del 85% como mnimo, aunque se recomienda el 90%, y la malla, junto con la carcasa metlica del conector, deben conectarse a la carcasa del instrumento y a tierra. Una forma de realizar el cable es usar pares trenzados para las lneas de control (6 + 2 lneas) y masa (6 lneas + GND comn + pantalla). Las lneas de datos (8 lneas) se colocarn alrededor de los pares anteriores. Otra solucin consiste en usar pares trenzados para todas las lneas de seal, aunque en este caso se requieren ms de 24 hilos en el cable.
31
Fig. 3.1 Disposicin de contactos en un conector hembra y vista esquemtica de un conector situado en el extremo de un cable
El tipo de apantallamiento y la reduccin de interferencias, no obstante, debern disearse para cumplir con las normativas nacionales sobre compatibilidad electromagntica.
Tabla 3.1 Nombres de las lneas y distribucin de contactos en un conector IEEE-488
NOMBRE DIO1..DIO4 EOI DAV NRFD NDAC IFC SRQ ATN Shield DIO5..DIO8 REN GND GND
DESCRIPCIN Lneas de datos. DIO1 es la de menor peso "End Or Identify". Se usa para sealizar el fin de un mensaje "Data VAlid". Lnea del protocolo asncrono, gestionada por el emisor "Not Ready For Data". Lnea de protocolo, gestionada por el receptor "No Data ACcepted". Lnea de protocolo, gestionada por el receptor "InterFace Clear". Ordena una inicializacin de todas las interfases "Service ReQuest". Peticin de servicio de un instrumento "ATeNtion". Indica que los comandos son de programacin de interfase Conexin de la malla del cable Lneas de datos. DIO8 es la de mayor peso "Remote ENable". Indica a los instrumentos que van a ser programados Lneas de masa. Apareadas con lneas 6..11 respectivamente Lnea comn de masa
32
Sistemas de instrumentacin
3.2.2 Aspectos elctricos Las especificaciones elctricas estn basadas en circuitos con tecnologa TTL usando lgica negada, de forma que un 0 lgico corresponde a un nivel alto (VL > +2.0 V) y un 1 lgico corresponde a un nivel bajo (VL < +0.8 V). Las lneas SRQ (Service ReQuest), NRFD (Not Ready For Data) y NDAC (No Data ACcepted) debern tener los circuitos de ataque tipo colector abierto. El resto de las lneas, incluidas las de datos, podrn ser colector abierto o de tres estados. Con circuitos de tres estados se consigue mayor velocidad. En el caso de querer implementar la funcin de consulta en paralelo, las lneas de datos deben ser colector abierto. Los circuitos de ataque deben ser capaces de entregar hasta 5.2 mA al bus en estado alto y sumir 48 mA en estado bajo. Para los circuitos de recepcin es recomendable usar comparadores con histresis, con un ciclo de histresis de 0.4 V, para aumentar la inmunidad al ruido. Cada una de las lneas de seal, en cada instrumento conectado al bus, tendr una carga resistiva, de forma que la tensin de la lnea no sea flotante ni cuando todos los circuitos de ataque estn en estado de alta impedancia. Ser necesario, adems, proteger los circuitos de recepcin contra tensiones negativas que pudieran aparecer en la lnea. La carga que supone un instrumento conectado al bus debe ser tal que la relacin V/I est dentro de la zona no sombreada de la figura 3.2(a). Un posible circuito que realiza todo lo enumerado anteriormente se puede ver en la figura 3.2(b).
3k ATAQUE
-4 mA
-6 mA -8 mA
RECEPTOR
6.2 k
-10 mA
BUS
-12 mA
(a)
(b)
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)).
Se contempla la posibilidad de que exista una capacidad parsita entre cada lnea y masa, que no debe exceder de 100 pF por cada instrumento. La existencia de una capacidad alta puede comprometer las especificaciones de velocidad. La mxima resistencia de las lneas de datos y control es de 0.14 S/m, para la lnea de masa a
33
comn es de 0.085 S/m y para la malla de apantallamiento 0.0085 S/m. La mxima capacidad entre cualquier lnea de seal 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 mxima del cableado. El lmite mximo es de 20 m, pero este lmite solo puede alcanzarse si hay ms de 10 instrumentos en el sistema, y considerando que la velocidad mxima que se conseguir no superar los 500 kbytes/s. Si el nmero de instrumentos es menor, el lmite es de 2m * nmero de instrumentos. La razn hay que buscarla en la impedancia de carga que supone cada instrumento. Al aumentar el nmero de instrumentos disminuye la resistencia de carga total de la lnea y la constante de tiempo entre la capacidad parsita de la lnea y esta impedancia disminuye tambin, de forma que la velocidad mxima se mantiene, a costa de aumentar el consumo. El lmite de 4 m para el cable individual, o lo que es lo mismo, la mxima longitud de cable entre 2 instrumentos, es debida a problemas de retardos de propagacin (hay que distribuir la carga de la lnea de forma uniforme).
34
Sistemas de instrumentacin
p.e.: multmetro
p.e.: contador
Fig. 3.3 Estructura genrica de un sistema IEEE-488 donde se hace patente la conexin en paralelo de todas las lneas
Data) tambin a nivel bajo, indicando que no estn listos para aceptar datos (2). En el momento que los instrumentos estn listos para aceptar datos irn poniendo esta lnea a nivel alto. Al ser colector abierto, hasta que el ltimo de ellos no la haya puesto a nivel alto, la lnea del bus estar baja (5). Cuando el talker detecta NRFD alta, activa DAV (6) si haba puesto los datos (3) con antelacin suficiente (4). Al detectar DAV activa, los instrumentos ponen NRFD baja (7) para indicar que no aceptan ms 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 sido ledo, desactiva DAV (10) y quita el dato del bus (11) poniendo el siguiente si lo hubiera. Los listeners van poniendo NRFD alta (14) hasta que todos ellos vuelven a estar listos para aceptar ms datos (15) y recomienza el proceso descrito a partir de (6). Este procedimiento provoca que el ms lento de los instrumentos que intervienen en la comunicacin sea el que fije la velocidad real de transmisin de la informacin. Los instrumentos que no 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 comunicacin.
35
El tiempo de establecimiento de los datos, representado por el estado de espera (4) en la figura 3.4, debe ser mayor que 2 s. Con esto se consiguen velocidades de transmisin de hasta 250 kbytes/s. Si se quiere aumentar la velocidad, el dispositivo que acta como talker debe reducir este tiempo hasta un mnimo de 350 ns (Fast Handshake), y usar circuitos de tres estados para los datos y DAV. Si utilizamos un instrumento con estas caractersticas, debemos asegurarnos de que la capacidad total de la lnea sea menor que 50 pF por cada instrumento conectado. Esto obliga a usar un cableado muy corto (1 m/instrumento). Si se violan estas restricciones usando un talker con un retardo de 350 ns se pueden producir errores.
36 Tabla 3.2 Funciones de la interfase IEEE 488.1 SMBOLO SH AH NOMBRE Source Handshake Acceptor Handshake DESCRIPCIN
Sistemas de instrumentacin
Capacidad de generar el protocolo de transferencia de informacin (DAV). Capacidad de responder al protocolo de transferencia de informacin (NDAC, NRFD) Capacidad de enviar mensajes dependientes del instrumento. Incluye la capacidad de responder a un Serial Poll. Requiere SH. Capacidad de recibir mensajes para el instrumento. Requiere AH. Capacidad de pedir atencin al controlador Capacidad de inhibir los controles del panel frontal Capacidad de responder a una consulta tipo paralelo Capacidad del instrumento para ser inicializado remotamente Capacidad de ser iniciada una medida desde el bus Capacidad de actuar como controlador Capacidad de usar direcciones extendidas como talker Capacidad de usar direcciones extendidas como listener
Talker
L SR RL PP DC DT C TE LE
Listener Service Request Remote Local Parallel Poll Device Clear Device Trigger Controller Talker Extended Listener Extended
3.4.1 Funciones bsicas de transferencia: AH y SH Son las funciones que permiten leer y mandar informacin multilnea, usando las lneas de datos. Esto, por si solo, permite recoger comandos de la interfase. Si adems van acompaadas de las funciones L o T podrn leer o generar mensajes que dependan del instrumento (datos de medida, etc). Para cada funcin la norma especifica un diagrama de estados donde se indica cundo debe activarse o desactivarse una funcin, etc. En la figura 3.5 puede verse, como ejemplo, el diagrama de estados de la funcin AH.
Despus de poner en marcha el instrumento (pon) o bien si la lnea ATN (Attention) es falsa y no est configurado como Listener, la interfase est en un estado inactivo (AIDS: Acceptor Idle
37
State). De este estado sale si se activa ATN (significa que el controlador va a mandar rdenes a la interfase) o bien est configurado como listener, y se entra en un estado de no operacin (ANRS: Acceptor Not Ready State). De este se sale cuando la interfase est dispuesta a recibir informacin, con lo que pasa a ACRS. Cuando se activa DAV (ver el cronograma del protocolo de comunicacin) se pasa a un estado de aceptacin de datos, del que se sale cuando se ha aceptado, y se pasa a un estado de espera, AWNS, hasta que el elemento talker desactiva DAV. Junto con el diagrama de estados deberamos indicar el estado de las lneas que se controlan, en este caso NRFD y NDAC. Por ejemplo en AIDS las lneas NRFD y NDAC estn a nivel alto, como se ha comentado en 3.3.
3.4.2 Funciones de emisin y recepcin de informacin (T, L, TE, LE) Las funciones T y L permiten que una interfase enve o reciba datos dependientes del instrumento (datos de medida, comandos de programacin, etc.). Para que un instrumento acte como talker o listener debe haber sido configurado como tal por el controlador. La forma de realizar esta configuracin la veremos al hablar de la funcin controller. Ya hemos comentado que solo puede haber un talker pero puede haber varios listeners, aunque en la prctica la mayora de transferencias de informacin se realizan entre un instrumento y el controlador (ordenador de propsito general), que se encarga de procesarlas. Alternativamente, en un bus sin controlador, puede haber instrumentos configurados como talk only o listen only. En este punto no hay que confundir un instrumento con solo capacidad de recibir mensajes (L1) con un instrumento configurado como listen only. Un instrumento con solo capacidad 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 datos que circulen por el bus. La utilidad de instrumentos que puedan ser configurados como listen only o talk only est, precisamente, en poder construir buses sin controlador, por ejemplo uniendo un osciloscopio y una impresora para poder imprimir los resultados que aparecen en la pantalla. Es evidente que los instrumentos no pueden ser configurados como listen only o talk only a travs del bus. Antiguamente se haca usando microinterruptores en la parte posterior del instrumento. Actualmente se hace mediante mens, pero en cualquier caso es el usuario que debe hacerlo manualmente. En instrumentos complejos o modulares, cada una de las partes del instrumento puede tener "personalidad" propia. En este caso el instrumento global tiene una direccin y cada uno de los mdulos tiene una sub-direccin. Se puede configurar como talker o listener a uno de los submdulos. No se puede configurar a un submdulo como talker y a otro como listener porque la interfase es nica. Esto se usaba p. ej. en los analizadores lgicos HP64000, y actualmente en los sistemas VXI cuando se conectan a un ordenador mediante una interfase IEEE-488. Un tema importante es saber cmo se finaliza un mensaje multibyte. Hay dos formas habituales de hacerlo, aunque la norma no impone ninguna de ellas. Se puede usar la lnea EOI (End Or Identify) o se puede usar un carcter especfico, conocido como terminador. Si la transmisin es en ASCII, el terminador suele ser el carcter LF (Line Feed). De todas formas, al no especificar nada la norma, esto debe ser un acuerdo entre emisor y receptor. Si este extremo no est bien resuelto suele haber problemas de comunicacin.
38
Sistemas de instrumentacin
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 de medida del instrumento. La funcin RL (Remote Local) permite que el instrumento sea programado desde la interfase IEEE-488. Hay instrumentos que son capaces de volcar datos de medida al bus pero no son capaces de ser programados. Cuando un instrumento es programado desde el bus los mandos locales dejan de funcionar. Suele haber un botn (habitualmente llamado local) que devuelve el control al operador. Si el instrumento posee la caracterstica de realizar un lockout de los mandos, entonces incluso el botn de local deja de funcionar y no puede controlarse el instrumento manualmente hasta que se desbloqueen los mandos desde el bus. La funcin DC (Device Clear) permite que el instrumento (no la interfase) sea inicializado desde el bus. La norma no especifica en qu estado debe quedar el instrumento despus de realizar esta funcin, por lo que cada fabricante la realiza de la forma que ms le conviene. La funcin DT (Device Trigger) permite que se inicie una medida mediante una orden desde el 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 estn especificados, la utilidad de esta funcin para sincronizar varios instrumentos es muy limitada.
3.4.4 Funciones de peticin de servicio (SR y PP) Cuando se produce un determinado evento en un instrumento, si este ha sido programado para ello, puede pedir la atencin del controlador mediante la activacin de la lnea de interrupcin (Service Request: SR). El evento causante puede ser una condicin de error o la finalizacin de una medida y no est especificado en la norma qu eventos pueden o no producir peticiones de servicio y cmo se codifican estos eventos. Si el controlador decide hacer caso de la peticin tiene dos maneras alternativas de identificar al elemento causante y la causa de la interrupcin. La primera se llama Serial Poll y esta incluida dentro de la funcin de talker. En este caso el controlador enva una orden de Serial Poll Enable que indica a todos los instrumentos que se va a realizar una consulta en serie. Despus configura de forma secuencial a cada uno de los instrumentos como talker. Estos responden con una palabra de estado donde el bit 7 indica si el instrumento ha causado o no la peticin de interrupcin. El resto de bits de la palabra de estado estn sin definir y cada instrumento puede codificar aqu informacin especfica. Una vez identificado al causante o causantes de la interrupcin se enva una orden Serial Poll Disable y se contina con la actividad normal. El inconveniente de este mtodo, en un bus con muchos instrumentos, es la lentitud del mismo. La forma alternativa consiste en realizar un consulta en paralelo (Parallel Poll). El controlador inicia la consulta con una orden PPE (Parallel Poll Enable). Despus de esto todos los instrumentos con capacidad para ello vuelcan el byte de estado a las lneas de datos. Para que esto funcione las lneas de datos deben ser tipo colector abierto. Si cada instrumento ha sido configurado para poner un cero en una lnea determinada en el caso de ser el causante de la interrupcin y no hay ms de ocho dispositivos, es posible identificar al causante con una sola lectura. Si hay mas de ocho instrumentos se pueden compartir lneas. En este caso se tendr que realizar una consulta serie para acabar de decidir entre dos o mas posibles candidatos.
39
3.4.5 Funcin de controlador (C) y codificacin de las rdenes La funcin de controlador es la ms compleja de todas las del bus y no la comentaremos en detalle. Puede haber ms de un instrumento capaz de actuar como controlador, pero solo uno de ellos puede estar activo en un instante dado (Controller In Charge:CIC). Hay procedimientos que permiten transferir el control de un dispositivo a otro. El controlador activo es el nico que puede enviar rdenes de configuracin de las interfases mediante la activacin de la lnea ATN (Attention). Si adems puede gestionar las lneas IFC (InterFace Clear), para dejar las interfases en un estado inicial conocido y REN (REmote eNable) para permitir la programacin remota de los instrumentos, entonces se le llama controlador del sistema (System Controller). Solo puede haber un dispositivo con la capacidad para actuar como controlador del sistema, ya sea, o no, el controlador activo en un momento dado. Una vez el controlador ha configurado las interfases de los instrumentos, puede dejar que la transferencia de informacin se realice sola o puede participar en ella, con lo que se configura el mismo como listener (a no ser que l sea realmente el originador o receptor de la informacin). En el caso que no participe en la transferencia de informacin debe poder monitorizar las lneas del bus para saber cuando finaliza la misma o bien inicializar la interfase si se detecta algn problema. Estos procedimientos, no obstante, no estn contemplados en la norma. Para la programacin de las interfases se usan rdenes de tipo unilnea (U), como por ejemplo REN e IFC, u rdenes de tipo multilnea (M), que involucran las lneas de datos o varias lneas de control. Dependiendo de a quin vayan dirigidas la rdenes se dividen en varias clases: AC: Addressed Commands. Afecta a aquellos instrumentos configurados como listeners AD: Address. La orden lleva incorporada la direccin del dispositivo UC: Universal Commands. Afecta a todos los dispositivos conectados En las dos pginas siguientes se puede ver la codificacin de todos los mensajes posibles en una interfase IEEE-488.1. Como ejemplo, si quisisemos configurar al instrumento cuya direccin es 12 como talker deberamos enviar el byte Y101100 con la lnea ATN activada. En esta orden el bit de mayor peso puede tomar cualquier valor. Los dos siguientes (10) indican que se configura la interfase como talker y los 5 ltimos son la direccin del dispositivo. Desde el punto de vista del controlador esta orden se llama TAG:Talker Address Group mientras que desde el punto de vista del dispositivo cuya direccin es la especificada se llama MTA: My Talk Address. Una vez realizada la transferencia, si quisiramos reprogramar las interfases deberamos enviar 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 llevan incorporada la direccin del dispositivo.
40
Sistemas de instrumentacin
41
42
Sistemas de instrumentacin
Dispositivo X
Dispositivo Y
BUS
Mensajes dependientes del dispositivo
Mensajes de la interfase
IEEE-488.2
IEEE-488.1
IEEE-488.2
Fig. 3.6 Capas de protocolos cubiertos por las normas IEEE 488.1 y IEEE 488.2
Vemos que la norma IEEE-488.2 define una sintaxis y unas estructuras de datos por encima de la codificacin de mensajes vista en el apartado anterior. Adems define un conjunto de comandos y preguntas, basados en esta sintaxis, y por tanto multibyte, y las estructuras asociadas. De todas formas queda un nivel por encima de la norma que no se define y que est constituido por los mensajes particulares de programacin de cada instrumento. El objetivo de la norma son los sistemas de instrumentacin compuestos de un controlador y unos dispositivos programables. Los sistemas sin controlador, aunque posibles, no estn contemplados de forma explcita.
43
3.5.1 Requerimientos de la interfase Para que un dispositivo pueda programarse de acuerdo con lo que especifica la norma IEEE488.2, la interfase debe realizar, obligatoriamente, un cierto subconjunto de las funciones definidas en el apartado 3.4. Las ms significativas, y que pueden provocar que un dispositivo no diseado especficamente para cumplir la norma IEEE-488.2 no se comporte correctamente, son: 1.Debe poder generar y aceptar el protocolo de transferencia de informacin (SH1 y AH1). Adicionalmente se especifica que se debe entrar en el estado AIDS (ver figura 3.5) como mximo 1 ms despus que la seal ATN se desactive, a no ser que se haya programado como listener. Esto se hace para asegurar que el protocolo FindListeners funcione correctamente. Los dispositivos debern usar la misma direccin como talker que como listener. Habitualmente esto es as, pero la norma IEEE-488.1, de hecho, no lo especifica. Los dispositivos debern tener las capacidades bsicas de emitir informacin y debern poder responder a un Serial Poll (T5 o T6). Tambin debern tener capacidad de recibir informacin (L3 o L4). Se supone, adems, que un dispositivo configurado como listener se desconfigura automticamente si recibe MTA (My Talk Address) y viceversa. 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 slo el bit indicado en el registro de estado. Las lneas ATN, EOI y DAV debern usar circuitos de ataque de tres estados. Las lneas de datos tambin excepto que el dispositivo este respondiendo a un consulta en paralelo (Parallel Poll), en cuyo caso sern colector abierto.
2.-
3.-
4.-
3.5.2 Registro de estado y peticin de servicio Cada dispositivo tendr, como mnimo, 4 registros en los que se indica su estado y se configura la posibilidad de pedir atencin al controlador. La estructura de estos registros se puede ver en la figura 3.7. El registro de sucesos habituales (Standard Event Status Register:SESR) contiene el estado del dispositivo. Es un registro de 16 bits. Los 8 de mayor peso estn reservados y deben ponerse a 0. Cada uno de los restantes tiene asociado un suceso. Este registro tiene asociada una mscara. Si cualquiera de los bits est a 1 y la mscara lo permite se activara el bit 5 del registro de estado (Status Register). Este es el registro que se devuelve al controlador como consecuencia de una consulta en serie. Al igual que el anterior, este registro tiene asociada una mscara. Si cualquiera de los bits est activado y la mscara lo permite se activar el bit 6 y se generar una peticin de interrupcin. De hecho, slo 3 bits de este registro tienen funcin definida: el bit 6 indica que se ha producido una peticin de servicio. El bit 5 indica que se ha producido un suceso habitual no enmascarado y el bit 4 indica que la cola de mensajes de salida no est vaca. El resto de bits pueden estar asociados a otros registros de estado distintos del SESR, especficos de cada dispositivo
44
Sistemas de instrumentacin
3.5.3 Sintaxis de los mensajes La norma distingue entre mensajes de programacin (generados por el controlador) y mensajes de dispositivo (generados por los diferentes dispositivos). Las normas sintcticas que se aplican son comunes, y los mensajes de dispositivo son un subconjunto de los de programacin. Comentaremos slo la estructura de estos ltimos.
45
Un mensaje consta de un cuerpo, <PROGRAM MESSAGE>, ms un terminador, <PROGRAM MESSAGE TERMINATOR>. Este terminador puede ser, o bien la activacin de la lnea EOI con el ltimo carcter transmitido, o bien un carcter NL (New Line, ASCII 0AH) o una combinacin de ambos. El cuerpo del mensaje puede constar de una o varias unidades, <PROGRAM MESSAGE UNIT> separadas por el carcter ';'. Hay dos tipos de unidad, los comandos de programacin y las preguntas. Ambas se componen de una cabecera y unos datos, separados por un espacio en blanco. Las cabeceras de las preguntas llevan un carcter '?' al final, antes de los datos y especifican al dispositivo que debe devolver un mensaje de respuesta. Los datos pueden ser numricos o cadenas de caracteres. Si son numricos pueden estar representados en ASCII o transmitirse en binario. Si hay ms de un dato, estos se separan con el carcter ','. Las cabeceras pueden ser de tres tipos: simples, compuestas y comandos comunes (common command). Una cabecera simple es un mnemotcnico. Una cabecera compuesta es una sucesin de mnemotcnicos separados por el carcter ':'. Un comando comn es un mnemotcnico precedido de carcter '*'. As, por ejemplo: *IDN? Es un comando comn. IDN es un mnemotcnico de IDeNtify. El interrogante indica al dispositivo que debe devolver una cadena de identificacin. MED:CORR:DC? 1A,0.001A Es una cabecera compuesta. Podra indicar al dispositivo que realice una medida de corriente continua en la escala de 1 amperio con una resolucin de 0,001 amperios. El interrogante indica que el dispositivo debe devolver el resultado de la medida. CONF:REP 10;VOLT:AC AUTO Es un mensaje con dos unidades. La primera podra indicar que se tienen que hacer 10 medidas. La segunda que debe medir tensiones alternas en una escala automtica.
En los ejemplos anteriores el significado de los mnemotcnicos es inventado. Excepto para los comandos comunes la norma no especifica ni la forma ni el significado de estos mnemotcnicos. Cuando los datos numricos representan magnitudes fsicas, el smbolo de la unidad se puede especificar, acompaado de un multiplicador si fuese necesario. El conjunto de smbolos y multiplicadores han sido elegidos siguiendo la norma ISO Std 2955-1983 y han sido modificados adecuadamente para representar unidades que no son del Sistema Internacional y para poder usar un conjunto restringido de caracteres (solo maysculas o solo minsculas). As el mnemotcnico que representa 10-3 es el carcter 'm' o 'M' mientras que para 106 es 'ma' o 'MA'. En el caso de usar unidades compuestas formadas por el producto o cociente de unidades simples, los smbolos de producto '.' y cociente '/' se pondrn de forma explcita. En el caso de mensajes de respuesta de dispositivos, se siguen los mismos criterios expuestos antes. Hay slo dos diferencias significativas. Las cabeceras de pregunta no existen y el terminador de los mensajes debe ser el carcter NL, enviado simultneamente con la activacin de la lnea EOI.
46
Sistemas de instrumentacin
3.5.4 Comandos comunes La norma define 39 comandos comunes. De ellos 13 deben ser implementados por todos los dispositivos, mientras que los otros son opcionales u obligatorios si el dispositivo tiene capacidades adicionales a las estrictamente obligatorias (Parallel Poll, Device Trigger, Controller). Los comandos obligatorios se pueden ver en la siguiente tabla:
Tabla 3.2 Comandos comunes obligatorios definidos en la norma IEEE-488.2-1987 MNEMOTCNICO *CLS DESCRIPCIN Clear Status. Borra toda la informacin de estado del dispositivo y por tanto tambin la condicin o las condiciones de error presentes. Standard Event Status Enable. Fija la mscara de interrupcin del registro de sucesos habituales ("Standard Event Register"). La mscara se pasara como un nmero decimal entre 0 y 256 en cualquiera de los formatos aceptados en al norma (decimal, hexa, octal, binario, coma flotante, etc.). Solicita del dispositivo el valor de la mscara del registro de sucesos habituales. La respuesta debe hacerse como un nmero entero en cualquiera de los formatos admitidos. Solicita del dispositivo el valor del registro de sucesos habituales. La respuesta se dar como en el caso anterior. Solicita la identificacin del dispositivo. La respuesta es una cadena de caracteres ASCII (7 bits) dividida en 4 campos separados por el carcter ','. Los campos son: fabricante, modelo, nmero de serie y versin del firmware. Si los dos ltimos no estn disponibles se devolver el carcter '0'. "Operation Complete". Provoca que el dispositivo active el bit correspondiente del registro de sucesos habituales cuando todas las operaciones pendientes hayan finalizado. "Operation Complete Query". Provoca que el dispositivo mande un carcter '1' cuando todas las operaciones pendientes finalicen. "Reset". Provoca una inicializacin del dispositivo. No debe afectar al estado de la interfase ni debe modificar los registros de estado y sus mscaras. "Service Request Enable". Fija la mscara de interrupcin del registro de estado que habilita la generacin de una peticin de servicio. La mscara debe suministrarse con un nmero decimal en el margen 0 a 255 en cualquiera de los formatos permitidos. Solicita el valor de la mscara del registro de estado. La respuesta debe darse como en el comando *ESE? Solicita el valor del registro de estado. La respuesta debe ser como en el caso anterior. "Self test Query". Provoca que el dispositivo realice un secuencia de prueba interna y enve un mensaje 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 la prueba no se finaliz o se detect algn error. El significado de los cdigos distintos de 0 depende del dispositivo. "Wait". Impide que el dispositivo realice ninguna operacin hasta que la operacin en curso haya sido completada. Solo tiene sentido en aquellos dispositivos con capacidad de realizar operaciones en paralelo.
*ESE
*ESE?
*ESR?
*IDN?
*OPC
*OPC?
*RST
*SRE
*SRE?
*STB? *TST?
*WAI
Si un dispositivo recibe un comando comn que no puede ejecutar (de los opcionales) debe activar el bit de error correspondiente en el registro de sucesos habituales.
47
3.5.5 Procedimientos comunes Hay tres grupos de procedimientos contemplados en el mbito de la norma IEEE-488.2: Las tcnicas de sincronizacin, la configuracin automtica del sistema y los protocolos comunes del controlador.
3.5.5.1 Tcnicas de sincronizacin Las tcnicas de sincronizacin son procedimientos que puede usar el controlador para asegurar que los comandos de programacin que ha enviado a un dispositivo han sido completados. Los dispositivos pueden ejecutar comandos de forma secuencial o solapada (paralela). Esto depende del dispositivo y del tipo de comando. La primera tcnica de sincronizacin consiste en forzar al dispositivo a que ejecute los comandos de forma secuencial. Esto se consigue con el comando *WAI. As, por ejemplo la secuencia de comandos: MEDIDA1?; MEDIDA2; *WAI; MEDIDA3?; *WAI; MEDIDA4? provocara que MEDIDA1 comenzara a realizarse. Si el dispositivo lo permite, MEDIDA2 empezar en paralelo, o algo ms 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 la ejecucin de MEDIDA3. Igual que antes, *WAI se ejecutar en paralelo con MEDIDA3 e impedir la ejecucin de MEDIDA4 hasta que aquella termine. La segunda tcnica de sincronizacin consiste en programar al dispositivo para que enve un mensaje al finalizar el comando deseado. Esto se consigue con la consulta *OPC? El dispositivo no responder a la consulta hasta que el comando precedente haya finalizado. As, por ejemplo, si deseamos disponer un generador de funciones para que entregue una seal senoidal de 1 kHz y medir esta seal con un frecuencmetro, debemos asegurarnos de que el generador ha colocado la seal a la salida antes de programar el frecuencmetro. Esto se conseguira con una secuencia de programacin: APPLY:SEN 1V, 1KHZ; *OPC? El generador no responder a la consulta *OPC? hasta que la salida de seal sea la programada. Dado que la respuesta a la consulta *OPC? es la misma para todos los dispositivos, si se necesita sincronizar varios de ellos debe recurrirse a otra tcnica. Usando el comando *OPC provocamos que el bit de menor peso el registro de sucesos habituales (SESR) se ponga a 1 cuando el comando que precede a *OPC haya finalizado. Podemos detectar este evento bien leyendo el registro SERS con el comando *ESR? bien programando el dispositivo para que genere una peticin de servicio al activarse este bit. Generar una peticin de servicio habitualmente provoca una interrupcin interna en el controlador, que suele ser un ordenador de propsito general con una interfase adecuada. Manejar interrupciones en entornos multitarea (UNIX, MS-Windows, etc) no siempre es una tarea fcil o agradecida, por lo que las tcnicas basadas en peticiones de servicio no suelen usarse excepto en aplicaciones muy consolidadas o si los requerimientos de velocidad lo aconsejan.
48
Sistemas de instrumentacin
3.5.5.2 Configuracin automtica del sistema La configuracin automtica del sistema se refiere fundamentalmente a la asignacin automtica de direcciones en un sistema cuando este es configurado por primera vez o cuando es reconfigurado. El procedimiento general contempla dos clases de dispositivos: aquellos cuyas funciones de interfase pueden configurarse remotamente y aquellos cuyas funciones de interfase slo pueden configurarse localmente o no pueden configurarse. En primer lugar se determinarn las direcciones de aquellos dispositivos cuya direccin no es modificable remotamente (que es el caso habitual). Para hacerlo se utiliza el protocolo FindListeners, que se comentar ms adelante. Este protocolo devuelve las direcciones de todos los dispositivos con capacidad de listener. Para que solo respondan al protocolo aquellos cuya direccin no es configurable, antes de ejecutar este protocolo se inhabilita la funcin listener de los dems mediante el comando *DLF (opcional). Una vez identificados estos dispositivos se devuelve la capacidad de listener a los dems mediante un Device Clear y se procede a asignarles las direcciones libres mediante el comando *AAD. Una vez asignadas las direcciones se construye una tabla que contiene las direcciones realmente ocupadas y la identificacin del dispositivo obtenida mediante la orden *IDN?. Esta tabla servir al usuario para enviar las rdenes de programacin de medida adecuadas. La existencia de dispositivos que no cumplan con la norma IEEE-488.2 debe ser detectada de forma manual. Estos dispositivos no respondern, por ejemplo, a una orden *IDN? o incluso pueden no ser detectados con el protocolo Find Listeners si la interfase no pasa a un estado inactivo en un tiempo mximo de 1 ms despus que ATN se ha desactivado. La experiencia nos ensea que puede haber incluso dispositivos ms perversos. Nos hemos encontrado con dispositivos cuya interfase no funciona correctamente a no ser que se active la lnea REN, lo que permite la programacin remota del instrumento. Este hecho puede parecer anecdtico, aunque provoca que protocolos como Find Listeners no detecten ningn dispositivo conectado. Estos dispositivos, de hecho, no cumplen siquiera con el estndar IEEE-488.1.
3.5.5.3 Secuencias de control y protocolos comunes La norma IEEE-488.1 establece los cdigos de los comandos para configurar la interfase pero no especifica en qu orden deben enviarse ni qu secuencias de cdigos son necesarias para una determinada accin. En la norma IEEE-488.2 se establece un conjunto de secuencias de control que permiten realizar acciones bsicas en el sistemas de instrumentacin as como protocolos que ayudan, por ejemplo, a la configuracin automtica 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 otro dispositivo y la configuracin de una consulta en paralelo. En este conjunto de secuencias de comandos se ha previsto slo que la transferencia de informacin se realice a travs del controlador. Ya mencionamos anteriormente que ste era el caso ms habitual. No obstante, si fuese necesario realizar una transferencia entre dos dispositivos sin que el controlador actuase de intermediario (por ejemplo, por motivos de velocidad), deberan programarse las interfases del sistema usando la secuencia SEND COMMAND. De todas formas, el
49
controlador debera tomar parte en la transferencia, como listener. Algunos programas de aplicacin tienen prevista esta situacin y provocan que el controlador responda nicamente al handshake, sin almacenar realmente la informacin, aunque esto escapa un poco del contenido de la norma.
Tabla 3.3 Secuencias de control obligatorias para el controlador SECUENCIA DE CONTROL SEND COMMAND DESCRIPCIN Permite enviar comandos de programacin de la interfase, activando la lnea ATN Configura el sistema para que el controlador pueda enviar mensajes de programacin del instrumento a uno o varios dispositivos El controlador enva mensajes de programacin de instrumento a los dispositivos configurados como "listeners" con el comando anterior Realiza las dos secuencias anteriores secuencialmente Configura el sistema para que un dispositivo acte como "talker" y el controlador pueda recibir la informacin El controlador recibe el mensaje del dispositivo previamente configurado Realiza las dos secuencias anteriores secuencialmente Pulsa la lnea IFC durante un tiempo mayor que 100 s. Solo puede realizarlo el controlador del sistema Provoca una inicializacin de los dispositivos, bien de todos ellos ("Device Clear") o de un conjunto ("Selected Device Clear") usando rdenes 488.1 Coloca en estado local los dispositivos seleccionados o todo el sistema, permitiendo el uso de los controles manuales Configura todo el sistema o algunos dispositivos para que puedan recibir comandos de programacin de medida de forma remota, activando la lnea REN Impide que se puedan utilizar los controles locales de los instrumentos seleccionados ("Local LockOut") Impide que se puedan usar los controles locales de todos los instrumentos, aunque de hecho no los dispone en estado de programacin remota. Realiza una lectura del registro de estado de un dispositivo. De hecho se realiza una consulta serie ("Serial Poll") a un solo dispositivo Enva un "Group Execute Trigger" (IEEE-488.1 GET) a todo el sistema o a un conjunto seleccionado de dispositivos
SEND SETUP
DEVICE CLEAR
ENABLE REMOTE
SET RWLS
SEND LLO
TRIGGER
Los protocolos comunes son algoritmos diseados para realizar determinadas funciones. La diferencia con las secuencias de comandos es la existencia de sentencias condicionales. Solo hay dos protocolos obligatorios: RESET y ALLSPOLL. RESET esta diseado para realizar una inicializacin completa del sistema. En primer lugar se enva un mensaje IFC que provoca que todas las interfases queden en un estado inactivo y el controlador se autoconfigura como controlador activo (CIC) y despus se activa una secuencia ENABLE REMOTE. En segundo lugar se pone en marcha una secuencia DEVICE CLEAR para todo el sistema y en tercer lugar se enva el comando *RST a todos los dispositivos del sistema usando una
50
Sistemas de instrumentacin
secuencia SEND. Para este ltimo paso el controlador debe conocer las direcciones de los dispositivos. Si existieran dispositivos que no tuviesen implementada la orden *RST, debera saberse de antemano cmo reaccionan cuando la reciben, ya que podran 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 con capacidad 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 comentamos brevemente: FINDRQS: FINDLSTN: TESTSYS: SETADD: PASSCTL: REQUESTCTL: Determina el dispositivo que ha pedido servicio. Se basa en ALLSPOLL. Determina las direcciones de todos los dispositivos con capacidad de ser configurados como listener. Realiza un autotest de todos los dispositivos del sistema. Configura las direcciones de aquellos dispositivos con esta capacidad. Cede el control a un dispositivo con capacidad para ello. Pide el control a otro dispositivo.
51
Las diferencias entre todos estos circuitos son pequeas por lo que respecta a la funcionalidad de la interfase IEEE-488 y quiz algo mayores por lo que respecta a la interfase con el microprocesador que los controla. En cualquier caso, conviene leer detenidamente las hojas de caractersticas de todos ellos antes de realizar la eleccin. Por lo que respecta al circuito de National Instruments TNT4882, ste consiste en la unin en un solo chip de los circuitos NAT4882 (T, L, C), Turbo488 (interfase rpida con el microprocesador) y unos drivers para el bus, con lo cual se puede hacer una interfase GPIB con un solo circuito. Adems de esto, este integrado tiene algunas caractersticas especiales que le permiten realizar protocolos previstos en la norma IEEE-488.2, como son la monitorizacin de todas las lneas del bus o la deteccin automtica del terminador de mensaje. Finalmente, este circuito es capaz de implementar un protocolo de comunicacin llamado HS488 (High Speed 488) que permite alcanzar velocidades de transferencia de datos de hasta 8 Mbyte/s. Este protocolo se basa en que la mayor parte de las transferencias de informacin se realizan hacia o desde el controlador a un dispositivo, con lo cual el protocolo de tres lneas clsico (handshake) se puede obviar y por tanto evitar los retardos asociados con el mismo. La revisin de la norma IEEE-488.1 (que fue reafirmada en 1994) para incluir este protocolo de alta velocidad y la extensin de los mensajes de la interfase que permita la conmutacin dinmica entre el protocolo clasico y el nuevo est actualmente en fase de proyecto.
53
54
Sistemas de instrumentacin
VXI-0 Visin general de las especificaciones del bus VXI. Revisin 1.0 mayo 1992. VXI-1 Especificacin de un sistema basado en el bus VXI. Revisin 1.4, abril 1992. VXI-2 Especificacin para dispositivos extendidos basados en registros y para dispositivos VXI de memoria extendidos basados en registros. Revisin 1.0, febrero 1991. VXI-3 Especificacin de comandos de palabra serie para la identificacin de la versin y el nmero de serie de dispositivos VXI. Revisin 1.0, febrero 1991. VXI-4 Especificacin de mnemotcnicos comunes en la norma VXI. Revisin 1.0, junio 1991. VXI-5 Especificacin de los comandos ASCII comunes del sistema. Revisin 1.0, junio 1991. VXI-6 Especificacin de la interfase estndar para la extensin del bus VXI. Revisin 1.0, febrero 1991. VXI-7 Especificacin del formato de datos de memoria compartida. Revisin 1.0, marzo 1992. VXI-9 Especificacin del protocolo de memoria compartida para sistemas VXI. Revisin 1.0, mayo 1992.
Todas ellas estn recogidas y publicadas dentro de un documento conocido como VXIbus System Specifications Revision 1.4. El ncleo principal de la norma, donde se comprende la configuracin y el funcionamiento de un sistema VXI, es la especificacin VXI-1.
55
4.3.1 El bus VME El bus VME es bus asncrono formado por cuatro sub-buses: transferencia de datos, arbitraje, interrupciones y utilidades.
- Bus de transferencia de datos: Es un bus asncrono de datos que puede transferir palabras de 8, 16 o 32 bits entre mdulos. Est compuesto de un conjunto de 32 lneas de direccin (A1-A32), 32 lneas de datos (D1-D32) y lneas de control. El espacio de direcciones puede configurarse de tres maneras diferentes: -Direccionamiento corto (A16) 64 kbyte -Direccionamiento estndar (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 de una manera ordenada y garantizando que nicamente un dispositivo maestro controla el bus de datos en cualquier instante.
- Bus de interrupciones Dispone de siete lneas de interrupcin (IRQ1-IRQ7) con diferentes niveles de prioridad y un mximo de siete controladores de interrupcin. Permite a los dispositivos realizar sus peticiones de interrupcin y que stas sean reconocidas por el mdulo controlador del sistema.
- Bus de utilidades Suministra la alimentacin, las seales de inicializacin del sistema, deteccin de fallos en la alimentacin, seales de reloj y una lnea auxiliar de transmisin de datos serie.
Dentro de la norma VME se definen tarjetas de dos dimensiones estndar diferentes (figura 4.1); Eurocard, tamao A (100 mm x 160 mm), y doble Eurocard, tamao B (233 mm x 160 mm), figura 4.1. Las seales descritas estn disponibles en dos conectores denominados P1 y P2 de 96 contactos cada uno. En el primer conector se utilizan las 96 lneas y del segundo (P2) se utilizan las 32 lneas centrales del conector. Las tarjetas de tamao A incluyen nicamente el conector P1, que es la configuracin mnima de funcionamiento. El espacio de direcciones en la tarjeta de tamao A puede ser el A24 (16 Mbytes) o A16 (64 kbytes) con palabras de 8 o 16 bits. El tamao B dispone de los dos conectores P1 y P2 y el espacio de direcciones puede ser el A16, A24 o A32 (4 Gbytes) con palabras de 8, 16 o 32 bits.
56
Sistemas de instrumentacin
P1
VME Tamao A
100 mm x 160 mm
P1
VME Tamao B 233 mm x 160 mm
P2
P1
VXI Tamao C 233 mm x 340 mm
P2
P1 P2 P3
VXI Tamao D 366 mm x 340 mm
4.3.2 Extensin del bus VME, el bus VXI La extensin del bus VME, por parte de la norma VXI, a un bus para instrumentacin modular contempla diversos aspectos. El primero de ellos es el mecnico. Se definen dos nuevos tamaos adems de los ya incorporados en la norma VME, y son el C (233,35 mm x 340 mm) y el D (366,7 mm x 340 mm) a los que se les aade un nuevo conector P3. El segundo define los sub-buses que se han aadido utilizando las dos lneas de contactos del conector P2, que quedan libres en la norma VME, y el conector P3. Los nuevos sub-buses son:
Bus de reloj Est formado por dos seales de reloj de 10 MHz y 100 MHz y una seal de sincronizacin de reloj para esta ltima. La seal de 10 MHz (CLK10) est disponible en el conector P2 y la seal de 100 MHz (CLK100) junto con la de sincronizacin (SYNC100) estn ubicadas en el conector P3. CLK10, CLK100 y SYNC100 son seales diferenciales con niveles ECL y disponen de un amplificador en el bus para cada mdulo para aumentar el aislamiento entre mdulos y reducir el efecto de carga sobre la seal de reloj. El controlador del bus VXI, el mdulo 0, puede generar estos relojes o pueden ser suministrados a partir de un generador de frecuencia patrn a travs del panel frontal del mdulo 0. La seal SYNC100 permite sincronizar diferentes mdulos con un determinado flanco de subida de la seal CLK100. Bus en estrella Situado en el conector P3, est formado por doce pares de lneas (STARXn y STARYn) que unen respectivamente cada uno de los mdulos con el mdulo 0 como muestra la figura 4.2. Adems son lneas bidireccionales diferenciales con niveles ECL.
57
El bus en estrella ofrece una va de comunicacin de alta velocidad entre mdulos para procesos en los cuales la temporizacin es extremadamente crtica. La norma VXI fija un retardo mximo de 5 ns entre cualquier mdulo y el mdulo 0 y una desviacin de 2 ns entre cualquier par de seales STARXn-STARYn.
Lneas de reloj y sincronismo Lneas de identificacin (MODID) Bus en estrella
Bus Local
Bus de disparo El bus de disparo puede subdividirse en 8 lneas de disparo con niveles TTL (TTLTRG*) y 6 lneas con niveles ECL (ECLTRG). Todas la lneas TTLTRG* y dos de las ECLTRG estn situadas en el conector P2. Las cuatro restantes ECLTRG estn en el conector P3. Su utilizacin por un instrumento o grupo de ellos posibilita la implementacin de complejos patrones de disparo y temporizacin. Se han definido diversos protocolos para la coordinacin y comunicacin entre mdulos. Adems de seales de disparo y reloj es posible el intercambio de informacin digital a travs de estos buses mediante la agrupacin de lneas con el fin de descargar y complementar al bus VME. La velocidad de transmisin en las lneas TTLTRG* puede llegar a una frecuencia mxima de 12,5 MHz mientras que en las ECLTRG este lmite llega a 62,5 MHz. Las lneas TTLTRG* son TTL en colector abierto y estn terminadas en cada uno de los extremos del bus con una red pasiva. El nivel lgico alto, 5 V, viene fijado por las terminaciones del bus. Para la temporizacin de procesos mediante estas lneas la norma recomienda utilizar los flancos descendentes de las seales al tener un tiempo de bajada menor por la configuracin de colector abierto.
58
Sistemas de instrumentacin
La norma define seis protocolos para las seales TTLTRG*: - Disparo sncrono: una nica lnea transmite una seal de disparo que no requiere una validacin por parte de ningn receptor. La velocidad de repeticin mxima es de 12,5 MHz. - Disparo semisncrono: una nica lnea transmite una seal de disparo, nivel bajo, y mltiples receptores validan la seal poniendo la misma lnea a nivel bajo. - Disparo asncrono: Se utilizan dos lneas. Hay una nica fuente de disparo y un nico receptor para validar la seal de disparo. - Transmisin de reloj: Cualquier lnea TTLTRG* puede utilizarse para la transmisin de una seal de reloj desde 0 Hz a 12,5 MHz. - Transmisin de datos: Una o ms lneas TTLTRG* pueden agruparse para la transmisin de datos en paralelo. Una de estas lneas se usa como reloj o disparo. - Protocolo Start/Stop: Una lnea TTLTRG* es controlada por el modulo Slot 0 y su estado significa el inicio o el final de la operacin de otros mdulos.
Bus local Est formado por 36+36 lneas (12+12 en el conector P2 y 24+24 en P3) que comunican cada mdulo nicamente con los inmediatamente adyacentes y con el que se pueden realizar transferencias de hasta 200 MHz, proporcionando una velocidad de transmisin efectiva de 1 Gbyte/s. Su funcin es la de enlazar localmente diferentes tarjetas a gran velocidad, por ejemplo un mdulo digitalizador y un mdulo de procesado de seal. Al no estar ligado al conjunto de los mdulos, la definicin de las seales transferidas se realiza segn las necesidades de cada dispositivo, estando prevista la transferencia de seales digitales TTL y ECL y analgicas de bajo, medio y alto nivel (-42 V a 42 V).
Bus de suma analgica Est presente en el conector P2 y forma un nodo comn a todos los mdulos del sistema. Est terminado con una resistencia de 50 S conectada a la masa de seal en cada extremo del bus. La seal de suma analgica est situada en un extremo del conector P2, alejada de las seales digitales y apantallada por tres terminales de masa. Est previsto que cualquier mdulo pueda enviar o recibir de esta lnea. Cada mdulo puede transmitir a esta lnea mediante una fuente de corriente con una impedancia de salida mayor de 10 kS con una capacidad en paralelo menor de 4 pF. El receptor deber tener una impedancia equivalente de entrada mayor de 10 kS con una capacidad en paralelo menor de 3 pF. Un ejemplo de utilizacin es la generacin de formas de onda complejas a partir de las salidas de diferentes mdulos que se combinara de forma aditiva en el bus suma. La ventaja de este mtodo es que permite combinar diferentes mdulos de generacin de seal para crear una forma de onda compleja que, de otra forma, requerira un instrumento de mayor coste.
59
Bus de identificacin de mdulos El bus de identificacin de mdulos esta formado por 12 lneas de P2 (MODID) conectadas cada una de ellas a una de las 12 ranuras disponibles en el bus VXI para la conexin de mdulos. Estas lneas se alimentan desde el mdulo conectado en la ranura 0 y permiten la deteccin de la existencia de los dispositivos conectados al bus, incluso en el caso de fallo de los mismos, ya que se basa en la deteccin de un contacto a masa. Es de gran utilidad en el diagnstico de fallos y en el proceso de autoconfiguracin en los mdulos que dispongan del conector P2.
Bus de alimentacin El bus de distribucin de la alimentacin puede suministrar hasta 268 W a un nico mdulo que tenga los conectores P1, P2 y P3. Esta potencia se entrega en siete tensiones reguladas diferentes. El bus VXI aade con respecto a la norma VME tensiones de +24 V y -24 V para la alimentacin de circuitos analgicos, 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 del bus VXI y la distribucin de las diferentes seales en los conectores P1, P2 y P3.
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 adaptacin a los ms 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 en bloques de memoria RAM o ROM. Permiten mover grandes cantidades de datos. Los dispositivos
60
Definicin del conector P1 del bus VXI; Slot 0-12 Nmero de PIN 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Fila A Seal D00 D01 D02 D03 D04 D05 D06 D07 GND SYSCLK GND DS1* DS0* WRITE* GND DTACK* GND AS GND IACK* IACKIN* IACKOUT* AM4 A07 A06 A05 A04 A03 A02 A01 -12V +5V Fila B Seal BBSY* BCLR* ACFAIL* BG0IN* BG0OUT* BG1IN* BG1OUT* BG2IN* BG2OUT* BG3IN* BG3OUT* BR0* BR1* BR2* BR3* AM0 AM1 AM2 AM3 GND SERCLK(1) SERDAT*(1) GND IRQ7* IRQ6* IRQ5* IRQ4* IRQ3* IRQ2* IRQ1* +5VSTDBY +5 Fila C Seal D08 D09 D10 D11 D12 D13 D14 D15 GND SYSFAIL* BERR* SYSRESET* LWORD* AM5 A23 A22 A21 A20 A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 +12V +5V
Sistemas de instrumentacin
Definicin del conector P2 del bus VXI; Slot 0 Nmero de PIN 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Fila A Seal ECLTRG0 -2V ECLTRG1 GND MODID12 MODID11 -5,2V MODID10 MODID09 GND MODID08 MODID07 -5,2V MODID06 MODID05 GND MODID04 MODID03 -5,2V MODID02 MODID01 GND TTLTRG0* TTLTRG2* +5V TTLTRG4* TTLTRG6* GND RSV2 MODID00 GND SUMBUS Fila B Seal +5 GND RSV1 A24 A25 A26 A27 A28 A29 A30 A31 GND +5V D16 D17 D18 D19 D20 D21 D22 D23 GND D24 D25 D26 D27 D28 D29 D30 D31 GND +5V Fila C Seal CLK10+ CLK10GND -5,2V LBUSC00 LBUSC01 GND LBUSC02 LBUSC03 GND LBUSC04 LBUSC05 -2V LBUSC06 LBUSC07 GND LBUSC08 LBUSC09 -5,2V LBUSC10 LBUSC11 GND TTLTRG1* TTLTRG3* GND TTLTRG5* TTLTRG7* GND RSV3 GND +24V -24V
Definicin del conector P3 del bus VXI; Slot 0 Nmero de Fila A Fila B Fila C PIN Seal Seal Seal 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ECLTRG2 GND ECLTRG3 -2V ECLTRG4 GND ECLTRG5 -2V STARY12+ STARY12STARX12+ STARY11+ STARY11STARX11+ STARY10+ STARY10STARX10+ STARY09+ STARY09STARX09+ STARY08+ STARY08STARX08+ STARY07+ STARY07STARX07+ GND STARX+ STARXGND CLK100+ +24V -24V GND RSV5 -5,2V RSV7 +5V GND +5V STARY01STARX12GND STARY02STARX11+5V STARY03STARX10-2V STARY04STARX09GND STARY05STARX08+5V STARY06STARX07GND -5,2V GND -5,2V -2V +12V -12V RSV4 +5V RSV6 GND -5,2V GND STARX01+ STARX01STARY01+ STARX02+ STARX02STARY02+ STARX03+ STARX03STARY03+ STARX04+ STARX04STARY04+ STARX05+ STARX05STARY05+ STARX06+ STARX06STARY06+ GND STARY+ STARY-5,2V SYNC100+
basados en registros disponen de una inteligencia limitada. Se comunican con su mdulo controlador por medio de protocolos especficos definidos por el fabricante, en forma de escrituras directas en sus
61
registros de configuracin o comunicacin. Su principal desventaja es la dificultad de programacin, y su mayor ventaja es la facilidad de diseo y coste reducido. Los dispositivos extendidos se encuentran reservados, y permiten la definicin de nuevas subclases de dispositivos VXI en futuras ampliaciones de la norma. Los dispositivos basados en mensajes, en contraste con los basados en registros, se comunican mediante mensajes de caracteres ASCII similares a los empleados por los instrumentos IEEE-488. El protocolo de comunicacin est definido en la norma, denominado Word Serial Protocol (WSP), proporciona un soporte bsico para la transmisin serie de los comandos de alto nivel. Actualmente se tiende a la estandarizacin de los comandos, de forma que dispositivos equivalentes de diferentes fabricantes puedan ser perfectamente intercambiables. Esta tendencia se recoge en la normativa SCPI (Standard Commands for Programmable Instrumentation), que se describe en el captulo siguiente. Un instrumento puede estar compuesto por ms de un mdulo. Los buses definidos en la norma son el soporte fsico que permite el funcionamiento de los distintos mdulos como un nico instrumento. En cuanto al soporte lgico, software, es necesario que la accin de los componentes del instrumento sea coordinada adecuadamente y que la informacin se comparta de la forma ms natural y transparente posible. La norma VXI contempla la constitucin de estructuras jerrquicas basadas en dispositivos 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. Sin embargo, los Commander ha de ser dispositivos basados en mensajes que permitan controlar a los Servant.
COMMANDER
SERVANT COMMANDER
SERVANT
SERVANT
SERVANT
4.4.2 Recursos del sistema Como ya se ha comentado, la arquitectura del bus VXI ofrece un conjunto de recursos comunes al sistema. Estos recursos o funciones estn centralizados en dos entidades conocidas como Slot 0 y Resource Manager. Normalmente se implementan en un mismo mdulo que, adems, incluye la interfase de comunicacin (IEEE-488, RS232 o MXI) o control adecuados. El Slot 0 debe generar las seales de reloj, CLK10, CLK100 y SYNC100 as como las seales del Bus de Identificacin de Mdulos (MODID) y comunicacin STARXn, STARYn.
62
Sistemas de instrumentacin
El Resource Manager tiene asignadas funciones de mas alto nivel. Es un dispositivo basado en mensajes con capacidad de Commander que debe estar situado en la direccin lgica 0 y que, al arrancar el sistema, realiza las siguientes funciones:
-Identificar todos los dispositivos VXI del sistema. -Gestionar el autotest y la secuencia de inicializacin del sistema. -Configurar el mapa de direcciones A24 y A32 del sistema. -Configurar las jerarquas Commander/Servant del sistema. -Iniciar la operacin normal del mismo.
4.4.3 Protocolos de comunicacin La comunicacin dentro de un sistema VXI se establece entre un Commander y cualquiera de sus Servants a iniciativa del primero. En el nivel superior de la estructura jerrquica se encuentra el controlador VXI o el dispositivo de comunicacin entre el controlador externo y el bus VXI.
SCPI
PROTOCOLOS ESPECFICOS
488.2 488-VXI
MEMORIA COMPARTIDA
WORD SERIAL
COMUNICACIN CONFIGURACIN
Fig. 4.5 Jerarquia de comunicacin en un bus VXI
La comunicacin con los dispositivos basados en registros, que slo pueden actuar como Servants, no est especificada por la norma VXI y depende del fabricante del equipo. En este caso el sistema deber incluir el dispositivo o los dispositivos Commander adecuados del fabricante para poder controlar el Servant basado en registros. La comunicacin entre Commanders y Servants basados en mensajes est totalmente definida en la norma. El protocolo empleado es conocido como Word Serial. Permite el envo y la recepcin de informacin secuencialmente de una forma similar a la usada en el entorno IEEE-488. Se trata de un protocolo asncrono cuya velocidad se adapta al dispositivo ms lento en cada momento. La longitud de estas palabras es de 16 bits, aunque existen variantes de 8, 32 o 48 bits. El protocolo hace uso del contenido de diversos registros en el Servant normalizados para la coordinacin y configuracin de las transmisiones. Un protocolo alternativo es de memoria compartida. En este, zonas de memoria, del espacio de direcciones VME, pueden ser utilizadas por ms de un dispositivo y usarse para la transferencia de grandes bloques de informacin. La memoria puede estar fsicamente incluida en los propios dispositivos o estar en tarjetas de memoria conectadas a tal efecto al bus. En la figura 4.5 puede verse la estructura jerrquica de los diferentes niveles de comunicacin para un sistema VXI.
63
4.4.4 Arquitecturas de un sistema VXI La norma VXI permite una gran variedad de configuraciones posibles. Las ms tpicas son: 1.Un nico controlador externo, Host, conectado al sistema a travs del SLOT 0 y el Resource Manager mediante una interfase IEEE-488, RS232 o red local. Un nico controlador interno que realiza adems las funciones de SLOT0 y Resource Manager. Los controladores VXI existentes se basan, en su mayora, en la arquitectura PC, con procesadores de la familia INTEL 80x86. Varios procesadores internos con control distribuido de sistemas.
2.-
3.-
La primera opcin es la ms frecuente. La disponibilidad de controladores adecuados, las velocidades de transferencia posibles y el hecho de que la mayora de sistemas que incluyen equipamiento VXI sean mixtos al hacer uso de instrumentacin IEEE-488, son las razones que avalan esta eleccin. En este caso el controlador se conecta a uno o varios subsistemas a travs de un mdulo de interfase adecuado presente en cada uno de ellos. Este dispositivo realiza adems las funciones de SLOT 0 y Resource Manager. La norma especifica cmo ha de ser la traduccin de protocolos entre el bus VXI y el IEEE-488 pero no define nada sobre los esquemas de direccionado, que quedan estos libres a eleccin del fabricante o diseador. Las soluciones adoptadas hasta el momento han sido tres: a) Mltiples primarias: Cada instrumento VXI se identifica mediante una direccin primaria vlida dentro del bus IEEE-488. Tiene como ventaja la similitud con la programacin de instrumentacin IEEE-488, pero el nmero de direcciones de dispositivos se limita a 30. Mltiples secundarias: Las direcciones secundarias IEEE-488 se utilizan para extender el espacio de direccionamiento. En este caso una nica direccin primaria se asignara al bastidor y una direccin secundaria a cada dispositivo VXI. Direccin incluida en los comandos, Embeded Addressing. Se enva con cada comando un identificador antepuesto al mismo indicando qu dispositivo lgico es el destinatario de la informacin. Se utiliza una nica direccin primaria y el nombre del dispositivo queda a eleccin del programador.
b)
c)
65
La norma SCPI es el escaln ms alto dentro de la jerarqua normativa para el control de sistemas de instrumentacin. Tal como se puede ver en la figura 5.1, la norma SCPI se asienta sobre la IEEE-488.2 y esta, a su vez, se basa en la IEEE-488.1. A pesar de esta jerarqua los comandos y la estructura de datos basados en la norma SCPI pueden usarse, y se usan, en sistemas de instrumentacin que no estn basados en IEEE-488, por ejemplo en sistemas basados en VXI, RS-232 o LAN. El objetivo general de la norma SCPI es reducir los costes de desarrollo y mantenimiento de programas de control de sistemas de instrumentacin para prueba automtica. Este objetivo se consigue 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 sustitucin de equipos con los mnimos cambios de software. Para conseguir estos objetivos la norma establece la sintaxis y los formatos de los mensajes para que instrumentos con la misma funcionalidad o instrumentos del mismo tipo utilicen los mismos comandos. Por ejemplo, los comandos para medir una frecuencia utilizando frecuencmetros de distintos fabricantes sern los mismos. Adems, la medida de la frecuencia con otro instrumento que
66
Sistemas de instrumentacin
lo permita, por ejemplo un osciloscopio digital o un multmetro, tambin utilizarn los mismos comandos. La norma establece tres tipos de compatibilidad entre instrumentos: 1.- Vertical: equipos de un mismo tipo tienen los mismos controles. Ejemplo: en dos multmetros distintos la seleccin de escala se realizar de la misma forma. 2.- Horizontal: equipos que realizan la misma medida, aunque sea de formas distintas, utilizarn los mismos comandos. Ejemplo: un osciloscopio que pueda medir perodos y un frecuencmetro-contador utilizarn los mismos comandos para medir el perodo de una seal. 3.- Funcional: dos equipos distintos que puedan realizar la misma funcin lo harn con los mismos comandos. Ejemplo: un analizador de espectros que pueda realizar barridos de frecuencia y un generador de seal sern funcionalmente compatibles si el barrido de frecuencia se programa con los mismos 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 es el que pasamos a ver de forma ms detallada a continuacin. Para facilitar el aprendizaje de los nombres de los comandos, que provienen de abreviaciones de palabras inglesas, usaremos las denominaciones inglesas para las distintas partes de los instrumentos.
67
funcionales y su programacin 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 datos en un instrumento genrico; las lneas de trazo continuo representan flujo de datos y las lneas a trazos representan controles.
Cada instrumento especfico se representa slo por los bloques que lo constituyen. Por ejemplo, un multmetro digital puede tener slo los bloques de funcin de medida, TRIGger y FORMat (figura 5.3). En cambio, para un generador de funciones slo tendramos: FORMat y Signal generation (figura 5.4)1.
A continuacin se describe cada uno de los bloques del modelo de instrumento definido. - Signal ROUTing Representa la posibilidad que tienen ciertos instrumentos para direccionar las seales de sus conectores de entrada a distintos circuitos internos. Es anlogo al bloque de direccionamiento de seal visto en el apartado 5.2. Los comandos que controlan esta seccin se denominan ROUTe. - MEASurement Function Este bloque es el que realiza la medida, entendida en su sentido ms amplio como una transformacin de una seal en un cdigo que luego podr ser procesado. Este bloque se subdivide a su vez en los siguientes (figura 5.5): INPut, SENSe y CALCulate. La subdivisin del bloque de medida en estas tres partes no se ha incluido en el modelo de instrumento (figura 5.2) porque hay instrumentos que no seran 'horizontalmente compatibles a este nivel pero s lo son a nivel del bloque funcional de medida. Por ejemplo, la medida del valor eficaz de una senoide con un voltmetro y con un osciloscopio digital podran ser horizontalmente compatibles utilizando instrucciones al nivel del bloque MEASurement (utilizaran los mismos comandos), pero los comandos para programar la medida a un nivel
La parte de las palabras que est en maysculas coincide con el nombre de los comandos estndares abreviados para cada bloque.
68
Sistemas de instrumentacin
ms bajo seran distintos. En el voltmetro la medida se realiza con un comando del bloque SENSe, mientras que en el osciloscopio habra que calcular (utilizando comandos del bloque CALCulate) el valor eficaz a partir de las muestras adquiridas.
- INPut Representa la etapa de adaptacin de la seal de entrada, por ejemplo el acoplo AC, DC, GND de osciloscopios. - SENSe Es propiamente el bloque de medida, que pasa de una seal elctrica a un cdigo que luego puede ser procesado digitalmente. - CALCulate Su funcin es pasar los datos adquiridos por el bloque de medida a valores que sean ms apropiados para una aplicacin concreta. Por ejemplo, calcular perodos, frecuencias, tiempos de subida, etc. en un osciloscopio digital.
69
- Signal Generation Este bloque tambin esta subdividido al igual que el de medida (figura 5.6). Su funcin es la de pasar datos a una seal elctrica. Para ello se pueden distinguir los siguientes sub-bloques: - CALCulate Su funcin es modificar el flujo de datos recibido para generar la seal deseada a la salida. - SOURce La funcin de este bloque es determinar las caractersticas de la seal generada a partir del flujo de datos suministrado. - OUTput Es la parte que determina cmo se aplica la seal generada. Incluye las funciones de atenuacin, filtrado, suma de tensiones continuas, etc. - TRIGger Su funcin es proveer al instrumento de medios para sincronizarse con eventos de las seales, tanto internas como externas. - MEMory Es el almacn de datos interno al instrumento. Segn sea el caso pueden realizarse lecturas de datos, escrituras o guardarse parmetros de calibracin internos. - FORMat Es el encargado de transformar el formato de los datos digitales internos al instrumento a otros que sean transferibles a travs del bus de control.
70
Sistemas de instrumentacin
KEYWORD INPut :ATTenuation :AUTO :BIAS [:STATe] :VOLTage [:DC] :AC :TYPE . . . :COUPling :GAIN :AUTO . . .
PARAMETER FORM
NOTES
Comandos SCPI correctos para este bloque son: INPut:BIAS:STATe OFF INP:COUPling ? INP:ATT 20 INPut:ATTenuation:AUTO; INPut:BIAS:STATe ON; INPut:BIAS:VOLTage:DC 0.1 V INP:ATT:AUTO; INP:BIAS:STAT ON; VOLT:DC 0.1 V (esta lnea realiza la misma programacin del instrumento que la anterior) La sintaxis para los valores numricos, las unidades y sus prefijos es la definida en los apartados 7.2 y 7.3 de la norma IEEE-488.2. Los parmetros numercos pueden ser en cualquier tipo de notacin: entera, decimal o cientfica. Entre los sufijos numercos aceptados estn: MA (106), k o K (103), m o M (10-3), u o U (por : 10-6). Tambin pueden enviarse las palabras MAXimum, MINimum y DEFault. Los parmetros booleanos pueden escribirse como ON y OFF o como 0 y 1. Los instrumentos siempre respondern con 0 o 1. Existen dos grupos de comandos definidos en la norma: comunes y especficos de instrumento. Los comandos comunes son los mismos comandos que se definen como obligatorios en la norma IEEE 488.2. stos sirven para funciones tales como: reinicializacin, autocomprobacin y operaciones de estado. Los comandos especficos de instrumento son los propios que define la norma SCPI. 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 implementados para cumplir la norma SCPI son:
71
*CLS Clear Status Command *ESE Standard Event Status Enable Command
*ESE? *ESR? *IDN? *OPC *OPC? *RST *SRE *SRE? *STB? *TST? *WAI
Standard Event Status Enable Query Standard Event Status Register Query Identification Query Operation Complete Command Operation Complete Query Rest Command Service Request Enable Command Service Request Enable Query Read Status Byte Query Self Test Query Wait-to-Continue Command Para una explicacin de estos comandos vase el apartado 3.5.4.
Los comandos especficos definidos en la norma SCPI se dividen a su vez en dos grupos, los obligatorios y los opcionales. Los nicos bloques que son obligatorios son el de SYSTem y el de STATus. Los comandos especficos definidos en la norma SCPI son los siguientes: - MEASure - CALCulate - CALibration - DIAGnostic - DISPlay - FORMat - INPut - INSTrument - MEMory - MMEMory - OUPut - PROGram - ROUTe - SENSe - SOURce - STATus - SYSTem - TEST - TRACe|DATA - TRIGger - UNIT - VXI
En la norma se estipulan todos los niveles inferiores posibles para cada uno de estos bloques. En un instrumento en particular slo se utilizarn aquellos comandos que tengan una funcin definida. En la figura 5.9 pueden verse los comandos que son funcionales en un multmetro digital
72
Sistemas de instrumentacin
para los bloques de medida y configuracin. Se debe notar que si se enva un comando de medida, por ejemplo:
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 multmetro digital para los bloques de medida y configuracin
MEAS:VOLT:DC? 10, 0.003 el multmetro automticamente realizar una medida y esperar a que se lea su registro de salida. En cambio, con la instruccin: CONF:VOLT:DC 10, 0.003 solo se configurar el instrumento pero la medida no se realizar hasta que se enve una instruccin adecuada, por ejemplo: TRIG:SOUR EXT; READ? en este caso el multmetro esperar a recibir un sincronismo de reloj externo para realizar la medida y ponerla en su registro de salida.
73
Los bloques definidos por la norma son 10; entre corchetes [] se incluyen los bloques que son opcionales: ADIF: define el bloque general en el que se incluyen los dems, asignndole una etiqueta. STD: define la versin de ADIF usada. es un texto libre que contiene comentarios generales sobre los datos. da nombre al bloque de datos, describe de dnde proviene y contiene identificadores como nmero de prueba, fecha y hora de captura, etc. especifica la codificacin de todos los datos numricos del bloque y, opcionalmente, su valor mximo y mnimo o su resolucin. este bloque puede repetirse varias veces y especifica la estructura y el formato de cada bloque de datos. Los datos pueden ser implcitos, y en este este caso se incluirn en el bloque DATA, o explcitos estando definidos en este bloque. Contiene otras caractersticas como son: escala, offset y unidades de medida. especifica el orden dentro del bloque de datos para cada una de las dimensiones implcitas que tenga. Los datos pueden estar ordenados por dimensiones (DIM) o de forma alternada con un dato de cada dimensin (TUPLe). agrupa lgicamente las variables en forma de arrays, superficies o conjuntos arbitrarios. Da nombres a las trazas y puede dar informacin sobre posibles simetras de stas. define relaciones entre los distintos grupos de trazas (TRACe), por ejemplo puede identificar a una dimensin como parte real y a otra como parte imaginaria de un nmero complejo. contiene los datos propiamente dichos en el orden indicado por ORDer y en el nmero indicado por las dimensiones implcitas y su longitud. Normalmente incluye una comprobacin de errores basada en una suma (CSUM)
[REMark]: [IDENtify]:
[ENCode]:
DIMension:
[ORDer]:
[TRACe]:
[VIEW]:
DATA:
El formato est estructurado en bloques; en la figura 5.10 puede verse un ejemplo. Cada nivel jerrquico est definido por un nombre de bloque seguido de un parntesis que incluye a los bloques subordinados. Dentro de cada sub-bloque hay palabras clave seguidas de uno o ms valores numricos. Los valores numricos estn separados por comas. Esta estructura de datos es compatible con lo definido por la norma IEEE 488.2. Todos los carcteres usados son ASCII de 7 bits (ANSI X3.4-1977). Los datos en el bloque DATA pueden ir codificados en otros cdigos distintos de ASCII. La norma especifica 11 tipos distintos de codificacin, desde nmeros enteros en ASCII a bloques de datos en binario con distintas longitudes (8, 16, 32 o 64 bits) pasando por formatos especiales para cadenas de caracteres, tiempo y fecha. El ejemplo de la figura 5.10 es bastante complejo; para mostrar el caso ms simple podemos poner parte de la misma informacin de la siguiente forma:
74
Sistemas de instrumentacin
ADIF = datos1 ( STD (1.0) DIM = amplitud ( TYPE EXP UNIT "V") DATA ( CURV ( VAL 233, -134, ... 389 ) ) )
ADIF = canal1 ( STD (VERSion 1.0) REMARK ( NOTE "array opcional de un mximo de 255 caracteres") IDENtify ( NAME "Ejemplo de formato" DATE 1995-08-22 TIME 13:15:10.55 TEST (NUMBer "AD1","3.1")) ENCode ( NOTE "array opcional de caracteres" FORMat INT16 HRANge 1000 LRANge -1000) DIMension = amplitud ( TYPE EXPLicit SCALe 3.2E-6 OFFSet 1.0E-5 UNITs "V") DIMension = tiempo ( TYPE IMPLicit SCALe 1E-6 SIZE 1024 UNITs "S") ORDer ( BY DIMension) TRACE = respuesta_impulsional ( SYMMetry NONE INDependent (LABel tiempo) DEPendent (LABel amplitud)) DATA ( CURVe ( VALue 233,-134,...389 CSUM 67))) Fig. 5.10 Ejemplo de formato de datos ADIF
La estructura se ha simplificado mucho pero a costa de perder informacin (en este caso la escala temporal y otros datos identificativos), lo que est en contra de la filosofa bsica de la norma, que es el contener los datos en una estructura que sea autosuficiente para reconstruir toda la informacin adquirida por los instrumentos de medida.
Instrumentacin virtual
75
76
Sistemas de instrumentacin
el software puede, sin embargo, llevar un coste asociado mayor que el del instrumento tradicional. Si el usuario no dispone de las herramientas adecuadas de programacin para el desarrollo de la aplicacin, las horas invertidas en la realizacin de los programas encarecern el valor real del instrumento final. Las diferencias entre intrumentos tradicionales y virtuales se pueden resumir en la siguiente tabla:
Instrumentos tradicionales
Definido por el fabricante Funcin especfica, conectividad limitada
Instrumentos virtuales
Definido por el usuario Sistema orientado a la aplicacion con conectividad a redes, perifricos y aplicaciones El software es la clave Bajo coste, reutilizable Abierto, funcionalidad flexible utilizacin de una tecnologa familiar Adaptacin rpida a los cambios tecnolgicos, (1-2 aos de ciclo de vida) El software minimiza los costes de desarrollo y mantenimiento
El hardware es la clave Caro Cerrado, funcionalidad fija Cambios lentos en la tecnologa (5-10 aos de ciclo de vida) Constes de desarrollo y mantenimiento grandes
Tal como se ha visto, un instrumento virtual est formado por tres elementos principales: adquisicin de datos, anlisis y presentacin, tal como muestra la figura 6.1. Junto al gran crecimiento de la microinformtica han ido apareciendo en el mercado diversas herramientas de programacin para el desarrollo de sistemas de instrumentacin virtual, que se centran en alguno o en todos los elementos del sistema. La eleccin del entorno de programacin vendr condicionada por la aplicacin final del usuario.
El software que realiza el instrumento virtual y que se ejecuta sobre el controlador, en este caso el ordenador, ha evolucionado con el tiempo. Los primeros entornos de programacin permitan el control de instrumentos o dispositivos externos al ordenador, un ejemplo es el Basic de la familia HP9000 (la mayor parte de los instrumentos de HP programables mediante el bus IEEE-488 todava incluyen ejemplos de programacin en Basic). Otros fabricantes de interfases para ordenador suministraban, primero, un conjunto de funciones (funciones de nivel 0 o de registro) que se dejaban residentes en memoria y a las que se acceda mediante interrupciones software. Posteriormente suministraban libreras de funciones (funciones de nivel 1) que se podan llamar desde lenguajes de alto nivel, ( C, Basic o Pascal) que ejecutaban las interrupciones software. Estas primeras herramientas facilitaban el control de la interfase de comunicaciones con instrumentos externos y eran independientes del instrumento a controlar. No obstante, stas no incluan utilidades para el anlisis de datos ni la presentacin de los mismos. La creacin de instrumentos virtuales, con
Instrumentacin virtual
77
interfases grficas de usuario, requeran un gran esfuerzo de programacin y adolecan de flexibilidad de adaptacin o modificaciones.
GPIB
VXI
Bus Ordenador
RS-232 Serie
El siguiente paso fue crear libreras de funciones especficas para un determinado instrumento o conjunto de instrumentos de un fabricante. Evitan la necesidad de aprender los comandos o las instrucciones del instrumento por parte del programador. Cada una de estas funciones (de nivel 2) suele hacer uso de una serie ms o menos compleja de funciones de nivel 1 y 0. A este conjunto de funciones se le denomina driver de instrumento y pueden encontrarse en forma de libreras enlazables a un lenguaje de programacin (C, Basic, Pascal), o bien en formato DLL (Dyamic Link Library) para
78
Sistemas de instrumentacin
MS-Windows de manera que se pueden llamar desde cualquier entorno de programacin (figura 6.2).
Al igual que las funciones de nivel 1 y 0, las de nivel 2 siguen abarcando nicamente la adquisicin de datos, bien sea a travs de instrumentos convencionales provistos de interfase GPIB, RS-232 o VXI, o con tarjetas de adquisicin de datos incorporadas al bus del propio ordenador.
No obstante, los mismos fabricantes de software ofrecen entornos programacin propios para el desarrolo de aplicaciones que permiten acceder a estas libreras de una forma mas fcil. Estos entornos ya incluyen herramientas para el anlisis y presentacin de datos ms o menos elaboradas.
El primer grupo lo comprenden aquellos entornos que han sido desarrollados para el control de un instrumento especfico o tarjeta de adquisicin de datos. Permiten, mediante una interfase de mens desplegables, configurar y programar el dispositivo para la adquisicin de una seal y su visualizacin. Un ejemplo de estos entornos es el software DAQ-Ware de National Instruments que ofrece con sus tarjetas de adquisicin datos. Permite configurar el nmero de canales, la ganancia y la frecuencia de muestreo de sus tarjetas y visualizar en pantalla las seales adquiridas as como salvarlas a fichero.
En el segundo grupo estn los entornos de programacin lingsticos. El acceso a las funciones de nivel 2, para la adquisicin de datos, se hace a travs de un terminado lenguaje de programacin, este puede ser estndar (C, BASIC, etc.) o propio del entorno. Adems se dispone de libreras de funciones para el anlisis y la presentacin de datos. Algunos de estos entornos incorporan una interfase grfica de mens desplegables que permite el acceso a estas funciones para facilitar la generacin del programa. Otro parmetro importante es el modo de ejecucin de la aplicacin final. Algunos entornos permiten nicamente la ejecucin de la aplicacin dentro del mismo. Tienen como ventaja las facilidades de depuracin que incluyen y la simplificancin de la interfase con el hardaware del controlador. Sin embargo, la velocidad de ejecucin es mucho menor y requiere el pago, en la mayora de los casos, de una licencia run-time para su distribucin o venta.
LabWindows y LabWindows/CVI (National Instruments): Son entornos de programacin propios en C y Basic, con mens de ayuda para la generacin de cdigo de forma interactiva, para aplicaciones MS-DOS y MS-Windows, respectivamente, de test, medida y control. Incluyen compiladores de ANSI-C, linker, debugger y libreras para adquisicin de datos, anlisis y presentacin. Se pueden incorporar ficheros fuente externos, mdulos objeto y DLL (en la versin MS-Windows). Ambas versiones pueden generar aplicaciones ejecutables fuera del entorno aunque
Instrumentacin virtual
79
en la versin MS-DOS es necesario un compilador C estndar externo al entorno, no suministrado con el paquete. Una caracterstica importante de estos paquetes de programacin es la inclusin de libreras de instrumentos, drivers, dentro del mismo entorno y que el fabricante suministra de forma gratuita para una gran diversidad de fabricantes de instrumentos controlables: IEEE-488, VXI, RS232 y CAMAC.
VisuaLab (IOtech): Es una extensin del entorno Visual Basic para el desarrollo de aplicaciones de adquisicin de datos.
Asyst (Keithley-MetraByte): Entorno de programacin en un lenguaje propio para MSDOS. Aplicaciones de adquisicin de datos y anlisis. Incluye libreras de anlisis y drivers para tarjetas de adquisicin de varios fabricantes. Los programas corren nicamente dentro del entorno.
HPITG II (Hewlett-Packard): Es un entorno de programacin con una interfase grfica que permite mediante mens generar secuencias sencillas de medida y anlisis. Estas pueden grabarse en un fichero y convertirse posteriormente a una secuencia de llamadas de funciones en C para incorporar dentro de la aplicacin final. Incluye nicamente libreras para instrumentos de HewlettPackard, aunque dispone de un instrumento genrico que permite programar cualquier instrumento con interfase IEEE-488.
80
Sistemas de instrumentacin
Los entornos de programacin grficos forman el tercer grupo. Su aparicin en el mercado es ms reciente. El desarrollo de aplicaciones es totalmente diferente. Permiten crear al usuario soluciones completas uniendo iconos de una forma totalmente grfica y segn una estructura jerrquica; vase la figura 6.5. Los bloques son mdulos software preprogramados que aparecen como iconos en la pantalla. Algunos iconos son estndares para cualquier aplicacin, pero otros corresponden a un hardware especfico del sistema de medida. Pulsando sobre cualquier icono se abre una ventana de dilogo que contiene un listado de propiedades para su funcionamiento. Una de las caractersticas ms importantes de la programacin grfica es que se dispone de iconos para crear interfases de usuario muy similares a las de cualquier instrumento convencional. Al igual que los lenguajes de programacin clsicos se dispone de mltiples tipos de datos y estructuras de programacin (bucles, condiciones, E/S, etc.) incluyendo algunos entornos un compilador grfico para aumentar la velocidad de ejecucin.
El ciclo de aprendizaje y programacion se reduce drsticamente al ser entornos que imitan una forma de programacin muy parecida a un diagrama de flujo o bloques. Esta simplificacin en la forma de programacin lleva asociada algunas limitaciones. La velocidad final de la aplicacin ser mucho menor que su versin en lenguaje C y la utilizacin de muchos elementos grficos e iconos requiere grandes cantidades de memoria y potencia de clculo.
Existen en el mercado diversos paquetes de programacin grfica; no todos son iguales y deben hacerse algunas distinciones. Una diferencia bsica es que algunos, como LabView, son entornos que funcionan por s solos y otros, como el Visual DAS de Keithley, son adaptaciones de entornos de programacin de uso comn como el Visual Basic. Otra diferencia importante a considerar a la hora de la adquisicin del paquete de programacin son los drivers para dispositivos, instrumentos, tarjetas de adquisicin, etc.., que incluyen. Algunos paquetes nicamente cubren los del propio fabricante , por lo que obligan prcticamente a utilizar su hardware.
Instrumentacin virtual
81
Uno de los primeros y ms conocido de los entornos de programacin grfica es el LabView (National Instruments), que apareci en el ao 1986. Las primeras versiones funcionaban slo sobre Macintosh, que eran entonces los nicos que disponan de memoria suficiente, 1 Mbyte, y de un sistema operativo avanzado. Actualmente est disponible en versiones Macintosh, PC MS-Windows y para estaciones de trabajo Sun SPARC.
El usuario dispone de una completa gama de libreras de iconos para la manipulacin de datos, control de flujo, interfase de usuario (botones, grficos, mens, etc..), tarjetas de adquisicin de datos del propio fabricante y drivers de la mayora de instrumentos controlables (IEEE-488, VXI, RS232, CAMAC) disponibles en el mercado. Tambin pueden incluirse rutinas en lenguaje C como iconos y llamadas a funciones de libreras externas, por ejemplo DLL de MS-Windows.
El editor grfico incluye un compilador para aumentar la velocidad de la aplicacin. La aplicacin final corre dentro del entorno y es necesario el pago de una licencia run-time para aplicaciones comerciales.
VEE (Hewlett-Packard): Es un entorno de programacin grfica propio que funciona sobre diferentes plataformas: Macintosh, PC (MS-Windows, Windows NT), y estaciones de trabajo HP y SUN. Dispone de libreras para la manipulacin de datos, control de flujo, interfases de usuario y drivers de instrumento controlables de HP (IEEE-488, VXI, RS-232). No dispone, sin embargo, de libreras de drivers para el control de tarjetas de adquisicin. Tambin permite el uso de libreras externas. El editor grfico no incluye compilador y existe una versin run-time para la aplicacin final.
DT VEE (Data Translation): Es un entorno propio, disponible nicamente en la versin PC (MS-Windows). Est orientado a la programacin de sus tarjetas de adquisicin y presentacin de datos. No dispone de drivers para instrumentos controlables.