Adquisición de Datos
Adquisición de Datos
Adquisición de Datos
3.1.- INTRODUCCIÓN
Para llevar a cabo un control eficaz sobre un determinado proceso, se hace necesario
captar una serie de datos para, posteriormente, analizarlos, tratarlos, almacenarlos y llevar a cabo
una presentación clara y eficaz de la evolución de dicho proceso. Generalmente, los datos o
variables que se han de captar tienen un carácter analógico, mientras que su tratamiento,
almacenamiento y análisis son mucho más eficaces cuando se hace digitalmente. Esto implica
una serie de módulos electrónicos que permitan llevar a cabo una transformación de los datos
desde el campo analógico al campo digital, sin que por ello se deban perder aspectos
fundamentales para el proceso que se desea controlar.
Algunos de los elementos que forman el diagrama de bloques del SAD, han sido
estudiados con profundidad en temas anteriores, aunque no está de más ofrecer a continuación
un repaso a sus respectivas funciones.
- S & H (Sample & Hold, Muestreo y Retención): Este circuito es el encargado de tomar la
muestra del canal seleccionado (sample) y mantenerla (hold) durante el tiempo que dura la
conversión. Este circuito será necesario siempre que la señal de entrada sufra variaciones
apreciables durante el tiempo que dura la conversión. Si el ADC posee su propio circuito S &
H, no será necesario añadirlo a su entrada.
El funcionamiento del circuito es bastante sencillo: una vez que se selecciona el canal de
entrada del MUX y se fija la ganancia del AI, el circuito S/H pasa a modo Sample hasta que
adquiere una muestra de la señal, momento en el que pasa al modo Hold, dándose al ADC la
orden de inicio de conversión. Una vez transcurrido el tiempo de conversión el ADC lo indica
mediante la señal fin de conversión, repitiéndose de nuevo todo el proceso anterior, bien con el
mismo canal, bien con otro distinto.
Esta configuración presenta la ventaja de que todos los circuitos S/H de entrada conmutan
simultáneamente a modo Hold, manteniendo el valor de la muestra de cada señal de entrada hasta
que el ADC pueda realizar la conversión, cosa que no era posible en el modelo de muestreo
secuencial.
En este caso se puede decir que cada canal constituye un SAD independiente con todos
los elementos necesarios para realizar una conversión A/D completa, con la salvedad de que al
utilizar, generalmente, un sólo canal digital de salida es necesario incluir un MUX digital.
De este modo, una esquematización de los SAD de más uso en la actualidad sería la
mostrada en la figura 3.6, en la cual podemos observar como el PC/Estación de trabajo está
presente para cualquiera de los sistemas utilizados, convirtiéndose en la herramienta que más nos
facilita la labor de Adquisición y Control sobre el proceso que se esté analizando.
Un porcentaje muy elevado de los SAD instalados hoy en día, se basan en TAD asociadas
a un ordenador monopuesto tipo PC. En un número inferior de aplicaciones, los sistemas
utilizados consisten en arquitecturas abiertas sobre buses como el VME, Multibus o STD. Tanto
los sistemas más simples y económicos como los más complejos, requieren de un análisis de los
siguientes elementos:
- Tipo de ordenador
- Transductores
- Acondicionamiento de la señal
- Hardware de adquisición
- Hardware de análisis (p.ejemplo, procesadores digitales de señal)
- Software (a nivel driver y de aplicación)
En la figura 3.8, podemos observar el diagrama de bloques de una TAD estándar, la cual
incluye los elementos básicos que suelen incorporarse en cualquier tarjeta.
Fig. 3.8.- Diagrama de bloques de una tarjeta de adquisición de datos estándar.
Hagamos a continuación una exposición de los elementos que caracterizan a una TAD
estándar, así como sus posibilidades y limitaciones generales.
La gran mayoría de las TAD incorporan los ADC y DAC, así como las líneas de E/S.
Respecto a las entradas analógicas, la calidad de la señal digitalizada puede venir afectada por
el número de canales, la frecuencia de muestreo, la resolución, el rango de tensión que el ADC
puede cuantificar, la precisión, el ruido y la no linealidad. Las entradas analógicas pueden
conectarse en modo común (single ended) o diferencial. En el primer caso, las entradas están
referenciadas a una masa común y se utilizan cuando las señales son del orden de 1v o mayores
y la distancia entre la fuente de la señal y el hardware de adquisición es pequeña (inferior a 4
metros aproximadamente). En caso contrario se utiliza el modo diferencial, donde cada entrada
tiene su propia referencia y el ruido puede ser eliminado/atenuado gracias a su elevado factor de
rechazo en modo común (CMRR). El rango de tensión de entrada de la TAD puede ser unipolar
(por ejemplo 0-10v) o bipolar (±10v, por ejemplo), siendo recomendable la elección de una
Una vez analizados los aspectos más significativos de las líneas de entrada y de los ADC
de una tarjeta de adquisición de datos, pasemos ahora a ver las consideraciones más relevantes
para los conversores digital-analógicos (DAC) en una Tarjeta de Adquisición de Datos (TAD)
estándar, así como el método de transferencia de datos.
1
El efecto aliasing consiste en la superposición de dos señales, o parte de ellas, en el dominio de la
frecuencia, de forma tal que ninguna de ellas podrá ser recuperada íntegramente sin verse afectada parcial o
totalmente por la otra. Este efecto (no deseado) aparece cuando al muestrear una señal no se respeta el Teorema de
Nyquist: fm2 fs, donde fm es la frecuencia de muestreo y fs la máxima frecuencia de la señal a muestrear.
Las resoluciones usuales en los DAC son de 8, 10, 12 y 16 bits. A diferencia de los ADC,
los DAC pueden adoptar dos tipos de señal analógica: salida en tensión o en corriente. Esta
última resulta más conveniente en entornos con alto nivel de ruido (el margen de salida estándar
es de 4-20 mA). Además de preservar la integridad de la señal a grandes distancias (con menor
ruido por inducción), la salida en corriente no comporta pérdida de señal.
Más allá de los 250-300 Khz hay que tener presente que el ancho de banda del bus del
ordenador puede representar una limitación seria. En tal caso, tenemos dos posibles soluciones.
La primera consistiría en realizar la transferencia de datos a una zona de memoria dedicada, cuya
gestión deberá ser lo más eficiente posible por parte del software de adquisición. La segunda
solución sería hacer uso de las tecnologías más avanzadas en buses de comunicación (PCI, USB,
Además del bus desarrollado en la norma IEEE-488, la adquisición de datos mediante bus
externo, hace uso de otros dos buses: VXI y comunicación serie (RS-232, RS-422 y RS-485, por
ejemplo). El primero de ellos está ganando terreno al GPIB, mientras que el segundo no está tan
extendido en los SAD basados en bus externo.
En 1987 el estándar IEEE 488.2 eliminó las ambigüedades del IEEE 488.1, al definir los
formatos de datos, el protocolo de intercambio de mensajes entre controlador e instrumento, las
secuencias de control y la información de estado, entre otros requerimientos a los que todo
instrumento IEEE 488.2 debe ajustarse. Este bus ha supuesto un avance notable en el campo de
la adquisición de datos por lo que a compatibilidad, fiabilidad y simplicidad de programación se
Obsérvese como para cada uno de los dispositivos hay un elemento distribuidor de señal,
el cual permite que todos los dispositivos puedan acceder a todas las líneas del bus,
independientemente de los demás y de la topología utilizada.
El GPIB viene a ser un bus de ordenador excepto en el sentido de que éste último dispone
de sus tarjetas interconectadas por medio de una placa madre o backplane. En cambio, GPIB
consta de dispositivos interconectados vía cable. Los dispositivos GPIB pueden ser de tres tipos:
- LISTENER (Escucha, receptor): Equipo capaz de recibir datos a través del bus cuando
se le direcciona. Puede haber hasta catorce escuchas activos simultáneamente. Algunos
dispositivos que pueden actuar como listeners son: impresoras, equipos o dispositivos
de visualización, fuentes de alimentación, generadores de señal, etc.
- TALKER (Habla, transmisor): Equipo capaz de transmitir datos a través del bus cuando
se le direcciona. Únicamente puede haber un talker activo en el interface en todo
momento. Algunos dispositivos que pueden actuar como talkers son: voltímetros,
contadores, osciloscopios, analizadores de espectros, etc.
Fig. 3.14.- Conexión mediante GPIB. Detalle de las líneas del bus.
Veamos, por grupos, las características de la líneas que conforman el bus GPIB:
- Líneas de datos (Data lines): Son ocho líneas bidireccionales que se utilizan para
transferir información (control y datos) entre equipos a través del interface. Normalmente se
utiliza un código ASCII de 7 bits, con el octavo bit disponible, si se desea, para la paridad. No
obstante se pueden utilizar otras técnicas para codificar la información sobre estas ocho líneas.
La información transferida incluye los comandos del interface, direcciones y datos, dependiendo
de los equipos (medidas, instrucciones de programación, etc.).
- Líneas de protocolo (Handshake lines): Son tres líneas utilizadas para coordinar el
intercambio de información entre los equipos conectados al bus. Controlan asíncronamente la
transferencia de datos entre un dispositivo fuente (un talker direccionado o un controlador) y un
dispositivo destino (uno o varios listener), utilizando el proceso denominado protocolo de
bloqueo a tres hilos, para garantizar la transferencia integra de los datos entre ambos
dispositivos. Esta técnica de transferencia de datos presenta las siguientes características:
Con todo ello, este protocolo garantiza que los bytes enviados y recibidos estén libres de
errores de transmisión. Las tres líneas de control de protocolo son:
Fig. 3.15.- Cronograma de las señales empleadas en el protocolo de manipulación de datos cuando hay un talker y
varios listeners.
Cuando el talker detecta el nivel alto en la línea NDAC (todos los datos aceptados), retira
del bus el mensaje DAV (línea a nivel alto). Al detectarlo los listeners, ponen a nivel bajo la línea
NDAC (ningún dato aceptado) y a nivel alto la línea NRFD (listos para recibir datos). Para que
el talker detecte la línea NRFD a nivel alto, deben ponerla así todos los listeners, pues el bus
hace una operación AND-cableada con esta señal. Cuando el talker recibe un nivel alto en
NRFD, se inicia nuevamente el proceso.
Para comprender mejor el funcionamiento de las líneas de protocolo, también puede darse
significado a su nivel alto. Así, si NDAC significa a nivel bajo “ningún dato aceptado”, a nivel
- Líneas para control general del bus: Se trata de cinco líneas utilizadas para manejar o
controlar el flujo de información a través del interface. A continuación se hace una breve
descripción de cada una de ellas.
* ATN (Attention)
A través del bus GPIB se envían dos tipos de mensajes:
La línea ATN indica el tipo de mensaje que se está transmitiendo en cada momento;
cuando ATN está a nivel alto (no activa) se están transmitiendo datos al instrumento, mientras
que si ATN está a nivel bajo, lo que se está transmitiendo son mensajes dirigidos al interface
(bus).
Esta línea es activada y desactivada por el controlador del sistema. En la figura 3.16
podemos observar como el mensaje “penetra” más o menos en el dispositivo GPIB (instrumento)
dependiendo del valor que tome la línea ATN.
Una vez detectada la activación de esta línea, el controlador realiza un sondeo (polling)
para determinar cual ha sido el dispositivo que ha solicitado la interrupción y porqué. Al realizar
el sondeo la línea SRQ se desactiva.
1.- Cuando ATN está a nivel bajo (mensaje para la interface), EOI es utilizada por el
controlador para realizar un sondeo paralelo, pidiendo a los dispositivos que han
solicitado servicio que se identifiquen.
2.- Cuando ATN está a nivel alto (mensaje para el instrumento direccionado), la línea
EOI es utilizada por el talker activo (emisor) para indicar que es el último byte del
mensaje de datos. Es el modo de indicar el fin de la transmisión de un bloque de datos.
Direccionamiento
Como se ha comentado anteriormente, los equipos conectados al bus, deben ser capaces
de, en unas ocasiones, transmitir la información (talker), y en otras, recibirla (listener). El
encargado de indicar la función de los instrumentos en cada momento es el controlador
(controller) del sistema a través del direccionamiento.
Todos los dispositivos GPIB tienen al menos una dirección primaria como talker y como
listener, excepto que sean totalmente transparentes para el bus o que sean talk o listen only. El
direccionamiento de equipos es utilizado por el controlador para especificar quien “habla”
(mediante la dirección de un talker) y quien o quienes “escuchan” (mediante la dirección de uno
o varios listeners).
Para codificar una dirección primaria GPIB se utilizan siete bits (1 - 7). El equivalente
decimal de los cinco bits de menor peso determinan la dirección primaria del dispositivo y los
bits sexto y séptimo se emplean para distinguir las direcciones de listeners y/o talker del mismo.
Así cuando el sexto bit es “1” y el séptimo “0”, el dispositivo está siendo seleccionado como
listener (escucha, oyente, receptor); en caso contrario (bit 7 = 1 y bit 6 = 0) el dispositivo se
selecciona como talker (habla, emisor).
Para seleccionar un dispositivo como talker o como listener, ya sea para iniciar un
diálogo, ya para transmitirle a continuación un mandato selectivo, se emplean los mensajes de
dirección.
Todos los dispositivos que tienen la función que les permite actuar de talker tienen una
dirección de talker distinta. Todos los que tienen la función de listener tienen su propia dirección
de listener. Los dispositivos que tienen las dos funciones, tienen la misma dirección en ambas
(se distinguen por los bits sexto y séptimo).
* UNL (Unlisten)
La dirección de oyente más alta de las posibles, 11111, no corresponde a ningún
dispositivo, y es interpretada por todos los dispositivos, que estaban seleccionados como oyentes,
como una orden para que dejen de atender a los mensajes transmitidos por el bus.
* UNT (Untalk)
La dirección de talker más alta de las posibles, 11111, es interpretada por los dispositivos
capaces de hablar, como una orden para dejar de transmitir mensajes.
Esto sería una muestra de los mensajes que pueden circular por el bus ya que una relación
completa de estos sería muy extensa, siendo conveniente, si se desea conocerla, remitirse a la
norma IEEE 488.2 donde se desarrolla pormenorizadamente cada uno de ellos.
Hay varias firmas que fabrican chips que están especialmente diseñados para trabajar
como interface con el bus GPIB (norma IEEE 488.2) y que permiten establecer de manera fácil
y eficaz la comunicación entre el bus y el instrumento o dispositivo propiamente dicho. Esto
evita diseños complicados y simplifica considerablemente la programación.
A fin de combinar el IEEE 488.2, el lenguaje de sistemas para test y medida (TMSL) de
Hewlett-Packard y el formato de intercambio de datos analógicos (ADIF) de Tektronix, en 1990
se elaboró el último gran estándar de la industria de la instrumentación, el SCPI (Standard
Commands for Programmable Instruments).
Una alternativa interesante al GPIB, como gran estándar entre los sistemas de
instrumentación, es su coetáneo (al igual que el IEEE 488.2 también fue presentado oficialmente
en 1987) conocido por VXI.
Básicamente, la interface VXI se presenta como una plataforma que a priori combina lo
mejor de los sistemas basados en tarjetas de adquisición de datos (velocidad) y de los sistemas
GPIB (facilidad de uso, entre otros) incorporando nuevos alicientes tales como menor coste que
GPIB, menor tamaño, mayor precisión en la temporización y sincronización, utilización de un
backplane (placa madre) basado en el bus de Motorola VME (cuyos 32 bits proporcionan mayor
ancho de banda que GPIB y TAD sobre bus PC/AT), así como mayor facilidad de programación.
La definición del bus VXI fue realizada a partir de la creación de un consorcio que integra
a 10 de los fabricantes líderes en instrumentación (National Instruments, Tektronix y Hewlett-
Packard, entre otros).
Si bien las aplicaciones impulsoras del VXI han sido el test y la medida (mediante
instrumentos como voltímetros o generadores de funciones), los entornos de adquisición de datos
y control aún han de experimentar la consagración definitiva. La clara competencia del bus GPIB
no ha permitido al VXI hacer valer de forma clara sus ventajas, a pesar de posibilitar una
migración sin traumas desde el estándar GPIB. La arquitectura multiprocesador, modular y
fácilmente reconfigurable, permite etiquetar al VXI como un super instrumento programable con
herramientas estilo GPIB, con velocidades de transferencia elevadas y capacidad de memoria
compartida, de forma que facilita la adquisición y procesado de múltiples canales en tiempo real.
El ordenador en este caso, estará dotado de una placa a modo de interface que permitirá
comunicarse con el rack que contiene las tarjetas VXI para seleccionar un instrumento, asignarle
su función (emisor, receptor) o simplemente, conocer su estado.
Al igual que el GPIB, los diferentes protocolos de comunicación serie (RS-232, RS-422
y RS-485, por ejemplo) definen un número de líneas para datos, protocolo (handshaking) y
gestión de flujo de información.
Por otra parte, deben concretarse a priori las especificaciones que demanda la aplicación,
las ampliaciones presumibles que deberá atender el sistema a corto y medio plazo, el nivel de
integración que puede haber con otros equipos ya instalados y el perfil del operador previsto para
el sistema.
Desde las aplicaciones más simples, usualmente resueltas mediante TAD conectadas
directamente al bus del ordenador (equipos fuertemente acoplados) hasta las aplicaciones basadas
en instrumentos programables (sistemas distribuidos) tipo GPIB, VXI o serie, merecen un
análisis riguroso que redundará en un ahorro económico final a partir de soluciones ajustadas a
las necesidades reales.
En cualquier caso, cabe plantearse desde un principio los grados de libertad existentes
en la especificación del ordenador, del hardware de adquisición y del software, a fin de afrontar
las aplicaciones presentes y futuras con exactitud y rigor, pero sin sobredimensionar
innecesariamente el SAD.
Igualmente, deben concretarse o prever el número y tipo de señales de entrada que vayan
a ser objeto, en su caso de medida, así como la posible necesidad de acondicionamiento de señal,
el número de canales de E/S digitales necesarios para el conjunto de aplicaciones, la posibilidad
de incorporar slots de expansión y la velocidad de proceso, entre otros aspectos. En cualquier
caso, no resulta extraño que la solución óptima en la elección de un SAD cuyos requerimientos
no son diáfanos se haga «por aproximaciones sucesivas», realizando un refinamiento progresivo
de las partes del equipo a medida que las aplicaciones van acotando sus requerimientos. En tal
Son varios los fabricantes de TAD y muchos los modelos de tarjetas que ofrece cada uno.
Así, entre los que específicamente se dedican a la fabricación de TAD o éstas son su principal
campo industrial se encontrarían National Instruments, Intelligent Instrumentation, Iotech, Data
Translation y Advantech. Todos estos fabricantes ofrecen tarjetas con enormes posibilidades y
muy sofisticadas, así como aquellas que siendo más simples cubren un vasto campo para
aplicaciones de laboratorio y enseñanza. En cualquier caso, algunos de los aspectos que pueden
servirnos para clasificar una TAD o valorar sus posibilidades serían:
- Tipo de bus de ordenador para el que está diseñada (XT, AT, EISA, NuBUS, PCI, etc.).
- Número de canales analógicos de entrada (modo común y diferencial) y de salida.
- Número de canales digitales de entrada y de salida.
- Velocidad de muestreo (global o por canal).
- Resolución de los DAC/ADC.
- Rango dinámico para los ADC.
- Ganancia variable para los amplificadores de entrada.
- Contadores y temporizadores.
- Buses auxiliares para sincronización con otras TAD.
- Programación a bajo y/o alto nivel.
- Incorporación de DSP (Procesador de señales digitales).
- Otros circuitos para aplicaciones específicas (ASIC) que faciliten aspectos de uso y
explotación.
- Consumo.
- Entorno de programación (Windows, Mac, Linux, etc.).
- Etcétera.
Como el simple hecho de analizar una TAD de cada uno de los fabricantes supondría
salirse de la idea que este tema pretende ofrecer, se ha elegido para estudiar como modelo de
tarjeta de adquisición de datos la denominada Lab-PC+ del fabricante National Instruments.
Haciendo una descripción de carácter general, podemos decir que la TAD Lab-PC+ es
una tarjeta de bajo costo y multifunción con I/O analógicas, digitales y temporizadores para PC.
Tiene un ADC de 12 bits con 8 entradas analógicas configurables como 8 entradas en modo
común o 4 entradas diferenciales, dos DAC de 12 bits con salida en tensión, 24 líneas de
entrada/salida digital compatibles TTL, y tres canales a disposición del usuario que pueden ser
En cuanto a las aplicaciones de esta tarjeta, se puede decir que la Lab-PC+ es ideal para
trabajar en laboratorio y en entornos industriales y académicos. La entrada analógica multicanal
es muy útil en análisis de señal, registro de datos, medida de temperatura y medida de tensiones
continuas. Por otro lado, los canales de salida analógica pueden generar señales de estímulo
experimentales, señales para control de máquinas y procesos, además de actuar como generador
de funciones. Las 24 líneas de I/O compatibles TTL, pueden utilizarse para la conmutación de
dispositivos externos tales como transistores y relés de estado sólido, para lectura del estado de
circuitos digitales externos y para generar interrupciones. Los tres canales temporizador/contador
se pueden usar para sincronizar eventos, generar pulsos y medir frecuencia y tiempo. Todo este
cúmulo de posibilidades permite decir que un PC equipado con la TAD Lab-PC+ es una
plataforma versátil con buena relación precio/prestaciones para test de laboratorio, medida y
control.
La figura 3.18 muestra el diagrama de bloques de los elementos que forma la Lab-PC+.
Para estudiar los distintos elementos que forman esta tarjeta se ha dividido en 5 partes atendiendo
a su funcionalidad:
Para interconectar los diferentes elementos, la tarjeta dispone de dos buses internos, uno
de datos y otro de control. Pasemos a continuación a realizar un análisis más detallado de cada
una de las partes en las que se ha estructurado el estudio de la tarjeta.
Los circuitos que forman este módulo se encargan de gestionar la conexión de la Lab-PC+
con los buses del PC (datos, direcciones y control) y está formado por los siguientes circuitos:
- Latches y decodificador de direcciones.
- Buffer de datos.
- Circuitos de temporización.
- Circuito para control de interrupciones.
El circuito de direcciones monitoriza las líneas de dirección SA5 a SA9 del PC para
generar la señal de selección de tarjeta; las líneas SA0 a SA4 junto con las señales de
temporización se utilizan para generar las señales de selección y lectura/escritura de los distintos
registros de la tarjeta.
Algunas de las causas por las que la tarjeta realiza una petición de interrupción son:
El circuito de control DMA genera una petición de servicio DMA si el resultado de una
conversión A/D está disponible en la memoria FIFO. La tarjeta Lab-PC+ soporta transferencias
DMA de 8 bits. Los canales DMA 1, 2 y 3 del PC están disponibles para estas transferencias,
viniendo preseleccionado el 3. Igual que para las interrupciones, el canal DMA puede cambiarse
mediante un jumper.
Como puede observarse en la figura 3.18, este módulo es fundamentalmente una cadena
de medida: multiplexores analógicos, amplificador de instrumentación de ganancia programable,
S/H, conversor A/D y memoria. Todos estos elementos irán sincronizados convenientemente,
de modo que la adquisición se lleve a cabo en los términos de máxima precisión y rigor.
Analicemos las principales características de los circuitos que forman la cadena:
La FIFO genera una señal para indicar que contiene información y el estado de
esta señal puede conocerse consultando un registro interno de la tarjeta.
La Lab-PC+ proporciona dos canales analógicos de salida basados en dos DAC de 12 bits
(DAC 813 de Burr-Brown), tal como puede observarse en el diagrama general de la tarjeta
(figura 3.18).
Cada DAC genera una tensión analógica de salida proporcional a la tensión VREF y al
código digital aplicado en su entrada. El código digital de entrada de cada conversor se carga en
cuatro registros (DAC0L, DAC0H, DAC1L, DAC1H) y estos pueden ser actualizados de varios
modos: sincronizados con señales internas, externas o por simple carga de nuevos datos.
Las tensiones de salida en cada canal analógico pueden ser bipolares (±5v) y unipolares
(0-10v), eligiéndose el margen deseado mediante jumpers.
El módulo para I/O digital se basa en el circuito integrado 8255 de Intel. Este chip es un
PPI (Programmable Peripheral Interface) de propósito general que entre otras cosas, posee 24
pins de I/O digitales programables.
Además, este versátil circuito es completamente compatible TTL, posee unas excelentes
características para temporización y tiene la posibilidad de hacer set/reset sobre un bit
directamente. Todo ello hace del 8255 uno de los interfaces más utilizados en múltiples
aplicaciones de electrónica.
El conector que pone en contacto a la Lab-PC+ con el mundo exterior y que permite la
conexión con los elementos sensores, actuadores u otros circuitos externos, está dotado de 50
conexiones y en él aparecen tanto las entradas y salidas citadas anteriormente (analógicas y
digitales) como sus respectivas masas. Además cuenta con entradas de disparo, de sincronismo,
etc.
Este método de programación tiene la ventaja de que permite utilizar todos los
recursos hardware de la tarjeta según creamos conveniente, disponiendo por tanto de una
gran flexibilidad a la hora de realizar nuestros programas. Se puede decir por tanto, que
este método permite obtener el máximo rendimiento de la tarjeta. Por otro lado, presenta
el inconveniente de que para realizar la programación, es imprescindible tener un perfecto
dominio del hardware de la tarjeta y de su funcionamiento, ya que cada registro tiene
asignada una dirección I/O a partir de la dirección base de la tarjeta, que por defecto es
la 260H. Por tanto, los registros están mapeados como puertos de I/O y en los
compiladores de C habrá que utilizar funciones del tipo inp(), outp(), inpw(), outpw(),
etc.
Por lo que respecta a las soluciones basadas en PC (un elevado porcentaje del total), si
bien un tanto por ciento elevado del software de adquisición es únicamente compatible con los
sistemas operativos de la familia Windows, la elección final del mismo puede limitar de
antemano las prestaciones del SAD, fundamentalmente en sus posibilidades multitarea, en la
conexión con otras aplicaciones y en la proximidad que proporcione la interface gráfica de
usuario (GUI), aspectos cada vez más decisivos tanto en el campo de la automatización industrial
como en el contexto de la investigación.
Los paquetes a medida permiten generar aplicaciones de adquisición de datos y/o control
de instrumentación mediante entornos de programación relativamente cómodos (Visual Basic,
Visual C++, etc.), aprovechando de forma más eficiente la potencia de una configuración
hardware concreta, a la vez que permite adaptarse plenamente a las características de la
aplicación, a costa de una mayor exigencia en el nivel del personal encargado de desarrollar
(programar) el sistema.
En cualquier caso, en la elección del software de aplicación conviene tener presente que
éste debe incluir todos los componentes necesarios para diseñar y desarrollar las aplicaciones,
debe soportar plenamente el hardware del sistema, así como permitir crecer la aplicación a
medida que las necesidades lo requieran, respetando la operación en tiempo real, en el caso
SCADA y, finalmente, proporcionar una interface de usuario que se ajuste al tipo de personal
que deberá operar el SAD.
Fig. 3.19.- Arquitectura del software para la instrumentación virtual y la adquisición de datos de National Instruments.
Los elementos básicos de cualquier aplicación gráfica creada con DT VEE son los iconos,
que representan elementos de entrada, salida, análisis, visualización, etc., y que permiten crear
aplicaciones para adquirir, analizar, presentar y compartir datos. En la figura 3.20 podemos
observar lo que podría ser un simple ejemplo para adquisición de datos mediante el software DT
VEE.
La idea del software DT VEE está basada en un tiempo de aprendizaje nulo, y aunque
ésta idea pueda resultar ambiciosa, en muchos aspectos lo consigue ya que el desarrollo de
cualquier programa sigue un procedimiento natural: de donde se adquieren los datos, a través de
qué, por medio de qué, como se analizan, sobre qué se representan. Esta orientación del software
unido al hecho de utilizar un lenguaje de programación gráfico, permite al usuario una total
concentración en el proceso, al contrario que el software basado en lenguajes tradicionales, que
requiere también la atención al texto del programa.
Fig. 3.21.- Estructura y vínculos de los distintos niveles que forman el software de programación DT VEE.
Una vez hecha esta pequeña incursión en la estructura del software de adquisición y
presentación DT VEE, volvamos al análisis general de lo que sería un programa hecho con este
lenguaje visual.
Cualquier función o icono que se necesite, viene (su nombre o etiqueta) incluido en el
menú principal y al elegirlo mediante el ratón aparece en la zona de trabajo. Las etiquetas de los
iconos pueden ser cambiadas si se desean. Cada icono consta de una serie de conectores
repartidos a su alrededor y cuya función depende del lugar que ocupen (figura 3.22). Así, los
conectores situados a los lados permiten establecer el sentido del flujo de los datos y los situados
en la parte superior e inferior definen la secuencia de operaciones. En el ejemplo mostrado en
la figura 3.22 (izqda.), el generador de funciones sólo tiene un terminal para el flujo de datos
situado a su derecha y que, obviamente, será de salida. Si dicho generador hubiese de ser incluido
en un organigrama que definiese la secuencia de operaciones en el sistema, utilizaríamos los
terminales superior e inferior para vincularlo con el elemento anterior y posterior de dicho
organigrama.
Fig. 3.22.- Un objeto puede ser un simple icono que lo represente (izqda.) o una ventana que permita definir sus
parámetros (dcha.).
Hay objetos (iconos) cuyos parámetros pueden ser modificados por el usuario. En este
caso, el icono puede ser editado como una ventana que muestra todos los detalles y parámetros
que pueden ser alterados. En la figura 3.22 (dcha.) se puede observar como la edición del
generador de funciones permite seleccionar el tipo de función, la frecuencia, la amplitud, etc.,
es decir, todos los parámetros que caracterizan a un instrumento de estas características de
cualquier laboratorio en el mundo real.