Вы находитесь на странице: 1из 120

Apuntes

del curso



Instrumentacin Virtual




Dr. Gerardo Trujillo Schiaffino





Instituto Tecnolgico de Chihuahua







Maestra en Ciencias
en Ingeniera Electrnica




Enero 2006.




Instrumentacin Virtual


Objetivo: Proporcionar al alumno conocimientos terico-prcticos en los
paradigmas de la instrumentacin virtual, la programacin grfica y sus
aplicaciones en adquisicin de datos y control de instrumentos.


Contenido Temtico:

1. Fundamentos de Instrumentacin Virtual.
1.1 Introduccin a la instrumentacin virtual.
1.2 Evolucin de la instrumentacin
1.3 Instrumentos tradicionales
1.4 Instrumentos virtuales
1.5 Comparacin entre instrumentos tradicionales y virtuales
1.6 Herramientas de programacin.

2. Programacin Grfica.
2.1 Ambiente de programacin grafica (LabVIEW)
2.2 Paradigma de programacin por flujo de datos
2.3 Sub-instrumentos Virtuales
2.4 Estructuras de programacin
2.5 Arreglos
2.6 Clusters
2.7 Graficas
2.8 Cadenas de caracteres.
2.9 Archivos
2.10 Arquitecturas de Programacin

3. Sistemas de Adquisicin de Datos.
3.1 Introduccin a los sistemas de adquisicin de datos.
3.2 Transductores
3.3 Acondicionadores de seal.
3.4 Tarjetas de adquisicin de datos
3.5 Funciones de software para adquisicin de datos.

4. Control de Instrumentos
4.1 Control de instrumentos serie.
4.2 Funciones de software para manejo de puerto serie
4.3 Control de instrumentos GPIB
4.4 Funciones de software para interfase GPIB



Bibliografa:

1. Learning with LabVIEW 7 Express
Robert H. Bishop, Pearson Prentice Hall; (2003), ISBN: 0131176056

2. LabVIEW GUI: Essential Techniques
David J. Ritter, McGraw-Hill Professional; (2001), ISBN: 0071364935

3. A Software Engineering Approach to LabVIEW
Jon Conway, Prentice Hall PTR; (2003), ISBN: 0130093653

4. Applications in LabVIEW
by Leonard Sokoloff, Prentice Hall; (2003), ISBN: 0130161942

5. Practical Data Acquisition for Instrumentation and Control Systems
John Park, Steve Mackay, Newnes; (2003), ISBN: 0750657960



























Instrumentacin Virtual Fundamentos de Instrumentacin Virtual
Instituto Tecnolgico de Chihuahua 4 Dr. Gerardo Trujillo Schiaffino
CAPITULO I
FUNDAMENTOS DE INSTRUMENTACIN VIRTUAL.

1.1. INTRODUCCION A LA INSTRUMENTACIN VIRTUAL.

Como resultado de la vertiginosa evolucin que los sistemas computacionales han
tenido en los ltimos aos, la instrumentacin en general y la instrumentacin industrial muy
en particular han sufrido una notable transformacin, para pasar de los tradicionales
medidores de aguja a modernos sistemas computarizados con funciones y caractersticas que
hace 50 aos hubieran sido inimaginables.

Que pensara, por ejemplo, un instrumentista de los aos 50s que recorra toda la
lnea de produccin tomando lecturas de las cartulas de los medidores para llenar a mano
interminables hojas de registro y generar de ah los reportes y las grficas de control de
procesos, si se encontrara frente a una moderna sala de instrumentos donde una
computadora monitorea y controla simultneamente todas las variables del proceso de
produccin, generando automticamente reportes y registro de eventos.

La instrumentacin por computadora es hoy en da una prctica cotidiana en la
industria moderna. Esto ha dado lugar al nacimiento de nuevos conceptos como el de la
instrumentacin virtual, donde se integran diversas tecnologas computacionales con
instrumentos programables, tarjetas digitalizadoras y sofisticado software para el desarrollo
de interfase de usuario, operando todo en conjunto bajo el esquema de un instrumento nico
especializado.


1.2. EVOLUCIN DE LA INSTRUMENTACIN.

Para comprender mejor el concepto de la instrumentacin virtual, es importante
conocer la evolucin que ha sufrido la instrumentacin. En los ltimos aos, los instrumentos
han evolucionado a la par de los grandes avances de la ciencia y la tecnologa.

Esta evolucin ha sido principalmente en trminos de flexibilidad y grado en que los
instrumentos se integran a los sistemas computacionales.

La primera generacin de instrumentos fueron instrumentos autnomos, controlados
manualmente desde sus paneles frontales. Las mediciones efectuadas en estos instrumentos
tenan que ser registradas a mano y el usuarios carecan de flexibilidad en cuanto al diseo
de la interface, capacidad de medicin, capacidades computacionales.

Con la invencin del GPIB (Bus de Interfase de Propsito General) y de los
instrumentos digitales programables, los usuarios tuvieron la opcin de controlar los
instrumentos de ambas maneras: manualmente y por programa desde una computadora.
Cada instrumento GPIB fue diseado para un tipo especfico de mediciones, y los usuarios
reunan y apilaban una serie de instrumentos para crear un sistema de medicin completo.

Hoy en da, los instrumentos son una combinacin de computadoras personales o
estaciones de trabajo, software grfico, instrumentos digitales programables, y tarjetas
digitalizadoras de propsito general. Estos instrumentos modernos pueden optimizar el
rendimiento utilizando tcnicas modernas como la programacin de registros, memoria
Instrumentacin Virtual Fundamentos de Instrumentacin Virtual
Instituto Tecnolgico de Chihuahua 5 Dr. Gerardo Trujillo Schiaffino
compartida, y el poder computacional de una PC. Estos instrumentos, tambin incluyen
direccionamiento de seales sofisticadas al igual que opciones programables de disparo. Se
puede personalizar el interfase de usuario con software de alto nivel. Utilizando este software
con digitalizadores de propsito general y tecnologa de Procesamiento Digital de Seales
(DSP), estos instrumentos se convierten en herramientas muy verstiles debido a que son
fcilmente reconfigurables. Se puede redireccionar rpidamente los datos adquiridos para que
sean utilizados por un gran nmero de programas de aplicacin para el anlisis,
almacenamiento o la generacin de reportes.

El trmino que describe esta nueva generacin de instrumentos basados en
computadora es Instrumentacin Virtual. Con los instrumentos virtuales, se puede utilizar una
gran variedad de hardware de instrumentacin, y personalizar completamente la
funcionalidad del instrumento y su interfase de usuario a travs de software de alto nivel.

La figura 1.1 nos muestra una representacin de la evolucin que ha sufrido la
instrumentacin.

Fig. 1.1 Evolucin de la instrumentacin.


1.3. INSTRUMENTOS TRADICIONALES.

En el contexto de la electrnica, un instrumento tradicional es un equipo autnomo al
cual se conecta una o varias seales de entrada y para obtener informacin de que refleje un
anlisis de alguna o algunas caractersticas de las seales de entradas aplicadas.

La funcionalidad de un instrumento tradicional se puede categorizar en tres elementos:
adquisicin de datos, anlisis de datos y presentacin de datos, tal como se muestra en la
figura 1.2.

.
Instrumentacin Virtual Fundamentos de Instrumentacin Virtual
Instituto Tecnolgico de Chihuahua 6 Dr. Gerardo Trujillo Schiaffino
Fig. 1.2. a) Instrumento tradicional, b) Elementos funcionales

Histricamente, un instrumento tradicional contiene todos estos elementos en un solo
gabinete


1.4. INSTRUMENTOS VIRTUALES.

Un instrumento virtual tambin contiene estos tres elementos funcionales (adquisicin,
anlisis y presentacin de datos). Sin embargo, estos elementos no necesariamente residen
en el mismo gabinete, lo cual da pie a la virtualizacin del instrumento

En este orden de ideas, podemos definir un instrumento virtual como:

Conjunto de software y/o hardware adicionando a una computadora, operando bajo el
esquema de un instrumento nico especializado.

Fig. 1.3. Instrumento Virtual
Instrumentacin Virtual Fundamentos de Instrumentacin Virtual
Instituto Tecnolgico de Chihuahua 7 Dr. Gerardo Trujillo Schiaffino
Es importante hacer notar el trmino y/o utilizado en la definicin, el cual nos indica
que el hardware puede o no estar presente en, es decir, un instrumento virtual puede estar
formado tan solo por la computadora y el software; esto puede clarificarse mejor a travs de
algunos ejemplos.


1.4.1. Ejemplos de Instrumentos Virtuales

Cuando se le pide que describan un instrumento virtual, algunas personas citan el
ejemplo de una computadora controlando un instrumento a travs de RS232 o GPIB, con un
panel frontal grfico en la pantalla de la computadora para controlar el instrumento. Este
instrumento puede ser operado como unidad independiente a travs de su panel frontal fsico,
o bien, a travs de la pantalla de la computadora donde esta representado el mismo panel
frontal fsico del instrumento remoto, con lo que se puede sentir como si se manipulara
directamente el instrumento. Esto resulta en la sensacin de que se est operando
virtualmente el instrumento original, pero con la ventaja de hacerlo desde una localizacin
remota.

Otros describen a un instrumento virtual como un panel frontal grfico en una
computadora, pero con una tarjeta de adquisicin de datos o un mdulo VXI trabajando como
si se tratara de un instrumento GPIB externo. En este caso, el hardware del instrumento no
tiene un panel frontal por si solo, por lo que no puede usarse como un instrumento
independiente. La computadora, de esta manera, es un componente necesario para el
instrumento, y el panel frontal de la computadora es el nico medio de operar el instrumento.

Algunos otros describen un instrumento virtual como un panel frontal grfico sin
instrumento fsico conectado a la computadora. En este caso la computadora adquiere y
analiza datos de archivos o de otras computadoras en una red, o bien que la misma
computadora simula un proceso fsico o evento, calculando matemticamente los datos como
si se tratara de una adquisicin en el mundo real.

Fig. 1.4 a) Computadora controlando un instrumento programable, b) Panel frontal grfico en la computadora
manejando un mdulo VXI, c) Panel grfico sin instrumento fsico conectado

Instrumentacin Virtual Fundamentos de Instrumentacin Virtual
Instituto Tecnolgico de Chihuahua 8 Dr. Gerardo Trujillo Schiaffino
Para los dos primeros ejemplos, el instrumento virtual est formado por la
computadora, el hardware de adquisicin y el software de anlisis y presentacin, como se
representa en la figura 1.5.

Fig. 1.5. Representacin funcional de un instrumento virtual con hardware y software

Sin embargo, en el ltimo ejemplo, el instrumento virtual est formado por la
computadora y el software de adquisicin, anlisis y presentacin, representado en la figura
1.6.

Fig. 1.6. Representacin funcional de un instrumento virtual con software solamente.

Para ambos casos la computadora es la base indispensable del instrumento virtual, al
igual que el software, quedando como elemento opcional el hardware. Sin embargo, la mayor
parte de los instrumentos virtuales utilizados en los laboratorios y en la industria contienen
algn tipo de hardware de adquisicin y/o control, por lo que normalmente el anlisis de los
instrumentos virtuales se hace base a este tipo de arquitecturas.


1.4.2. Arquitecturas Bsicas.

Los instrumentos virtuales pueden presentar muy diversos tipo de arquitecturas para
su construccin, las cuales pueden variar dependiendo de si se trata de un instrumento con la
combinacin hardware-software o solamente software, dependiendo tambin de la
plataforma de computacin que se seleccione (PC, Mac, Sun, etc.), o bien, dependiendo del
ambiente de programacin para el software (lenguajes tradicionales, programacin grfica,
etc.). Sin embargo, considerando el caso del instrumento hardware-software, por ser el ms
representativo, independientemente de la plataforma y el ambiente de programacin elegido
se puede categorizar la arquitectura de acuerdo al hardware de adquisicin y/o control que se
utilice.

Las principales arquitecturas de hardware utilizadas en la instrumentacin virtual son:
bus de interfase de propsito general (GPIB), extensin del bus VME para instrumentacin
Instrumentacin Virtual Fundamentos de Instrumentacin Virtual
Instituto Tecnolgico de Chihuahua 9 Dr. Gerardo Trujillo Schiaffino
(VXI), comunicacin serie (RS232, RS485), y tarjetas de adquisicin de datos (DAQ). Un
detalle importante es que el uso de estas arquitecturas no es excluyente, es decir, un
instrumento virtual puede estar formado por una o varias de estas arquitecturas, lo que le da
una versatilidad y flexibilidad que difcilmente podra tener un instrumento tradicional.

La figura 1.7 nos muestra estas arquitecturas bsicas de hardware. En un caso
extremo, de ser necesario, un instrumento virtual puede incluir todas estas arquitecturas
juntas, trabajando coordinadas por el software como si se tratara de un solo instrumento.




Fig. 1.7. Plataformas bsicas de la instrumentacin virtual


1.4.3. Aplicaciones.

Las principales reas en que se aplica la Instrumentacin Virtual son:

a) Sistemas de Automatizacin Industrial
Automatizacin de Procesos
Control Supervisorio
Interfaces Hombre - Mquina
Adquisicin de Datos
Instrumentacin Virtual Fundamentos de Instrumentacin Virtual
Instituto Tecnolgico de Chihuahua 10 Dr. Gerardo Trujillo Schiaffino
Control Estadstico de Procesos
Automatizacin de Laboratorios
Control de Maquinaria
Visin por Computadora

b) Sistemas de Prueba y Medicin
Equipos de Prueba Automtica
Inspeccin Automtica
Prueba Electrnica
Prueba de Vibracin
Prueba Acstica
Monitoreo y Control en Tiempo Real


1.5. INSTRUMENTOS TRADICIONALES VS. INSTRUMENTOS VIRTUALES.

Histricamente, en la instrumentacin ha existido un enorme conflicto entre la rigidez
de los instrumentos definidos por el vendedor y la flexibilidad y funcionalidad de los
instrumentos definidos por el usuario. Una comparacin entre los instrumentos tradicionales y
los instrumentos virtuales se presenta en la tabla 1.1.

Tabla 1.1 Comparacin entre un instrumento virtual y un instrumento tradicional.

INSTRUMENTOS TRADICIONALES INSTRUMENTOS VIRTUALES
Definidos por el vendedor. Definido por el usuario.
Funciones especficas, independiente,
Conectividad limitada.
Sistema orientado a la aplicacin,
conectividad a redes de trabajo,
perifricos, y aplicaciones.
Hardware es la clave. Software es la clave.
Costoso. Barato, reutilisable.
Cerrado, funcionalidad fija. Abierto, funcionalidad flexible, escalable
con tecnologa computacional de uso
comn.
Lento avance tecnolgico.
(ciclo de vida 5 - 10 aos)
Rpido avance tecnolgico.
(ciclo de vida 1-2 aos)
Alto costo de mantenimiento y desarrollo. Mnimo costo de mantenimiento y
desarrollo.


1.6. HERRAMIENTAS DE PROGRAMACIN

En la Instrumentacin Virtual es posible manejar un sinnmero de opciones de
programacin para el desarrollo del software, estas opciones incluyen desde la ms bsica
programacin a bajo nivel (lenguaje ensamblador), hasta los ms sofisticados ambientes de
programacin de alto nivel. Estos ltimos se pueden clasificar en dos grandes grupos: la
programacin tradicional (secuencial o estructurada) representada por ambientes de
desarrollo como BASIC, Pascal, C, C++, o hasta LabWindows/CVI; y la moderna
programacin grfica representada por ambientes como LabVIEW, HPVEE o Gnesis.


Instrumentacin Virtual Fundamentos de Instrumentacin Virtual
Instituto Tecnolgico de Chihuahua 11 Dr. Gerardo Trujillo Schiaffino
1.6.1. Programacin Tradicional

La programacin tradicional de alto nivel se refiere a los lenguajes tradicionalmente
utilizados para el desarrollo de software, estos incluyen los lenguajes secuenciales (como
Basic) y los lenguajes estructurados (como Pascal o C), existiendo para cada uno de ellos un
sinnmero de ambientes de desarrollo de diversos proveedores. Sin embargo, aunque
existen libreras especializadas con funciones de instrumentacin virtual para la mayora de
estos ambientes, resulta ms prctico y conveniente utilizar alguno de los ambientes de
desarrollo especializados para instrumentacin virtual.

Un excelente ejemplo de programacin para instrumentacin virtual utilizando
lenguajes tradicionales es LabWindows/CVI de National Instruments.

Lab Windows/CVI es un ambiente de desarrollo de software interactivo para construir
sistemas de instrumentacin utilizando el estndar de programacin ANSI C. El objetivo de
este ambiente es desarrollar las aplicaciones fcil y rpidamente.

LabWindows/CVI combina el poder y la flexibilidad del lenguaje de programacin C
con herramientas y libreras de software para instrumentos especficos. Estas libreras
incluyen GPIB, RS-232, VXI, DAQ, y anlisis. La figura 1.8 muestra el ejemplo de la
presentacin de un programa fuente desarrollado en LabWindows/CVI.

Fig. 1.8. Programa fuente desarrollado en Lab Windows/CVI


LabWindows/CVI simplifica el diseo de interfaces de usuario, hacindolas amigables
y fciles de disear. En ellas se pueden incluir gran variedad de controles (entradas de datos)
o indicadores (salidas de datos), tales como perillas, botones, interruptores, medidores,
Instrumentacin Virtual Fundamentos de Instrumentacin Virtual
Instituto Tecnolgico de Chihuahua 12 Dr. Gerardo Trujillo Schiaffino
grficas, etc., por lo que el resultado final es un programa de aplicacin verstil, flexible y
poderoso.

La figura 1.9 muestra un interfase de usuario desarrollado en este ambiente.


Fig. 1.9. Interface de Usuario de un Programa en Lab Windows/CVI.


1.6.2. Programacin Grfica.

La programacin grfica, tambin conocida como programacin por flujo de datos o
lenguaje G, representa una novedosa alternativa para el desarrollo de software para
instrumentacin virtual

Un excelente ejemplo de programacin grfica lo constituye el ambiente de
programacin LabVIEW, tambin de National Instruments. El concepto de LabVIEW, un
interfase de usuario de panel frontal combinado con una innovadora metodologa de
programacin por diagrama a bloques, es ideal para crear instrumentos virtuales. LabVIEW
trabaja con todos los aspectos de que incluye un sistema de instrumentacin: adquisicin de
datos, anlisis de datos y presentacin de datos. LabVIEW simplifica el desarrollo de los
sistemas de instrumentacin

En la programacin grfica, los programas son llamados Instrumentos Virtuales (VI) y
estn formados por tres partes principales: Panel Frontal. Diagrama a Bloques e Icono-
Conector
Instrumentacin Virtual Fundamentos de Instrumentacin Virtual
Instituto Tecnolgico de Chihuahua 13 Dr. Gerardo Trujillo Schiaffino
Los paneles frontales son un concepto tomado de la instrumentacin tradicional, ya
que corresponden al interfase de usuario donde se representa el panel frontal fsico de un
instrumento, con la ventaja de que ste es realizado en software. Un beneficio adicional de
utilizar el panel frontal en software, es que se pueden crear interfaces genricos,
independientemente del hardware que se utilice. Pero a diferencia de un panel fsico, en un
panel de software podemos representar slo los parmetros de inters a nuestra aplicacin
particular. La figura 1.10 muestra el ejemplo de un panel frontal desarrollado en LabVIEW.

Fig. 1.10. Ejemplo de un Panel Frontal de LabVIEW.

LabVIEW permite crear paneles frontales amigables y de excelente presentacin,
dndole al interfase de usuario una operabilidad intuitiva y sencilla. La programacin a travs
de diagramas a bloque aproxima la programacin a la utilizacin de los diagramas de flujo
utilizados por muchos ingenieros y cientficos, de hecho tambin se le conoce como
programacin por flujo de datos. La figura 1.11 muestra en ejemplo de un diagrama de flujo
de LabVIEW. En diagrama a bloques est libre de muchos de los detalles sintcticos de los
lenguajes de programacin convencional, lo que permite construir los programas en menor
tiempo.

Fig. 1.11 Ejemplo de un Diagrama de Flujo de LabVIEW.
Instrumentacin Virtual Fundamentos de Instrumentacin Virtual
Instituto Tecnolgico de Chihuahua 14 Dr. Gerardo Trujillo Schiaffino

El icono - conector es una poderosa herramienta que le permite a la programacin
grfica trabajar con modularidad y jerarqua. El icono es la representacin grfica de un
instrumento virtual, a travs de la cual se puede representar a un instrumento virtual dentro de
otro, utilizndolo como funcin o subrutina. El conector es la representacin del icono que nos
indica las terminales de conexin a travs de las cuales podemos pasar los datos de entrada
a un instrumento virtual y leer sus salidas cuando se utiliza dentro de otro instrumento virtual.
El icono es la representacin grfica y el conector son las terminales de entrada y salida de
un instrumento virtual para ser utilizado como sub-instrumento virtual. La figura 1.12 muestra
un icono-conector.
Fig. 1.12. Ejemplo de un Icono y Conector.

























Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 15 Dr. Gerardo Trujillo Schiaffino

CAPITULO II
HERRAMIENTA DE PROGRAMACION.


2.1 AMBIENTE DE PROGRAMACION GRAFICA (LABVIEW).

2.1.1 Fundamentos de LabVIEW.

LabVIEW es el acrnimo para Laboratory Virtual Instrument Engineering Workbench y
representa en la actualidad una poderosa y flexible plataforma de desarrollo de software.
LabVIEW se basa en el paradigma de la programacin por flujo de datos, pero tambin puede
ser aplicado bajo los paradigmas de programacin por maquinas de estados, programacin
por eventos y programacin orientada a objetos. En general, tambin se le conoce como
lenguaje G por ser un lenguaje esencialmente grafico.

Los Programas en LabVIEW son llamados instrumentos virtuales (VIs). Cada VI
contiene tres partes principales:

Panel frontal
Diagrama de bloque
Icono/Conector





Fig. 2.1. Panel frontal de un instrumento virtual


El panel frontal, como el mostrado en la figura 2.1, es utilizado para interaccionar con
el usuario cuando el programa esta corriendo. Usuarios pueden controlar el programa,
cambiar entradas, y ver datos actualizados en tiempo real.

Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 16 Dr. Gerardo Trujillo Schiaffino





Fig. 2.2. Diagrama a bloques de un instrumento virtual


Cada control o indicador del panel frontal tiene una terminal correspondiente en el
diagrama de bloques, como se muestra en la figura 2.2. Cuando un VI se ejecuta, los valores
de los controles fluyen a travs del diagrama de bloques, en donde estos son usados en las
funciones del diagrama, y los resultados son pasados a otras funciones o indicadores.

El tercer elemento del VI es su icono conector, tal como se muestra en la figura 2.3,
este se encuentra localizado en la esquina superior derecha del panel frontal y del diagrama
a bloques, su funcin es representar al VI cuando se utiliza como subVI (sub-programa)
dentro otro VI y proporcionar las terminales de conexin adecuadas, pero esto ser a tratado
a detalle mas delante.




Fig. 2.3. Icono - Conector de un instrumento virtual


Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 17 Dr. Gerardo Trujillo Schiaffino
2.1.2 Panel Frontal.

El panel frontal es la interfase del usuario con el VI. El panel frontal se construye con
controles e indicadores, que son las entradas y salidas que interactan con las terminales del
VI, respectivamente. Los controles son usados como entradas, por ejemplo, ajustando
controles de deslizamiento para colocar un valor de alarma, encendiendo o apagando un
interruptor, o parando un programa. Los controles son interruptores, botones, perillas, cajas
de texto y otros componentes de entradas. Los controles simulan instrumentos de entradas
de equipos y suministra datos al diagrama de bloques del VI.

Los indicadores son usados como salidas, por ejemplo, termmetros, luces, y otros
indicadores indican valores del programa. Esto puede incluir datos, estados de programa y
otra informacin.Los indicadores son las graficas, luces y otros dispositivos. Los indicadores
simulan salidas de instrumentos y suministra datos que el diagrama de bloques adquiere o
genera.





Fig. 2.4. Ejemplo de un panel frontal sencillo


La figura 2.4 muestra un ejemplo de panel frontal, en esta imagen, el switch de poder
(encendido o apagado) es un control booleano. Un valor booleano contiene ambos un valor
verdadero o falso. El valor es falso hasta que el switch se presione.Cuando el switch se
presiona, el valor se convierte en verdadero. El indicador del historial de temperatura es una
grafica de forma de onda. Esta muestra valores mltiples. En este caso, la grafica sealara
grados F versus tiempo (seg.).

El panel frontal tambin contiene una barra de herramientas, y sus funciones sern
discutidas despus.


Barra de herramientas
del panel frontal
Leyenda del
grfico
Control
Booleano
Grfico de
Forma de onda
Icono
Leyenda de
la grfica
Leyenda de
la escala
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 18 Dr. Gerardo Trujillo Schiaffino


2.1.3 Diagrama de Bloque.

El diagrama de bloque contiene el cdigo fuente grafico. Los objetos del panel frontal
aparecen como terminales en el diagrama de bloque. Adicionalmente, el diagrama de bloque
contiene funciones y estructuras incorporadas en las bibliotecas de LabVIEW VI. Los cables
conectan cada uno de los nodos en el diagrama de bloques, incluyendo controles e
indicadores de terminal, funciones y estructuras.






Fig. 2.5. Ejemplo de un diagrama a bloques sencillo


La figura 2.5 muestra un ejemplo de un diagrama de bloque. En este diagrama de
bloque, el subVI Temp llama a la subrutina la cual obtiene una temperatura desde una tarjeta
de adquisicin de datos (DAQ). Esta temperatura es graficada junto con el valor promedio de
la temperatura en la grafica de forma de onda Temperature History. El interruptor de
encendido (Power) es un control booleano en el panel frontal el cual va a detener la ejecucin
de la estructura de ciclo While. La estructura de ciclo While tambin contiene una funcin de
tiempo para controlar que tan frecuentemente la estructura se repite.

Adems de las terminales de controles e indicadores, el diagrama puede contener
subVIs express, subVIs estndar y funciones





Cableado
de
datos
Terminal
grafica
SubVI
Estructura
While loop
Barra de
Herramientas
Del diagrama de
Bloque
Funcin de
dividir
Constante
numrico
Funcin de
tiempo
Terminal de control
booleano
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 19 Dr. Gerardo Trujillo Schiaffino

A) SubVI express

LabVIEW 7.0 introduce un nuevo tipo de subVI llamado VIs Expreso (Express VIS).
Estos son VIs interactivos que tienen una configuracin de caja de dialogo que permite al
usuario personalizar la funcionalidad del VI Expreso. LabVIEW entonces genera una subVI
basado en estos argumentos. La figura 2.6 muestra un ejemplo de un VI Express.




Fig. 2.6. Ejemplo de un subVI express


B) SubVI estndar

VIs estndar son aquellos VIs (que consisten de un panel frontal y un diagrama de
bloque) que son usados adentro de otro VI. La figura 2.7 muestra un ejemplo de un VI
estndar.



Fig. 2.7. Ejemplo de un subVI estndar




Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 20 Dr. Gerardo Trujillo Schiaffino

C) Funciones

Las funciones son los bloques de construccin bsicos de todos los VIs. Las
funciones no tienen un panel frontal o un diagrama de bloque. La figura 2.8 muestra un
ejemplo de una funcin aritmtica de multiplicacin.



Fig. 2.8. Ejemplo de una funcin

2.1.4 Paleta de Controles.

La paleta de controles (Controls) se utiliza para colocar los controles e indicadores en
el panel frontal. La paleta de controles esta disponible solamente en el panel frontal.

Para acceder a la paleta de controles, seleccione WindowShow Controls palette
en la barra de men principal o haga clic derecho en el espacio de trabajo en el panel frontal,
esto activa la paleta express de controles. Para desaparecer la paleta de controles presione
el botn de cerrar, caracterstico de Windows, en la parte superior derecha de la paleta.





Fig. 2.9. Paleta express de controles.


En la paleta express de controles los controles e indicadores estn agrupados de
acuerdo a las aplicaciones ms comunes: controles numricos, botones, controles de texto,
controles de usuario, indicadores numricos, LEDs, indicadores de texto, Indicadores de
grafica, etc. Sin embargo en estos grupos solo se encuentran los controles e indicadores ms
comnmente utilizados, para acceder de manera completa a la gran diversidad de controles e
indicadores que ofrece LabVIEW, es necesario activar el grupo denominado All Controls, el
cual despliega de manera temporal la paleta estndar de controles. Para fijar la esta paleta
haga clic sobre el sujetador de la esquina superior izquierda.
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 21 Dr. Gerardo Trujillo Schiaffino



Fig. 2.10. Paleta estndar de controles


2.1.5 Paleta de Funciones.

La paleta de funciones (Functions), se utiliza para construir un diagrama de bloque.
La paleta de funciones esta disponible solamente en el diagrama de bloque. Seleccione
WindowShow Functions Palette en la barra de men principal o haga un click derecho en
el espacio de trabajo del diagrama de bloque para desplegar la paleta express de funciones.
Para desaparecer la paleta de funciones presione el botn de cerrar, caracterstico de
Windows, en la parte superior derecha de la paleta.





Fig. 2.11. Paleta express de funciones.



Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 22 Dr. Gerardo Trujillo Schiaffino

Al igual que en la paleta express de controles, en la paleta express de funciones,
estas estn agrupadas de acuerdo a las aplicaciones ms comunes: entrada, anlisis, salida,
librera de usuario, control de ejecucin, aritmtica y comparacin, manipulacin de seales,
etc. Sin embargo en estos grupos solo se encuentran las funciones ms comnmente
utilizados, para acceder de manera completa a todas las funciones que ofrece LabVIEW, es
necesario activar el grupo denominado All Funtions, el cual despliega de manera temporal la
paleta estndar de funciones. Para fijar la esta paleta haga clic sobre el sujetador de la
esquina superior izquierda.




Fig. 2.12. Paleta estndar de funciones


2.1.6 Paleta de Herramientas.

Por ser LabVIEW un lenguaje grfico, la mayor parte del manejo del ambiente de
programacin se hace a travs del ratn o dispositivo de sealizacin de la computadora,
esto implica entonces la necesidad poder cambiar la funcionalidad del apuntador para
ejecutar tareas muy diversas.

La paleta de herramientas es una paleta flotante que permite cambiar la funcionalidad
del cursor. Esta paleta contiene herramientas de edicin y depuracin Generalmente se
encuentra activada por default, sin embargo, de no ser as se le puede activar manualmente
seleccionando WindowShow Tools Palette en la barra de men principal. Para
desaparecer la paleta de funciones presione el botn de cerrar, caracterstico de Windows, en
la parte superior derecha de la paleta. Esta paleta permite seleccionar entre 11 herramientas
diferentes.

La figura 2.13 muestra la apariencia que tiene la paleta de herramientas.

Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 23 Dr. Gerardo Trujillo Schiaffino






Fig. 2.12. Paleta estndar de funciones



A) Herramienta automtica

Si la herramienta de seleccin automtica esta habilitada y usted mueve el cursor
sobre un objeto en el panel frontal o en el diagrama de bloque, LabVIEW automticamente
selecciona la herramienta correspondiente de la paleta de controles. Cambie a la herramienta
de seleccin automtica tecleando el botn de Seleccin de Herramienta Automtica en la
paleta de Herramientas.


B) Herramienta de operacin

Utilice la herramienta de operacin para cambiar valores o para seleccionar texto de
un control.


C) Herramienta de posicin / seleccin

Utilice la herramienta de posicionamiento para seleccionar, mover o redimensionar
objetos. La herramienta de posicionamiento cambia las formas cuando se mueve sobre una
esquina de un objeto reajustable permitiendo cambiar su tamao.


D) Herramienta de Etiquetado

Utilice la herramienta de etiquetado para editar textos y crear etiquetas libres. La
herramienta de etiquetado se convierte en cursor cuando usted crea etiquetas libres.



Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 24 Dr. Gerardo Trujillo Schiaffino
E) Herramienta de cableado

Utilice la herramienta de cableado para cablear objetos juntos en el diagrama de
bloque y establecer el flujo de los datos en el programa.



F) Herramienta de men

Utilice la herramienta de men emergente para acceder a los mens emergentes de
los objetos colocados en el panel frontal o en el diagrama de bloque, para modificar sus
configuraciones.



G) Herramienta de arrastre

Utilice la herramienta de arrastre para mover todo el panel frontal o diagrama de
bloque.



H) Herramienta de punto de quiebre

Utilice la herramienta de punto de quiebre para colocar puntos de quiebre a lo largo
del diagrama de bloque y detener momentneamente la ejecucin del programa con el fin de
depurar el programa.



I) Herramienta de punto de prueba

Utilice la herramienta de punto de prueba para colocar puntos de prueba a lo largo del
diagrama de bloque y observar los valores correspondientes durante la ejecucin del
programa con el fin de depurar el programa.



J) Herramienta de muestra de color

Utilice la herramienta de muestra de color para obtener una muestra (copia) del color
de un objeto.



K) Herramienta de colorear

Utilice la herramienta de colorear para cambiar el color de un objeto.



Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 25 Dr. Gerardo Trujillo Schiaffino

2.1.7 Barra de Herramientas.

La barra de herramientas es una barra fija que contiene herramientas de ejecucin, y
cosmticas, se encuentra tanto en el panel frontal como en el diagrama de bloque, ambas
presentan casi las mismas herramientas salvo una herramienta cosmtica que solo aparece
en el panel frontal y cuatro herramienta de depuracin que solo aparecen en el diagrama de
bloque. La figura 2.13 muestra las barras de herramientas del a) panel frontal y b) diagrama
de bloque




a)



b)

Fig. 2.13. Barra de herramientas del a) panel frontal, b) diagrama de bloque



A) Botn de ejecucin

Pulse el botn de ejecucin (Run) para ejecutar el VI. Mientras el VI se esta
ejecutando, el botn de ejecucin aparecer con una flecha negra si es que el VI es un VI
principal, lo que significa que no ha sido llamado por otro VI y por lo tanto este no es un
subVI.


B) Botn de ejecucin continua

Pulse el botn de ejecucin continua (Continuous Run) para ejecutar el VI hasta que
el botn de cancelacin de ejecucin o de pausa sea presionado. Usted tambin puede
pulsar este botn nuevamente para deshabilitar la ejecucin continua.


C) Botn de cancelacin

Mientras el VI se esta ejecutando, El botn de cancelacin de ejecucin (Abort
Execution) aparece. Presione este botn para detener el VI inmediatamente.

Nota: Evite usar el botn de cancelacin de ejecucin (Abort Execution) para
detener el VI. Ya sea deje que el VI complete su flujo de datos o disee un mtodo para
detener el VI programticamente. Al hacer esto el VI se encuentra en un estado conocido.
Por ejemplo, coloque un botn en el panel frontal que detenga el VI cuando sea presionado.



Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 26 Dr. Gerardo Trujillo Schiaffino


D) Botn de pausa

Pulse el botn de pausa (Pause) para detener momentneamente la ejecucin de un
VI. Cuando usted presiona el botn de Pausa, LabVIEW seala la posicin donde usted
detuvo la ejecucin en el diagrama de bloque. Pulse el botn de Pausa nuevamente para que
el VI continu ejecutndose.


E) Men de configuracin de Textos

Seleccione el men Configuracin de Textos (Text Settings) para cambiar el tipo de
fuente (letra) del VI, incluyendo el tamao, estilo y color.


F) Men de alineamiento de objetos

Seleccione el men Alineamiento de Objetos (Align Objects) para alinear objetos
con respecto a los ejes, incluyendo eje vertical, superior, izquierdo, etc.


G) Men de distribucin de objetos

Seleccione el men Distribucin de Objetos (Distribute Objects) para espaciar
objetos uniformemente, incluyendo espacios vacos, compresiones, etc.


H) Men de redimensionamiento

Seleccione el Redimensionamiento de Objetos (Resize Objects) para cambiar el
ancho y alto de objetos del panel frontal. Este men solo esta disponible en el panel frontal


I) Men de reordenamiento

Seleccione el men Reordenamiento (Reorder) cuando tenga objetos superpuestos
unos con otros y usted quiera definir cual esta enfrente de quien y cual atrs. Seleccione uno
de los objetos con la herramienta de posicionamiento y seleccione entre Move Forward
(mover hacia adelante), Move Backward (mover hacia atrs), Move to Front (mover al
frente) y Move to Back (mover hacia atrs).

NOTA: Los siguientes botones solo estn disponibles en el diagrama de bloque.


J) Botn de ejecucin resaltada

Pulse en el botn de ejecucin resaltada (Highlight Execution) para ver el flujo de
informacin en el diagrama de bloques. Pulse el botn nuevamente para detener este tipo de
ejecucin resaltada.

Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 27 Dr. Gerardo Trujillo Schiaffino


K) Botn de entrada al ciclo

Pulse el botn de entrada al ciclo (Step Into) para entrar un paso adentro de un ciclo,
un SubVI, etc. Entrando un paso a la vez adentro de un VI le permite introducirse en la VI
nodo a nodo. Cada nodo se resalta para sealar cuando esta listo para ejecutarse. Al entrar
un paso adentro de un nodo usted esta listo para caminar paso a paso adentro del nodo.


L) Botn de saltar ciclo

Pulse el botn de saltar ciclo (Step Over) para posicionarse encima de un ciclo, un
SubVI, etc. Al posicionarse encima del nodo, usted ejecuta el nodo sin entrar paso a paso
adentro del nodo.


M) Botn de salida del ciclo

Pulse el botn de Salida del ciclo (Step Over) para salirse de un ciclo, SubVI, etc. Al
posicionarse fuera del nodo, usted completa la ejecucin de un nodo y puede moverse al
siguiente nodo.


Ejercicio 2.1 Abrir y Ejecutar un VI

1. Seleccione Start Programs National Instruments LabVIEW 7.0 LabVIEW para
lanzar LabVIEW. Aparece la ventana de dialogo de LabVIEW.



2. Seleccione Find Examples del men de ayuda (Help). La ventana de dialogo que aparece
da la lista y enlaces a todos los VIs de ejemplo de LabVIEW.

Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 28 Dr. Gerardo Trujillo Schiaffino


3. Usted puede buscar ejemplo por categoras, o puede utilizar palabras claves en su
bsqueda. Haga clic en la vieta de bsqueda (Search) para abrir el buscador de palabras
claves.

4. En la caja de Enter Keyword(s) escriba Signal

5. Una lista de temas relacionados aparecer en la ventana de ejemplos (examples). Haga
doble-clic en signals, esto generara una lista de ejemplos en el lado derecho.


Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 29 Dr. Gerardo Trujillo Schiaffino
6. Haga clic en cualquier programa para ver una descripcin detallada de el ejemplo. Haga
doble clic sobre Signal Generation and Processing.vi para lanzar el ejemplo. Esto abrir el
panel frontal del VI Signal Generation and Processing.vi



7. Examine el VI y ejectelo. Cambie las frecuencias y tipos de seales de entradas y note
como el despliegue de las graficas cambia. Cambie la ventana de procesamiento de
seales (Signal Processing Window) y opciones de filtrado (Filter options). Despus de
que haya examinado el VI y las diferentes opciones que puede cambiar, pare el VI
presionando el botn de paro (Stop button).



2.2 PARADIGMA DE PROGRAMACION POR FLUJO DE DATOS.

Como se ha mencionado con anterioridad, LabVIEW se basa en el paradigma de
programacin por flujo de datos, concepto tan antiguo y tradicional en la enseanza de la
programacin que resulta innovador al ser aplicado directamente como un lenguaje. A
continuacin se describen los aspectos fundamentales sobre este paradigma.


2.2.1 Creacin de un Instrumento Virtual

Cuando se crea un objeto en el panel frontal, una terminal es creada en el diagrama
de bloques. Estas terminales le dan acceso a los objetos del panel frontal del cdigo creado
mediante el diagrama de bloque.


Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 30 Dr. Gerardo Trujillo Schiaffino

Cada terminal contiene informacin til referente al objeto al cual corresponde en el
panel frontal. Por ejemplo, el color y los smbolos proporcionan el tipo de dato. Nmeros de
punto flotante y de doble-precisin, son representados con terminales anaranjadas y las
letras DBL. Las terminales booleanas son verdes y son representadas por las letras TF.

En general, las terminales anaranjadas deben unirse (cablearse) con las terminales
anaranjadas, verdes con verdes, y as sucesivamente. Esta no es una regla que no se puede
romper; por ejemplo LabVIEW permitir al usuario conectar una terminal azul (valor entero) a
una terminal anaranjada (valor fraccional). Pero en la mayora de casos, busque mejor una
igualdad en colores.

Los controles tienen una flecha en el lado derecho y tienen un borde grueso. Los
indicadores tienen una flecha en el lado izquierdo y un borde fino. Reglas lgicas pueden ser
aplicadas al conectar en LabVIEW: Cada cable debe tener una (pero solo una) fuente (o
control), y cada cable puede tener varios destinos (o indicadores).

El programa mostrado en la figura 2.14 toma datos de los controles A y B y pasa
valores a una funcin de adicin y a una funcin de resta. Los resultados son mostrados en
los indicadores A+B y A-B respectivamente.




a) b)

Fig. 2.14. Ejemplo de un instrumento virtual, a) panel frontal, b) diagrama de bloque


2.2.2 Cableado de funciones en el diagrama de bloque

Adems de los terminales del panel frontal, el diagrama de bloques contiene
funciones. Cada funcin puede tener mltiples terminales de entradas y salidas. La conexin
de estas terminales es una parte muy importante de la programacin en LabVIEW.

Una vez que se tenga cierta experiencia programado en LabVIEW, la conexin de
cables se le har ms fcil. Primero puede que necesite ayuda. En seguida se le muestra
algunas recomendaciones para comenzar:



Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 31 Dr. Gerardo Trujillo Schiaffino
La herramienta para conectar o de cableado es utilizada para conectarse a los nodos
de las funciones. Cuando apunte con la herramienta de cableado, apunte con el extremo del
cable que cuelga del carrete. Aqu es donde el cable ser colocado. La figura 2.15 muestra el
puntosencible de la herramienta de cableado.



Fig. 2.15. Punto sensible de la herramienta de cableado


Mientras se mueve la herramienta de cableado sobre las funciones, observe la vieta
amarilla que aparece. Esto le dir el nombre de la terminal al que se esta conectando.
Mientras se mueva la herramienta de cableado encima de una terminal, esta va a mostrar
informacin. Esto le ayudara a identificar donde se va a unir el cable. La figura 2.16 muestra
un ejemplo de este tipo de identificacin de terminales.


Fig. 2.16. Identificacin de terminales


Para mas ayuda con los terminales, haga clic derecho en la funcin y seleccione
Visible Items o Objetos Visibles>>Terminals o Terminales. Un dibujo de la funcin ser
colocada atrs para revelar las terminales de la conexin. Note los colores - estos
corresponden a los tipos de datos utilizados por los terminales del panel frontal. La figura 2.17
muestra un ejemplo al respecto.


Fig. 2.17. Opcin para mostrar terminales

Para ayuda adicional, seleccione Help >> Show Context Help, o presione CTRL+H.
Esto mostrara la ventana de ayuda en contexto. A medida que uno mueva el raton (mouse)
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 32 Dr. Gerardo Trujillo Schiaffino
sobre la funcin, esta ventana le mostrara la funcin, terminales, y una breve descripcin.
Utilice esto junto con otras herramientas para ayudarse mientras conecta los cables.



Fig. 2.17. Ventana de ayuda en contexto


LabVIEW cablea automticamente los objetos a medida que usted los coloca en el
diagrama de bloque. Tambin puede cablear automticamente objetos que ya estn
colocados en el diagrama de bloque. LabVIEW conecta la terminal que mejor combina
(match) y deja las terminales que no combinan (match) sin conectar. A medida que usted
mueve un objeto seleccionado cerca de otros objetos en el diagrama de bloque, LabVIEW
dibuja cables temporales para mostrarle conexiones validas. Cuando usted suelta el botn del
mouse para poner el objeto en el diagrama de bloque, LabVIEW conecta automticamente
los cables.




Fig. 2.18. cableado de objetos en el diagrama de bloque


Cambie al cableado automtico presionando el espaciador (spacebar) mientras
mueve un objeto utilizando la herramienta de posicionamiento (Positioning tool). Puede
ajustarlas opciones del cableado automtico seleccionando Tools >> Options y
seleccionando Block Diagram de el men superior principal.

No se preocupe por el color de los cables. LabVIEW seleccionar automticamente el
cable correcto y adecuado para cada situacin.

Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 33 Dr. Gerardo Trujillo Schiaffino


Fig. 2.19. Opcin de limpieza de cables


Si el cableado no se mira muy bien, haga clic derecho en el cable que se desea
arreglar y escoja la opcin de Clean Up Wire o Limpieza del Cable para que
automticamente el cable haga su ruta de nuevo.

El cableado es muy flexible en LabVIEW. Experimente con combinaciones de clics y/o
teclas cuando este cableando. Aqu hay algunas de las caractersticas mas a menudo
utilizadas.




Fig. 2.20. Seleccin de cables


El hacer un simple, doble, y triple clic en el cable selecciona el cable para moverlo o
para borrarlo, tal como se muestra en la figura 2.20

El hacer un clic mientras se esta cableando hace un doblez en el cable.

Haciendo clic derecho o presionando el botn Esc mientras se esta cableando
cancela la operacin de cableado.


2.2.3 Programacin por Flujo de Datos

LabVIEW sigue un modelo de flujo de datos para correr los VIs. Un nodo del diagrama
de bloque se ejecuta cuando todas sus entradas estn disponibles. Cuando un nodo
completa la ejecucin, suministra datos a sus terminales de salida y pasa los datos de salida
al siguiente nodo en la trayectoria del flujo de datos. Visual Basic, C++, JAVA y otros
lenguajes de programacin basados en texto, siguen un modelo de control de flujo de la
ejecucin de un programa. En flujo de control, el orden secuencial de los elementos del
programa determina el orden de ejecucin de un programa.
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 34 Dr. Gerardo Trujillo Schiaffino


Considere el diagrama de bloque que se muestra en la figura 2.21. Este suma dos
nmeros y luego resta 50 del resultado de la suma. En este caso, el diagrama de bloque se
ejecuta de izquierda a derecha, no porque los objetos estn puestos en ese orden, sino
porque una de las entradas de la funcin de resta no es valida hasta que la funcin de suma
o adicin haya terminado su ejecucin y pasado los datos a la funcin de resta. Recuerde
que un nodo se ejecuta solamente cuando tiene datos disponibles en todas sus terminales de
entrada, y suministra datos a sus terminales de salidas solamente cuando termina su
ejecucin.

Fig. 2.21. Ejemplo de cdigo dependiente


En el cdigo de la figura 2.22, considere cual segmento del cdigo se ejecutara
primero---la suma, el numero aleatorio, o la funcin de divisin. No se puede saber porque las
entradas a las funciones de suma y divisin estn disponibles al mismo tiempo, y la funcin
de nmero aleatorio no tiene entradas. En una situacin en donde un segmento del cdigo se
debe ejecutar antes que otro, y no existe dependencia de datos entre las funciones, utilice
una estructura de Secuencia para forzar el orden de la ejecucin.



Fig. 2.22. Ejemplo de cdigo independiente



Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 35 Dr. Gerardo Trujillo Schiaffino

2.2.4 Opciones de Ayuda

Utilice la ventana de Context Help (Ayuda Contextual) y LabVIEW Help (Ayuda de
LabViEW) para ayudarle a construir o editar los VIs. Refirase a la ayuda de LabVIEW y a
los manuales para mas informacin.


A) Ventana de Ayuda Contextual (Context Help Window )

Para desplegar la ventana de Context Help, seleccione Help>>Show Context Help o
presione las teclas <Ctrl-H>. Cuando mueva el cursor sobre el panel frontal y los objetos del
diagrama de bloque, la ventana de Context Help despliega el icono de los subVIs, funciones,
constantes, controles e indicadores, con cables adjuntos a cada una de sus terminales.
Cuando mueva el cursor sobre la caja de opciones de dialogo, la ventana de Context Help
despliega descripciones de esas opciones. En la ventana, las conexiones requeridas estn en
negrilla, las conexiones recomendadas en texto normal, y las conexiones opcionales estn
poco claras o no aparecen. La figura 2.23 presenta un ejemplo de la ventana de Context
Help.




Fig. 2.23. Ejemplo de ventana de ayuda contextual


Haga un clic en el botn de Simple/Detailed Context Help localizado en la esquina
inferior izquierda de la ventana de Context Help para distinguir entre la ayuda contextual
simple y detallada. El modo simple enfatiza las conexiones importantes. Las terminales
opcionales son mostradas por segmentos de cables, informndole de la existencia de otras
conexiones.

Haga clic en el botn de Lock Context Help para congelar el contenido actual de la
ventana de la Context Help. Cuando los contenidos estn congelados, el mover el cursor
sobre otros objetos no cambia los contenidos de la ventana. Para descongelar la ventana,
haga clic nuevamente en el botn. Usted tambin puede tener acceso a esta opcin desde el
men de ayuda (Help).
Ayuda en lnea

Congelar Ayuda

Ayuda del Diagrama
Simple/Complejo


Referencias en Lnea
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 36 Dr. Gerardo Trujillo Schiaffino

Haga clic en el botn de More Help (mas ayuda) para desplegar el tema
correspondiente en LabVIEW Help, el cual describe el objeto en forma detallada.


B) LabVIEW Help (Ayuda de LabVIEW)

Puede acceder a LabVIEW Help ya sea haciendo clic en el botn de More Help en la
ventana de Context Help, seleccionando HelpVI, Function, & How-To Help, haciendo clic
en la oracin Click here for more help en la ventana de Context Help o presionando <Ctrl-
?>.



Fig. 2.24. Ejemplo de ventana de ayuda de LabVIEWl


La LabVIEW Help contiene descripciones detalladas de casi todos los mens,
herramientas, VIs y funciones. Tambin incluye instrucciones paso-a-paso para la utilizacin
de muchas caractersticas de LabVIEW y enlaces al Tutorial de LabVIEW, versiones en PDF
de todos los manuales y Notas de Aplicacin de LabVIEW, adems de recursos de soporte
tcnico en el sitio web de National Instruments.
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 37 Dr. Gerardo Trujillo Schiaffino



Ejercicio 2.2 Construir un Instrumento virtual para convertir de C a F

1. Construya un VI que convierta de C a F.

2. Cuando lo corra, el VI deber de tomar un valor de entrada (C), multiplicarlo por 1.8,
sumarle 32, y desplegar el resultado (F).

3. El panel frontal deber mostrar el valor de entrada y el resultado.

4. Salve el VI como Conversin C a F.vi








2.2.5 Tips y Atajos en LabVIEW

LabVIEW tiene muchas teclas de atajo que hacen el trabajo mas fcil. Las mas
comunes se listan en la diapositiva.

Mientras la Herramienta de Seleccin Automtica (Automatic Selection Tool) es genial
para escoger la herramienta que usted deseara utilizar en LabVIEW, a veces hay casos
cuando usted desea controles manuales. Utilice la tecla Tab para cambiar entre las cuatro
herramientas mas comunes (Operate Value (valor de operacion), Position/Size/Select,
(Posicin/Tamao/Seleccin), Edit Text (editar texto), Set Color on Front Panel (establecer
color en panel frontal), Connect wire on Block Diagram (conectar cable en el diagrama de
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 38 Dr. Gerardo Trujillo Schiaffino
bloque)). Una vez que se ha terminado con la seleccin de herramientas, puede presionar
<Shift-Tab> para activar la Herramienta de Seleccin Automtica.



En el dialogo de Herramientas >> Opciones , hay muchas opciones configurables
para el Panel Frontal, Diagrama de Bloque, Colores, Impresin y mucho mas.

Similar a las opciones de LabVIEW, se pueden configurar propiedades especificas del
VI al ir a File >> VI Properties Ah se puede documentar el VI, cambiar la apariencia de la
ventana, y personalizarlos de varias maneras.


2.2.5. Tcnicas para Depuracin de Errores.

Cuando su VI no es ejecutable, se despliega una flecha quebrada en el botn de
correr en la paleta de herramientas.


A) Lista de errores

Para hacer una lista de los errores, haga clic en la flecha quebrada. Para localizar el
objeto malo, haga clic en el mensaje del error.






Fig. 2.24. Lista de errores
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 39 Dr. Gerardo Trujillo Schiaffino


B) Resaltando la Ejecucin:

Anima el diagrama y traza el flujo de datos, permitindole ver los valores intermedios.
Haga clic en el bombillo incandescente (light bulb) en la barra de herramientas




Fig. 2.25. Ejecucin resaltada


C) Ventanas de prueba (Probe):

Utilizado para ver los valores en cualquier cable del diagrama de bloque. Haga clic en
los cables con la herramienta Probe o haga clic derecho en el cable para seleccionar Probe.




Fig. 2.26. Puntos de prueba

Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 40 Dr. Gerardo Trujillo Schiaffino

D) Punto de Paro (Breakpoint):

Coloca pausas en diferentes lugares del diagrama. Haga clic en los cables o en los
objetos con la herramienta de Punto de Paro para colocar los puntos de paro. El
punto de quiebre quedsara resaltado con un marco color rojo.





Fig. 2.27. Punto de quiebre



2.2.6 Documentacin del VI

Al abrir VIs properties (propiedades del VI) un desarrollador puede aadir
documentacion a su VI. La documentacion colocada en el Description field (espacio para la
descripcion) de la ventana de documentacion del VI es moestrada en Context Help (ayuda en
contexto), y se imprime con el VI.

Si un usuario tiene una aplicacin que esta siendo desarrollada continuamente, el o
ella puede seguir los cambios en el desarrollo con Revision History (historial de revisiones),
tambin encontrado en VI Properties.

Cualquier control o indicador en el Panel Frontal puede ser documentado al hacer clic
derecho con el mouse y elegir Description and Tip (descipcion y sugerencia) La
informacion de descipcion aparece en el menu Context Help (ayuda en contexto) cuando un
usuario pasa el cursor sobre el objeto, y la informacion de sugerecia es mostrada en una
pequea ventana pegada al cursor cuando el usuario pausa el movimiento del cursor sobre el
objeto.

Al igual que los comentarios en un lenguaje basado en texto, el desarrollador podra
querer explicar una porcin de su cdigo, o proveer direcciones en el panel de frontal.
Cualquiera de estas necesidades puede ser cumplida al usar la herramienta de etiquetado
(labeling tool) para crear una caja de texto libre con tantas instrucciones o explicaciones
como sean necesarias.

Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 41 Dr. Gerardo Trujillo Schiaffino



2.3 SUB-INSTRUMENTOS VIRTUALES (SubVI).

Despus de haber construido un VI, y creado su propio icono y panel de conexin,
este puede ser utilizado en otro VI. Un VI dentro de otro VI se llama un subVI. Un subVI
corresponde a una subrutina en lenguajes de programacin basados en texto. La utilizacin
de subVIs le ayuda a manejar cambios y a eliminar errores del diagrama de bloque
rpidamente.



2.3.1 Conceptos Bsicos

Los sub-instruemntos virtuales (subVI), son en realidad VIs que se utilizan dentro de
otros VIs como funciones o subrutinas, por lo tanto tienen sus popios panel frontal y diagrama
de bloque, los cuales se pueden acceder haciendo doble click sobre el icono del subVI.





Fig. 2.28. Sub-instrumento virtual


As como en las terminales de control o de indicador en el diagrama de bloque pueden
ser vistos como un icono o como una simple terminal, los subVIs pueden ser vistos como un
icono, un nodo expandible o un nodo expandido. Las diferentes vistas dependen en la
preferencia del usuario y no cambia la funcionalidad del subVI. En sus modos expandible y
expendido el campo amarillo designa un VI estndar para diferenciarlo de los VI Express que
presentan un campo azul.

Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 42 Dr. Gerardo Trujillo Schiaffino


Fig. 2.29. Presentaciones de un sub-VI


Cada VI muestra un icono, mostrado arriba, en la esquina superior derecha de las
ventanas del panel frontal y del diagrama de bloque. Un icono es una representacin grafica
de un VI. Puede contener texto, imgenes, o una combinacin de ambos. Si usted utiliza un
VI como subVI, el icono identifica el subVI en el diagrama de bloque del VI.

El conector muestra terminales disponibles para la transferencia de datos hacia y
desde el subVI. Hay varios patrones de conectores para elegir. Haga un clic-derecho sobre el
conector y seleccione el patrn del men de patrones. A partir de ah usted puede asignar
controles e indicadores en el panel frontal al conector terminal, como veremos mas adelante.



Fig. 2.30. Icono conector


2.3.2 Creacin de SubVIs

Para convertir un VI en subVI se siguen tres sencillos pasos: disear un icono, crear el
conector y asignar terminales.

A) Disear Icono.

Para crear iconos personalizados para reemplazar los iconos predeterminados se
hace clic-derecho en la esquina superior derecha del panel frontal o del diagrama de bloques
y se selecciona Edit Icon del men de atajo o bien haciendo un doble clic en el icono en la
esquina superior derecha del panel frontal. Tambin se puede corregir iconos seleccionando
File >> VI Properties, seleccionando General del menu Category, y haciendo clic en el botn
de editar (Edit Icon). Utilice las herramientas del lado izquierdo de la casilla de dialogo del Icon
Editor para crear el diseo del icono en el rea de edicin. El tamao normal de la imagen del
icono aparece en la casilla apropiada en la parte derecha del rea de edicin.
Icono Nodo Expandible Nodo Expandido

Icono
Conector
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 43 Dr. Gerardo Trujillo Schiaffino




Fig. 2.31. Editor de Iconosr

Tambin se puede arrastrar un grfico desde cualquier archivo y colocarlo en la
esquina superior derecha del panel frontal o del diagrama de bloque. LabVIEW convierte el
grfico a un icono de 32 32 pxeles.


B) Crear Conector

Para utilizar un VI como un subVI, usted necesita crear un conector. El conector es
una serie de terminales que corresponden a los controles y a los indicadores de ese VI,
similar a la lista de parmetros de una funcin basada en un lenguaje de programacin de
texto. El conector define las entradas y las salidas que usted puede cablear al VI para que
pueda utilizarlo como subVI.

Defina las conexiones asignando un control del panel frontal o un indicador a cada
una de las terminales del conector. Para definir un conector, de un clic-derecho sobre el icono
en la esquina superior derecha de la ventana del panel frontal y seleccione Show Connector
del men. El conector substituye el icono. Cada rectngulo en el conector representa una
terminal. Utilice los rectngulos para asignar entradas y salidas. El nmero de terminales que
LabVIEW muestra en el conector depende del nmero de controles e indicadores en el panel
frontal. Para el panel frontal mostrado en la figura 2.32, el cual tiene cuatro controles y un
indicador, LabVIEW mostrara cuatro terminales de entradas y una terminal de salida en el
conector.







Fig. 2.32. Creacin de conector

Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 44 Dr. Gerardo Trujillo Schiaffino


C) Asignar terminales

Despus que seleccione un patrn para utilizar en su conector, debe definir las
conexiones asignando un control del panel frontal o indicador a cada uno de los terminales
del conector. Cuando usted hace vnculos entre controles e indicadores y el conector,
coloque las entradas en la izquierda y las salidas a la derecha para evitar patrones
complicados y poco claros en su VI. Para asignar una terminal a un control de panel frontal o
indicador, presione una terminal del conector. Presione el control del panel frontal o indicador
que usted desea asignar a la terminal. Haga clic en un rea abierta del panel frontal. La
terminal cambia al color del tipo de datos del control para indicar que usted conect la
terminal. Usted tambin puede seleccionar el control o el indicador primeramente y despus
seleccionar la terminal.




Fig. 2.33. Asignacin de terminales


Asegurase que salv el VI despus de haber hecho las asignaciones de las
terminales.


2.3.3 Librerias de SubVIs

Hay varias maneras de organizar sus subVIs. La manera ms comn es organizarlos
por aplicacin. En este caso, son salvados en el mismo directorio o dentro de un archivo de
librera de VI todos los VIs para una aplicacin en particular. Salvarlos en un archivo de
librera permite que usted transporte una aplicacin entera dentro de un solo archivo.

Salvar dentro de una librera es simple. Despus de presionar Save As (salvar
como), presione New VI Library (nueva librera de VI). Esto permitir que usted nombre la
librera, y entonces salvar su VI en l. Para agregar VI subsecuentes, simplemente haga un
doble-clic al archivo .llb de la ventana estndar de Salvar, y dar un nombre al VI.



Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 45 Dr. Gerardo Trujillo Schiaffino
2.3.4 Uso de los subVIs

Despus de construir un VI y crear su icono y conector, usted puede utilizarlo como
un subVI. Para colocar un subVI en el diagrama de bloque, seleccione Functions>> Select
VI. Navegue y haga un doble-clic en el VI que usted desea utilizar como subVI y colquelo en
el diagrama de bloques.

Tambin puede colocar un VI abierto en el diagrama de bloque de otro VI abierto
usando la herramienta de colocacin (Positioning Tool) para hacer clic en el icono en la
esquina superior derecha del panel frontal o diagrama de bloque de el VI que usted desea
utilizar como subVI y arrastrar el icono al diagrama de bloque del otro VI.




Fig. 2.34. Acceso a los subVIs en la paleta de funciones



Ejercicio 2.3 Convierta en SubVI el programa Conversin C a F.vi


1. Abra el programa Conversin C a F.vi.

2. Siguiendo el procedimiento antes descrito edite un icono apropiado

3. Asigne terminales en el conector.

4. Salve de nuevo el VI como Conversin C a F.vi, pero hgalo dentro de una librera de
instrumentos virtuales (LLB), asigne a esta librera el nombre Ejercicios + su numero de
matricula.

Seleccionar
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 46 Dr. Gerardo Trujillo Schiaffino



2.4 ESTRUCTURAS DE PROGRAMACION.

LabVIEW, como cualquier otro lenguaje de programacin, contiene estructuras de
programacin como ciclos While, ciclos For, estructuras Case, y estructuras de Secuencias
entre otras. El uso correcto de todas estas estructuras de programacin permite desarrollar
un mejor control en la programacin del flujo de los datos. Para tener acceso a todas las
estructuras de programacin seleccionar en la paleta de funciones la sub-paleta All Funtions
y luego seleccionar la sup-paleta Structures como se muestra en la Figura 2.35



Fig. 2.34. Acceso a las estructuras en la paleta de funciones

click
click
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 47 Dr. Gerardo Trujillo Schiaffino


2.4.1 Ciclo While.

El ciclo While es similar al ciclo Do o al ciclo Repeat-Until en lenguajes de
programacin basados en texto, un ciclo While, como el mostrado en la figura 2.35, ejecuta el
cdigo contenido dentro de este hasta que la condicin sea cumplida. El ciclo While ejecuta
el cdigo hasta que la terminal dependiente, recibe un valor Booleano especfico. El
comportamiento y la apariencia de la terminal de control de iteraciones puede ser Continue if
True (contine si es Verdadero), que es el valor por defoult, o Stop if Trae (detngase si es
Verdadero). Cuando el control de iteraciones es Continue if True, el ciclo While ejecuta su
sub diagrama hasta que la terminal recibe un valor FALSO. Cuando el control de iteraciones
es Stop if True, el ciclo While ejecuta su sub diagrama hasta que la terminal recibe un valor
VERDADERO. La terminal de iteracin (una terminal de salida), mostrada en la esquina
inferior izquierda del ciclo, contiene el numero de iteraciones completas. El conteo de
iteraciones siempre empieza en cero. Durante la primera iteracin, la terminal de iteracin
regresa a cero.


Fig. 2.36. Estructura de ciclo While



Cuando un valor entra o sale de la estructura de ciclo, se genera automticamente en
el recuadro de la estructura una terminal llamada tnel, cuando se trata de un tnel de
entrada esta terminal almacena el valor externo para que este disponible en cada iteracin
del ciclo, como este almacenamiento se hace antes de entrar al ciclo, una vez adentro el
programa no puede leer el valor externo.

Nunca conecte el control del condicional del ciclo de manera externa pues el
programa se quedara ciclado

Cuando se trabaja con ciclos While siempre es conveniente incluir una funcin de
retardo de al menos 1 milisegundo para liberar tiempo de uso del CPU de la computadora, de
no hacerlo la ejecucin del ciclo acapara el procesador haciendo lenta la respuesta del
mismo para otras aplicaciones.



Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 48 Dr. Gerardo Trujillo Schiaffino


Coloque ciclos While en su diagrama seleccionando While Loop de la sub-paleta
Structures en el diagrama de bloque como se muestra en la figura 2.37





Fig. 2.37. Acceso a la estructura de ciclo While en la paleta de funciones


Cuando este seleccionado, el cursor del ratn se convierte en un puntero especial que
usted usa para encerrar la seccin del cdigo que desea repetir. Dle click al botn del
ratn para definir la esquina superior-izquierda, dle click otra vez al botn del ratn en la
esquina inferior izquierda, y la frontera del ciclo Mientras es creada alrededor del cdigo
seleccionado. Arrastre nodos adicionales adentro del ciclo Mientras si es necesario.




Ejercicio 2.4 Uso del Ciclo While


1. Utilizando una estructura de ciclo While crear un VI que genere un nmero aleatorio cada
segundo hasta que el usuario lo detenga.

2. Conecte la terminal de terminacin del ciclo a un botn de paro en el panel frontal

3. Coloque la funcin Express VI Time Delay (demora de tiempo) dentro de su ciclo While.

4. Programe un retardo de 1 segundo haciendo doble clck en la funcin Time Delay

5. Ejecute su programa

6. Guarde el VI como Ciclo While.vi

click
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 49 Dr. Gerardo Trujillo Schiaffino




2.4.2 Ciclo For

Un ciclo For, como el mostrado en la figura 2.38, ejecuta el codigo contenido dentro
del ciclo varias veces. El valor en la terminal de conteo (una terminal de entrada)
representada por la N, indica cuantas veces repetir el sub diagrama. La terminal de iteracin
(una entrada de salida), mostrada en la esquina inferior izquierda, contiene el numero de
iteraciones completas. El conteo de iteraciones siempre empieza en cero. Durante la primera
iteracin, la terminal de iteracin regresa a cero.




Fig. 2.38 Estructura de ciclo For




Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 50 Dr. Gerardo Trujillo Schiaffino



Al igual que en uso de los ciclos While, considere el mismo comportamiento de
generacin de tnel para valores externos al ciclo For.

Coloque ciclos For en su diagrama seleccionando For Loop de la sub-paleta
Structures en el diagrama de bloque como se muestra en la figura 2.39





Fig. 2.39. Acceso a la estructura de ciclo For en la paleta de funciones






Ejercicio 2.5 Uso del Ciclo For


1. Utilizando una estructura de ciclo For crear un VI que genere 10 nmeros aleatorios a una
velocidad definida por el usuario.

2. Agregue un control de deslizamiento (slider control) al panel de control.

3. Ajuste la escala de este control de deslizamiento de 0 a 5

4. Conecte este control a la entrada de la funcin Express VI Time Delay (demora de tiempo)
dentro de su ciclo For.

5. Ejecute su programa

5. Guarde el VI como Ciclo For.vi


click
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 51 Dr. Gerardo Trujillo Schiaffino



2.4.3. Registros de Corrimiento

Los registros de corrimiento son terminales que se pueden activar en las estructuras
de los ciclos While y For para almacenar temporalmente los valores generados en variables
determinadas durante la iteracin actual para ser utilizados en iteraciones posteriores

Para agregar un registro de corrimiento en una estructura de ciclo, haga click derecho
sobre el contorno de la estructura y seleccione Add Shift Register del men emergente
como se muestra en la figura 2.40




Fig. 2.40. Agregando un registro de corrimiento en la estructura de un ciclo


Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 52 Dr. Gerardo Trujillo Schiaffino

Por omisin (default) los registros de corrimiento permiten almacenar solo el valor la
iteracin anterior, cuando necesitamos aumentar esta capacidad de almacenamiento para
mas iteraciones, simplemente agregamos elementos de almacenamiento al mismo registro de
corrimiento haciendo un click derecho en la terminal del registro y seleccionando Add
Element del men emergente, tal como se muestra en la figura 2.41. Se pueden adicionar
tantos elementos de memoria como sean necesarios



Fig. 2.41. Agregando elementos de memoria a un registro de corrimiento


La operacin de los registros de corrimiento es muy sencilla. Antes de iniciar las
iteraciones del ciclo, los elementos de memoria son inicializados con los valores conectados
por fuera del ciclo, este paso es importante debido a que si no se inicializan con un valor
conocido, los elementos de memoria podran contener basura que podra afectar el
desempeo del cdigo.


En la primer iteracin del ciclo, i=0, los elementos de memoria transfieren se
contenido hacia el interior del ciclo y se efecta el cdigo programado, en este paso tambin
se asigna en la terminal correspondiente el nuevo valor que ser almacenado en el registro.


Antes de ejecutar la siguiente iteracin, i=1, el valor almacenado en la iteracin
anterior es transferido al primer elemento de memoria, el valor contenido en este se transfiere
al segundo y as sucesivamente efectuando un corrimiento de los valores almacenados en el
registro, el valor en el ultimo elemento de memoria se elimina y un nuevo valor es
almacenado en la terminal correspondiente para ser transferido en la siguiente iteracin, este
comportamiento se repite para el resto de las iteraciones del ciclo.


La figura 2.42 muestra de manera grafica la operacin de un registro de corrimiento
con cuatro terminales de memoria.

Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 53 Dr. Gerardo Trujillo Schiaffino




Fig. 2.42. Operacin del registro de corrimiento a)antes de ejecutar i=0, b) i=0, c)antes de ejecutar i=1,2,3N-1,
d) i=1,2,3N-1


Los registros de corrimiento pueden almacenar cualquier tipo de variable y tambin se
pueden activar en los ciclos While.





Ejercicio 2.6 Uso de Registros de Corrimiento


1. Utilizando una estructura de ciclo For con registros de corrimiento crear un VI que genere
cuatro nmeros aleatorios y muestre en el panel, adems de los nmeros aleatorios, el
promedio de ellos.

2. No olvide inicializar el registro de corrimiento

3. Ejecute su programa

4. Guarde el VI como Registros de Corrimiento .vi



a) b)
c) d)
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 54 Dr. Gerardo Trujillo Schiaffino






2.4.4. Nodos de Retroalimentacin

Los nodos de retroalimentacin son una estructura que nos permite retroalimentar un
valor de salida en la iteracin de un ciclo para utilizarlo como entrada en la siguiente iteracin,
su funcin es similar a la de un registro de corrimiento con solo un elemento de memoria.

Al igual que en caso de los registros de corrimiento, es conveniente siempre inicializar
los nodos de retroalimentacin en la terminal respectiva.





Fig. 2.43. Nodo de retroalimentacin en un ciclo For


Coloque nodos de retroalimentacin en su diagrama seleccionando Feedback
Nodede la sub-paleta Structures en el diagrama de bloque como se muestra en la figura
2.44

Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 55 Dr. Gerardo Trujillo Schiaffino






Fig. 2.44. Acceso a las estructuras de retroalimentacin


Los nodos de retroalimentacin, al igual que los registros de corrimiento, tambin
aceptan cualquier tipo de variable para su almacenamiento.






Ejercicio 2.7 Uso Nodos de Retroalimentacin


1. Utilizando una estructura de ciclo For con nodos de retroalimentacin crear un VI que
calcule la funcin n! (n factorial).

2. Recuerde que la terminal de iteraciones del ciclo (i) siempre empieza en 0.

3. Utilice la funcin incremento (+1) de la subpaleta aritmtica en la paleta de funciones del
diagrama de bloque

4. Ejecute su programa

5. Guarde el VI como Nodo de Retroalimentacion .vi

click
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 56 Dr. Gerardo Trujillo Schiaffino




2.4.5. Case

Las estructuras Case (de caso) nos permiten ejecutar un cdigo especfico
dependiendo del valor de una variable de entrada en una terminal de selector. Como una
baraja de naipes (cartas) solo se puede ver un cuadro de caso a la vez. Para cambiar de un
cuadro de caso u otro se hace un click en las flechas correspondientes en el encabezado del
cuadro.

Cuando un valor exterior entra a un cuadro de caso se genera un tnel que pone el
mismo valor de entrada disponible para todos los cuadros de caso. Cuando un valor debe
salir de un cuadro de caso, el tnel de salida que se genera debe tener algn valor asignado
para todos los casos o se mostrara en color blanco (vaco) y generara un error

Dependiendo del tipo de variable de entrada las estructuras Case pueden ser:
booleano, string o numrico


a) b) c)

Fig. 2.45. Estructura Case a) booleano, b) string, c) numrico.


Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 57 Dr. Gerardo Trujillo Schiaffino


Coloque estructuras Case en su diagrama seleccionando Case de la sub-paleta
Structures en el diagrama de bloque como se muestra en la figura 2.46





Fig. 2.46. Acceso a la estructura Case en la paleta de funciones



A) Case Booleano

Para una entrada Booleana la estructura Case se comporta de manera similar a los
enunciados if-then-else (si-entonces-de otro modo) en otros lenguajes. Si el valor booleano
de la entrada es verdadero (TRUE), se ejecuta el cdigo dentro del cuadro del caso
verdadero; de otra manera se ejecutara el cdigo dentro del cuadro del caso falso (FALSE)



Ejercicio 2.8 Uso del Case Booleano


1. Utilizando una estructura de Case booleano crear un VI que lea un valor numrico del
panel y si es positivo calcule el valor de su raz cuadrada, pero si es negativo solo
encienda un led en el panel

2. La funcin de comparacin mayor o igual la encuentra en All Funtions / Comparison

3. La funcin de raz cuadrada la encuentra en All Funtions / Numeric

4. No olvide asignar valores en ambos casos a los tneles de salida

5. Ejecute su programa

6. Guarde el VI como Case Booleano .vi




click
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 58 Dr. Gerardo Trujillo Schiaffino











B) Case String

Para una entrada de cadena de caracteres, se ejecuta solamente el cdigo contenido
en el cuadro del caso que corresponda exactamente con la cadena en la entrada de selector,
si el valor no coincide con ninguno de los casos, entonces se ejecuta el caso que este
marcado como caso por omisin (default).

Por omisin (default) todas las estructuras case aparecen como Case Booleano, para
convertir a Case String simplemente conecte una variable tipo string en la terminal de selector
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 59 Dr. Gerardo Trujillo Schiaffino
y el Case se convertir automticamente. Con la herramienta de texto cambie las cadenas
True y False que aparecen por default tecleando la cadena que quiere asignar en cada
caso especifico. Para agregar mas cuadros de caso haga clic derecho tocando el cuadro de
la estructura Case y seleccione Add Case After del men emergente, se puede agregar
tantos cuadros de caso como sea necesario




Ejercicio 2.9 Uso del Case String


1. Utilizando una estructura de Case String crear un VI tome dos valores numricos del panel
y realice una operacin aritmtica determinada por un control de cadena de caracteres
(string) en el panel

2. Las operaciones son suma, resta, multiplicacin y divisin para entradas de tres caracteres
sum, res, mul y div respectivamente en la entrada de selector del Case

3. Las funciones aritmticas las encuentra en All Funtions / Numeric

4. No olvide asignar valores en todos los casos al tnel de salida

5. Ejecute su programa

6. Guarde el VI como Case String .vi











Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 60 Dr. Gerardo Trujillo Schiaffino










Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 61 Dr. Gerardo Trujillo Schiaffino

C) Case Numrico

Para una entrada de valor numrico en la entrada del selector. El valor de entrada
determina cual caso (cuadro) se ejecutara. Si el valor de entrada esta fuera de rango de los
casos definidos, al igual que en los Case String, LabVIEW escoger el caso por omisin
(default).



Ejercicio 2.10 Uso del Case Numrico


1. Utilizando una estructura de Case Numrico crear un VI tome dos valores numricos del
panel y realice una operacin aritmtica determinada por un control numrico en el panel

2. Las operaciones son suma, resta, multiplicacin y divisin para entradas con valores 0, 1, 2
y 3 respectivamente en la entrada de selector del Case

3. Utilice el Vi generado en el ejercicio 2.9 y simplemente sustituya el control string por un
control numrico del tipo pointer slide localizado en la subpaleta de controles numricos,
cambie los nombres de los cuadros de caso sum, res, mul y div por 0,1, 2, y 3
respectivamente

4. Reescale el slide de 0 a 3, cambia su representacin a entero sin signo de 8 bits (U8),
cambia el estilo de la escala para visualizar solo las marcas principales y con la
herramienta de texto coloca etiquetas suma, resta, multiplicacin y divisin donde
correspondan

5. Ejecute su programa

6. Guarde el VI como Case Numerico .vi





Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 62 Dr. Gerardo Trujillo Schiaffino











Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 63 Dr. Gerardo Trujillo Schiaffino
2.4.6. Estructuras de Secuencia

En un lenguaje basado en texto, las declaraciones del programa se ejecutan en el
orden en que aparecen. En un flujo de datos, un nodo se ejecuta cuando los datos estn
disponibles en todas sus terminales de entrada. Algunas veces es difcil determinar el orden
exacto de ejecucin. Cuando se necesita controlar el orden de la ejecucin del cdigo en el
diagrama de bloques, se puede utilizar una Sequence Structure (estructura de secuencia).

Las estructuras de secuencia lucen como un pedazo de rollo de pelcula. Como se
muestra en la figura 2.47 existen dos tipos diferentes para esta estructura: la secuencia
apilada y la secuencia extendida.


a) b)

Fig. 2.47. Estructura de secuencia a) apilada, b) extendida.


Coloque estructuras de secuencia en su diagrama seleccionando Stacked Secuence
Structure o Flat Secuence Structure de la sub-paleta Structures en el diagrama de bloque
como se muestra en la figura 2.48




Fig. 2.48. Acceso a la estructura de secuencia en la paleta de funciones


A) Secuencias Apiladas

Las estructuras de secuencia apiladas solo muestran un cuadro de secuencia a la
vez, de manera similar a las estructuras de caso, solo que a diferencia de estas, todos los
cuadros ejecutan de manera secuencial el cdigo contenido en ellos. Para agregar cuadros a
una secuencia se hace un click derecho sobre la estructura y se selecciona Add Frame After
o Add Frame Before del men emergente, tal como se muestra en la figura 2.49

click
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 64 Dr. Gerardo Trujillo Schiaffino



Fig. 2.49. Acceso a la estructura de secuencia en la paleta de funciones


Cuando se requiere transferir valores entre diferentes cuadros de una estructura de
secuencia apilada, se debe activar las terminales de secuencia local haciendo un click
derecho sobre la estructura y seleccionando Add Local Secuence, tal como se muestra en la
figura 2.50. Este tipo de terminal almacena un valor generado en un cuadro de secuencia
para que pueda ser utilizado en los cuadros siguientes



Fig. 2.50. Acceso a la estructura de secuencia en la paleta de funciones



Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 65 Dr. Gerardo Trujillo Schiaffino

Ejercicio 2.11 Uso de las Estructuras de Secuencia Apiladas


1. Utilizando una estructura de Secuencia Apilada crear un VI que lea un valor numrico
entero entre 0 y 1000 del panel, genere los nmeros aleatorios necesarios hasta encontrar
ese numero y al finalizar indique en el panel cuantas iteraciones realizo y cuanto tiempo
tardo en realizarlas

2. El primer paso es leer el registro de ticks de reloj de la computadora, utilice la funcin Tick
Count localizada en la subpaleta Time & Dialog de la paleta de funciones, almacene este
valor en una terminal de secuencia local. Este registro se incrementa cada milisegundo

3. Luego, con un ciclo While genere los nmeros aleatorios hasta encontrar el nmero
especificado, tenga en cuenta que la funcin para generar nmeros aleatorios solo los
genera entre 0 y 1, recuerde tambin que va a comparar con un numero entero por lo que
necesitara de una funcin de redondeo

4. Finalmente vuelva a leer el registro de ticks de reloj y rstele el valor almacenado en la
secuencia local, esto le dar el tiempo transcurrido en milisegundos, no olvide indicar
tambin el nmero de iteraciones efectuadas

5. Ejecute su programa

6. Guarde el VI como Secuencia Apilada .vi




Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 66 Dr. Gerardo Trujillo Schiaffino






B) Secuencias Extendidas

Las estructuras de secuencia extendida realizan exactamente la misma funcin que
las estructuras de secuencia apiladas descritas anteriormente, la nica diferencia es que las
secuencias extendidas muestran simultneamente todos lo cuadros de secuencia de manera
que se puede visualizar simultneamente el cdigo contenido en toda la estructura. La
transferencia de valores entre distintos cuadros de una secuencia extendida se realiza a
travs de tneles simples como los empleados en otras estructuras. Para convertir una
secuencia apilada en secuencia extendida y viceversa se hace click sobre la estructura y se
selecciona Replace / Replace with Flat Secuence o Replace with Stacked Secuence
segn sea el caso, tal como se muestra en la figura 2.51
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 67 Dr. Gerardo Trujillo Schiaffino


Fig. 2.51. Acceso a la estructura de secuencia en la paleta de funciones



Ejercicio 2.12 Uso de las Estructuras de Secuencia Extendidas

1. Utilizando una estructura de Secuencia Extendida crear un VI que lea un valor numrico
entero entre 0 y 1000 del panel, genere los nmeros aleatorios necesarios hasta encontrar
ese numero y al finalizar indique en el panel cuantas iteraciones realiz y cuanto tiempo
tard en realizarlas

2. Remplace la secuencia apilada del ejercicio 2.11 por una secuencia extendida

3. Ejecute su programa

4. Guarde el VI como Secuencia Extendida .vi




Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 68 Dr. Gerardo Trujillo Schiaffino

2.4.7 Nodos de Frmula

Algunas veces es preferible programar expresiones matemticas con funciones
basadas en texto, en lugar de hacerlo con iconos (los que pueden tomar mucho espacio en el
diagrama). Los nodos de frmula nos permiten implementar ecuaciones complicadas usando
instrucciones basadas en texto. Compare los ejemplos mostrados en la figura 2.52 de una
misma expresin matemtica evaluada en forma de diagrama y con un nodo de frmula



a) b)

Fig. 2.52. Expresin matemtica evaluada a) en diagrama, b) en nodo de frmula


Coloque nodos de frmula en su diagrama seleccionando Formula Node de la sub-
paleta Structures en el diagrama de bloque como se muestra en la figura 2.53



Fig. 2.53. Acceso a los nodos de frmula en la paleta de funciones


La cajas de este nodo pueden cambiar de tamao para introducir formulas algebraicas
directamente a los diagramas de bloque. Para agregar variables, se hace un click derecho
sobre la estructura y se selecciona la opcin de agregar entrada (Add Input) o agregar salida
(Add Output), tal como se muestra en la figura 2.54



Fig. 2.54. Agregando terminales de entrada y de salida a un nodo de frmula
click
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 69 Dr. Gerardo Trujillo Schiaffino

Hay que nombrar las variables de la misma manera en que sern usadas en la
formula. (Los nombres son sensibles a las maysculas). Las declaraciones deben terminar
con un punto y coma (;). Al usar varias frmulas en un solo nodo de frmula, cada variable
asignada (las que aparecen en la parte izquierda de cada frmula) deben de tener una
terminal de salida en el nodo de frmula. Sin embargo, estas terminales de salida no
necesitan estar cableadas si no se requiere su valor de salida
En los nodos de frmula es posible utilizar funciones como: abs, acos, acosh, asin,
asinh, atan, atan2, atanh, ceil, cos, cosh, cot, csc, exp, expm1, floor, getexp, getman, int,
intrz, In, Inp1, log, log2, max, min, mod, pow, rand, rem, sec, sign, sin, sinc, sinh, sqrt, tan,
tanh. Tambin se puede utilizar estructuras de programacin como If then, for, case, entre
muchas otras, utilizando la sintaxis del lenguaje C


Ejercicio 2.13 Uso de los Nodos de Frmula


1. Utilizando un nodo de frmula crear un VI que resuelva las siguientes ecuaciones:
y= x
2
+10x+1
z= 16x
3
+5
w= 2y-z

2. Leer en el panel frontal el valor correspondiente a x y mostrar solo el resultado para w

3. Ejecute su programa

4. Guarde el VI como Nodo de Formula .vi






Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 70 Dr. Gerardo Trujillo Schiaffino

2.5 ARREGLOS

Al igual que en otros lenguajes de programacin, en LabVIEW los arreglos agrupan
elementos de datos del mismo tipo. Un arreglo consiste de elementos ordenados a travs de
ndices y dimensiones. Los elementos son los datos que componen el arreglo, el ndice es el
lugar o posicin que ocupa el elemento dentro del arreglo y la dimensin es la cantidad de
ndices que se utilizan para indicar una posicin nica dentro del arreglo. Un arreglo puede
tener una o mas dimensiones y hasta 2^31 1 elementos por dimensin, si lo permite la
memoria de la computadora. El ndice es basado en cero, lo que significa que tiene un rango
de 0 a n 1, donde n es el nmero de elementos en el arreglo. Por ejemplo, n = 9 para los
nueve planetas, as que el ndice recorre de 0 a 8. La Tierra es el tercer planeta, as que tiene
un ndice de 2.


La figura 2.55 muestra el esquema de un arreglo unidimensional en el cual cada
elemento se accesa a travs de un solo ndice.




Fig. 2.55. Arreglo unidimensional


La figura 2.56 muestra el esquema de un arreglo bidimensional en el cual cada
elemento se accesa a travs de dos ndices





Fig. 2.56. Arreglo bidimensional n X m


Se pueden construir arreglos de tipos de datos numricos, booleanos, rutas, cadenas,
formas de onda y clusters.

elemento elemento elemento elemento elemento
ndices 0 1 2 3 n
elemento elemento elemento elemento elemento
elemento elemento elemento elemento elemento
elemento elemento elemento elemento elemento
elemento elemento elemento elemento elemento
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0

1

2

3

.
.
.

m
Arreglo
elemento elemento elemento elemento elemento Arreglo
ndice 0 1 2 3 n
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 71 Dr. Gerardo Trujillo Schiaffino

2.5.1 Controles e Indicadores de Arreglo

Para crear un control o indicador de un arreglo en el panel, primero se selecciona una
preforma de arreglo (array) en la paleta Controls All Controls Arrays & Cluster, y se
coloca en el panel frontal, como se muestra en al figura 2.56


Fig. 2.56. Acceso a la preforma para un arreglo en el panel frontal


Luego, como se muestra en la figura 2.57, se arrastra un control o un indicador
adentro de la preforma para asignarle el tipo de dato correspondiente, por ejemplo, si se
requiere un arreglo indicador numrico se debe colocar dentro de la preforma de arreglo un
indicador numrico, si lo que se desea el arreglo control booleano entonces de debe colocar
dentro de la preforma un control booleano. Si se intenta arrastrar un control o indicador
invlido, tal como una grfica XY, no ser posible colocarlo dentro de la preforma de arreglo.





Fig. 2.57. Asignacin del tipo de dato al arreglo


Para poder utilizar un arreglo se debe asignar el tipo de variable, de otro modo, la
terminal del arreglo en el diagrama de bloques aparece negra con un parntesis vaco.
Click
Click
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 72 Dr. Gerardo Trujillo Schiaffino
Para agregar dimensiones a un arreglo, se hace click derecho en el indicador del
ndice y seleccione Add Dimension del men emergente como se muestra en la figura 2.58.
Tambin se puede utilizar la herramienta que posicionamiento para cambiar el tamao del
indicador del ndice hasta que se obtengan las dimensiones requeridas.





Fig. 2.58. Adicionando dimensiones a un arreglo


2.5.2 Arreglos Auto Indexados

El manejo de auto-indexamiento de arreglos es una capacidad novedosa de
LabVIEW que le da una gran versatilidad en el uso de los ciclos For y While. El Auto-
indexamiento es una caracterstica propia de los tneles de entrada o salida en las
estructuras de ciclos y se activa o desactiva seleccionando Enable Indexing o Disable
Indexing en los mens emergentes al hacer click derecho sobe un tnel.


A) Auto-indexamiento de salida

Cuando se utiliza el auto-ndice en tnel de salida, se genera de manera automtica
un arreglo de salida que recibe un nuevo elemento por cada iteracin del ciclo. El tnel de
salida contiene corchetes cuadrados representando un arreglo que al alambrarse al exterior
del ciclo transfiere el arreglo que contiene los elementos almacenados en cada una de las
iteraciones del ciclo. Si el auto-ndice esta desactivado, entonces el tnel no crea un arreglo
para almacenar los valores de las distintas iteraciones y al finalizar el ciclo solo se transfiere
al exterior el ultimo valor generado. En este caso el tnel tiene una apariencia normal y no
muestra corchetes como en caso anterior.

La figura 2.59 muestra un ejemplo de un ciclo For con dos tneles de salida, en el
primero (parte superior) el auto- indexamiento esta habilitado por lo cual genera un arreglo de
salida, mientras que en el segundo (parte inferior) el auto-indexamiento esta deshabilitado por
lo cual solo sale un valor numrico simple.


Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 73 Dr. Gerardo Trujillo Schiaffino



Fig. 2.59. Ejemplo de auto-indexamiento en tneles de salida


El auto-indexamiento en los tneles de salida aplica por igual a los ciclos While y a los
ciclos For. Sin embargo, por omisin (default) en el caso de los ciclos For el auto-
indexamiento esta habilitado, mientras que en los ciclos While por omisin el auto-
indexamiento est deshabilitado.


B) Auto-indexamiento de entrada

Cuando se alambra un arreglo a un tnel de entrada de un ciclo For o un ciclo While,
si el auto-indexamiento se encuentra activado, entonces en cada iteracin solo pasar a
travs del tnel un elemento, cuyo ndice coincida con el contador de iteraciones i del ciclo.
Por otro lado, si el auto-indexamiento se encuentra desactivado entonces el arreglo completo
pasar por el tnel en cada iteracin. Un ejemplo de este comportamiento se muestra en la
figura 2.60.



Fig. 2.60. Ejemplo de auto-indexamiento en tneles de entrada


Ntese que el primer tnel de entrada (parte superior) tiene el auto-ndice habilitado
por lo que al ciclo entran los elementos de manera individual, mientras que en segundo tnel
(parte inferior) el auto-ndice se encuentra deshabilitado por lo cual al interior del ciclo llega el
arreglo completo. Ntese tambin como cambia la representacin de la terminal del tnel
cuando est activado el auto-indexamiento.

Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 74 Dr. Gerardo Trujillo Schiaffino



Otra caracterstica particular de LabVIEW con respecto a los arreglos alambrados en
tneles de entrada en ciclos For se presenta cuando existe uno o ms tneles que tengan
habilitado el auto-ndice, el tamao de los arreglos se puede utilizar para controlar el numero
de iteraciones del ciclo, incluso la terminal N del ciclo pude quedar desconectada. En el caso
de existan arreglos de entrada de diferentes tamaos o incluso si estuviera alambrada la
terminal N, el control de las iteraciones lo tiene el que tenga el tamao menor. Por ejemplo, si
se cablean un arreglo con 10 elementos y otro de 5 elementos a tneles de entrada de
entrada de un ciclo For y se pone la terminal del contador a 15, el ciclo se ejecuta solo 5
veces.


C) Arreglos auto-indexados multidimensionales

Se pueden utilizar dos ciclos For, uno dentro del otro, para crear arreglos
bidimensionales. El ciclo For externo crea las filas de elementos y el ciclo For interno crea las
columnas de elementos. La figura 2.61 genera un arreglo bidimensional de 3 renglones y seis
columnas de nmeros aleatorios




Fig. 2.61. Creacin de arreglos bidimensionales.


De igual manera, anidando ms ciclos For, se pueden crear arreglos
multidimensionales.


2.5.3 Constantes de Arreglo

Tambin es posible crear constantes de arreglo en el diagrama a bloque, el
procedimiento es muy parecido a la creacin de controles o indicadores de arreglo en el
panel.

Primero seleccione una preforma Array Constant en la paleta Functions All
Functions Array en el diagrama a bloque, como se muestra en al figura 2.62.





Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 75 Dr. Gerardo Trujillo Schiaffino





Fig. 2.62. Acceso a la preforma para constante de arreglo.


Luego asigne el tipo de constante a la preforma de arreglo. La figura 2.63a muestra la
construccin de una constante de arreglo booleano. La figura 2.63b Muestra la construccin
de una constante de arreglo numrico bidimensional. Ntese que cada elemento del arreglo
puede tener valor diferente entre si.





Fig. 2.63. Construccin de una constante de arreglo a) booleano, b) numrico bidimensional.

Click
Click
a)
b)
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 76 Dr. Gerardo Trujillo Schiaffino

2.5.4 Funciones para Arreglos

LabVIEW cuenta con una gran cantidad de funciones para crear, manipular o trabajar
con arreglos. Estas funciones estn situadas en la paleta Functions All Functions Array.

Las principales funciones para trabajar con arreglos incluyen:


A) Array Size

La funcin Array Size (Tamao del Arreglo) devuelve el nmero de elementos en cada
dimensin de un arreglo. Si el arreglo es de n-dimensiones, el tamao (size) de la salida es
un arreglo de n elementos, donde cada elemento es el tamao del arreglo en esa dimensin



B) Initialize Array

La funcin Inicialize Array (Inicializar el Arreglo) crea un arreglo de n dimensiones en
donde cada elemento ha sido inicializado al valor conectado en la entrada del elemento
(element). Se puede cambiar el tamao de la funcin para incrementar el nmero de
dimensiones del arreglo de salida.



C) Build Array

La funcin Build Array (Construccin de Arreglos) puede realizar dos funciones
distintas. Concatena mltiples arreglos o aade elementos a un arreglo de n dimensiones. Se
puede cambiar el tamao de la funcin para incrementar el nmero de dimensiones del
arreglo de salida. Para concatenar las entradas en un arreglo ms largo de la misma
dimensin, se hace click derecho en el nodo de la funcin y seleccione Concatenate Inputs
(Concatenar Entradas) desde el men emergente.



D) Array Subset

La funcin Array Subset (Subconjunto de Arreglo) devuelve parte de un arreglo
comenzando en el ndice indicado y con una longitud (cantidad de elementos) tambin
indicada. Para arreglos multidimensionales se puede cambiar el tamao de la funcin para
incrementar el nmero de dimensiones.



E) Index Array

La funcin Index Array (Indice del Arreglo) devuelve el elemento de un arreglo
almacenado en el ndice indicado. Tambin se puede utilizar la funcin ndice del Arreglo
para extraer una fila o una columna de un arreglo bidimensional para as crear un sub-arreglo
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 77 Dr. Gerardo Trujillo Schiaffino
del original. Para hacer esto se conecta un arreglo bidimensional a la entrada de la funcin, la
cual se auto-ajusta para mostrar dos terminales de ndice disponibles. La terminal del ndice
superior indica la fila, y la segunda terminal indica la columna. Se puede cablear entradas a
ambas terminales de ndice para indicar un solo elemento, o se puede cablear solamente una
terminal para extraer una fila o una columna de datos.



Ejercicio 2.14 Uso de los Arreglos

1. Generar un arreglo auto-indexado de 5 nmeros aleatorios entre 0 y 10, crear una
constante de arreglo con los valores [3,8,2,0,1], crear un arreglo inicializado de 5
elementos con valor de 4, concatenar los tres arreglos anteriores formando un solo
arreglo. Mostrar en el panel frontal el arreglo final y el tamao del arreglo final

2. Extraer el valor del elemento 4 del arreglo y mostrarlo en el panel frontal

3. Extraer un sub-conjunto de 5 elementos empezando en el elemento 2 y mostrarlo en el
panel frontal

4. Ejecute su programa

5. Guarde el VI como Arreglos .vi





Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 78 Dr. Gerardo Trujillo Schiaffino

2.6 CLUSTERS

Los clusters son otra manera de empaquetar datos en LabVIEW, son equivalentes a
un record en Pascal o una struct en C.

A diferencia de los arreglos en cuales todos los elementos deben de ser del mismo
tipo, los componentes de los clusters pueden ser de diferentes tipos de datos. Sin embargo,
todos los elementos de un cluster deben ser ya sea Indicadores o controles. No se puede
tener una control de string y un Indicador booleano juntos en el mismo cluster.

Los Clusters se pueden considerar como un grupo de alambres individuales (datos)
juntos en un cable (cluster). Uno de los principales usos de los clusters es disminuir la
cantidad de terminales de conexin en los subVIs. Un grupo de entradas y/o salidas se
pueden empaquetar para utilizar solo una lnea de conexin.


2.6.1 Controles e Indicadores de Clusters

Para crear un cluster se selecciona Cluster en el panel frontal desde la paleta
Controls All Controls Array & Cluster. Tal como se muestra en la figura 2.64.



Fig. 2.64. Acceso a la preforma de cluster en el panel frontal.


Esta opcin genera una pre-forma (shell) parecida a la pre-forma obtenida al crear
arreglos. Una vez esta se ha seleccionado se puede cambiar el tamao a la pre-forma. Al
hacer click derecho adentro de la pre-forma se puede aadir objetos de cualquier tipo como
se muestra en la figura 2. 65. Inclusive se puede tener un cluster adentro de un cluster. Los
componentes (controles o indicadores) que son introducidos a un cluster, no generan terminal
en el diagrama de bloque, estos componentes se accesan a travs de la terminal del cluster.
Click
Click
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 79 Dr. Gerardo Trujillo Schiaffino


a) b)

Fig. 2.65. Ejemplo de un cluster en el panel frontal a) control, b) indicador.


El cluster se convierte en un indicador o control basado en el primer objeto que fue
ingresado dentro del grupo.


2.6.2 Constante de Clusters

Tambin se puede crear una constante de cluster en el diagrama de bloque
escogiendo Cluster Constant de la paleta Cluster, esto brinda una pre-forma (shell) de
cluster vaca. Una vez ingresado se puede dar cualquier tamao al cluster, dentro de la
preforma de se puede introducir otras constantes, tal como se muestra en la figura 2.66



Fig. 2.66. Ejemplo de una constante de cluster en el diagrama de bloque.


No se puede colocar terminales para los objetos del panel frontal en una constante de
cluster en el diagrama de bloques, ni tampoco puede colocar constantes especiales como el
Tab o una Cadena de caracteres vacas dentro de una pre-forma de cluster.


2.6.3 Orden de Cluster

Dentro del cluster, los componentes estn acomodados de acuerdo al orden en que
fueron introducidos a la pre-forma. Este orden es importante debido a que para poder
interconectar los clusters, estos deben tener la misma cantidad de elementos y el mismo
orden, de lo contrario LabVIEW no permitir la conexin.
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 80 Dr. Gerardo Trujillo Schiaffino
Para visualizar o modificar el orden de los elementos de un cluster se hace un click
derecho tocando la estructura del cluster y se selecciona Reorder Controls in Cluster del
men emergente como se muestra en la figura 2.67.





Fig. 2.67. Reordenar elementos en un control o indicador de cluster.


El nmero en fondo blanco muestra el orden actual de los elementos en el cluster y el
nmero en fondo negro indica el nuevo orden de los elementos, esto se cambia haciendo
click en el elemento que se desea modificar.


2.6.4 Funciones para Clusters

LabVIEW cuenta con funciones para crear, manipular o trabajar con clusters. Estas
funciones estn situadas en la paleta Functions All Functions Clusters.

Las principales funciones para trabajar con
clusters incluyen:


A) Bundle

La funcin Bundle (agrupacin) forma un cluster conteniendo los objetos dados en las
entradas de elementos


B) Bundle by Name

Actualiza valores de objetos localizados en grupos especficos (los objetos deben
tener su propia clasificacin).Se debe de tener un cluster existente cableado a la terminal de
en medio de la funcin para poder utilizar Bundle by Name.
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 81 Dr. Gerardo Trujillo Schiaffino


C) Unbundle

La funcin unbundle (desagrupar) se utiliza para acceder a todos los objetos del
cluster. Esta funcin debe tener exactamente el mismo nmero de terminales como se tienen
elementos en el cluster. Aadiendo o Removiendo elementos en el cluster se rompen los
cables en el diagrama.


D) Unbundle by Name

Funcin unbundle by name (desagrupar por nombre) se utiliza para acceder objetos
especficos (uno o mas) en el cluster. Solamente los objetos en el cluster que tengan su
propia marca (Label) pueden ser accesados. Cuando se desagrupe por nombre, haga click
en la terminal con la herramienta de operacin para escoger el elemento que quiere acceder.


Tambin se puede obtener las funciones de Bundle (agrupar), Unbundle
(desagrupar), Bundle by Name (agrupar por nombre), y Unbundle by Name (Desagrupar
por Nombre) al hacer click derecho con el ratn en la terminal del cluster en el diagrama de
bloques y eligiendo Cluster Tools (herramientas de cluster) del Men. Cuando usted escoge
Cluster Tools las funciones Bundle (agrupar) y Unbundle (desagrupar) automticamente
contienen el numero correcto de terminales. Las funciones Bundle by Name (agrupar por
nombre) y Unbundle by Name (desagrupar por nombre) aparecen con el primer elemento
del Cluster.


2.6.5 Cluster de Error

Los clusters de errores son un medio poderoso que utiliza LabVIEW para indicar y
manejar errores en funciones especficas. Los VI de adquisicin de datos (DAQ VIs) las
funciones de manejo de entradas y salidas de archivo (File I/O), los VIs de manejo de redes,
y muchos otros VIs utilizan este mtodo para pasar informacin entre nodos acerca de
errores. La figura 2.68 muestra el indicador de un cluster de error.





Fig. 2.68. Indicador de cluster de error.

Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 82 Dr. Gerardo Trujillo Schiaffino


El cluster para errores contiene los siguientes elementos:

status,

Es un Booleano al que se le asigna un valor verdadero si ocurre algn error.

code,

Es un valor numrico al que se le asigna un nmero de cdigo correspondiente al
error que ha ocurrido.

source,

Es una cadena de caracteres que identifica el VI en donde ocurri el error.

Los clusters de errores son tiles para determinar cuando ocurre un error durante la
ejecucin de un VI. Para ello simplemente se deben encadenar las funciones conectando la
salida Error Out de una a la entrada Error In de la siguiente, tal como se muestra en al figura
2.69.





Fig. 2.69. Conexin de los cluster de error.


Note tambin que los clusters para errores pueden ser tiles para determinar el flujo
del programa debido al paradigma de programacin del flujo de datos. Esto puede ser til
especialmente al configurar un muestreo en mas de una tarjeta de adquisicin de datos (DAQ
board) simultneamente.

Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 83 Dr. Gerardo Trujillo Schiaffino


Ejercicio 2.15 Uso de los Clusters

1. Generar un control de cluster que contenga en el panel frontal un control numrico, un
control booleano y un control string.

2. Desempaquetar el cluster en el diagrama de bloque para multiplicar el numrico por 10,
invertir el booleano y dejar igual el string

3. Empaquetar nuevamente y mostrar el resultado en un indicador de cluster en el panel
frontal

4. Ejecute su programa

5. Guarde el VI como Clusters .vi



Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 84 Dr. Gerardo Trujillo Schiaffino

2.7 GRAFICAS

Los Grficos son indicadores muy verstiles en LabVIEW. Pueden ser altamente
adaptables y pueden ser usados para mostrar de forma concisa una gran cantidad de
informacin. LabVIEW cuenta con una gran variedad de graficas para casi todas las
aplicaciones, pero los tres tipos de graficas ms utilizados son: Waveform Chart, Waveform
Graph y XY Graph.


2.7.1 Wavefrom Chart

Las graficas del tipo Waveform Chart (registrador de forma de onda) es un indicador
numrico especial que muestra una grafica uno o ms trazos (plots). La grfica Waveform
Chart esta localizada en la paleta ControlsGraph Indicators, como se muestra en la figura
2.70.






Fig. 2.70. Ubicacin de una grfica Waveform Chart en el panel frontal.


Para utilizar este tipo de grafica para mostrar un solo trazo, simplemente se cablea la
terminal de la grafica a la salida escalar que se desea graficar como se muestra en la figura
2.71.




Fig. 2.71. Conexin de una grfica Waveform Chart en el diagrama de bloque para trazo simple.

click
click
Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 85 Dr. Gerardo Trujillo Schiaffino
Las grficas Waveform Chart tambin pueden mostrar trazos mltiples, para hacer
esto se enva a la terminal de la grafica un cluster compuesto de valores escalares donde
cada valor es una trazo a graficar. La figura 2.72 muestra un ejemplo de un registrador de
forma de onda mltiple.




Fig. 2.72. Conexin de una grfica Waveform Chart en el diagrama de bloque para trazo mltiple.


Se puede cambiar los valores mnimo y mximo de los ejes x y y, dando doble click al
valor con la herramientas de etiquetado y escribiendo el nuevo valor. De manera similar, se
puede cambiar la etiqueta del eje. Tambin se puede dar click derecho a la leyenda de la
grafica y cambiar el estilo, forma y color de cada trazo.

Tambin es posible personalizar la grfica seleccionando Properties del men
emergente al hacer click derecho sobre esta, como se muestra en la figura 2.73, en la
ventana de configuracin que aparece se puede personalizar la apariencia, el formato y
precisin, los trazos, las escalas y la documentacin.





Fig. 2.73. Personalizacin de una grfica Waveform Chart.



Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 86 Dr. Gerardo Trujillo Schiaffino

2.7.2 Waveform Graph

VIs con grficos usualmente recolectan los datos en un arreglo y despus dibujan
estos datos en una grfica.

Los grficos situados en la paleta Controls All Controls Graph incluyen el grfico
de forma de onda y el grfico XY. El diagrama del grfico de forma de onda traza solamente
funciones de una sola variable, como en y = f(x), con puntos distribuidos uniformemente a lo
largo del eje x, tal como formas de onda adquiridas con tiempo variable. Los grficos
expresos XY exhiben cualquier set de puntos, ya sea que estos sean muestreados
uniformemente o no. Cambie el tamao de la leyenda de la grafica para exhibir mltiples
diagramas. Utilice diagramas mltiples para ahorrar espacio en el panel frontal y para hacer
hacer comparaciones entre diagramas. Los grficos XY y de forma de onda se adaptan
automticamente a los diagramas mltiples.

Grafica de Forma de Onda de Trazo-Simple (Single-Plot Waveform Graph)
Los grficos de forma de onda aceptan un solo arreglo de valores e interpreta los datos
como puntos en el grfico e incrementa el indice x por uno comenzando en x = 0. El grfico
tambin acepta un cluster de un valor inicial x, un .x, y de un arreglo de datos y. Refierase al
VI del grfico de forma de onda (Waveform Graph VI) en
examples\general\graphs\gengraph.llb para encontrar ejemplos de los tipos de datos que los
grficos de forma de onda de trazo-simple aceptan.

Grafico de Forma de Onda de Trazo- Mltiple
Los grficos de forma de onda de trazo mltiple aceptan un arreglo bidimensional de valores,
en donde cada fila del arreglo es una grafica sencilla. La grfica interpreta los datos como
puntos en la grfica e incrementa el indice x por uno, comenzando en x = 0. Cablee un
arreglo de datos bidimensionales a la grfica, haga clic derecho en la grfica, y seleccione
Transpose Array (arreglo transpuesto) del men de atajo para manejar cada columna del
arreglo como un diagrama aparte. Refirase al (Y) Multi Plot 1 graph en el VI de Waveform
Graph en examples\general\graphs\gengraph.llb para encontrar un ejemplo de un grfico que
acepte este tipo de datos.

Un grfico de forma de onda de diagramas mltiples tambin acepta un cluster de un valor x,
un valor x , y de un arreglo bidimensional de datos y. El grfico interpreta los datos de y
como los puntos en el grfico e incrementa el indice x por x, comenzando en x = 0.
Refierase a (Xo, x, Y) Multi Plot 3 graph en el VI de Waveform Graph que se encuentra en
examples\general\graphs\gengraph.llb para encontrar un ejemplo de un grfico que acepte
este tipo de datos.

Un grfico de forma de onda de diagramas mltiples acepta un cluster de un valor inicial x, de
un valor .x, y de un arreglo que contenga clusters. Cada cluster contiene un arreglo de puntos
que contiene los datos de y. Usted utiliza la funcin de Bundle (empaquetado) para
empaquetar los arreglos en clusters, y usted utiliza la funcin de Build Array (construir
arreglo) para construir los clusters resultantes en un arreglo. Usted tambin puede utilizar el
Build Cluster Array (construir arreglo de clusters), el cual crea arreglos de clusters que
contienen entradas que usted especifica. Refirase a (Xo, x, Y) Multi Plot 2 en el VI de
Waveform Graph que se encuentra en examples\general\graphs\gengraph.llb para encontrar
un ejemplo de un grfico que acepte este tipo de datos.

Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 87 Dr. Gerardo Trujillo Schiaffino

2.7.3 XY Graph

Single-Plot XY Graph (Grafica XY de Trazo Simple)

Los grficos XY de trazo simple aceptan un cluster que contenga un arreglo x y un
arreglo y. El grfico de XY tambin acepta un arreglo de puntos, en donde un punto es un
cluster que contiene un valor de x y un valor de y. Refirase al VI de XY Graph en
examples\general\graph\gengraph.llb para encontrar un ejemplo del tipo de datos de los
grficos de XY de trazo simple.

MultiPlot XY Graph (Grafica XY de diagramas mltiples)

La Grafica XY de diagramas mltiples acepta un arreglo de diagramas, en donde un
diagrama es un cluster que contiene un arreglo x y un arreglo y. La Grafica XY de diagramas
mltiples tambin acepta un arreglo de clusters de diagramas, en donde una grafica es un
arreglo de puntos. Un punto es un cluster que contiene un valor x y un valor y. Refirase al VI
del XY Graph encontrado en examples\general\graph\gengraph.llb para encontrar un ejemplo
de los tipos de datos del Grafico XY de diagramas mltiples.



2.8 STRINGS

Una cadena es una secuencia de caracteres desplegables o no desplegables (ASCII).
Las Cadenas se usan frecuentemente para enviar comandos a instrumentos, para proveer
informacin acerca de pruebas (tales como el nombre del operador y la fecha), o para
desplegar resultados a el usuario.

Los Controles e indicadores de Cadena se encuentran en la subpaleta Text Control o
Text Indicator de la paleta de Controles.
Introduzca o cambie texto utilizando la herramienta de texto (Text Tool) y presionado
con el mouse el control de cadena (String Control).
Las Cadenas pueden variar en su tamao.
Las Cadenas de Indicadores y Controles pueden tener barras de movimiento (Scroll
Bars): Haga clic con el botn derecho del mouse y seleccione Visible Items
Scrollbar. La barra de movimiento no se activara si el Control o el Indicador no son lo
suficientemente grandes.



2.9 ARCHIVOS

Las operaciones de Entrada/Salida de archivo (I/O) pasan los datos desde y a los
archivos. Utilice los VI de File I/O y las funciones localizadas en la paleta Functions File
I/O para manejar todos aspectos de I/O de archivo. En esta clase nosotros cubriremos la
lectura y escritura de archivos de hoja de clculo (spreadsheet) utilizando el Express VIs para
File I/O.



Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 88 Dr. Gerardo Trujillo Schiaffino

2.10 ARQUITECTURAS DE PROGRAMACIN

Usted puede estructurar los VIs dependiendo de la funcionalidad que desea que
tengan. En esta seccin discutiremos algunas de las arquitecturas de VI mas comunes, a si
como sus ventajas/desventajas: simple, general, maquina de estado (state machine).
.

2.10.1 Arquitectura de VI Simple

Cuando se hacen pruebas de laboratorio rpidas, no se necesita una arquitectura
complicada. Su programa puede consistir de un solo VI que toma una medicin, hace
clculos, y ya sea despliega los resultados o los guarda en el disco. La medicin puede ser
iniciada cuando el usuario le da clic a la flecha de inicio (run arrow).
Aparte se ser usada para aplicaciones simples, esta arquitectura es usada para componentes
funcionales dentro de aplicacines mas grandes. Usted puede convertir estos VIs simples
en subVIs que son utilizados como componentes de una apicacion mas grande.





2.10.2 Arquitectura de un VI General

Generalmente al disear una aplicacin se siguen tres pasos:

Inicio (startup)Esta area se usa para inicializar el hardware, leer informacin de
configuracin de archivos o preguntar al usuario la localizacin de datos de archivos.
Aplicacin Principal (main application)Generalmente consiste de por lo menos un
ciclo que se repite hasta que el usuario decida salir del programa, o el programa
termina debido a otras razones como la completacion de una entrada/salida (I/O)
Apagado (shutdown)Esta seccion usualmente se encarga de cerrar los archivos,
escribir datos de configuracion al disco o reestablecer los datos de entrada/salida (I/O)
a su estado predeterminado.

Para aplicaciones simples, el ciclo de la aplicacin principal puede ser bastante
directo. Cuado se tiene interfaces de usuario complicadas o eventos mltiples (accin de
usuario, accionamientos de entradas/salidas, etc.), esta seccin puede volverse mas
complicada.


Instrumentacin Virtual Programacin Grfica
Instituto Tecnolgico de Chihuahua 89 Dr. Gerardo Trujillo Schiaffino



2.10.3 Arquitectura de un VI de Maquina de Estado

Usted puede hacer sus diagramas mas compactos con el uso de una estructura de
caso simple para manejar todos sus eventos. En este modelo usted escanea (scan) la lista de
posibles eventos, o estados, y luego correlaciona (map) estos a un caso. Para el VI mostrado
arriba, los estados posibles son inicio (startup), ocio (idle), evento 1, evento2 y apagado
(shutdown). Estos estados se encuentran guardados en una constante enumerada. Cada
estado tiene su propio caso en el lugar que usted coloque los nodos apropiados. Mientras se
ejecuta un caso, el siguiente caso es determinado por el resultado actual. El siguiente caso
que se ejecutara es guardado en el registro de desplazamiento (shift register). Si ocurre un
error en cualquier estado, el caso de apagado (shutdown) el llamado.

La ventaja de este modelo es que su diagrama se puede reducirse significativamente
(izquierda a derecha), haciendo que sea mas fcil de lee y depurar. Una desventaja de la
estructura de secuencia es que no puede saltarse o salirse de un caso. Este mtodo resuelve
ese problema ya que cada caso determina cual ser el prximo caso que se ejecutara.

Una desventaja de esta tcnica es que con la arquitectura simple se pueden perder
eventos. Si dos eventos ocurren al mismo tiempo, este modelo maneja solo el primero, y el
segundo se pierde. Esto puede conducir a errores que son difciles de depurar porque solo
ocurren ocasionalmente. Existen versiones mas complejas de la Arquitectura del VI de la
Maquina de Estado que contiene cdigo extra para construir un queue de eventos (estados)
de manera que usted no pierda ningn evento.



Instrumentacin Virtual Sistemas de Adquisicin de Datos
Instituto Tecnolgico de Chihuahua 90 Dr. Gerardo Trujillo Schiaffino
CAPITULO III
SISTEMAS DE ADQUISICIN DE DATOS.

3.1. INTRODUCCIN A LOS SITEMAS DE ADQUISICION DE DATOS.

Hoy en da, son muchos los ingenieros y cientficos que estn utilizando las
computadoras personales en sus investigaciones de laboratorio, control industrial, sistemas
de prueba y medicin, etc. Estas y otras aplicaciones son desarrolladas a travs de sistemas
de adquisicin de datos. Un sistema de adquisicin de datos (DAQ) basado en computadora
personal est formado por los elementos mostrados en la figura 3.1.

* Computadora Personal.
* Traductores.
* Acondicionamiento de Seales.
* Hardware de Adquisicin.
* Hardware de Anlisis.
* Software.


NS19457HD 7809
TMS 43679D
8051
intel
CPU DMM GEN OSC FP




Figura 3.1Arquitectura de un Sistema de Adquisicin de Datos.


3.2. TRANSDUCTORES.

Los transductores sensan un fenmeno fsico y proporcionan una seal elctrica que
contenga la informacin de dicho fenmeno. Por ejemplo, termopares, RTDs, termistores, y
Transductores
Acondicionamiento
de Seales
Tarjeta de Adquisicin
y Anlisis.
Computadora
Software
Instrumentacin Virtual Sistemas de Adquisicin de Datos
Instituto Tecnolgico de Chihuahua 91 Dr. Gerardo Trujillo Schiaffino
sensores IC convierten la temperatura en una seal analgica que los ADCs pueden medir.
Otros ejemplos incluyen galgas extensomtricas, transductores de flujo, y transductores de
presin, los cuales miden fuerza, flujo y presin respectivamente. En cada caso, la seal
elctrica producida es proporcional a al parmetro fsico que esta monitoreando.


3.3. ACONDICIONAMIENTO DE SEALES.

La seal elctrica generada por el transductor debe ser convertida a una forma que la
tarjeta de adquisicin pueda aceptar. Los accesorios de acondicionamiento de seales
pueden amplificar seales de bajo nivel, y tambin aislarlas y filtrarlas para mediciones ms
precisas. El acondicionamiento de seales puede tambin excitar y linealizar ciertos tipos de
transductores.


3.3.1. Amplificacin.

El ms comn tipo de conversin es la amplificacin. Las seales de bajo nivel de los
termopares por ejemplo deben ser amplificadas para aumentar la resolucin y reducir el
ruido. Para obtener la ms alta precisin posible es necesario amplificar la seal para que la
mxima variacin de esta sea igual al rango mximo de entrada del ADC.


3.3.2. Aislamiento.

Otra aplicacin comn del acondicionamiento de seales es aislar la seal del
transductor de la computadora con propsitos de seguridad. El sistema cuando empieza a ser
monitoreado, contiene transitorios de alto voltaje que pueden daar la computadora. Una
razn adicional para necesitar aislamiento es estar seguros de que las lecturas en tarjeta
DAQ no son afectadas por diferencias en potenciales de tierra o voltajes de modo comn.
Cuando las entradas de la tarjeta DAQ y la seal que es adquirida estn referenciadas a su
propia tierra, pueden existir problemas si hay diferencia de potencial entre ambas tierras. Esta
diferencia ocasiona lo que se conoce como lazo de tierra lo que puede causar una
representacin inexacta de la seal adquirida, o bien, si es demasiado grande puede daar el
sistema de medicin. Utilizando mdulos aisladores de acondicionamiento de seales se
elimina el lazo de tierra y se asegura que la seal es adquirida con exactitud.


3.3.3. Filtrado.

El propsito de un filtro es remover seales indeseadas de la seal que se trata de
medir. En seales de tipo DC como la temperatura, se utiliza un filtro de ruido para atenuar
las seales de alta frecuencia que pueden reducir la exactitud de la medicin.

Las seales del tipo AC como las vibraciones, necesitan un tipo diferente de filtro
conocido como filtro antialiasing. Al igual que el filtro de ruido, el filtro antialiasing es tambin
un filtro pasa bajo, solo que su pendiente de corte es muy pronunciada, para remover
completamente todas las frecuencias de la seal que son ms grandes que el rango de
entrada de la tarjeta de adquisicin. Si estas frecuencias no son removidas, aparecern
errneamente como seales adicionales en el rango de frecuencias de la tarjeta.. Las tarjetas
de adquisicin diseadas especficamente para medicin de seales del tipo AC, al igual que
Instrumentacin Virtual Sistemas de Adquisicin de Datos
Instituto Tecnolgico de Chihuahua 92 Dr. Gerardo Trujillo Schiaffino
las tarjetas para adquisicin dinmica, tienen inter-construidos los filtros antialiasing de
entrada.


3.3.4. Excitacin.

El acondicionador de seales tambin puede generar la excitacin para algunos
transductores. Las galgas extensomtricas, los termistores y las RTDs, por ejemplo,
requieren seales d excitacin externa de voltaje o corriente. los mdulos de
acondicionamiento de seales para estos transductores usualmente proporcionan estas
seales. Las mediciones con RTD son generalmente hechas con una fuente de corriente que
convierte las variaciones de resistencia en un voltaje medible. Las galgas extensomtricas,
las cuales son dispositivos de muy baja resistencia, normalmente se utilizan en configuracin
de Puente de Wheastone con una fuente de excitacin de voltaje.


3.3.5. Linealizacin.

Otra funcin comn de los acondicionadores de seales es la linealizacin. Muchos
transductores, como los termopares, tienen una respuesta no lineal a los cambios en el
fenmeno medido. Esto hace necesario contar con mdulos linealizadores de
acondicionamiento de seales para convertir estas seales no lineales en seales lineales.


3.4. TARJETAS DE ADQUISICIN DE DATOS.

Cuando hablamos de hardware de adquisicin, nos referimos a una tarjeta de
adquisicin de datos (DAQ), la cual comnmente es una tarjeta insertable que se coloca
dentro de la computadora para digitalizar seales analgicas de manera tal que la
computadora pueda disponer de la informacin contenida en ellas. Dependiendo de la tarjeta
en particular de que se trate puede variar el nmero, caractersticas y tipo de entradas/salidas
que contenga, sin embargo, una tarjeta DAQ genrica cuenta con: entradas analgicas,
salidas analgicas, entradas/salidas digitales y entradas/salidas temporizadas. La figura 3.2
muestra una tarjeta DAQ genrica.



NS19457HD 7809
TMS43679D
8051
intel
Entradas Analgicas
Salidas Analgicas
Entradas/Salidas Digitales
Entradas/Salidas Temporizadas



Fig.3. 2 Tarjeta de Adquisicin de Datos.

Instrumentacin Virtual Sistemas de Adquisicin de Datos
Instituto Tecnolgico de Chihuahua 93 Dr. Gerardo Trujillo Schiaffino

3.4.1. Seales Analgicas.

Antes de entrar en detalle sobre las principales caractersticas que deben tomarse en
cuenta en las entradas analgicas de las tarjetas de adquisicin de datos, es conveniente
repasar algunas conceptos importantes sobre las seales analgicas que se analizarn con
ellas.

Las seales analgicas se pueden dividir en tres categoras bsicas dependientes del
tipo de informacin que contienen: D.C., dominio del tiempo y dominio de la frecuencia. La
figura 3.3 muestra esta clasificacin.




















Fig. 3.3 Tipos de Seales Analgicas.


En las seales analgicas D.C. la informacin se encuentra contenida en el nivel de la
misma, es decir, en este tipo de seales solo nos interesa la magnitud de esta. En las
seales analgicas en el dominio del tiempo la informacin est contenida en la forma de la
seal, es decir, en este tipo de seales nos interesa el comportamiento que tiene el nivel con
respecto al tiempo. En las seales analgicas en el dominio de la frecuencia la informacin
est contenida en la magnitud de las frecuencias presentes en la seal, es decir, lo que nos
interesa en este tipo de seales es el espectro de frecuencias de la seal.

Las seales pueden ser de dos tipos: fuente referenciada o fuente no referenciada.
Tambin se conoce a las seales de fuente referenciada como seales aterrizadas, y a las
seales de fuente no referenciada como seales flotantes.

En las fuentes de seal aterrizada se tienen seales de voltaje que estn
referenciadas a un sistema de tierra. En la figura 3.4 se muestra una fuente de este tipo,
donde podemos apreciar que una de las terminales de salida est conectada a la tierra del
sistema.

Nivel
t
t
f
Forma
Contenido de
Frecuencias
D.C.



Dominio del
Tiempo



Dominio de
la Frecuencia
Seales Analgicas
Instrumentacin Virtual Sistemas de Adquisicin de Datos
Instituto Tecnolgico de Chihuahua 94 Dr. Gerardo Trujillo Schiaffino













Fig.3.4 Fuente de Seal Aterrizada.

Las fuentes de seal flotante contienen una seal cuyo voltaje no esta conectado a
una referencia absoluta, como tierra o chasis. Un ejemplo comn de este tipo de fuentes de
seal son las bateras, los termopares, los transformadores, los amplificadores de aislamiento
y algunos instrumentos con salidas flotantes. En la figura 3.5 se muestra una fuente de seal
flotante donde se puede observar que ninguna de las terminales de salida est conectada a
la terminal de tierra.











Fig. 3.5 Fuente de Seal Flotante.

Teniendo en cuenta estos aspectos fundamentales sobre las seales analgicas,
podemos entonces dar paso al anlisis de las principales caractersticas que deben
considerarse en las entradas analgicas de las tarjetas de adquisicin de datos.

Las especificaciones de las entradas analgicas proporcionan informacin tanto en las
capacidades como en la exactitud de la tarjeta de adquisicin de datos. Las especificaciones
bsicas que se proporcionan en los productos de adquisicin de datos nos dicen: nmero de
canales de entrada, modo de medicin, resolucin, rango de voltaje de entrada razn de
muestreo, resolucin y rango de entrada.


3.4.2. Lneas de Entrada Analgica.

Una de las funciones principales de una tarjeta de adquisicin de datos es
proporcionar lneas de entrada que le permitan a la computadora capturar seales
analgicas. Los principales parmetros que se deben tener en cuenta para la seleccin de la
tarjeta de adquisicin adecuada para una aplicacin dada son: numero de canales de entrada
+
-
Vs
Tierra
+
-
Vs
Tierra
Instrumentacin Virtual Sistemas de Adquisicin de Datos
Instituto Tecnolgico de Chihuahua 95 Dr. Gerardo Trujillo Schiaffino
y modos de medicin, resolucin, rango de voltaje del dispositivo, rango de voltaje de la
seal, razn de muestreo, tiempo de establecimiento y ruido


Numero de Canales de Entrada y Modos de Medicin.

Es importante conocer el numero de canales de entrada con que cuenta la tarjeta
DAQ, este se deber especificar tanto para modo diferencial como para modo desbalanceado
en tarjetas que tengan ambos tipos de entrada. Las entradas desbalanceadas pueden ser
referenciadas o no referenciadas.


A) Sistemas de Medicin Diferencial (DIF).

En un sistema de medicin diferencial, no es necesario conectar ninguna de las
entradas a una referencia fija, tal como tierra o chasis. Las entradas analgicas en las tarjetas
de adquisicin de datos cuentan normalmente con un amplificador de instrumentacin que
puede ser configurado como sistema de medicin diferencial. La figura 3.6 muestra un
sistema de medicin diferencial de 8 canales utilizado en algunas tarjetas DAQ. El uso de
multiplexores analgicos (AMUX) incrementa el numero de canales de medicin utilizando un
solo amplificador de instrumentacin. Para este caso, la terminal etiquetada AIGND (tierra
para entradas analgicas) es la tierra del sistema de medicin.


















Fig.3.6 Sistema de Medicin Diferencial de 8 Canales.


En general, es preferible un sistema de medicin diferencial ya que no solo rechaza
los errores inducidos por lazos de tierra, sino tambin hasta ciertos lmites. el ruido colectado
del sistema.

Se deber usar los sistemas de medicin diferencial cuando las seales de entrada
cumplan con los siguientes criterios:

Seales de bajo nivel. (menores de 1 v.).
AMUX
CH0+
CH1+
CH2+
.
.
.
CH7+
CH0-
CH1-
CH2-
.
.
.
CH7-

AIGND
+
-
AMUX
Amplificador
de
Instrumentacin
+
Vm
-
Instrumentacin Virtual Sistemas de Adquisicin de Datos
Instituto Tecnolgico de Chihuahua 96 Dr. Gerardo Trujillo Schiaffino

Alambrado largo o no blindado a travs de ambientes ruidosos.

Alguna de las seales de entrada requiere un punto de referencia de tierra o retorno de
seal independiente.

Un sistema de medicin diferencial ideal solo lee la diferencia de potencial entre las
terminales de entrada (+) y (-). Cualquier voltaje presente en las entradas del amplificador con
respecto a la tierra del mismo amplificador es llamado voltaje de modo comn. Un sistema de
medicin diferencial ideal rechaza (no mide) los voltajes de modo comn. La figura 3.7
muestra la representacin de este voltaje.














Fig. 3.7 Voltaje de Modo Comn.


B) Sistema de Medicin Desbalanceada Referenciada (RSE)

Un sistema de medicin desbalanceado referenciado (Referenced Single-Ended )
tiene todas sus entradas de medicin referenciadas a la tierra del sistema. La figura 3.8
muestra un sistema de medicin desbalanceado referenciado de 16 canales de entrada
donde se puede notar que todas las seales de entrada deben estar referenciadas a la tierra
del sistema denominada AIGND (Analog Input Ground).















Fig. 3.8 Sistema de Medicin RSE de 16 Canales.
CH0+
CH1+
CH2+
.
.
.

CH15+
+
-
Amplificador
de
Instrumentacin
+
Vm
-
AIGND
AMUX
+

-

Amplificador
de
Instrumentacin
+
Vm
-
+
Vs
-
+
Vcm
-
Voltaje de la Seal
Voltaje de Modo
Comn, Potencial de
Tierra, Ruido, etc.
Instrumentacin Virtual Sistemas de Adquisicin de Datos
Instituto Tecnolgico de Chihuahua 97 Dr. Gerardo Trujillo Schiaffino
C) Sistema de Medicin Desbalanceado No Referenciado (NRSE).

Las tarjetas de adquisicin de datos en ocasiones ofrecen una variante de la tcnica
de medicin RSE, conocida como sistema de medicin desbalanceada no referenciada
(Nonreferenced Single-Ended), donde todas las mediciones se hacen con respecto a una
referencia comn, es decir, todas las seales de entrada tienen una referencia a tierra. Sin
embargo, esta tierra no es la misma que la tierra del sistema de medicin. En la figura 3.9 se
muestra un sistema de medicin desbalanceado no referenciado donde la terminal AISENSE
es la referencia comn para tomar las mediciones y la terminal AIGND es la tierra del
sistema, ntese que todas la seales de entrada estn referenciadas a AISENSE.

La configuracin desbalanceada, tanto la referenciada como la no referenciada, nos
proporciona el doble de canales de medicin y es aceptable cuando la magnitud del error
inducido es ms pequea que la exactitud requerida en los datos.
















Fig. 3.9 Sistema de Medicin NRSE de 16 Canales.

Los sistemas de medicin desbalanceados se pueden utilizar cuando todas las
seales de entrada cumplen los siguientes criterios:

Seales de alto nivel (normalmente mayores de 1 v.)

Cableados cortos y apropiadamente blindados a travs de ambientes libres de ruido.

Todas las seales tiene una referencia comn en la fuente de las mismas.

Si no se cumple alguno de estos criterios se recomienda utilizar un sistema de
medicin diferencial.


Resolucin.

Una vez definidas las caractersticas de las seales y el sistema de medicin
adecuado para ellas debemos recordar que todava tenemos una seal analgica, la cual
debe ser convertida por un convertidor analgico-digital (ADC) en una seal digital que pueda
ser entendida por la computadora.. Algunas de las caractersticas que deben tomarse en
CH0+
CH1+
CH2+
.
.

CH15+ +
-
Amplificador
de
Instrumentacin
+
Vm
-
AIGND
AISENS
AMUX
Instrumentacin Virtual Sistemas de Adquisicin de Datos
Instituto Tecnolgico de Chihuahua 98 Dr. Gerardo Trujillo Schiaffino
cuanta para una adecuada digitalizacin son: la resolucin del ADC, el rango de voltaje de la
entrada de la tarjeta digitalizadora y el rango de voltaje de la seal que se va a digitalizar.

El nmero de bits utilizado para representar una seal analgica determina la
resolucin del ADC. Se podra comparar la resolucin con la graduacin de una regla. Entre
ms marcas se tengan es ms precisa la medicin. De manera similar, a mayor resolucin en
un convertidor ADC, ser mayor el nmero de segmentos en que el sistema puede dividir la
seal de entrada, y por lo tanto, es ms pequeo el mnimo cambio de voltaje detectable.

Un ADC de 3 bits divide el rango en 2
3
o 8 divisiones. Un cdigo binario o digital entre
000 y 111 representa cada divisin. El ADC traduce cada medicin de la seal analgica a
una de las divisiones digitales. La Figura 3.10 muestra una onda senoidal representada
digitalmente con un convertidor ADC de 3 bits. Claramente se puede ver que la
representacin digital no es una buena representacin de la seal analgica original debido a
que se pierde mucha informacin en la conversin ya que el convertidor tiene unos cuantos
cdigos digitales para representar una infinidad de niveles analgicos Aumentando la
resolucin a 16 bits se aumenta el nmero de cdigos de 8 a 65,536 (2
16
), con lo cual el ADC
podra obtener una representacin digital extremadamente exacta de la seal analgica.



a) b) c)

Figura 3.10 a)Representacin de una Seal Senoidal b) con resolucin de 3 bits c) con resolucin de 16 bits


Rango de Voltaje del Dispositivo.

El rango de entrada de voltaje del dispositivo se refiere a los voltajes mximo y
mnimo que pueden ser digitalizados por el ADC. Las tarjetas DAQ multifuncin ofrecen
generalmente rangos seleccionables para poder configurar la tarjeta para manejar una
variedad de niveles de entrada. Con esta flexibilidad se tiene la ventaja de poder obtener la
mejor resolucin posible para medir la seal de manera ms precisa. Por ejemplo,
suponiendo que el ADC de 3 bits tiene un rango de 0 a 10 volts, este rango se divide en ocho
segmentos de 1.25 volts cada uno. Si para este mismo ADC se selecciona un rango de - 10 a
10 volts, al dividir estos 20 volts entre los mismos ocho segmentos cada uno queda de 2.50
volts. De esta manera el voltaje detectable ms pequeo aumenta de 1.25 a 2.50 volts, por lo
que tendremos una representacin mucho menos exacta de la seal analgica. La figura 3.11
muestra este efecto





Instrumentacin Virtual Sistemas de Adquisicin de Datos
Instituto Tecnolgico de Chihuahua 99 Dr. Gerardo Trujillo Schiaffino


a) b) c)

Figura 3.11. Efecto del rango de voltaje del dispositivo en la precisin del ADC
a) Seal Aplicada, b) Rango 0 a 10 v., c) Rango -10 a 10 v.


Rango de Voltaje de la Seal.

El rango de voltaje de la seal, tambin denominado lmite establecido, es el mximo
y mnimo voltaje de la seal que se va a medir. Con lmites establecidos ms precisos el ADC
optimiza los cdigos digitales disponibles para representar la seal analgica. Por ejemplo,
usando un ADC de 3 bits y seleccionando un rango de entrada de dispositivo de 0 a 10 volts
para medir un a seal que solo vara de 0 a 5 volts, utilizando limites establecidos de 0 a 10
volts, el ADC solo podr utilizar cuatro de los ocho cdigos digitales para representar la seal,
en cambio utilizando limites establecidos de 0 a 5 volts el ADC podr utilizar los ocho cdigos
disponibles. La figura 3.12 muestra este efecto




a) b) c)

Figura 3.12. Efecto del rango de voltaje de la seal en la precisin del ADC
a) Seal original, b) con limite establecido de 0 a 5 v., c) con limite establecido de 0 a10 v.

La relacin entre el rango de voltaje del dispositivo y el rango de voltaje de la seal
esta dada por la ganancia del amplificador de instrumentacin utilizado en la tarjeta DAQ,
normalmente las tarjetas cuentas cuentan con ganancias programables para este fin.

El rango, la resolucin y la ganancia de una tarjeta DAQ determinan el ms pequeo
cambio de voltaje detectable. Este cambio en voltaje representa 1 LSB del valor digital, y
tambin es llamado ancho de cdigo. El ancho de cdigo ideal se encuentra dividiendo el
rango entre la ganancia multiplicada por dos elevado a la potencia del nmero de bit de
resolucin. Por ejemplo, para el caso de una tarjeta DAQ con un rango de voltaje de entrada
de 0 a 10 volts, una ganancia de 100 y resolucin de 12 bits, el ancho de cdigo es:
Instrumentacin Virtual Sistemas de Adquisicin de Datos
Instituto Tecnolgico de Chihuahua 100 Dr. Gerardo Trujillo Schiaffino

10 v. / (100 * 2
12
) = 24.414 v.

Para un dispositivo pero con rango de entrada de -10 a 10 volts el ancho de cdigo
es:

20 v. / (100 * 2
12
) = 48.828 v.

Por otro lado, si utilizamos el dispositivo original pero con una ganancia de 200, el
ancho de cdigo es:
10 v. / (200 * 2
12
) = 12.207 v.

Y finalmente, utilizando una resolucin de 16 Bits.

10 v. / (100 * 2
16
) = 1.525 v.

Entre ms pequeo sea el ancho de cdigo las mediciones efectuadas sern mas
exactas.


Razn de Muestreo.

La razn de muestreo determina la velocidad con que son tomadas las muestras. Una
razn de muestreo ms grande adquiere ms puntos en un tiempo dado y puede de esta
manera ofrecer una mejor representacin de la seal original. Por ejemplo, una seal de
audio convertida en seal elctrica por un micrfono comnmente tiene componentes de
frecuencia hasta de 20 Khz. Para digitalizar apropiadamente esta seal, el Teorema de
Muestreo de Nyquist nos dice que debemos muestrear a ms del doble que la mxima
componente de frecuencia que queremos detectar. As, se necesita una tarjeta DAQ con una
razn de muestreo ms grande de 40 KS/s.

El multiplexeo es una tcnica comn para medir varia seales con un solo ADC. El
ADC muestrea un canal, se cambia a otro canal, lo muestrea, se cambia al siguiente canal y
as sucesivamente. Debido a que un solo ADC est muestreando varios canales en vez de
uno solo, la razn de muestreo efectiva para cada canal es inversamente proporcional al
nmero de canales que muestrea. Como un ejemplo, una tarjeta con razn de muestreo de
100 KS/s sobre 10 canales, muestrea efectivamente cada canal a 10 KS/s. Tambin es
vlido utilizar multiplexores analgicos externos para aumentar el nmero de canales que la
tarjeta puede medir. La razn de muestreo disminuye proporcionalmente por la adicin de
multiplexores externos.


Tiempo de Establecimiento.

En una tarjeta DAQ tpica, una seal analgica es primero seleccionada por un
multiplexor, y luego amplificada a travs de un amplificador de instrumentacin antes de ser
convertida a seal digital por el ADC. El amplificador de instrumentacin deber estar
habilitado para seguir a la salida del multiplexor mientras este conmuta entre los distintos
canales, y de esta manera alcanzar la exactitud del ADC.

Instrumentacin Virtual Sistemas de Adquisicin de Datos
Instituto Tecnolgico de Chihuahua 101 Dr. Gerardo Trujillo Schiaffino
De no ser as, el ADC deber convertir una seal que todava no ha alcanzado su
valor verdadero. El tiempo que requiere el amplificador de instrumentacin para alcanzar una
exactitud especfica, es llamado tiempo de establecimiento. Un tiempo de establecimiento
pobre es un problema grave, ya que la inexactitud usualmente vara con la ganancia y con la
razn de muestreo. Si esto ocurre, la tarjeta DAQ no tendr manera de enviar mensaje de
error, ya que este ocurre en la etapa analgica.

El amplificador de instrumentacin es ms propenso a no alcanzar el valor de la seal
cuando se muestrean muchos canales a altas ganancia y con una elevada razn de
muestreo. Cuando la aplicacin est muestreando mltiples canales, el multiplexor esta
cambiando entre diferentes canales, lo que dificulta al amplificador seguir la seal con
variaciones de voltaje significativas. En efecto, no tos loa amplificadores de Instrumentacin
pueden alcanzar una exactitud de 12 bits en menos de 5 s. cuando amplifican con una
ganancia de 100.


Ruido.

El ruido es cualquier seal no deseada que aparezca en la seal digitalizada de la
tarjeta DAQ. Debido a que una computadora es un ambiente digital extremadamente ruidoso,
los sistemas de adquisicin de datos en tarjetas insertables para PCs se deben disear
cuidadosamente en tecnologa multicapa. Simplemente colocando un ADC, un amplificador
de instrumentacin, y la circuitera para interfase de bus en un circuito impreso de una o dos
caras, el resultado es una ruidosa tarjeta DAQ. Los diseadores utilizan blindajes metlicos
en las tarjetas DAQ para ayudar a reducir el ruido. Un blindaje apropiado no se obtiene tan
solo blindando la secciones analgicas sensitivas, sino a travs de del diseo de circuitos
multicapas con planos de tierra.















a) b)
Figura.3.13 Ruido

La Figura 3.13 muestra las grficas de ruido D.C. para dos tarjetas DAQ diferentes,
las cuales utilizan el mismo circuito ADC. De la grfica de ruido se pueden determinar dos
caractersticas: rango y distribucin del ruido. La grfica en la Figura 3.13a tiene una alta
distribucin de muestras en 0 y un muy pequeo nmero de puntos ocurriendo en otros
cdigos. La distribucin es Gaussiana, lo cual es de esperarse para ruido aleatorio. Para esta
grfica, el nivel pico de ruido est entre 3 LSB. La grfica en la Figura 3.13b corresponde a
1.00E 0

1.00E-1

1.00E-2

1.00E-3

1.00E-4

1.00E-5

1.00E-6

1.00E-7

1.00E-8

1.00E 0

1.00E-1

1.00E-2

1.00E-3

1.00E-4

1.00E-5

1.00E-6

1.00E-7

1.00E-8

-50 -40 -30 -20 -10 0 10 20 30 40 50 -50 -40 -30 -20 -10 0 10 20 30 40 50
Instrumentacin Virtual Sistemas de Adquisicin de Datos
Instituto Tecnolgico de Chihuahua 102 Dr. Gerardo Trujillo Schiaffino
una tarjeta muy ruidosa, la cual tiene una distribucin diferente. Esta tarjeta tiene ruido de
ms de 20 LSB, con muchas muestras ocurriendo en puntos diferentes a los esperados.


3.4.3. Salidas Analgicas.

Para proporcionar estmulos a los sistemas DAQ, en ocasiones se requiere contar
con algunas lneas de salida analgica. Las especificaciones de los DACs que determinan la
calidad de la seal de salida producida son: tiempo de establecimiento, slew rate, y
resolucin.


Tiempo de Establecimiento y Slew Rate.

El tiempo de establecimiento y el slew rate trabajan juntos para determinar que tan
rpido el DAC puede cambiar el nivel de la seal de salida. El tiempo de establecimiento es el
tiempo que tarda la salida en alcanzar la precisin especificada. El tiempo de establecimiento
se especifica usualmente para un cambio de voltaje de escala completa. El slew rate es la
mxima razn de cambio que el DAC puede producir en la seal de salida. As, un DAC con
un tiempo d establecimiento pequeo y un slew rate grande, puede generar seales de alta
frecuencia, ya que se necesita un tiempo pequeo para cambiar con precisin la salida a un
nuevo nivel de voltaje.

Un ejemplo de aplicacin que requiere un alto desempeo de estos parmetros es la
generacin de seales de audio. El DAC requiere de un pequeo tiempo de establecimiento
y un gran slew rate para generar las altas frecuencias necesarias para cubrir el espectro de
audio. En contraste, una aplicacin en la cual no se requiere una rpida conversin digital-
analgica, es la seal de voltaje para controlar un calefactor, debido a que el calefactor no
puede responder rpidamente a los cambios de voltaje.


Resolucin.

La resolucin de una salida es similar a la resolucin de una entrada. Es el nmero de
bits en el cdigo digital que genera una salida analgica. Un mayor nmero de bits reduce la
magnitud de cada incremento en el voltaje de salida, lo que hace posible generar seales
ms continuas. Las aplicaciones que requieren un amplio rango dinmico con pequeos
cambios incrementales en el voltaje de salida, necesitan salidas analgicas de alta
resolucin.



3.4.4. Puertos De Entradas / Salidas Digitales.

Las interfaces de entrada salida digital son muy utilizadas en los sistemas DAQ
basados en PC para controlar procesos, generar patrones de prueba, o comunicarse con
equipos perifricos. Los componentes digitales de entrada/salida en las tarjetas DAQ
consisten en hardware que genera o produce seales encendido/apagado. Como se muestra
en la figura 3.14 todas las lneas digitales de una tarjeta DAQ estn agrupadas en puertos. El
nmero de lneas digitales por puerto es especfico de cada dispositivo en particular, pero en
la mayora de los casos un puerto consiste en cuatro u ocho lneas. Escribiendo o leyendo un
Instrumentacin Virtual Sistemas de Adquisicin de Datos
Instituto Tecnolgico de Chihuahua 103 Dr. Gerardo Trujillo Schiaffino
puerto se puede modificar o conocer simultneamente el estado de todas las lneas del
puerto.


Hardware
Digital
Hardware
Digital
Puerto
de Salida
Puerto
de Entrada
Lneas
de Salida
Lneas
de Entrada
Tarjeta DAQ


Figura 3.14. Puertos y Lneas Digitales.

En cada caso, los parmetros ms importantes incluyen el nmero de lneas digitales
disponibles, la razn de datos o velocidad a la cual se pueden utilizar estas lneas, y la
capacidad de manejo de las mismas.

Si las lneas digitales se utilizan para controlar eventos tales como encendido y apagado de
calefactores, motores o luces, usualmente no se requiere una razn de datos muy grande, ya
que estos equipos no responden muy rpidamente. Del nmero de lneas digitales
disponibles, depende el nmero de eventos que pueden ser monitoreados o controlados. El
nico inconveniente es que la cantidad de corriente requerida para encender los dispositivos,
debe ser menor que la corriente proporcionada por la lnea digital de la tarjeta DAQ. Sin
embargo, con el acondicionador de seales adecuado, se pueden utilizar las seales TTL de
baja corriente para manejar niveles ms altos de voltaje y corriente para dispositivos de uso
industrial. Por ejemplo, el voltaje y corriente que se necesita para operar una electro-vlvula
industrial es del orden de 100 v.a.c. a 2 Amp., como las salidas digitales de una tarjeta DAQ
proporcional solo 5 v.d.c. a unas cuantos miliamperes, es evidentemente necesario el uso de
un acondicionador de seales para poder manejar la vlvula.

Otra aplicacin comn de las lneas digitales de entrada-salida es la de transferir
datos entre la computadora y otros equipos, tales como capturadores o procesadores de
datos, impresoras, etc. Debido a que estos dispositivos usualmente transfieren los datos en
incrementos de un byte (8 bits), las lneas digitales en las tarjetas DAQ estas agrupadas
generalmente en puertos de 8 bits.

Existen dos tipos de adquisicin / generacin digital: no-atrapada o inmediata y
atrapada o protocolizada. En una salida digital no-atrapada o inmediata, el sistema actualiza
las lneas digitales inmediatamente. Una salida atrapada o protocolizada es cuando el
dispositivo acepta o transfiere el dato despus de recibir un pulso.

Existen a su vez dos tipos de entradas / salidas digitales protocolizadas: no-
almacenadas y almacenadas. Una generacin o adquisicin no-almacenada se llega a cabo
cuando el dispositivo digital genera o acepta un solo valor despus de recibir el pulso de
Instrumentacin Virtual Sistemas de Adquisicin de Datos
Instituto Tecnolgico de Chihuahua 104 Dr. Gerardo Trujillo Schiaffino
protocolo. Una generacin / adquisicin almacenada es necesaria cuando en vez de un solo
valor se debe generar o aceptar un patrn digital despus de recibir el pulso de protocolo.


3.4.5. Lneas de Entradas / Salidas Temporizadas.

Las tarjetas DAQ cuentan tambin con circuitera para temporizadores y contadores
necesarios en algunas aplicaciones, por ejemplo, el conteo de eventos digitales ocurridos,
temporizado de pulsos digitales y generacin de ondas cuadradas y trenes de pulsos.
Los contadores adicionan conteo y temporizado de alta precisin al sistema de adquisicin de
datos. Los contadores responden a seales TTL (Transistor Transistor Logic) en las cuales
un nivel bajo o cero lgico est representado por 0 volts y un nivel alto o uno lgico est
representado por 5 Volts. La figura 3.15 muestra una seal TTL.







Figura 3.15. Seal TTL

Aun cuando los contadores cuentan las transiciones de la seal TTL, esta capacidad de
conteo se puede utilizar de muchas maneras:

Generar pulsos TTL para seales de reloj y disparo de otras aplicaciones .
Medir el ancho de pulso de una seal TTL.
Medir la frecuencia y periodo de una seal TTL
Contar las transiciones de una seal TTL o el tiempo asociado.
Dividir la frecuencia de seales TTL.

La figura 3.16 muestra el modelo bsico de un contador.














Fig. 3.16. Modelo de un Contador.


+5
0 V.
Transicin de
la
Compuerta
Fuente
Salida
Registro de
Conteo
Instrumentacin Virtual Sistemas de Adquisicin de Datos
Instituto Tecnolgico de Chihuahua 105 Dr. Gerardo Trujillo Schiaffino
Un contador consiste de una terminal de entrada fuente, una terminal de entrada compuerta y
una terminal de salida asociadas a un registro de conteo.

Tpicamente, un contador cuenta las transiciones de la seal en la entrada fuente. Sin
embargo, se puede configurar al contador para contar tanto la transicin de bajo a alto o la
transicin de alto a bajo. Para cada transicin contabilizada, el contador incrementa o
decrementa su registro de conteo interno.

La compuerta es una entrada digital que habilita o deshabilita la funcin de un contador.
Existen cuatro modos de compuerta: transicin ascendente, transicin descendente, nivel
alto y nivel bajo.

Finalmente, la salida genera la onda cuadrada o los trenes de pulsos en la lnea digital de
salida.

Las especificaciones ms importantes para la operacin de un contador son: la
resolucin y la frecuencia de reloj.

La resolucin es el nmero de bits que utiliza el contador una resolucin grande
significa que el contador puede efectuar conteos ms grandes.

La frecuencia de reloj determina que tan rpido se puede cambiar la seal de la
fuente. Con una frecuencia ms grande el contador se incrementa ms rpidamente y puede
detectar seales de alta frecuencia en la entrada y generar pulsos de alta frecuencia o
seales de onda cuadrada de alta frecuencia en la salida.















Instrumentacin Virtual Control de Instrumentos
Instituto Tecnolgico de Chihuahua 106 Dr. Gerardo Trujillo Schiaffino

CAPITULO IV
CONTROL DE INSTRUMENTOS.


4.1. INSTRUMENTOS SERIE.
Un dispositivo serial utiliza un protocolo de comunicacin que es estndar para casi
cualquier PC. Sin embargo, no hay que confundirlo con el bus serial universal (USB). La
mayora de las computadoras PC incluyen puertos seriales RS-232, RS-422 o RS-485. Serial
es tambin un protocolo de comunicacin para instrumentacin en muchos dispositivos.
El concepto de comunicacin serial es simple. El puerto serial enva y recibe bytes de
informacin, un bit a la vez. Aunque esto es ms lento que la comunicacin paralela, la cual
permite la transmisin entera de bytes de una sola vez, es ms sencillo y puede utilizarlo en
distancias grandes. Por ejemplo, en comunicacin serial la distancia entre dispositivos puede
extenderse hasta 1200 m.
Tpicamente, los ingenieros utilizan serial para transmitir datos en forma de caracteres
ASCII. Completan la comunicacin utilizando las tres lneas de transmisin: transmisin (Tx),
recepcin (Rx) y tierra (GND). Debido a que serial es asncrono, el puerto puede transmitir
datos en una lnea mientras recibe datos en otra. Otras lneas estn disponibles para el
intercambio de pulsos de sincronizacin pero generalmente no son requeridas.
4.1.1. RS-232

RS-232 (Estndar ANSI/EIA-232) es el conector serial que se encuentra en las PCs
compatibles con IBM. Los ingenieros lo utilizan con diversos propsitos, como el conectar
perifricos, impresoras, o mdems, as como para instrumentacin industrial. Debido a la lnea
del driver y mejoras en el cableado, las aplicaciones comnmente incrementan el desempeo
del RS-232 ms all de la distancia y velocidad listadas en el estndar. El RS-232 est
limitado a conexiones punto a punto entre puertos seriales y dispositivos PC. Usted puede
utilizar el hardware RS-232 para comunicaciones seriales en distancias de hasta 15 metros.

Los niveles de voltaje utilizados para una seal RS232 son de + 15 volts para el 0
lgico y 15 volts para el 1 lgico. El lmite para definir una seal RS232 es de +/- 3 volts.
Como se muestra en la figura 4.1



Fig. 4.1.Niveles de voltaje RS232.
Instrumentacin Virtual Control de Instrumentos
Instituto Tecnolgico de Chihuahua 107 Dr. Gerardo Trujillo Schiaffino

Conector DB-9

Aunque anteriormente se utilizaba mucho en el estndar RS232 el conector DB-25, en
la actualidad se utiliza generalmente un conector DB-9 como el mostrado a continuacin en la
figura 4.2



Fig. 4.2. Conector BD-9.


Funciones del Conector

Las seales se distribuyen en este conector de la siguiente manera:

Datos:
TxD en pin 3, RxD en pin 2

Intercambio de Pulsos de Sincronizacin:
RTS en pin 7, CTS en pin 8, DSR en pin 6, DCD en pin 1, DTR en pin 4

Comn:
Com en pin 5

Otros:
RI en pin 9
Parmetros Principales
Las caractersticas seriales importantes son: tasa de baudios, bits de datos, bits de
paro, y paridad. Para que dos puertos se comuniquen de manera eficiente, estos parmetros
deben igualarse en ambos dispositivos:
Baudaje
La tasa de baudios o baudaje es una unidad de medicin para comunicacin que
indica el nmero de bits transferidos por segundo. Por ejemplo, 300 baudios son 300 bits por
segundo. Cuando los ingenieros se refieren a un ciclo de reloj, se refieren a la tasa en
baudios, as que si el protocolo indica una razn en baudios de 4800, el reloj est
Instrumentacin Virtual Control de Instrumentos
Instituto Tecnolgico de Chihuahua 108 Dr. Gerardo Trujillo Schiaffino
ejecutndose a 4800 Hz. Esto quiere decir que el puerto serial est muestreando la lnea de
datos a 4800 Hz. Las tasas de baudios para lneas telefnicas son 14400, 28800, y 33600.
Tasas de baudios mayores a estas son posibles, pero reducen la distancia disponible
para la separacin de dispositivos. Utilizan estas tasas de baudios para comunicacin donde
los dispositivos estn localizados entre s, como sucede tpicamente con los dispositivos
GPIB.
Bits de Datos
Bits de datos son mediciones de los bits de datos actuales en una transmisin. Cuando
una computadora enva un paquete de informacin, la cantidad de datos actuales puede ser
que no complete 8 bits. Los valores estndar para los paquetes de datos son de 5, 7, y 8 bits.
El marco que usted elija depender de la informacin que est transfiriendo. Por ejemplo, el
ASCII estndar tiene valores de 0 a 127 (7 bits). El ASCII extendido utiliza de 0 a 255 (8 bits).
Si los datos que usted est transfiriendo se encuentran en texto simple (ASCII estndar),
enviar 7 bits de datos por paquete, es suficiente para la comunicacin. Un paquete se refiere a
la transferencia de un slo byte, incluyendo los bits de inicio/paro, bits de datos, y paridad.
Debido a que el nmero de bits actuales depende del protocolo seleccionado, puede utilizar el
trmino paquete para cubrir todas las instancias.
Bits de Paro
Los bits de paro son utilizados para sealar el trmino de comunicaciones en un
paquete sencillo. Los valores tpicos son 1, 1.5 y 2 bits. Debido a que los datos se encuentran
sincronizados a travs de las lneas y cada dispositivo tiene su propio reloj, es posible que los
dos dispositivos pierdan sincronizacin. Por lo tanto, los bits de paro no solamente indican el
final de una transmisin, tambin le da un margen de error a las velocidades de reloj de la
computadora. A medida que se utilizan ms bits para bits de paro, mayor oportunidad para
sincronizar los diferentes relojes, pero ms lenta la razn de transferencia de datos.
Paridad
Paridad es una forma de revisin de error simple utilizada en la comunicacin serial.
Existen cuatro tipos de paridad pares, impares, marcados y espaciados. Tambin puede
utilizar los que excluyen de paridad. Para paridad impar y par, el puerto serial fija el bit de
paridad (el ltimo bit despus de los bits de datos) a un valor que asegura que la transmisin
tenga un nmero par o impar de bits lgicos. Por ejemplo, si el dato es 011, para paridad par,
el bit de paridad es 0 para mantener el nmero par de bits altamente lgicos. Si la paridad es
impar, el bit de paridad es 1, resultando en 3 bits altamente lgicos. La paridad marcada y
espaciada no revisa especficamente los bits de datos, simplemente fija la paridad de los bit
como alta para la paridad marcada o baja para la paridad espaciada. Esto permite que el
dispositivo receptor conozca el estado de un bit para as determinar si el ruido esta
corrompiendo los datos o si los relojes del dispositivo de transmisin y recepcin se
encuentran fuera de sincronizacin.
Intercambio de Pulsos de Sincronizacin

Este mtodo de comunicacin RS-232 permite una conexin sencilla de tres lneas
Tx, Rx, y tierra. Sin embargo, para que los datos sean transmitidos, ambos lados deben
Instrumentacin Virtual Control de Instrumentos
Instituto Tecnolgico de Chihuahua 109 Dr. Gerardo Trujillo Schiaffino
presentar los datos de forma sincronizada a la misma tasa de baudios. Aunque este mtodo
es suficiente para algunas aplicaciones, se encuentra limitado para resolver problemas como
receptores sobrecargados. Aqu es donde los seriales tipo intercambio de pulsos de
sincronizacin (handshake) pueden ayudar. Tres formas de intercambio de pulsos de
sincronizacin son las ms populares con RS-232: intercambio de pulsos de sincronizacin
por software, intercambio de pulsos de sincronizacin por hardware y Xmodem.

Por Software

Este mtodo utiliza bytes de datos como caracteres de control de manera similar que
GPIB utiliza cadenas de comando. Tambin involucra el conjunto de tres lneas de Tx, Rx, y
tierra porque los caracteres de control son enviados por una lnea de transmisin al igual que
los datos regulares. Con la funcin SetXMode, se pueden habilitar o deshabilitar el uso de dos
caracteres de control XON y XOFF. El receptor de datos enva estos caracteres para pausar
el transmisor durante la comunicacin.

La mayor deficiencia de este mtodo que se debe tener en cuenta es que los
decimales 17 y 19 ya no se encuentran disponibles para valores de datos. Esto generalmente
no afecta en transmisiones ASCII debido a que estos valores no tienen caracteres; sin
embargo, si la transmisin se hace de forma binaria, es muy probable usted transmita estos
valores como datos y la transmisin fallara.

Por Hardware

Este mtodo en realidad si utiliza lneas de hardware. As como las lneas Tx y Rx
trabajan en conjunto, las lneas RTS/CTS y DTR/DSR tambin. Una es la entrada y la otra, la
salida.

El primer conjunto de lneas son RTS (Request to Send) y CTS (Clear to Send).
Cuando un receptor est listo para datos, se acerca a la lnea RTS, indicndole que est listo
para recibir datos. Esto es ledo por el remitente en la entrada CTS, indicndo que el envo de
datos puede realizarse.

El siguiente conjunto de lneas son las DTR (Data Terminal Ready) y DSR (Data Set
Ready). Los ingenieros utilizan estas lneas bsicamente para la comunicacin de mdem
porque permiten que el puerto serial y el mdem comuniquen entre s su estatus. Por ejemplo,
cuando el mdem est listo para que la PC enve datos, avisar a la lnea DTR, indicando que
se ha hecho una conexin a travs de las lneas telefnicas. Esto es ledo a travs de la lnea
DSR, y la PC puede empezar a enviar datos. La regla general de mayor peso es que se usan
las lneas DTR/DSR para indicar que el sistema est listo para que exista la comunicacin y
las lneas RTS/CTS para paquetes individuales de datos.

En LabWindows/CVI, la funcin SetCTSMode habilita o deshabilita el uso del
intercambio de pulsos de sincronizacin por hardware. Si el modo CTS es habilitado,
LabWindows/CVI utiliza las siguientes reglas:

Cuando la PC enva datos:

La librera RS-232 debe detectar que la lnea CTS no tiene la capacidad suficiente
para recibir los datos que se enviarn.
Instrumentacin Virtual Control de Instrumentos
Instituto Tecnolgico de Chihuahua 110 Dr. Gerardo Trujillo Schiaffino

Cuando la PC recibe datos:

Si el puerto ha sido abierto y la entrada tiene el espacio para recibir datos, la librera
eleva el RTS y DTR. Si el puerto de entrada se encuentra a 90 por ciento de su capacidad, la
librera baja el RTS y eleva el DTR. Si el puerto de entrada se encuentra prcticamente vaco,
la librera eleva el RTS y mantiene alto el DTR. Si el puerto se cierra, la librera baja tanto RTS
como DTR.

XModem

Aunque este protocolo es muy comn en la comunicacin moderna, usted puede
utilizar el protocolo XModem entre dos dispositivos directamente siempre y cuando utilicen
ambos el mismo protocolo. En LabWindows/CVI, la implementacin del XModem actual no
est a la vista del usuario. Siempre y cuando la PC est conectada a otro dispositivo que
utiliza el protocolo XModem, puede utilizar las funciones XModem de LabWindows/CVI para
transferir archivos de un sitio a otro. Las funciones son XModemConfig, XModemSend, y
XmodemReceive.

XModem utiliza un protocolo basado en los siguientes parmetros: start_of_data,
end_of_trans, neg_ack, ack, wait_delay, start_delay, max_tries, y packet_size. Ambos lados
deben acordar en estos parmetros, y XModem tiene una definicin estndar de stos. Sin
embargo, usted puede modificar estos parmetros con la funcin XModemConfig dentro de
LabWindows/CVI para cumplir con su requerimiento. Usted utiliza estos parmetros en
XModem haciendo que el receptor enve el caracter neg_ack. Esto informa al remitente que se
est listo para la recepcin de datos. El receptor intenta nuevamente con el tiempo
start_delay, y entre estos dos intenta alcanzar ya sea max_tries o recibir start_of_data del
remitente. Si alcanza max_tries, le informa al usuario que la comunicacin con el remitente no
pudo llevarse acabo. Si recibe del remitente el start_of_data, lee el paquete de informacin
que le sigue. Este paquete contiene el nmero de paquete, el complemento del nmero del
paquete como un error marcado, el paquete de datos actual o bytes packet_size, y un
resumen de los datos para verificar si existe algn error. Despus de leer los datos, el
receptor llama a la funcin wait_delay para despus enviar los ack de vuelta al remitente. Si el
remitente no lo recibe, regresa el paquete de datos max_tries hasta que ste lo reciba. Si no
se logra llevar acabo esto, se le informa al usuario que ha ocurrido un error en la transferencia
de archivos.

Debido a que el remitente debe enviar los paquetes de datos en forma de bytes
packet_size, el remitente rellena el paquete de datos con ASCII NUL (0) bytes si no hay
suficientes datos que llenen hasta el ltimo espacio del paquete. Esto puede ocasionar que el
archivo recibido sea ms grande que el original. No utilice el XON/XOFF con el protocolo
XModem, porque el nmero de paquete de la transferencia XModem puede incrementar los
valores de caracteres de control al XON/OFF, el cual podra causar una interrupcin en la
comunicacin.


4.1.2. RS-422

RS-422 (Estndar EIA RS-422-A) es la conexin serial utilizada en computadoras
Apple Macintosh. El RS-422 utiliza una seal elctrica diferencial, opuesta a las seales no
balanceadas referenciadas a tierra con RS-232. La transmisin diferencial, que utiliza dos
Instrumentacin Virtual Control de Instrumentos
Instituto Tecnolgico de Chihuahua 111 Dr. Gerardo Trujillo Schiaffino
lneas, una para transmitir y otra para recibir seales, resulta en mayor inmunidad al ruido y
mayores distancias en comparacin con el RS-232. A mayor inmunidad al ruido y distancia,
mayores las ventajas en aplicaciones industriales.

El RS-422 se introdujo en 1975 para resolver los problemas de limitacin de un solo
terminal del estndar EIA-232-E. Las interconexiones de un solo terminal carecen de
capacidad de rechazo de ruido en modo comn; ideales para entornos ruidosos. Tambin, las
velocidades de transmisin de datos estn limitadas generalmente a me nos de 0.5 Mbps.
Una interconexin RS-422 puede vencer estas limitaciones. Un "driver" de RS-422 puede
llegar hasta diez unidades de carga (por ejemplo, 4K para un circuito comn, es una unidad
de carga). El "driver" es capaz de transmitir datos a travs de 1200m de cable (lmite
recomendado), pero no a velocidades de transmisin mxima . Los "drivers" del estndar RS-
422 estn garantizados para suministrar y aceptar un mnimo de 20 mA a travs de una carga
de 100 . Esto corresponde a un voltaje de salida diferencial mnimo, VOD de 2 V a travs de
la carga (vase la figura 24). El receptor complemento de RS-422 tiene que ser igual o menor
que una unidad de carga. Los "drivers" y los receptores RS-422 estn diseados para
configuraciones punto-a-punto y multiterminal, pero no para multipunto. Para configuraciones
multiterminal, la configuracin ms recomendada de interconexin es en forma de margarita.
Hay que tener precaucin, en largas distancias o velocidades de transmisin altas, la
terminacin est recomendada para reducir reflejos provocados por un desacoplo en la
impedancia del cable y la impedancia de entrada del receptor. La longitud del cable y la
velocidad de transmisin tienen un efecto inverso la una de la otra. Cuando se trabaja a
mxima longitud de cable no se puede obtener la demo ma velocidad de transmisin. Por
ejemplo, no es version trabajar a 1200m cuando se trabaja a 10 Mb/s o viceversa. A 10 Mb/s
se puede llegar a 40 m y con 100 kb/s se puede llegar a 2 km. Significativamente, el estndar
RS-485 de interconexin diferencial es muy similar al RS-422. Sin embargo, hay diferencias
que distinguen a las dos normas; las cuales incluyen: La etapa de salida del "driver", el rango
en modo comn de la interconexin, la resistencia de entrada del receptor, y la capacidad del
"driver".


4.1.3. RS-485
RS-485 (Estndar EIA-485) es una mejora sobre el RS-422 porque incrementa el
nmero de dispositivos de 10 a 32 y define las caractersticas elctricas necesarias para
asegurar adecuadamente los voltajes de seales bajo la carga mxima. Con el incremento en
esta capacidad, usted puede crear redes de dispositivos conectados a un solo puerto serial
RS-485. La inmunidad al ruido y la gran capacidad hacen que RS-485 sea la conexin serial
preferida en aplicaciones industriales que requieren diversos dispositivos distribuidos en red a
una PC o algn otro controlador para coleccin de datos, HMI, u otras operaciones. RS-485
es un gran conjunto de RS-422; por lo tanto, todos los dispositivos RS-422 pueden ser
controlados por RS-485. Usted puede utilizar el hardware RS-485 para comunicacin serial
para cables de hasta 1200 metros.

Muchos dispositivos utilizados en aplicaciones industriales usan los estndares EIA
RS-232, RS-422 o RS485 para conectar una computadora con otros dispositivos. Una errnea
concepcin muy comn acerca de estos estndares es que ellos definen protocolos de
software especficos. Sin embargo, los estndares ANSI/EIA RS-xxx especifican solo las
caractersticas elctricas y no el protocolo de software. La tabla 1 resume las caractersticas
principales de estos tres interfaces serie.
Instrumentacin Virtual Control de Instrumentos
Instituto Tecnolgico de Chihuahua 112 Dr. Gerardo Trujillo Schiaffino

Caracterstica
RS-232 RS-422 RS-485
Tipo de Lneas de Transmisin Desbalancead
a
Diferencial Diferencial
Nmero Mximo de Manejadores 1 10 32
Nmero Mximo de Receptores 1 10 32
Longitud Mxima de Cable en Metros 15.2 1200 1200
Razn de Datos Mxima 20 Kb/s 10 Mb/s 10 Mb/s

Tabla 4.1 Caractersticas Principales de RS-232, RS-422 y RS-485

4.1.2. Protocolos de Software.

Ntese que los estndares RS-xxx no especifican cosa alguna acerca del software
utilizado para comunicarse con los dispositivos. Por ejemplo, cundo se utilizan dispositivos
RS-485 el direccionamiento depende de los dispositivos mismos, ya que RS-485 tan solo
especifica la capacidad de conectar mltiples cargas elctricas (dispositivos) con un solo par
de alambres, pero no especifica nada acerca de como direccionar (o comunicarse con) esos
dispositivos. Este es el trabajo del protocolo de software particular de cada dispositivo.

Hay pocos protocolos que tengan un amplio uso por parte de los fabricantes de
instrumentos serie. La solucin ms comn es un conjunto de cadenas ASCII que constituyen
comandos para el dispositivo. Estos protocolos son comnmente implementados como
protocolos asncronos, llamados as porque el transmisor y el receptor no tienen un
mecanismo de sincronizacin firmemente acoplado. Estas redes son comnmente
Maestro/Esclavo, donde un dispositivo (usualmente la computadora) es el maestro y el resto
de los dispositivos (los instrumentos) son esclavos. Normalmente, los esclavos se inicializan
en modo de recepcin, esperando para recibir mensajes. Cuando el Maestro enva un
mensaje, todos los esclavos reciben el mensaje y determinan si este esta direccionado para
ellos. Si es as, actan de acuerdo al mensaje recibido. La figura 4.3 muestra un ejemplo de
una cadena de comando enviada a un dispositivo RS-485.


volts
volts O ampers O
ohms O com O
RS-485
#0110.000\r
Inicio de Mensaje
Direccin del Dispositivo
Valor Analgico
Fin de Mensaje


Fig. 4.3 Ejemplo de una cadena de comando RS-485

Instrumentacin Virtual Control de Instrumentos
Instituto Tecnolgico de Chihuahua 113 Dr. Gerardo Trujillo Schiaffino

Muchos fabricantes de instrumentos serie disean sus propios protocolos ASCII para
sus dispositivos en particular. Leer y escribir cadenas ASCII resulta tarea directa utilizando las
funciones serie estndar de la mayora de los lenguajes de programacin de alto nivel. La
mejor manera de entender como se usan los comandos en formatos de cadenas y las
funciones serie es utilizndolos en la prctica continua de la programacin para control de
instrumentos serie.

Algunos ejemplos de protocolos serie que utilizan puertos serie estndar y que han
tenido aceptacin a travs de diversos productos serie y proveedores son: OptoMux y
ModBus.

Otro protocolo comnmente utilizado con los puertos serie estndar de las
computadoras (usando un adaptador elctrico para la conversin fsica de la seal) que ha
tenido un amplio uso en la instrumentacin para control de procesos es el protocolo HART
(Highway Addressable Remote Transducer). HART es un red hbrida que utiliza seales
analgicas de 4 - 20 mA comnmente utilizadas en instrumentacin para control de procesos
y les adiciona una seal digital. La seal digital es adicionada de tal manera que no interfiera
funcionalmente con la seal de 4 - 20 mA, por lo que a travs de esta seal digital se puede
leer y escribir datos del dispositivo.

Hay muchos protocolos que son usados con interfaces serie estndar pero estos
utilizan esquemas de empaquetado de datos ms sofisticados. Estos protocolos utilizan
diversos mecanismos para asegurar una comunicacin confiable y robusta. Muchos de estos
protocolos son propiedad de un fabricante en especial, por lo que requieren manejadores de
software e interfaces de hardware especiales. Como ejemplos de estos protocolos tenemos
DataHighway de Allen Bradley y ModBus de Modicon utilizados ambos para comunicacin con
PLCs.


4.2. INSTRUMENTOS GPIB

4.2.1. Historia del Bus GPIB.

En 1965 Hewlett Packard dise el Bus de Interfase Hewlett Packard (HPIB) para
conectar su lnea de instrumentos programables a sus computadoras. Debido a su alta
relacin de transferencia (normalmente 1 Mbytes/s), este bus de interfase gan rpidamente
popularidad. Ms tarde fue aceptado por la IEEE como estndar 488-1975. Despus de esta
estandarizacin, otros fabricantes de instrumentos pudieron aplicar este bus de interfase a sus
instrumentos programables. Hoy en da, el nombre Bus de Interfase de Propsito General
(GPIB) es ms ampliamente utilizado que HPIB.

El estndar ANSI/IEEE 488-1975, ahora llamado IEEE 488.1, simplific enormemente
la interconexin de instrumentos programables al definir claramente las especificaciones
mecnicas, elctricas y de protocolo de hardware. Por primera vez, se pudo conectar
instrumentos de distintos fabricantes con un cable estndar. El sistema GPIB tpico consiste
de mltiples instrumentos GPIB (hasta 14) y un controlador (usualmente una tarjeta de
interfase GPIB instalada en la computadora) conectados por cables estndar GPIB. El
controlador enva comandos de programa a los instrumentos y estos regresan mensajes de
respuesta con formatos de datos al controlador.

Instrumentacin Virtual Control de Instrumentos
Instituto Tecnolgico de Chihuahua 114 Dr. Gerardo Trujillo Schiaffino


Este estndar evolucion en el ANSI/IEEE 488-1987, tambin conocido como IEEE
488.2, el cual se diferencia del original IEEE 488.1 por definir con precisin como deben
comunicarse los instrumentos y el controlador. El estndar IEEE 488.2 dej el IEEE 488.1
prcticamente intacto, pero hizo los sistemas ms compatibles y el desarrollo de programas
ms sencillo al definir formatos estndar para cdigo de datos, un modelo de reporte de
estado, un protocolo de intercambio de mensajes (definiendo como los controladores envan
comandos y como los instrumentos envan respuestas), un conjunto de comandos comunes
para todos los instrumentos, y requerimientos del controlador. El estndar IEEE 488.2 se
enfoca en aspectos del protocolo de software, mientras que el IEEE 488.1 se orienta
primordialmente a hardware. El IEEE 488.2 hizo posible disear sistemas de prueba ms
compatibles y productivos.












Figura 4.4 Historia del Bus GPIB.



4.2.2. Tipos de Mensajes GPIB.

Los dispositivos GPIB se comunican con otros dispositivos GPIB por envo de
mensajes dependientes de dispositivo y mensajes de interfase a travs del bus.

Los mensajes dependientes de dispositivo, tambin llamados datos o mensajes de
datos, contienen informacin especfica del dispositivo, tales como: instrucciones de
programacin, resultados de medicin, estado de mquina, y archivos de datos.

Los mensajes de interfase administran el bus. Usualmente llamados comandos o
mensajes de comando, los mensajes de interfase desempean funciones como: inicializacin
del bus, habilitacin o deshabilitacin de dispositivos, y ajuste del modo de trabajo del
dispositivo para programacin local o remota.

El trmino comando que es utilizado aqu no debe ser confundido con algunas
instrucciones de dispositivos que tambin son llamadas comandos. Los comandos
especficos de dispositivo son mensajes de datos para el sistema GPIB.





Hewlett Packard
dise HP-IB para
sistemas de
instrumentacin
HP-IB se convierte
en el estndar
IEEE488
Se adapta el
estndar
IEEE488.2
Se introduce la
especificacin
SCPI
Se revisa el
estndar
IEEE488.2
National
Instruments
propone la
extensin HS488
1965 1975 1987 1990 1992 1993
Instrumentacin Virtual Control de Instrumentos
Instituto Tecnolgico de Chihuahua 115 Dr. Gerardo Trujillo Schiaffino


Dispositivo
GPIB
Dispositivo
GPIB
Dispositivo
GPIB
Dispositivo
GPIB
Mensajes Dependientes
de Dispositivo
Datos
Mensajes de Interface
Comandos


Figura 4.5 Tipos de Mensajes GPIB.


4.2.3. Hablantes, Oyentes y Controladores.

Los dispositivos GPIB pueden ser hablantes (talkers), oyentes (listeners) y/o
controladores (controllers). Un hablante enva mensajes de datos a uno o ms oyentes, los
cuales reciben el mensaje. El controlador administra el flujo de informacin en el sistema
GPIB a travs del envo de comandos a todos los dispositivos. Un voltmetro digital, por
ejemplo, puede efectuar funciones de hablante y tambin de oyente.

Controlador
Hablante Oyente
Datos
Comandos Comandos


Figura 4.6 Tipos de Dispositivos GPIB.

El rol del controlador GPIB es comparable con el rol de un CPU de computadora,
aunque una analoga mejor sera compararlo con la central telefnica de una ciudad. La
central telefnica (controlador) monitorea la red de comunicaciones (bus GPIB): cuando nota
que un usuario (dispositivo) quiere hacer una llamada (enviar un mensaje de datos), conecta
al usuario que llama (hablante) con el usuario que recibe (oyente).

El controlador usualmente habilita al hablante y al oyente antes de el primero le enve
el mensaje al segundo. Despus de que el mensaje es transmitido, el controlador pude
habilitar otro hablante y otro oyente.
Instrumentacin Virtual Control de Instrumentos
Instituto Tecnolgico de Chihuahua 116 Dr. Gerardo Trujillo Schiaffino

En algunas configuraciones de GPIB no se requiere un controlador. Por ejemplo, un
dispositivo que siempre desarrolla funciones de hablante, llamado dispositivo solo hablante,
est conectado a uno o ms dispositivos solo oyentes. Un controlador es necesario cuando un
hablante o un oyente activo deben cambiar su funcin. La funcin de un controlador es
manejada usualmente por una computadora. Una computadora equipada con hardware y
software para GPIB puede desempear los roles de hablante, oyente y controlador.


Dispositivo
Solo Hablante
Dispositivo
Solo Oyente
Datos


Figura 4.7 Dispositivos solo habientes/oyentes


4.2.4. Controlador a Cargo y Controlador de Sistema.

En un sistema GPIB puede haber varios controladores conectados, pero solamente
uno de los controladores a la vez puede ser el controlador a cargo (CIC - controller in charge).
El control activo del sistema puede ser transferido del actual controlador a cargo a otro
controlador. Sin embargo, entre los controladores existe uno de ms alta jerarqua llamado
controlador de sistema, el cual es el nico controlador que se puede autodesignar CIC. Las
tarjetas de interfase GPIB son usualmente controladores de sistema.


Controlador
Hablante Oyente Oyente Oyente Oyente
Controlador
a Cargo
Comandos


Figura.4.8 Controlador a Cargo


4.2.5. Lneas y Seales GPIB.

El bus de interfase GPIB consiste de 16 lneas de seal y 8 lneas de retorno a tierra o
blindaje. Las 16 lneas de seal, detalladas a continuacin estn agrupadas en 8 lneas de
datos, tres lneas de protocolo y cinco lneas de administracin de interfase.


Instrumentacin Virtual Control de Instrumentos
Instituto Tecnolgico de Chihuahua 117 Dr. Gerardo Trujillo Schiaffino


A) Lneas de Datos.

Las 8 lneas de datos, DIO1 hasta DIO8, llevan ambos tipos de mensaje: datos o
comandos. El estado de la lnea ATN (attention) determina cuando esta informacin es dato o
comando. Todos los comandos y la mayora de los datos utilizan el cdigo ASCII de 7 bits, en
cuyo caso el octavo bit, DIO8, pude ser usado o no como paridad.

B) Lneas de Protocolo.

Tres lneas controlan asincrnicamente la transferencia de bytes de mensajes entre
dispositivos. El proceso es llamado protocolo nter-seguro de 3 alambres. Esto garantiza que
los bytes de mensaje en las lneas de datos sean enviados y recibidos sin errores de
transmisin.

* NRFD (not ready for data): Indica cuando un dispositivo est listo o no para recibir un byte
de mensaje. Esta lnea es manejada por todos los dispositivos cuando reciben comandos, por
los oyentes cuando reciben mensajes de datos.

* DAV (data valid): Nos dice cuando las seales en las lneas de datos estn estables (son
validas) y pueden ser aceptadas con seguridad por los dispositivos. El controlador maneja la
lnea DAV cuando enva comandos, y el hablante la maneja cuando enva mensajes de datos.

* NDAC (not data accepted): Indica si el dispositivo acept o no el byte de mensaje. Esta lnea
es manejada por todos los dispositivos cuando reciben comandos, y por los oyentes cuando
reciben mensajes de datos.

C) Lneas de Administracin de Interfase.

Cinco lneas administran el flujo de informacin a travs del interfase.

* ATN (attention): El controlador maneja la lnea ATN en valor lgico verdadero cuando est
utilizando las lneas de datos para enviar comandos, y la maneja en valor lgico falso cuando
un hablante puede enviar mensajes de datos.

* IFC (interface clear): El controlador de sistema maneja la lnea IFC para inicializar el bus y
que el CIC correspondiente entre en funciones.

* REN (remote enable): El controlador de sistema maneja la lnea REN, la cual es utilizada
para poner a los dispositivos en modo de programacin remota o local.

* SRQ (service request): Cualquier dispositivo puede manejar la lnea SRQ para solicitar
servicio del controlador asincrnicamente.

* EOI (end or identify): La lnea EOI tiene dos propsitos: el hablante utiliza la lnea EOI para
marcar el final de una cadena de mensajes, y el controlador utiliza la lnea EOI para pedir a
los dispositivos que identifiquen su respuesta.

Instrumentacin Virtual Control de Instrumentos
Instituto Tecnolgico de Chihuahua 118 Dr. Gerardo Trujillo Schiaffino
GND DAV
GND NRF
GND NDAC
GND IFC
GND SRQ
GND ATN
SIGNAL GND
SHIELD
DIO1
DIO2
DIO3
DIO4
DIO5
DIO6
DIO7
DIO8
NRFD
DAV
NDAC
ATN
IFC
REN
SRQ
EOI
Bus
24 Lneas
Datos
8 Lneas
Protocolo
3 Lneas
Administracin
5 Lneas
Tierras
8 Lneas

Figura 4.9 Lneas y Seales GPIB


4.2.6. Caractersticas Mecnicas y Elctricas.

Los dispositivos son conectados usualmente con un cable de 24 conductores aislados,
con un conector doble (macho y hembra) en cada extremo, este conector se muestra en la
siguiente figura.


DIO5
DIO6
DIO7
DIO8
REN
GND DAV
GND NRFD
GND NDAV
GND IFC
GND SQR
GND ATN
SIGNAL GND
DIO1
DIO2
DIO3
DIO4
EOI
DAV
NRFD
NDAC
IFC
SQR
ATN
SHIRLD


Figura 4.10 Conector GPIB
Instrumentacin Virtual Control de Instrumentos
Instituto Tecnolgico de Chihuahua 119 Dr. Gerardo Trujillo Schiaffino
Los dispositivos se pueden conectar tanto en configuracin lineal como en
configuracin estrella o alguna combinacin de ambas. El conector estndar es el Amphenol o
Cinch Series 57 MICRORIBBON o tipo AMP CHAMP. Para conexiones de aplicacin especial
, se puede utilizar un cable adaptador con conectores no estndar.


volts
volts O ampers O
ohms O com O
volts
volts O ampers O
ohms O com O
volts
volts O ampers O
ohms O com O volts
volts O ampers O
ohms O com O
volts
volts O ampers O
ohms O com O
volts
volts O ampers O
ohms O com O
volts
volts O ampers O
ohms O com O
Lineal
Estrella


Figura 4.11 Configuraciones Bsicas de los Sistema GPIB.

El GPIB utiliza lgica negativa con niveles estndar TTL. Cuando la lnea DAV, por
ejemplo, est en valor lgico verdadero, tiene un nivel TTL bajo (< 0.8 v.), y cuando la lnea
DAV est en valor lgico falso, tiene un nivel TTL alto (>2.0 v.).


4.2.7. Requerimientos de Operacin.

Para alcanzar la alta relacin de transferencia de datos para la cual fue diseado el
bus GPIB, la distancia fsica entre dispositivos y el nmero de dispositivos en el bus es
limitado.

Para una operacin normal se tienen las siguientes restricciones tpicas:

Separacin mxima de 4 m. entre dos dispositivos cualquiera.
Longitud total de cable mxima de 20 m.
No ms de 15 dispositivos conectados a un bus, con no menos de 2/3 partes
encendidos.

Cuando se requiere extender estos lmites se debe utilizar un expansor de bus.


4.2.8. IEEE 488.2 y SCPI.

Los estndares SCPI (Comandos Estndar para Instrumentos Programables) e IEEE
488.2 se enfocaron a las limitaciones y ambigedades del original IEEE 488.1, el IEEE 488.2
hizo posible disear sistemas de prueba ms compatibles y productivos, el SCPI simplific el
proceso de programacin, definiendo un conjunto de comandos comprensibles y sencillos
para instrumentos programables, independientemente del tipo o fabricante.
Instrumentacin Virtual Control de Instrumentos
Instituto Tecnolgico de Chihuahua 120 Dr. Gerardo Trujillo Schiaffino

El estndar IEEE 488.1, simplific enormemente la interconexin de instrumentos
programables, clarificando y definiendo especificaciones mecnicas, elctricas y de protocolo
de hardware. Por primera vez, se pudieron interconectar instrumentos de distintos fabricantes
con un cable estndar. Aunque este estndar proporcion un largo camino hacia la
productividad de los ingenieros de prueba, el estndar trajo consigo una serie de
inconvenientes. Especficamente, el estndar original no contena formatos de datos, reportes
de estado, protocolos para intercambios de mensajes, comandos comunes de configuracin. o
comandos especficos para dispositivo. Como resultado, cada fabricante implement de
manera diferente sus equipos, llevando el desarrollo de sistemas de prueba a niveles
complicados.

El estndar IEEE 488.2 mejor al estndar anterior estandarizando los formatos de
datos, reportes de estado, manejo de errores. funcionalidad del Controlador, y comandos
comunes a los cuales todos los instrumentos podan responder de una manara definida.
Estandarizando estos aspectos, los sistemas IEEE 488.2 son ms compatibles y confiables. El
estndar IEEE 488.2 se enfoc principalmente en aspectos de protocolo de software para
mantener as compatibilidad con el estndar IEEE 488.1 orientado a hardware.

El SCPI construido sobre el estndar IEEE 488.2 defini comandos especficos de
dispositivo que estandarizaron la programacin de instrumentos. Los sistemas SCPI son
mucho ms sencillos de programar y dar mantenimiento. En muchos casos es posible
intercambiar o actualizar instrumentos sin tener que cambiar el programa de prueba. La
combinacin de SCPI y IEEE 488.2 ofrece significativas ganancias de productividad, y
finalmente, se logr un estndar en software, tal como el IEEE 488.1 logr un estndar en
hardware.

Вам также может понравиться