Documente Academic
Documente Profesional
Documente Cultură
Agosto 2011
Contenido
1.4.1
1.4.2
Arquitecturas bsicas
1.4.3
Aplicaciones
11
12
13
1.6.1
Programacin tradicional
13
1.6.2
Programacin grfica
15
19
19
2.1.1
Panel frontal
21
2.1.2
Diagrama a bloques
23
24
26
2.1.2.3 Funciones
27
2.1.3
Paleta de controles
27
2.1.4
Paleta de funciones
30
2.1.5
Paleta de herramientas
32
2.1.5.1.
Herramienta automtica
33
2.1.5.2.
Herramienta de operacin
34
2.1.5.3.
34
2.1.5.4.
Herramienta de etiquetado
34
2.1.5.5.
Herramienta de cableado
34
2.1.5.6.
Herramienta de men
35
2.1.5.7.
Herramienta de arrastre
35
2.1.5.8.
35
2.1.5.9.
35
2.1.5.10.
36
2.1.5.11.
Herramienta de colorear
36
2.1.6
Barra de herramientas
36
2.1.6.1.
Botn de ejecucin
37
2.1.6.2.
37
2.1.6.3.
Botn de cancelacin
37
2.1.6.4.
Botn de pausa
38
2.1.6.5.
38
2.1.6.6.
38
2.1.6.7.
38
2.1.6.8.
Men de redimensionamiento
39
2.1.6.9.
Men de reordenamiento
39
2.1.6.10.
39
ii
2.1.6.11.
40
2.1.6.12.
40
2.1.6.13.
40
40
41
43
46
48
48
50
51
52
52
53
53
54
55
56
2.6.1
Conceptos bsicos
56
2.6.2
58
2.6.2.1.
58
2.6.2.2.
59
2.6.2.3.
Asignacin de Terminales
61
2.6.3
Libreras de sub-instrumentos
62
2.6.4
62
iii
64
65
67
69
71
3.5 Case
73
74
75
75
3.6 Secuencias
76
77
79
80
4.1
Arreglos
84
84
85
88
4.1.2.1.
Auto-indexamiento de salida
88
4.1.2.2.
Auto-indexamiento de entrada
90
4.1.2.3.
91
92
iv
4.2
93
4.1.2.1.
Tamao de arreglo
93
4.1.2.2.
Inicializar arreglo
94
4.1.2.3.
Construir arreglo
94
4.1.2.4.
Subconjunto de arreglo
95
4.1.2.5.
ndice de arreglo
95
Clsteres
96
97
98
99
100
4.3.1.1.
Agrupar
100
4.3.1.2.
101
4.3.1.3.
Desagrupar
101
4.3.1.4.
102
4.3
102
4.2.5.1.
Estatus
103
4.2.5.2.
Cdigo
103
4.2.5.3.
Fuente
104
Grficas
105
105
4.3.1.1.
Trazo sencillo
106
4.3.1.2.
Personalizacin de la grfica
106
4.3.1.3.
108
4.3.1.4.
Trazos mltiples
108
4.3.1.5.
109
4.3.1.6.
Consideraciones de uso
110
4.3.2.1.
Trazo sencillo
112
4.3.2.2.
Trazos mltiples
113
4.3.2.3.
Personalizacin de la grfica
115
4.3.2.4.
Consideraciones de uso
116
4.3.3. Grficas XY
4.4
116
4.3.3.1.
Trazo simple
117
4.3.3.2.
Trazos mltiples
118
4.3.3.3.
Personalizacin de la grfica
119
4.3.3.4.
Consideraciones de uso
120
Cadenas de caracteres
120
121
122
122
123
4.4.4.1.
Longitud de texto
124
4.4.4.2.
Concatenar cadenas
124
4.4.4.3.
Subconjunto de cadena
124
110
Archivos
125
125
126
4.5.1.1.
126
4.5.1.2.
126
127
vi
127
4.3.1.2.
4.6
4.7
4.8
Variables locales
128
128
129
131
Variables globales
132
133
135
Nodos de propiedades
136
136
137
138
140
5.1
Arquitectura de un VI simple
140
5.2
Arquitectura de un VI general
141
5.3
143
145
145
146
6.4.1. Transductores
146
vii
6.4.2. Actuadores
147
147
6.3.1. Amplificacin
147
6.3.2. Aislamiento
148
6.3.3. Filtrado
148
6.3.4. Excitacin
149
6.3.5. Linealizacin
149
150
150
153
6.4.2.1.
153
6.4.2.2.
Resolucin
158
6.4.2.3.
159
6.4.2.4.
160
6.4.2.5.
Razn de muestreo
162
6.4.2.6.
Tiempo de establecimiento
163
6.4.2.7.
Ruido
164
165
6.4.3.1.
Tiempo de establecimiento
165
6.4.3.2.
Resolucin
166
166
168
171
172
172
174
viii
177
ix
INTRUDUCCIN
control,
automatizacin
industrial,
procesamiento
de
seales,
El contenido del libro se estructur en seis captulos, correspondiendo cada uno de ellos
a una de las unidades de aprendizaje de la asignatura.
xi
xii
Captulo I
CAPTULO I:
FUNDAMENTOS DE INSTRUMENTACIN VIRTUAL.
Qu 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
Captulo I
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.
Captulo I
Con los instrumentos virtuales, se puede utilizar una gran variedad de hardware de
instrumentacin, y personalizar completamente la funcionalidad del instrumento y su interfaz
de usuario a travs de software de alto nivel.
Captulo I
Instrumentacin
Virtual
Instrumentacin
Programable
Instrumentacin
Analgica
Captulo I
Adquisicin
(Hardware)
a)
Anlisis
(Hardware)
Presentacion
(Hardware)
b)
Por otro lado, cuando analizamos un instrumento virtual, este tambin contiene estos
mismos elementos funcionales (adquisicin, anlisis y presentacin de datos).
Captulo I
Hardwarepara
Instrumentacin
Softwarepara
Instrumentacin
Computadora
Instrumento
Virtual
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.
Captulo I
Captulo I
a)
b)
c)
Fig. 1.4 a) Computadora controlando un instrumento programable, b) Panel frontal grfico en la computadora
manejando un mdulo PXI, c) Panel grfico sin instrumento fsico conectado
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
muestra en la figura 1.5.
Adquisicin
(Hardware)
Anlisis
(Software)
Presentacin
(Software)
Sin embargo, en el caso del ltimo ejemplo, el instrumento virtual est formado solo
por la computadora y el software que realiza las funciones de adquisicin, anlisis y
presentacin, como se muestra en la figura 1.6.
Captulo I
Adquisicin
(Software)
Anlisis
(Software)
Presentacin
(Software)
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
instrumentos (Computadora + Hardware + Software).
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
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.).
Captulo I
Computadora
Software
GPIB
VXI
DAQ
Serial
Visin
10
Captulo I
1.4.3. Aplicaciones.
11
Captulo I
Prueba Acstica
Monitoreo y Control en Tiempo Real
INSTRUMENTOS TRADICIONALES
INSTRUMENTOS VIRTUALES
Conectividad limitada.
Hardware es la clave.
Software es la clave.
Costoso.
Barato, reutilizable.
12
Captulo I
13
Captulo I
grficas, etc., por lo que el resultado final es un programa de aplicacin verstil, flexible y
poderoso. La figura 1.9 muestra una interfaz de usuario desarrollado en este ambiente.
14
Captulo I
15
Captulo I
16
Captulo I
17
Captulo I
18
Captulo II
Fundamentos de LabVIEW
CAPTULO II
FUNDAMENTOS DE LABVIEW
Panel frontal
Diagrama de bloque
Icono/Conector
El panel frontal, como el mostrado en la figura 2.1, es utilizado para interaccionar con
el usuario cuando el programa est corriendo. El usuario puede controlar el programa, cambiar
entradas, y ver datos actualizados en tiempo real.
19
Captulo II
Fundamentos de LabVIEW
Cada control o indicador del panel frontal tiene una terminal correspondiente en el
diagrama de bloques, como se muestra en la figura 2.2.
20
Captulo II
Fundamentos de LabVIEW
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
ms delante.
El panel frontal es la interface 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 deteniendo un programa. Los controles son interruptores, botones, perillas, cajas
de texto y otros componentes de entradas. Los controles simulan dispositivos de entrada de
21
Captulo II
Fundamentos de LabVIEW
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
grficas, luces y otros dispositivos. Los indicadores simulan salidas de instrumentos y
suministra datos que el diagrama de bloques adquiere o genera.
Barra de herramientas
del panel frontal
Icono
Control
Booleano
Leyenda del
grfico
Grfico de
Forma de onda
Leyenda de
la escala
Leyenda de
la grfica
22
Captulo II
Fundamentos de LabVIEW
El panel frontal tambin contiene una barra de herramientas, y sus funciones sern
discutidas ms delante.
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, estableciendo un flujo de datos que
representa la lgica del programa. La figura 2.5 muestra un ejemplo de un diagrama de
bloque.
Barra de
herramientas
del diagrama a
bloques
Funcin de
dividir
SubVI
Terminal
grfica
Cableado
de datos
Estructura
de ciclo
While
Constante
numrica
Funcin
Retardo
tiempo
Terminal de control
booleano
23
Captulo II
Fundamentos de LabVIEW
En este diagrama de bloque, el subVI Temp llama a una 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 grfica 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.
24
Captulo II
Fundamentos de LabVIEW
25
Captulo II
Fundamentos de LabVIEW
Una vez colocados en el diagrama a bloques los subVIs exprs se pueden reconocer
por el recuadro azul cielo que rodea el icono del SubVI. Para efectos de ahorro de espacio en
el diagrama este recuadro puede ser removido.
Por otro lado los sub-instrumentos estndar, que son un concepto clsico desde las
primeras versiones de LabVIEW, son en realidad programas hechos en LabVIEW con su
propio panel frontal y diagrama a bloques que son encapsulados dentro de un icono conector
para ser usados adentro de otro VI. La figura 2.7 muestra un ejemplo de un VI estndar.
Estos sub-instrumentos no son tan rpidamente reconfigurables como los exprs, sin
embargo haciendo doble click sobre su icono se abre la ventana de su panel frontal y se tiene
acceso a su diagrama a bloques, el cual de ser necesario puede ser modificado.
26
Captulo II
Fundamentos de LabVIEW
Una vez colocados en el diagrama a bloques los subVIs estndar se pueden reconocer
por el recuadro amarillo que rodea el icono del SubVI. Para efectos de ahorro de espacio en el
diagrama este recuadro puede ser removido.
2.1.2.3. 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, fueron desarrollados en lenguaje C y
constituyen las funciones primitivas de LabVIEW. La figura 2.8 muestra el ejemplo de una
funcin aritmtica de multiplicacin.
27
Captulo II
Fundamentos de LabVIEW
espacio de trabajo en el panel frontal esto la activa de manera temporal. Para desaparecer la
paleta de controles fija presione el botn de cerrar, caracterstico de Windows, en la parte
superior derecha de la paleta, para cerrar la paleta temporal haga click izquierdo sobre el
panel o click derecho sobre la misma paleta de controles. Para fijar la paleta temporal haga
click sobre el sujetador de la esquina superior izquierda.
a)
b)
28
Captulo II
Fundamentos de LabVIEW
Fig. 2.10. Despliegue simultneo de todas las categoras de controles e indicadores en la paleta de controles.
29
Captulo II
Fundamentos de LabVIEW
1) click
3) Arrastre
4) click
2) click
30
Captulo II
Fundamentos de LabVIEW
Windows, en la parte superior derecha de la paleta, para cerrar la paleta temporal haga click
izquierdo sobre el diagrama o click derecho sobre la misma paleta de controles. Para fijar la
paleta temporal haga click sobre el sujetador de la esquina superior izquierda.
a)
b)
31
Captulo II
Fundamentos de LabVIEW
Esta paleta opera de manera muy similar a la paleta de controles del panel, tanto en su
forma fija como temporal.
3) Arrastre
4) click
1) click
2) click
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
32
Captulo II
Fundamentos de LabVIEW
implica entonces la necesidad poder cambiar la funcionalidad del apuntador para ejecutar
tareas muy diversas.
33
Captulo II
Fundamentos de LabVIEW
34
Captulo II
Fundamentos de LabVIEW
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.
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.
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.
35
Captulo II
Fundamentos de LabVIEW
Utilice la herramienta de muestra de color para obtener una muestra (copia) del color
de un objeto.
a)
b)
36
Captulo II
Fundamentos de LabVIEW
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.
37
Captulo II
Fundamentos de LabVIEW
Seleccione el men Alineacin de Objetos (Align Objects) para alinear objetos con
respecto a los ejes, incluyendo eje vertical, superior, izquierdo, etc.
38
Captulo II
Fundamentos de LabVIEW
NOTA: Los siguientes botones solo estn disponibles en la barra de herramientas del
diagrama de bloque.
39
Captulo II
Fundamentos de LabVIEW
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 est listo para ejecutarse. Al entrar un paso
adentro de un nodo usted est listo para caminar paso a paso adentro del nodo.
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.
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.
40
Captulo II
Fundamentos de LabVIEW
41
Captulo II
Fundamentos de LabVIEW
terminales verdes y son representadas por las letras TF (true/false); las variables string
(cadenas de caracteres) tienen terminales de color rosa y las letras ABC.
En general, las terminales anaranjadas deben unirse (cablearse) con las terminales
anaranjadas, verdes con verdes, y as sucesivamente. Pero, 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) o viceversa. 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)
42
Captulo II
Fundamentos de LabVIEW
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.
43
Captulo II
Fundamentos de LabVIEW
Para ms ayuda con los terminales, haga click derecho en la funcin y seleccione
Visible Items >>Terminals. 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.
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 ratn para
poner el objeto en el diagrama de bloque, LabVIEW conecta automticamente los cables.
44
Captulo II
Fundamentos de LabVIEW
45
Captulo II
Fundamentos de LabVIEW
Si el cableado no se mira muy bien, haga click derecho en el cable que se desea
arreglar y escoja la opcin de Clean Up Wire (Limpieza del Cable) para que automticamente
el cable haga su ruta de nuevo.
El hacer un simple, doble, y triple click en el cable selecciona el cable para moverlo o
para borrarlo, tal como se muestra en la figura 2.20. El hacer un click mientras se est
cableando hace un doblez en el cable. Haciendo click derecho o presionando el botn Esc
mientras se est cableando cancela la operacin de cableado.
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
46
Captulo II
Fundamentos de LabVIEW
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.
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 vlida 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.
47
Captulo II
Fundamentos de LabVIEW
48
Captulo II
Fundamentos de LabVIEW
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.
Ayuda en lnea
Congelar Ayuda
Ayuda del Diagrama
Simple/Complejo
Referencias en Lnea
Fig. 2.23. Ejemplo de ventana de ayuda contextual
Haga click 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 click nuevamente en el botn. Usted tambin puede tener acceso a esta opcin desde el
men de ayuda (Help).
Haga click en el botn de More Help (mas ayuda) para desplegar el tema
correspondiente en LabVIEW Help, el cual describe el objeto en forma detallada.
49
Captulo II
Fundamentos de LabVIEW
Puede acceder a LabVIEW Help ya sea haciendo click en el botn de More Help en la
ventana de Context Help, seleccionando HelpVI, Function, & How-To Help, haciendo click
en la oracin Click here for more help en la ventana de Context Help o presionando <Ctrl?>.
50
Captulo II
Fundamentos de LabVIEW
La ayuda 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 (www.ni.com).
51
Captulo II
Fundamentos de LabVIEW
Para hacer una lista de los errores, haga click en la flecha quebrada. Para localizar el
objeto malo, haga click en el mensaje del error.
52
Captulo II
Fundamentos de LabVIEW
Las ventanas de prueba son utilizadas para ver los valores en cualquier cable del
diagrama de bloque. Para activar estas ventanas haga click en el cable que quiera visualizar
con la herramienta Probe o si lo prefiere simplemente haga click derecho en el cable para
seleccionar Probe.
53
Captulo II
Fundamentos de LabVIEW
Coloca pausas en diferentes lugares del diagrama. Haga click en los cables o en los
objetos con la herramienta de Punto de Paro para colocar los puntos de paro. El punto de
quiebre quedar resaltado con un marco color rojo.
54
Captulo II
Fundamentos de LabVIEW
Cualquier control o indicador en el Panel Frontal puede ser documentado al hacer click
derecho con el ratn y elegir Description and Tip (Descripcin y sugerencia) La
informacin de descripcin aparece en el men Context Help (ayuda en contexto) cuando un
usuario pasa el cursor sobre el objeto, y la informacin de sugerencia es mostrada en una
pequea ventana pegada al cursor cuando el usuario pausa el movimiento del cursor sobre el
objeto.
55
Captulo II
Fundamentos de LabVIEW
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.
Los sub-instrumentos virtuales (subVI), son en realidad VIs que se utilizan dentro de
otros VIs como funciones o subrutinas, por lo tanto tienen sus propios panel frontal y diagrama
de bloque, los cuales se pueden acceder haciendo doble click sobre el icono del subVI.
56
Captulo II
Fundamentos de LabVIEW
Nodo Expandible
Nodo Expandido
57
Captulo II
Fundamentos de LabVIEW
Icono
Conector
Fig. 2.30. Icono conector
1) disear un icono
2) crear el conector
3) asignar terminales.
Para crear iconos personalizados para reemplazar los iconos predeterminados se hace
click 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 click en el icono en la
58
Captulo II
Fundamentos de LabVIEW
esquina superior derecha del panel frontal. Tambin se puede corregir iconos seleccionando
File >> VI Properties, seleccionando General del men Category, y haciendo click 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.
en la
esquina superior derecha del panel frontal o del diagrama de bloque. LabVIEW convierte el
grfico a un icono de 32 32 pxeles.
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
59
Captulo II
Fundamentos de LabVIEW
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 click 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.
60
Captulo II
Fundamentos de LabVIEW
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 click 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.
Asegurase que salv el VI despus de haber hecho las asignaciones de las terminales.
61
Captulo II
Fundamentos de LabVIEW
62
Captulo II
Fundamentos de LabVIEW
Seleccionar
63
Captulo III
Estructuras de Programacin
CAPTULO III
ESTRUCTURAS DE PROGRAMACIN
3. ESTRUCTURAS DE PROGRAMACION.
click
64
Captulo III
Estructuras de Programacin
65
Captulo III
Estructuras de Programacin
NOTA IMPORTANTE: Nunca conecte el control del condicional del ciclo de manera
externa pues el programa se quedara ciclado
click
66
Captulo III
Estructuras de Programacin
Una vez que se ha seleccionado esta estructura el cursor del ratn se convierte en un
puntero especial que se utiliza para encerrar la seccin del cdigo que se desea repetir.
Dando un primer click al botn del ratn se define la esquina superior-izquierda de lo que ser
el rea del ciclo, dando un segundo click al botn del ratn se define lo que ser la esquina
inferior izquierda, de esta manera se coloca la frontera del ciclo While alrededor del cdigo
seleccionado. Tambin es posible agregar nodos adicionales arrastrndolos dentro del ciclo
While si es necesario.
Un ciclo For, como el mostrado en la figura 3.4, ejecuta el cdigo contenido dentro de
l una cierta cantidad de veces determinada por el valor numrico conectado en la terminal del
control de iteraciones N.
Considere para los ciclos For el mismo comportamiento de generacin de tneles para
la conexin de valores externos que el definido para los ciclos While.
67
Captulo III
Estructuras de Programacin
Control de Iteraciones
Contador de Iteraciones
click
Una vez que se ha seleccionado esta estructura el cursor del ratn se convierte en un
puntero especial que se utiliza para encerrar la seccin del cdigo que se incluir dentro del
68
Captulo III
Estructuras de Programacin
ciclo. Dando un primer click al botn del ratn se define la esquina superior-izquierda de lo
que ser el rea del ciclo, dando un segundo click al botn del ratn se define lo que ser la
esquina inferior izquierda. Tambin es posible agregar nodos adicionales arrastrndolos dentro
del ciclo si es necesario.
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 3.6.
69
Captulo III
Estructuras de Programacin
Por omisin (default) los registros de corrimiento permiten almacenar solo el valor la
iteracin anterior, cuando necesitamos aumentar esta capacidad de almacenamiento para ms
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 3.7. Se pueden adicionar tantos
elementos de memoria como sean necesarios
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.
70
Captulo III
Estructuras de Programacin
a)
b)
c)
d)
Fig. 3.8. 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 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.
71
Captulo III
Estructuras de Programacin
click
72
Captulo III
Estructuras de Programacin
3.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. Solo se puede
ver un cuadro de caso a la vez, as que para cambiar de un cuadro de caso a 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 generar un error de sintaxis.
Dependiendo del tipo de variable de entrada las estructuras Case pueden ser:
booleano, string o numrico.
a)
b)
c)
73
Captulo III
Estructuras de Programacin
Coloque estructuras Case en su diagrama seleccionando Case Structure de la subpaleta Structures en el diagrama de bloque como se muestra en la figura 3.12
click
Para una entrada Booleana la estructura Case se comporta de manera similar a los
enunciados if-then-else (si-entonces-de otro modo) comunes en otros lenguajes de
programacin basados en texto. 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)
74
Captulo III
Estructuras de Programacin
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 y la estructura 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 ms cuadros de caso haga click derecho
tocando el cuadro de la estructura Case y seleccione Add Case After del men emergente.
Es posible agregar tantos cuadros de caso diferentes como sea necesario
75
Captulo III
Estructuras de Programacin
Por otro lado, en un lenguaje basado en flujo de datos como LabVIEW, un nodo se
ejecuta cuando los datos estn disponibles en todas sus terminales de entrada por lo cual
algunas veces es difcil determinar el orden exacto de ejecucin de las funciones.
a)
b)
76
Captulo III
Estructuras de Programacin
click
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 3.15.
77
Captulo III
Estructuras de Programacin
78
Captulo III
Estructuras de Programacin
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 los cuadros de secuencia de manera
que se puede visualizar simultneamente el cdigo contenido en toda la estructura.
79
Captulo III
Estructuras de Programacin
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 3.17.
80
Captulo III
Estructuras de Programacin
a)
b)
Coloque nodos de frmula en su diagrama seleccionando Formula Node de la subpaleta Structures en el diagrama de bloque como se muestra en la figura 3.19.
click
81
Captulo III
Estructuras de Programacin
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 3.20
Hay que nombrar las variables de la misma manera en que sern usadas dentro del
nodo de formula (los nombres son sensibles a las maysculas).
Todas las declaraciones independientes entre s deben terminar siempre 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
82
Captulo III
Estructuras de Programacin
En los nodos de frmula es posible utilizar funciones estndar 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 (especficamente ANSI C).
83
Captulo IV
CAPTULO IV
HERRAMIENTAS Y FUNCIONES DE PROGRAMACION
4.1 ARREGLOS
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.
84
Captulo IV
Arreglo
elemento
ndice
elemento
elemento
elemento
elemento
ndices
elemento
elemento
elemento
elemento
elemento
elemento
elemento
elemento
elemento
elemento
elemento
elemento
elemento
elemento
elemento
elemento
elemento
elemento
elemento
elemento
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
elemento
elemento
elemento
elemento
Arreglo
.
.
.
elemento
85
Captulo IV
click
click
Si se intenta arrastrar un control o indicador invlido, tal como una grfica XY, no ser
posible colocarlo dentro de la preforma de arreglo.
86
Captulo IV
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.
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 4.5.
87
Captulo IV
88
Captulo IV
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 4.6 muestra un ejemplo de un ciclo For con dos tneles de salida, en el
primero (parte superior) el auto- indexamiento est 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.
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
est habilitado, mientras que en los ciclos While por omisin el auto-indexamiento est
deshabilitado.
89
Captulo IV
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.
90
Captulo IV
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 4.8 genera un arreglo bidimensional de 3 renglones y seis
columnas de nmeros aleatorios
De
igual
manera,
anidando
ms
ciclos
For,
se
pueden
crear
arreglos
multidimensionales.
91
Captulo IV
click
click
92
Captulo IV
a)
b)
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.
93
Captulo IV
La funcin Build Array (construir de arreglo) puede realizar dos funciones distintas.
Concatena mltiples arreglos o aade elementos a un arreglo de n dimensiones. Se puede
94
Captulo IV
95
Captulo IV
4.2. CLSTERES
Los clsteres 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 clsteres pueden ser de diferentes tipos de datos. Sin embargo,
se debe respetar siempre que todos los elementos de un clster deben ser ya sea Indicadores
o controles. No se puede tener controles e Indicadores juntos en el mismo clster.
96
Captulo IV
click
click
Esta opcin genera una preforma (shell) parecida a la preforma obtenida al crear
arreglos, solo que sin el control de ndice.
97
Captulo IV
a)
b)
98
Captulo IV
No se puede colocar terminales para los objetos del panel frontal en una constante de
clster en el diagrama de bloques, ni tampoco puede colocar constantes especiales como el
Tab o una cadena de caracteres vaca dentro de una preforma de clster.
Dentro del clster, 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 clsteres, estos deben tener la misma cantidad de elementos y el mismo
orden, de lo contrario LabVIEW no permitir la conexin.
99
Captulo IV
LabVIEW cuenta con funciones para crear, manipular o trabajar con clsteres. Estas
funciones estn situadas en la paleta Functions All Functions Clusters. Las principales
funciones para trabajar con clsteres incluyen:
100
Captulo IV
La funcin Bundle (agrupar) forma un cluster conteniendo los objetos dados en las
entradas de elementos
Actualiza valores de objetos localizados en grupos especficos (los objetos deben tener
su propia clasificacin).Se debe de tener un clster existente cableado a la terminal de en
medio de la funcin para poder utilizar Bundle by Name (agrupar por nombre).
La funcin Unbundle (desagrupar) se utiliza para acceder a todos los objetos del
clster. Esta funcin debe tener exactamente el mismo nmero de terminales como se tienen
elementos en el clster. Aadiendo o Removiendo elementos en el clster se rompen los
cables en el diagrama.
101
Captulo IV
Los clsteres 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
102
Captulo IV
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 4.24 muestra el indicador de un clster de error.
4.2.5.1. Estatus.
4.2.5.2. Cdigo.
103
Captulo IV
4.2.5.3. Fuente.
Los clsteres 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 la figura
4.25.
104
Captulo IV
4.3. GRFICAS
Las grficas 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 grficas para casi todas las
aplicaciones, pero los tres tipos de grficas ms utilizados son: Waveform Chart, Waveform
Graph y XY Graph.
Las grficas del tipo Waveform Chart (registrador de forma de onda) es un indicador
numrico especial que muestra en una grfica uno o ms trazos (plots) correspondientes a
variables numricas. La grfica Waveform Chart est localizada en la paleta Controls
Modern Graph, como se muestra en la figura 4.26.
click
click
105
Captulo IV
Cuando se utiliza este tipo de grfica para mostrar un solo trazo o variable,
simplemente se cablea la terminal de la grfica a la salida escalar que se desea graficar como
se muestra en la figura 4.27.
Fig. 4.27. Conexin de una grfica Waveform Chart en el diagrama de bloque para trazo simple.
Bajo estas condiciones la grfica utiliza la configuracin por default y va graficando uno
a uno los valores que va enviando la variable numrica conectada en esta.
106
Captulo IV
Por ejemplo, se pueden 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 las etiquetas asignadas por default a los ejes (Time y Amplitude).
Fig. 4.28. Ventana de configuracin para personalizar una grfica Waveform Chart.
107
Captulo IV
El modo por default es el strip chart, en el cual el rea grfica se va llenando punto a
punto y al completarse esta la grfica se va recorriendo (scroll) con un corrimiento sencillo por
cada punto que se grafica. En el modo scope chart el rea grfica se va llenando punto a
punto y al completarse esta la grfica se hace un corrimiento de una pantalla completa, dando
la apariencia de que se borra la grfica y vuelve a empezar. Finalmente en el modo sweep
chart aparece un cursor rojo sobre la grfica que va barriendo de izquierda a derecha toda el
rea, los valores de la grfica se actualizan al pasar el cursor.
Las grficas Waveform Chart tambin pueden mostrar trazos de mltiples seales,
para hacer esto se enva a la terminal de la grfica un cluster compuesto de valores escalares
donde cada valor es una trazo a graficar. La figura 4.29 muestra un ejemplo de un registrador
de forma de onda mltiple. De nuevo la grfica utiliza la configuracin por default y asigna
colores diferentes a cada una de las variables numricas conectadas en esta.
108
Captulo IV
Fig. 4.29. Conexin de una grfica Waveform Chart en el diagrama de bloque para trazo mltiple.
La figura 4.30 muestra un ejemplo de una grfica Waveform Chart configurada para
mostrar de manera apilada tres seales aleatorias con personalizaciones diferentes
109
Captulo IV
El uso de las grficas Waveform Chart resulta, como se ha visto hasta aqu, muy
sencillo y amigable, sin embargo, este tipo de grficas tiene algunas restricciones de uso.
Como primer consideracin, debemos tomar en cuenta que la actualizacin del rea
grfica en cada valor que se grafica da como resultado una muy baja velocidad de graficacin,
por lo cual este tipo de grficas no es recomendable en el caso de trabajar con seales
dinmicas o de altas frecuencias. Solo se recomienda su uso en aplicaciones para la
graficacin de seales lentas como puede ser el caso de variables industriales (temperatura,
nivel, flujo, presin, etc.).
Otra consideracin importante para el uso de esta grfica es que los valores
correspondientes al eje X representan el nmero consecutivo del valor graficado (muestra) y
se encuentran uniformemente distribuidos.
Cuando se requiere graficar seales dinmicas (que contienen altas frecuencias) el uso
de los registradores de forma de onda (Waveform Chart) resulta inadecuado debido a su baja
velocidad de graficacin.
110
Captulo IV
Sin embargo, LabVIEW cuenta con otro tipo de grfica ms adecuada para este tipo de
seales: la grfica de forma de onda (Waveform Graph).
A diferencia de la Waveform Chart que grafica los datos uno a uno conforme son
enviados a la grfica, la Waveform Graph recibe los datos en forma de un arreglo numrico,
mostrando en la grfica en un solo paso el trazo completo de la forma de onda recolectada.
Este tipo de 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.
click
click
111
Captulo IV
Por default las grficas de forma de onda aceptan un solo arreglo de valores e
interpreta los datos como puntos en el grfico que incrementa el ndice x por uno comenzando
en x = 0. La figura 4.32 muestra el ejemplo de una grfica de 100 nmeros aleatorios entre 0 y
1 utilizando una Waveform Graph. Ntese que los valores del arreglo son interpretados como
valores para la coordenada y (amplitud) mientras que los valores correspondientes a la
coordenada x (tiempo) son asignados automticamente con x0=0 y x=1.
Fig. 4.32. Uso de una grfica Waveform Graph para trazo sencillo con x0=0 y x=1.
112
Captulo IV
Fig. 4.33. Uso de una grfica Waveform Graph para trazo sencillo con x0=10 y x=5.
Los grficos de forma de onda tambin aceptan trazos mltiples, esto se hace a travs
de un arreglo bidimensional de valores, en donde cada rengln del arreglo representa una
forma de onda independiente a graficar. Por default, al igual que en trazo sencillo, la grfica
interpreta los datos de cada arreglo como los valores y en la grfica e incrementa el ndice x
por uno, comenzando en x = 0.
113
Captulo IV
Fig. 4.34. Uso de una grfica Waveform Graph para trazo mltiple con x0=0 y x=1.
Fig. 4.35. Uso de una grfica Waveform Graph para trazo mltiple con condiciones diferentes.
114
Captulo IV
Las grficas de forma de onda tambin se pueden personalizar de manera similar a los
registradores de forma de onda seleccionando Properties del men emergente al hacer click
derecho sobre esta, como se muestra en la figura 4.36,
Fig. 4.36. Ventana de configuracin para personalizar una grfica Waveform Graph.
Sin embargo, aunque las grficas de forma de onda nos proporcionan un poco de
flexibilidad sobre las representacin de los valores graficados en el eje X, al permitirnos definir
un valor inicial y un incremento, an presentan el inconveniente de que solo se pueden
115
Captulo IV
Este tipo de grficas exhiben cualquier set de puntos, ya sea que estos sean
muestreados uniformemente o no. La figura 4.37 muestra la ubicacin de la grfica x-y en la
paleta de controles del panel frontal.
click
click
116
Captulo IV
Para realizar el trazo simple de una sola seal o funcin se deben enviar a la grfica
las coordenadas (x,y) de todos los puntos a graficar, este envo de realiza a travs de un
cluster que contenga dos arreglos: un arreglo con todas las coordenadas x y un arreglo con
todas las coordenadas y.
Los elementos de los arreglos son tomados uno a uno para formar los puntos
correspondientes (x0,y0), (x1,y1), (x2,y2), etc.
La figura 4.38 muestra un ejemplo de graficacin de trazo simple utilizando una grfica
x-y en el cual se grafican los puntos: (1,1), (8,2), (5,9) y (1,3). Los arreglos X y Y
proporcionados desde el panel se empaquetan en un cluster para ser enviados a la grfica.
117
Captulo IV
Para realizar un trazo mltiple de seales o funciones en una grfica x-y cada seal
independiente se empaqueta en un cluster igual al correspondiente a un trazo simple y luego
se construye un arreglo con estos clusters, entonces la grfica x-y recibe un arreglo de clusters
donde cada cluster es un trazo diferente.
La figura 4.38 muestra un ejemplo de graficacin de trazo simple utilizando una grfica
x-y en el cual se grafican: plot 0=[(1,1), (8,2), (5,9) y (1,3)] y plot 1=[(2,2), (7,3), (7,8) y (0,4)].
118
Captulo IV
Las grficas de forma de onda tambin se pueden personalizar de manera similar a los
registradores de forma de onda seleccionando Properties del men emergente al hacer click
derecho sobre esta, como se muestra en la figura 4.40.
Fig. 4.40. Ventana de configuracin para personalizar una grfica Waveform Graph.
119
Captulo IV
Una cadena de caracteres (strings) es una secuencia de caracteres ASCII que pueden
ser texto imprimible o no imprimible. Las cadenas de caracteres 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 en forma de texto resultados al usuario.
Fig. 4.41. Ubicacin del Control String y del Indicador String en el panel frontal.
120
Captulo IV
Los indicadores y controles string pueden tener barras de movimiento (Scroll Bars)
Estos se activan haciendo click con el botn derecho del mouse y seleccionando Visible
Items Scrollbar. Como se muestra en la figura 4.42.
121
Captulo IV
Tanto los controles como los indicadores string tiene la capacidad de desplegar el texto
contenido en ellos de tres maneras diferentes: normal, cdigos diagonal, password y
hexadecimal.
122
Captulo IV
LabVIEW cuenta con muchas funciones para manejo de texto, algunas de las
principales son:
Esta funcin cuenta el nmero de caracteres que contiene una cadena, es importante
hacer notar que el conteo incluye todos los carates, tanto los imprimibles como los caracteres
de control.
123
Captulo IV
Adems de las normales constantes string en las que se puede establecer el texto
necesario, LabVIEW cuenta tambin con una gran cantidad de constantes string que
corresponden a caracteres de control tales como: retorno de carro, fin de lnea, tabulador, etc.
4.5. ARCHIVOS
124
Captulo IV
click
Para el manejo de archivos de texto, LabVIEW cuenta con diversas funciones entre las
que destacan Escribir en Archivo de Texto (Write to Text File) y Leer de Archivo de Texto
(Read from Text File).
125
Captulo IV
Esta funcin escribe una cadena de caracteres o un arreglo de caracteres como lneas
en un archivo. Si se alambre una trayectoria de archivo valida a la entrada file (use dialog), la
funcin abre o crea e archivo antes de escribir en l y reemplaza cualquier contenido previo
del archivo. Si se alambre una referencia de archivo (file refnum) a la entrada file (use
dialog), la escritura comienza en la posicin de archivo actual. Para agregar contenido a un
archivo existente (append to file) se debe poner la posicin de archivo al final de este usando
la funcin Set File Position.
126
Captulo IV
Esta funcin convierte un arreglo numrico 2D o 1D del tipo entero o flotante a una
cadena de texto y escribe esta cadena a un nuevo archivo o agrega la cadena a un archivo
existente. El tipo de datos que se cablea a la entrada de datos 2D Data o 1D Data determina
la instancia polimrfica a usar. Tambin se puede obtener la transpuesta de la matriz de
datos. El VI abre o crea el archivo antes de grabar en l y se cierra despus. Puede utilizar
esta VI para crear un archivo de texto legible por la mayora de las aplicaciones de hoja de
clculo.
127
Captulo IV
128
Captulo IV
Existen dos maneras de crear una variable local. La ms sencilla consiste en crearla
de manera automtica a travs del men emergente (popup) del control o indicador se quiere
manejar a travs de la variable local. Para ello se debe seleccionar en el men de popup las
opciones Create/Local Variable, como se muestra en la figura 4.67. Esto genera una
terminal de variable local asociada al control o indicador. Esta terminal es del mismo tipo de
variable que tenga definido el elemento que la gener y est identificada con el mismo
nombre. Para un mismo elemento (control o indicador) se pueden crear tantas terminales de
variable local como sean necesarias.
129
Captulo IV
La otra manera de crear una variable local es un poco ms larga y consiste de dos
pasos: primero se crea una terminal genrica de variable local y luego se le asigna el
elemento al que va a estar asociada.
click
Luego, para asociar esta terminal genrica con alguno de los controles o indicadores
del panel se accesa el men emergente y se selecciona el nombre del elemento de una lista
de todos los elementos del panel a travs de la opcin Select Item como se muestra en la
figura 4.69.
130
Captulo IV
Fig. 4.69. Asociacin de la terminal genrica de variable local con el elemento deseado.
El escribir en una variable local tiene el mismo resultado que pasar los datos
directamente a la terminal del control o indicador asociado, con la ventaja de que se puede
escribir o leer el elemento sin importar que se trate de un control o un indicador.
Por default, las terminales de variables locales estn habilitadas para escribir en ellas
(asignar valor). Sin embargo, si lo que se quiere es leer el valor actual del elemento asociado,
entonces se debe cambiar la terminal a modo de lectura seleccionando Change to Read del
men emergente de la terminal como se muestra en la figura 4.70.
131
Captulo IV
Las terminales de variable local permiten leer y/o escribir las veces que sea necesario
cualquier control o indicador del VI en cualquier momento y lugar dentro del programa lo cual
le da a LabVIEW una gran capacidad de programacin. Sin embargo, debido al hecho de que
su uso dificulta la visualizacin del flujo de datos en el programa, es recomendable no abusar
de su uso.
En realidad las variables globales son una especie de VI que no tiene diagrama a
bloques solamente tiene un panel frontal en el cual se definen los controles e indicadores que
se utilizarn para transferir datos entre los Vis. En una misma variable global se pueden
definir tantos controles e indicadores como sea necesario
132
Captulo IV
Para poder utilizar esta terminal en primer lugar es necesario abrir su panel para
colocar en el los controles e indicadores que se utilizarn para la transferencia de datos esto
se hace seleccionando Open Front Panel del men emergente como se muestra en la figura
4.72.
click
133
Captulo IV
Finalmente se asocia la terminal con uno de los elementos del panel accesando el
men emergente y seleccionando el nombre del elemento de una lista de todos los elementos
del panel a travs de la opcin Select Item como se muestra en la figura 4.74.
134
Captulo IV
Fig. 4.74. Asociacin de la terminal genrica de variable global con el elemento deseado.
Al igual que en caso de las variables locales, por default las terminales de variables
globales estn habilitadas para escribir en ellas (asignar valor). Sin embargo, si lo que se
quiere es leer el valor actual del elemento asociado, entonces se debe cambiar la terminal a
modo de lectura seleccionando Change to Read del men emergente de la terminal como se
muestra en la figura 4.75.
135
Captulo IV
Los nodos de propiedad son una herramienta que nos permite accesar a travs de
cdigo a muchas de las caractersticas configurables que se encuentran en los mens
emergentes de los objetos, dando a la programacin en LabVIEW una excelente flexibilidad.
Los nodos de propiedad se crean de manera automtica a travs del men emergente
(popup) del control o indicador del cual se le llama. Para ello se debe seleccionar la
propiedad especfica que se quiere accesar en el men de popup a travs de las opciones
Create/Property Node, como se muestra en la figura 4.76.
136
Captulo IV
Esto genera una terminal de nodo de propiedad asociada a la propiedad especfica del
control o indicador. Esta terminal est identificada con el mismo nombre del elemento, el
nombre de la propiedad aparece en el color correspondiente al tipo de variable que
corresponde a dicha propiedad. Para un mismo elemento (control o indicador) se pueden
crear tantas terminales de nodo de propiedad como sean necesarias. La lista de propiedades
depende del tipo especfico de control o indicador.
En caso de los nodos de propiedad, por default las terminales creadas estn
habilitadas para leer de ellas el valor actual de dicha propiedad. Sin embargo, si lo que se
quiere es escribir e ellas y con ello cambiar el valor de la propiedad, entonces se debe
cambiar la terminal a modo de escritura seleccionando Change to Write del men emergente
de la terminal como se muestra en la figura 4.77.
137
Captulo IV
Por default la propiedad adicionada es la misma que la propiedad original que tena el
nodo, para cambiarla se selecciona la nueva propiedad de la opcin Properties del men
emergente como se muestra en la figura 4.79
138
Captulo IV
139
Captulo V
Arquitecturas de Programacin
UNIDAD V.
ARQUITECTURAS DE PROGRAMACION.
5. ARQUITECTURAS DE PROGRAMACIN
140
Captulo V
Arquitecturas de Programacin
Inicio (startup)
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. Aqu es donde se
141
Captulo V
Arquitecturas de Programacin
Apagado (shutdown)
142
Captulo V
Arquitecturas de Programacin
Usted puede hacer sus diagramas ms 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.
Una desventaja de esta tcnica es que con 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 ms complejas de la Arquitectura del VI de la Mquina de Estado que
143
Captulo V
Arquitecturas de Programacin
contiene cdigo extra para construir un queue de eventos (estados) de manera que usted no
pierda ningn evento.
144
Captulo VI
CAPTULO VI:
SISTEMAS DE ADQUISICIN 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.
* Computadora Personal.
* Traductores y actuadores.
* Acondicionamiento de Seales.
* Hardware de Adquisicin.
* Hardware de Anlisis.
* Software.
145
Captulo VI
Acondicionamiento
de Seales
Tarjeta de Adquisicin
de Datos
Computadora
Transductores
Software
6.2.1. Transductores.
Los transductores son dispositivos que sensan un fenmeno fsico, qumico o biolgico
y proporcionan una seal elctrica que contenga la informacin de dicho fenmeno. Por
ejemplo, termopares, RTDs, termistores, y 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 al parmetro fsico
que esta monitoreando. Para mayor informacin sobre transductores dirjase al anexo A.
146
Captulo VI
6.2.2. Actuadores.
Los actuadores, al contrario de los transductores, son dispositivos que transforman una
seal elctrica de control en una accin fsica como abrir o cerrar una vlvula o encender o
apagar un motor. Existen muchos tipos de actuadores, entre ellos los elctricos, hidrulicos y
neumticos para controlar motores, fluidos y flujos de aire respectivamente. Para mayor
informacin sobre actuadores dirjase al anexo B
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.
6.3.1. Amplificacin.
147
Captulo VI
6.3.2. Aislamiento.
6.3.3. Filtrado.
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
148
Captulo VI
6.3.4. Excitacin.
6.3.5. Linealizacin.
medido.
Esto
hace
necesario
contar
con
mdulos
linealizadores
149
de
Captulo VI
Bus
Computacional
Entradas Analgicas
Salidas Analgicas
Entradas / Saldas Digitales
Entradas / Salidas
Temporizadas
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 algunos conceptos importantes sobre las seales analgicas que se analizarn con
ellas.
150
Captulo VI
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 6.3 muestra esta clasificacin.
Nivel
D.C.
Seales Analgicas
Dominio del
Tiempo
Forma
t
Dominio de
la Frecuencia
Contenido de
Frecuencias
f
Fig. 6.3 Tipos de Seales Analgicas.
151
Captulo VI
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 6.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.
Vs
Tierra
Fig.6.4 Fuente de Seal Aterrizada.
Las fuentes de seal flotante contienen una seal cuyo voltaje no est 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 6.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.
Vs
Tierra
Fig. 6.5 Fuente de Seal Flotante.
152
Captulo VI
Es importante conocer el nmero de canales de entrada con que cuenta la tarjeta DAQ,
este se deber especificar tanto para modo diferencial como para modo desbalanceado en
153
Captulo VI
tarjetas que tengan ambos tipos de entrada. Las entradas desbalanceadas pueden ser
referenciadas o no referenciadas.
Se deber usar los sistemas de medicin diferencial cuando las seales de entrada
cumplan con los siguientes criterios:
154
Captulo VI
Amplificador
de
Instrumentacin
AMUX
CH0+
CH1+
CH2+
.
.
.
CH7+
+
AMUX
+
Vm
-
CH0CH1CH2.
.
.
CH7AIGND
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.
Amplificador
de
Instrumentacin
Voltaje de la Seal
Voltaje de Modo
Comn, Potencial de
Tierra, Ruido, etc.
+
Vs
-
+
Vcm
-
+
Vm
-
155
Captulo VI
Amplificador
de
Instrumentacin
+
CH15+
AMUX
+
Vm
-
AIGND
156
Captulo VI
es la referencia comn para tomar las mediciones y la terminal AIGND es la tierra del sistema,
ntese que todas las seales de entrada estn referenciadas a AISENSE.
CH0+
CH1+
CH2+
.
.
Amplificador
de
Instrumentacin
+
CH15+
AMUX
+
Vm
-
AISENS
AIGND
Los sistemas de medicin desbalanceados se pueden utilizar cuando todas las seales
de entrada cumplen los siguientes criterios:
157
Captulo VI
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 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.
158
Captulo VI
a)
b)
c)
Figura 6.10 a) Representacin de una Seal Senoidal b) con resolucin de 3 bits c) con resolucin de 16 bits
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 6.11 muestra este efecto
159
Captulo VI
a)
b)
c)
Figura 6.11. Efecto del rango de voltaje del dispositivo en la precisin del ADC
160
Captulo VI
b)
a)
c)
Figura 6.12. Efecto del rango de voltaje de la seal en la precisin del ADC
a) Seal original, b) con lmite establecido de 0 a 5 v., c) con lmite establecido de 0 a10 v.
La relacin entre el rango de voltaje del dispositivo y el rango de voltaje de la seal est
dada por la ganancia del amplificador de instrumentacin utilizado en la tarjeta DAQ,
normalmente las tarjetas cuentas cuentan con ganancias programables para este fin.
Para un dispositivo pero con rango de entrada de -10 a 10 volts el ancho de cdigo es:
161
Captulo VI
Por otro lado, si utilizamos el dispositivo original pero con una ganancia de 200, el
ancho de cdigo es:
10 v. / (200 * 212) = 12.207 v.
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.
162
Captulo VI
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.
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.
163
Captulo VI
Ruido.
1.00E 0
1.00E-1
1.00E-1
1.00E-2
1.00E-2
1.00E-3
1.00E-3
1.00E-4
1.00E-4
1.00E-5
1.00E-5
1.00E-6
1.00E-6
1.00E-7
1.00E-7
1.00E-8
1.00E-8
1.00E-9
1.00E-9
10 20 30 40 50
a)
10 20 30 40 50
b)
Figura.6.13 Ruido
164
Captulo VI
La Figura 6.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 6.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 6.13b corresponde a
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.
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.
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
165
Captulo VI
frecuencia, ya que se necesita un tiempo pequeo para cambiar con precisin la salida a un
nuevo nivel de voltaje.
Resolucin.
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
166
Captulo VI
6.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 puerto se
puede modificar o conocer simultneamente el estado de todas las lneas del puerto.
Hardware
Digital
Puerto
de Salida
Lneas
de Salida
Tarjeta DAQ
Hardware
Digital
Puerto
de Entrada
Lneas
de Entrada
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
167
Captulo VI
Existen a su vez dos tipos de entradas / salidas digitales protocolizadas: noalmacenadas 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
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.
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.
168
Captulo VI
+5 V.
Transicin de la Seal
0 V.
Aun cuando los contadores cuentan las transiciones de la seal TTL, esta capacidad de
conteo se puede utilizar de muchas maneras:
Compuerta
Salida
Registro de
Conteo
Fuente
169
Captulo VI
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.
170
Captulo VI
Aplicacin Final
Lenguaje de Programacin
LabVIEW,
LabWindows/CVI
Measurement Studio
Software de
Configuracin
Manejadores
de Hardware
Measurement &
Automation Explorer
NI-DAQ Tradicional
NI-DAQmx
Interno
PCI, PCMCIA, etc.
Hardware de Adquisicin de
Datos
Externo
USB, RS232, etc.
171
Captulo VI
172
Captulo VI
Dependiendo del tipo y del modelo del hardware de adquisicin este pude soportar NIDAQ tradicional, NI-DAQmx o ambos. Los controladores NI-DAQ generalmente son
proporcionados en forma CD con junto con el hardware de adquisicin. Una vez instalados de
manera correcta
click
NI-DAQmx
click
NI-DAQ Tradicional
173
Captulo VI
Fig. 6.19. Ventana principal del software Measurement & Automation Explorer.
174
Captulo VI
click
175
Captulo VI
El botn Test Panels abre los paneles de prueba correspondientes para cada tipo de
entrada o salida del dispositivo DAQ. Es en estos paneles donde se configura el tipo de
entrada analgica (diferencial, referenciada, etc.), los rangos de voltaje del dispositivo y todas
las dems caractersticas propias a cada entrada o salida. Adems, desde estos mismos
paneles se puede efectuar la prueba funcional de todos los recursos de adquisicin del
dispositivo como se muestra en la figura 6.22.
a)
b)
c)
d)
176
Captulo VI
click
177
Captulo VI
Al colocar el subVI por primera vez en el diagrama de bloque se abre una ventana
inicial del DAQ Assistant, como se muestra en la figura 6.24, la cual permite seleccionar el tipo
general de recurso que se desea utilizar: entradas analgicas, salidas analgicas, entradas de
contadores, salidas de contadores o entradas salidas digitales.
Una vez seleccionado el recurso general se pasa a una ventana de seleccin del tipo
especfico de recurso (voltaje, temperatura, corriente, resistencia, etc.), la figura 6.25 muestra
el ejemplo de seleccin de una entrada analgica de voltaje.
178
Captulo VI
Luego se asigna el canal fsico que se emplear para la adquisicin, como se muestra
en la figura 6.26
179
Captulo VI
Finalmente se configuran los parmetros de adquisicin del canal tales como rango y
tipo de entrada, escalamiento y modo de adquisicin. La figura 6.27 muestra un ejemplo de
configuracin para un canal de entrada de voltaje analgico en modo diferencial para un rango
de entradas de 20 volts y adquisicin de 1000 muestras a una frecuencia de muestreo
de1000 Hz utilizando la seal de reloj interno de la tarjeta de adquisicin.
Una vez configurado, el subVI exprs est listo para ser alambrado en el diagrama a
bloques, tal como se muestra en la figura 6.28. En caso de ser necesario es posible cambiar
los parmetros de configuracin haciendo doble click sobre el subVI.
180
Captulo VI
181