Está en la página 1de 60

Instrumentación Virtual utilizando LabVIEW

I.- INSTRUMENTACIÓN VIRTUAL.

1.1.- Instrumento de Medición.

En física e ingeniería, medir es la actividad de comparar magnitudes físicas de objetos


y sucesos del mundo real. Como unidades se utilizan objetos y sucesos previamente
establecidos como estándares, y la medición da como resultado un número que es la relación
entre el objeto de estudio y la unidad de referencia. Los instrumentos de medición son el
medio por el que se hace esta conversión.

1.2.- Instrumento Tradicional.

Las características más relevantes de un instrumento tradicional son: comportamiento


predefinido por el fabricante, su funcionalidad está limitada por el hardware, apariencia
estática, poca flexibilidad, arquitectura cerrada, lenta incorporación de nuevas tecnologías,
alto costo de mantenimiento y el hardware es la clave.

En la figura 1 se muestra la arquitectura general de un instrumento tradicional. Este


cuenta con una fuente de alimentación, un subsistema de medición, un temporizador y control
y una interface de usuario fija, al igual que su procesador.

Figura 1.- Instrumento tradicional.

1.3.- Instrumento Virtual.

Las características más relevantes de un instrumento virtual son: utiliza el PC como


elemento de medición, comportamiento configurable por el usuario, la apariencia la define el
usuario (funcionalidad y flexibilidad), fácil de integrarlo a redes de datos, arquitectura abierta,
fácil y rápida incorporación de nuevas tecnologías, bajo costo de mantenimiento y el software
es la clave.

En la figura 2 se muestra la arquitectura general de un instrumento virtual. Este cuenta


con los mismos bloques que el tradicional solo que son reconfigurables.

Un sistema definido por software, donde el software determina la funcionalidad del


hardware genérico de medición basado en los requerimientos del usuario se le denomina
instrumento virtual.

1
Instrumentación Virtual utilizando LabVIEW

Figura 2.- Instrumento virtual.

En la figura 3 se muestra el esquema de funcionamiento de un instrumento virtual. El


cual consta de tres etapas: adquisición, análisis y visualización.

Figura 3.- Esquema de funcionamiento de un instrumento virtual.

La etapa de adquisición se puede realizar con diferentes dispositivos y tipos de


comunicación, estos pueden ser: tarjetas de adquisición de datos, puerto serial, puerto
paralelo, cámaras y PLC.

Una de las tarjetas comerciales de National Instruments se muestra en la figura 4. Esta


tarjeta cuenta con entradas y salidas analógicas y digitales.

Figura 4.- DAQ de National Instruments USB 6009.

En la etapa de análisis se pueden realizar diferentes procesamientos de señales como:


transformadas matemáticas, análisis estadístico, cálculo de tendencias, algoritmos de control
clásico, algoritmos de control inteligente y cálculo de índices de desempeño.

2
Instrumentación Virtual utilizando LabVIEW

En la última etapa de visualización se muestran en el monitor de la PC los datos


adquiridos y procesados como: gráficas en el dominio del tiempo, gráficas en el dominio de la
frecuencia, generación de alarmas, registro de datos históricos y envío de datos en redes.

Existen diversas aplicaciones de instrumentos virtuales, una de ellas se muestra en la


figura 5. En esta aplicación se tiene un instrumento virtual manipulando más de un dispositivo.

Figura 5.- Una aplicación con diferentes dispositivos.

Otra aplicación es tener un solo dispositivo manipulado por más de un instrumento


virtual como se muestra en la figura 6.

Figura 6.- Muchas aplicaciones un dispositivo.

Son muchos los programas que se utilizan para el diseño de instrumentos virtuales. Los
programas más utilizados son: LabView (la interface con el usuario se muestra en la figura 7),
Matlab (la interface con el usuario se ilustra en la figura 8) y Scada (la interface con el usuario
se puede observar en la figura 9).

3
Instrumentación Virtual utilizando LabVIEW

Figura 7. - LabVIEW (Laboratory Virtual Engineering Workbench).

Figura 8.- MATLAB (MAtriz LABoratory).

Figura 9.- Plataformas SCADA (Supervisory Control And Data Adquisition).

II.- INSTRUMENTACIÓN VIRTUAL CON LABVIEW.


Un software empleado para diseñar instrumentos virtuales es el LabVIEW y su icono se
ilustra en la figura 10.

Figura 10.- Icono de LabVIEW.

4
Instrumentación Virtual utilizando LabVIEW

2.1.- Introducción al LabVIEW.

LabVIEW (Laboratory Virtual Instrument Engineering Workbench) es un poderoso y


flexible software de análisis e instrumentación creado por National Instruments. Está basado
en el lenguaje de programación gráfico G.

LabVIEW está totalmente integrado para comunicaciones con hardware tal como GPIB,
VXI, PXI, RS-232, RS-485 y con tarjetas de adquisición de datos.

El LabVIEW ha sido utilizado por Ingenieros e investigadores en el desarrollo,


producción y prueba de equipo. También ha sido usado por industrias de: servicios automotriz,
semiconductores, aeroespacial, electrónica, química, telecomunicaciones y farmacéutica.

2.2.- Programas de LabVIEW.

Los programas de LabVIEW son conocidos como instrumentos virtuales (VIs). El


LabVIEW es distinto de los lenguajes de texto debido a que está basado en el lenguaje de
programación gráfico G. LabVIEW utiliza una terminología familiar a científicos e ingenieros y
los íconos gráficos usados para construir los programas en G son fácilmente identificados por
inspección visual.

2.3.- Estructura del LabVIEW.

LabVIEW proporciona una extensa librería de instrumentos virtuales y funciones para


ayudar al programador en sus tareas. LabVIEW también cuenta con librerías de aplicaciones
específicas para adquisición de datos, GPIB y control serial de instrumentos, análisis de datos
y entrada/salida de archivos.

Cuenta con herramientas para depurar programas, con las cuales es posible insertar
puntos de ruptura, ejecutar el programa paso a paso y también es posible animar la ejecución
para observar el flujo de datos.

El sistema LabVIEW consta de los archivos ejecutables de aplicación y de algunos


archivos y carpetas asociados, algunos de éstos son: LabVIEW ejecutable, directorio VI.lib,
directorio Examples y el directorio User.lib.

Las pantallas de arranque de LabVIEW 8.5 y LabVIEW 9 se ilustran en las figuras 11A
y 11B respectivamente. En esta ventana se puede abrir un VI nuevo, ver ejemplos y abrir
algunos VIs recientes. La ventana de arranque cambia dependiendo de la versión de
LabVIEW pero contiene las mismas funciones.

5
Instrumentación Virtual utilizando LabVIEW

A B
Figura 11.- Pantalla de arranque de LabVIEW. A) LabVIEW 8.5. B) LabVIEW 9.

2.4.- Estructura de un VI.

Cada VI contiene tres partes principales: el panel frontal, diagrama de bloque y el


icono/conector.

El panel frontal es utilizado para interaccionar con el usuario cuando el programa está
corriendo. Usuarios pueden controlar el programa, cambiar entradas, y ver datos actualizados
en tiempo real. Los controles son usados como entradas y los indicadores son usados como
salidas. Cada control o indicador del panel frontal tiene una terminal correspondiente en el
diagrama de bloques. Cuando un VI se ejecuta, los valores de los controles fluyen a través del
diagrama de bloques, en donde estos son usados en las funciones del diagrama, y los
resultados son pasados a otras funciones o indicadores.

2.4.1.- Panel frontal.

En la figura 12 se muestra el panel frontal, este es la interface del usuario con el VI.
Usted construye el panel frontal con controles e indicadores, que son las entradas y salidas
que interactúan con las terminales del VI, respectivamente. Los controles son botones,
botones de empuje, marcadores y otros componentes de entradas. Los indicadores son las
graficas, luces y otros dispositivos. Los controles simulan instrumentos de entradas de
equipos y suministra datos al diagrama de bloques del VI. Los indicadores simulan salidas de
instrumentos y suministra datos que el diagrama de bloques adquiere o genera.

Figura 12.- Panel frontal.

6
Instrumentación Virtual utilizando LabVIEW

2.4.2.- Diagrama de bloque.

El diagrama de bloque contiene el código 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.

En el diagrama de bloque que se ilustra en la figura 13, el subVI Temp llama a la


subrutina la cual obtiene una temperatura desde una tarjeta de adquisición de datos (DAQ).
Esta temperatura es graficada junto con el valor average de la temperatura en la grafica de
forma de onda Temperature History. El switch de poder (Power) es un control booleano en el
panel frontal el cual va a detener la ejecución de la estructura mientras (While Loop). La
estructura mientras (While Loop) también contiene una función de tiempo para controlar que
tan frecuentemente la estructura se repite.

Figura 13.- Diagrama de bloque.

LabVIEW tiene un tipo de subVI llamado VIs Expreso (Express VIS) ilustrado en la
figura 14. Estos son VIs interactivos que tienen una configuración de caja de dialogo que
permite al usuario personalizar la funcionalidad del VI Expreso. LabVIEW entonces genera un
subVI basado en estos argumentos.

Figura 14.- VI Expreso.

La figura 15 muestra los VIs estándar. Estos son aquellos VIs que son usados adentro
de otro VI y las funciones son los bloques de construcción de todos los VIs. Las funciones no
tienen un panel frontal o un diagrama de bloque. La función de multiplicación se ilustra en la
figura 16.
7
Instrumentación Virtual utilizando LabVIEW
.

Figura 15.- VI Estándar.

Figura 16.- Función.

2.4.3.- Icono y conector.

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 representación grafica
de un VI. Puede contener texto, imágenes, o una combinación de ambos. Si usted utiliza un VI
como subVI, el icono identifica el subVI en el diagrama de bloque del VI. En la figura 17A
muestra el icono que tiene predefinido LabVIEW.

El conector muestra terminales disponibles para la transferencia de datos hacia y desde


el subVI. Hay varios patrones de conectores para elegir. En la figura 17B se muestran algunos
conectores posibles.

A B
Figura 17.- Icono (17A) y conector (17B).

2.5.- Barra de herramientas de Estado.

Los comandos para ejecutar un VI los contiene la barra de herramientas que se ilustran
en la figura 18.

A continuación se describe claramente el funcionamiento de cada comando de la barra


de herramientas de estado:

Ø El botón de ejecución (Run) se utiliza para ejecutar el VI. Mientras el VI se está


ejecutando, el botón de ejecución 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.

8
Instrumentación Virtual utilizando LabVIEW

Figura 18.- Barra de herramientas de estado.

Ø El botón de ejecución continua (Continuous Run) funciona para ejecutar el VI hasta


que el botón de cancelación de ejecución o de pausa sea presionado. También se
puede pulsar este botón nuevamente para deshabilitar la ejecución continua.

Ø Mientras el VI se está ejecutando, El botón de cancelación de ejecución (Abort


Execution) aparece. Presionando este botón se detiene el VI inmediatamente.

Ø El botón de pausa (Pause) sirve para detener momentáneamente la ejecución de un VI.


Cuando usted presiona el botón de Pausa, LabVIEW señala la posición donde usted
detuvo la ejecución en el diagrama de bloque. Pulsando el botón de Pausa nuevamente
el VI continué ejecutándose.

Ø El menú Configuración de Textos (Text Settings) es útil para cambiar el tipo de


fuente (letra) del VI, incluyendo el tamaño, estilo y color.

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

Ø El menú Distribución de Objetos (Distribute Objects) funciona para espaciar objetos


uniformemente, incluyendo espacios vacíos, compresiones, etc.

Ø El Redimensionamiento de Objetos (Resize Objects) se utiliza para cambiar el


ancho y alto de objetos del panel frontal.

2.6.- Menú Pop-Up.

Para acceder al menú pop-up posicione el cursor sobre el objeto deseado, en el panel
frontal o en el diagrama a bloques, y haga clic con el botón derecho del ratón.

En la figura 19A se muestra el menú para un control en el panel frontal y en la figura


19B se muestra el menú para una función de formula en el diagrama a bloques.

9
Instrumentación Virtual utilizando LabVIEW

A B
Figura 19.- Menú Pop-Up. A) Panel frontal. B) Diagrama a bloques.

2.7.- Menús pull-down.

Se localizan en la barra superior de la pantalla del LabVIEW, y son: File, Edit, Operate,
Tools, Browse, Window y Help. Este menú se muestra en la figura 20.

Figura 20.- Menú pull-down.

2.8.- Paleta de herramientas.

Una herramienta es un modo especial de operación del cursor del ratón. Las
herramientas se utilizan para realizar funciones específicas de edición. Se pueden crear,
modificar y depurar VIs usando esta paleta.

En la figura 21 se muestra la paleta de herramientas y en la figura 22 se describe cada


una de las herramientas de esta paleta.

Figura 21.- Paleta de herramientas.

Figura 22.- Descripción de la paleta de herramientas.

10
Instrumentación Virtual utilizando LabVIEW

Si la herramienta de selección automática está habilitada y se mueve el cursor sobre un


objeto en el panel frontal o en el diagrama de bloque, LabVIEW automáticamente selecciona
la herramienta correspondiente de la paleta de controles.

2.9.- Paletas de control.

Se encuentra en la ventana del panel frontal. Consiste en una serie de íconos de alto
nivel representando a subpaletas, las cuales contienen una gran variedad de objetos
disponibles para la creación del panel frontal de los VIs. Esta paleta se ilustra en la figura 23 y
se obtiene al dar click derecho dentro de la ventana principal del panel frontal. En la figura 24
se muestran los contenidos de las subpaletas.

Figura 23.- Paletas de control.

Controladores numéricos Indicadores numéricos

Controladores de texto Indicadores de texto

Indicadores booleanos

Controladores booleanos Indicadores gráficos


Figura 24.- Subpaletas del panel frontal.

11
Instrumentación Virtual utilizando LabVIEW

2.10.-Paleta de funciones.

Se encuentra en la ventana del diagrama de bloque. Esta paleta trabaja de un modo


similar a la paleta de controles. Consiste en íconos de alto nivel que representan subpaletas,
las cuales cuentan con una gran cantidad de objetos disponibles para la creación de
diagramas a bloques. Estas paletas se pueden observar en la figura 25. En la figura 26 se
muestran algunas de las subpaletas del diagrama a bloques.

A B
Figura 25.- Paletas de funciones. A) Acceso rápido. B) Funciones completas.

Entradas Análisis de señales

Estructuras

Operaciones aritméticas y de comparación

Programación Simulación y diseño de controladores


Figura 26.- Subpaletas del diagrama a bloques.

12
Instrumentación Virtual utilizando LabVIEW

Manipulación de señales Operaciones matemáticas


Continuación de la figura 26.

2.11.- Cargar y salvar Vis.

Se puede cargar en memoria un VI seleccionando la opción Open del menú File como
se ilustra en la figura 27. Es posible guardar un VI en un directorio regular o en una librería de
VIs seleccionando Save, Save as..., o Save a copy As... del menú File. Tambien es posible
guardar un VI con una versión anterior seleccionando Save for Previous Version.

Figura 27.- Cargar y guardar un VI.

2.12.- Opciones de ayuda.

Las dos opciones de ayuda comunes son: Help Window y Online Reference. Ambas
opciones de ayuda pueden ser accesadas en el menú pull-down Help como se muestra en la
figura 28.

Figura 28.- Opciones de ayuda.

13
Instrumentación Virtual utilizando LabVIEW

En la figura 29 se ilustran las dos opciones de ayuda, en la figura 29A solo con colocar
el cursor sobre la función aparece en la ventana su funcionamiento y en la figura 29B se
detalla el funcionamiento de cada función.

Contexto de ayuda Ayuda de LabVIEW


Figura 29.- Opciones de ayuda.

Ejercicio 1

Abra el instrumento Vibration Analysis.vi. Este instrumento se encuentra en Archivos


de programa \ National Instruments \ LabVIEW7.1(o la versión que se tenga) \ examples \
apps \ demos.llb.

a. Ejecute el VI con Run.


b. Varíe el ajuste Acquisition Rate.
c. Ajuste la velocidad en el Dial Set Velocity y verifique que la velocidad actual, mostrada
en el indicador Actual Velocity, alcance el valor de la velocidad deseada como se
muestra en la figura 30.
d. Detenga la ejecución del VI.
e. En el menú pull-down Window seleccione Show Diagram.
f. Haga clic en el botón Highligth Execution.
g. Ejecute el VI con Run.
h. Observe como fluyen los datos en el diagrama de bloques como se muestra en la figura
31.

Figura 30.- Panel frontal con VI ejecutándose.

14
Instrumentación Virtual utilizando LabVIEW

Figura 31.- Diagrama a bloques con VI ejecutándose.

2.13.- Creando un VI.

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 código creado
mediante el diagrama de bloque.

Cada terminal contiene información útil referente al objeto al cual corresponde en el


panel frontal. Por ejemplo, el color y los símbolos proporcionan el tipo de dato. Números de
punto flotante y de doble-precisión, 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 mayoría 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 lógicas 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).

Ejercicio 2

Todas las descripciones mencionadas en el texto anterior se pueden apreciar en las


figuras 32 a la 35.

Panel frontal Diagrama a bloques


Figuras 32.- Controladores e indicadores de texto.

15
Instrumentación Virtual utilizando LabVIEW

Panel frontal Diagrama a bloques


Figuras 33.- Controladores e indicadores con representación punto flotante.

Panel frontal Diagrama a bloques


Figuras 34.- Controladores e indicadores con representación booleana.

En el panel frontal que se muestra en la figura 35 se muestran los controles e


indicadores. Se toman los datos de A y B y pasa valores a una función de adición y a una
función de resta. Los resultados son mostrados en los indicadores apropiados.

En la figura 36 se muestra la estructura de comandos para realizar estas operaciones,


en donde se pueden apreciar los controles e indicadores y la forma de conectarse con las
funciones de suma y resta.

Figura 35.- Ventana de panel frontal.

Figura 36.- Ventana de diagrama de bloques.

16
Instrumentación Virtual utilizando LabVIEW

2.14.- Creando un VI en el diagrama de bloques.

Además de los terminales del panel frontal, el diagrama de bloques contiene funciones.
Cada función puede tener múltiples terminales de entradas y salidas. La conexión de estas
terminales es una parte muy importante de la programación en LabVIEW.

En seguida se presentan algunas recomendaciones para la conexión de cables:

La herramienta para conectar o de cableado es utilizada para conectarse a los nodos


de las funciones. Cuando se “apunte” con la herramienta de cableado, se debe apuntar con el
extremo del cable que cuelga del carrete. Aquí es donde el cable será colocado.

Mientras se mueve la herramienta de cableado sobre las funciones, la viñeta amarilla le


dirá el nombre de la terminal al que se está conectando como se muestra en la figura 37.

Figura 37.- Herramienta de cableado.

Para más ayuda con los terminales, haga clic derecho en la función y seleccione
Visible Items o Objetos Visibles>>Terminals o Terminales. Un dibujo de la función será
colocada atrás para revelar las terminales de la conexión como se ilustra en la figura 38. Note
los colores estos corresponden a los tipos de datos utilizados por los terminales del panel
frontal.

Figura 38.- Opciones de objetos.

Para ayuda adicional, seleccione Help >> Show Context Help, o presione CTRL+H.
Esto mostrara la ventana de ayuda en contexto. A medida que se mueva el ratón sobre la
función, esta ventana mostrara la función, terminales, y una breve descripción como se
observa en la figura 39. Utilice esto junto con otras herramientas para ayudarse mientras
conecta los cables.

Figura 39.- Ayuda.

17
Instrumentación Virtual utilizando LabVIEW

Si el cableado no se observa bien, haga clic derecho en el cable que se desea arreglar
y escoja la opción de Clean Up Wire o Limpieza del Cable para que automáticamente el
cable haga su ruta de nuevo como se observa en la figura 40.

Figura 40.- Limpiando el cableado.

2.15.- 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 están disponibles. Cuando un nodo completa
la ejecución, 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 programación basados en texto, siguen un modelo de control de flujo de la ejecución de un
programa. En flujo de control, el orden secuencial de los elementos del programa determina el
orden de ejecución de un programa.

Considere el diagrama de bloque de la figura 41. Este suma dos números y luego resta
un número aleatorio al resultado de la suma. En este caso, el diagrama de bloque se ejecuta
de izquierda a derecha, no porque los objetos están puestos en ese orden, sino porque una
de las entradas de la función de resta no es válida hasta que la función de suma o adición
haya terminado su ejecución y pasado los datos a la función de resta.

En una situación en donde un segmento del código 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 ejecución.

Figura 41.- Diagrama de una suma de dos números y resta de un numero aleatorio.

2.16.- 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. Utilice la ayuda de LabVIEW y a los
manuales para más información. En la figura 42 se describen los componentes de la ayuda
contextual.

18
Instrumentación Virtual utilizando LabVIEW

Figura 42.- Opciones de ayuda.

2.17.- Técnicas para Eliminar Errores.

Cuando su VI no es ejecutable, se despliega una flecha quebrada en el botón de correr


en la paleta de herramientas como se muestra en la figura 43. En esta misma figura se ilustran
las siguientes opciones para eliminar errores.

Encontrando los 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.

Resaltando la Ejecucion: Anima el diagrama y traza el flujo de datos, permitiéndole ver los
valores intermedios. Haga clic en el bombillo incandescente (light bulb) en la barra de
herramientas.

Probe: Utilizado para ver los valores en los arrays (arreglos) y clusters. Haga clic en los
cables con la herramienta Probe o haga clic derecho en el cable para ajustar los probes.

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.

Figura 43.- Herramientas para eliminar errores.

Ejercicio 3

Considere un panel frontal en el cual se tienen dos controles digitales de entrada para
los números A y B, así como dos indicadores digitales de salida para mostrar los resultados
A+B y A×B respectivamente, también se cuenta con un LED redondo que se encenderá
cuando los números de entrada A y B sean iguales. Este instrumento virtual se ilustra en la
figura 44.

19
Instrumentación Virtual utilizando LabVIEW

Panel frontal Diagrama a bloques


Figura 44.- Ejercicio 3.

Ejercicio 4

Implementar un instrumento virtual utilizando todas las operaciones, comparaciones y


funciones booleanas posibles con dos entradas. En la figura 45 se muestra el funcionamiento
de algunas de ellas. Al implementar este instrumento virtual comprobar todo lo teórico visto
anteriormente.

Panel frontal Diagrama de bloques

Panel frontal Diagrama de bloques

Panel frontal Diagrama de bloques


Figura 45.- Ejercicio 4.

20
Instrumentación Virtual utilizando LabVIEW

Ejercicio 5

Construya un instrumento virtual para convertir la temperatura en grados Centígrados a


grados Farenheit y viceversa.

°F=1.8°C+32

Ejercicio 6

Existe un método alternativo para crear y conectar indicadores y controles en un paso


en el diagrama de bloques, tal como se ilustra enseguida:

1. Abra un nuevo VI y pase al diagrama de bloques.


2. Coloque la función de raíz cuadrada.
3. Del menú pop-up seleccione Create Control (en la entrada de la función raíz
cuadrada).
4. Del menú pop-up seleccione Create Indicator (en la salida de la función raíz
cuadrada).

Ejercicio 7

Implementar un VI que obtenga el promedio de una materia donde:

Examen 50%
Asistencia 10%
Practicas 20%
Tareas 10%
Exposición 10%

El VI debe contener indicadores de porcentaje obteniendo su aportación a la


calificación final de la materia. Colocar un indicador que encienda cuando la calificación sea
aprobatoria y otro para reprobatoria. Utilizar las técnicas de depuración conocidas.

III.- SUBVIS.

Un SubVI es un VI que es llamado por otros VIs, esto es, un SubVI es utilizado en el
diagrama de bloques de un VI de nivel superior como se muestra en la figura 46.

Después de haber construido un VI, y creado su propio icono y panel de conexión, 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 programación basados en texto. La utilización
de subVIs le ayuda a manejar cambios, a eliminar errores del diagrama de bloque
rápidamente y requiere menos memoria.

21
Instrumentación Virtual utilizando LabVIEW

Figura 46.- SubVI.

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. Las tres formas de visualizarlo
se ilustra en la figura 47.

Icono Nodo expandible Nodo expandido


Figura 47.- Representación de un subVI.

El diagrama de bloque de la figura 48 contiene dos subVIs. Para ver el panel frontal de
un subVI, simplemente haga un doble clic sobre el subVI. Usted también puede ver la
jerarquía de subVIs dentro de un VI principal haciendo un clic en Browse>> Show VI
Hierarchy.

Figura 48.- SubVI.

Es posible habilitar la ventana de ayuda al seleccionar Help>>Show Help. Cuando esto


se hace, podemos apreciar que al mover una herramienta de edición en torno a un nodo
SubVI, la ventana Help mostrará el icono del SubVI con los cables en cada terminal.
22
Instrumentación Virtual utilizando LabVIEW

3.1.- Uso de un VI como SubVI.

Cualquier VI que tiene un icono y conector puede ser utilizado como un SubVI. En el
diagrama a bloques es posible seleccionar VIs para ser usados como SubVIs mediante la
paleta Functions>>Select a VI. Seleccionando esta opción se abre una ventana de diálogo a
través de la cual se podrá seleccionar cualquier VI disponible del sistema.

Pasos para crear un SubVI:

Ø Crear el icono.
Ø Crear el conector.
Ø Asignar terminales.
Ø Salvar el VI.
Ø Insertar el VI dentro del VI principal.

En la figura 49 se ilustra un icono que representa un instrumento virtual relacionado con


la temperatura y su respectivo conector.

Icono Conector
Figura 49.- Icono y conector.

3.1.1.- Crear el Icono.

Cree iconos personalizados para reemplazar los iconos predeterminados al hacer clic-
derecho en la esquina superior derecha del panel frontal o del diagrama de bloques y
seleccionando el Edit Icon del menú de atajo como se ilustra en la figura 50 o haciendo un
doble clic en el icono en la esquina superior derecha del panel frontal.

Figura 50.- Edición del icono.

También se pueden corregir iconos seleccionando File >> VI Properties,


seleccionando General del menú Category, y haciendo clic en el botón de editar (Edit Icon).
Utilice las herramientas del lado izquierdo de la casilla de dialogo del Icon Editor para crear
el diseño del icono en el área de edición. El tamaño normal de la imagen del icono aparece en
la casilla apropiada en la parte derecha del área de edición. La ventana de edición se ilustra
en la figura 51 para la versión 8.5.

Se puede arrastrar un gráfico desde cualquier archivo y colocarlo en la esquina


superior derecha del panel frontal o del diagrama de bloque. LabVIEW convierte el gráfico a
un icono de 32 × 32 píxeles.

23
Instrumentación Virtual utilizando LabVIEW

La versión de LabVIEW 9 tiene un editor de iconos con algunas herramientas extras


que la versión 8.5 no contiene. Estas herramientas se muestran en la figura 52.

Figura 51.- Ventana de edición del icono.

Plantillas Texto

Graficos Capas
Figura 52.- Herramientas para la edición del icono.

3.1.2.- Crear el Conector.

El conector es una serie de terminales que corresponden a los controles y a los


indicadores de un VI, similar a la lista de parámetros de una función basada en un lenguaje de
programación de texto. El conector define las entradas y las salidas que usted puede cablear
al VI para que pueda utilizarlo como subVI. Existen diferentes plantillas para implementar
estas conexiones, estas se ilustran en la figura 53.

Figura 53.- Plantillas para conectores.


24
Instrumentación Virtual utilizando 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 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 rectángulo en el conector representa una
terminal. Utilice los rectángulos para asignar entradas y salidas. El número de terminales que
LabVIEW muestra en el conector depende del número de controles e indicadores en el panel
frontal.

El panel frontal de la figura 54 tiene cuatro controles y un indicador, así que LabVIEW
muestra cuatro terminales de entradas y una terminal de salida en el conector.

Figura 54.- Mostrar conector.

3.1.3.- Asignar Terminales.

Después que seleccione un patrón 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 vínculos 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 también puede
seleccionar el control o el indicador primero y después seleccionar la terminal. Este proceso
se puede observar en la figura 55.

Figura 55.- Asignación de terminales.

3.1.4.- Insertar el SubVI dentro de un VI principal.

Después 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.

25
Instrumentación Virtual utilizando LabVIEW

Navegue y haga un doble-clic en el VI que usted desea utilizar como subVI y colóquelo
en el diagrama de bloques.

También puede colocar un VI abierto en el diagrama de bloque de otro VI abierto


usando la herramienta de colocación (Positioning Tool) para hacer clic en el icono en la
esquina superior derecha del panel frontal o diagrama de bloque del VI que usted desea
utilizar como subVI y arrastrar el icono al diagrama de bloque del otro VI.

3.1.5.- Atajos para trabajar en LabVIEW.

<Ctrl-H> – Activa/Desactiva la ventana de ayuda.


<Ctrl-B> – Remueve todos los cables rotos del diagrama de bloques.
<Ctrl-E> – Cambiar entre el panel frontal y el diagrama de bloques.
<Ctrl-Z> – Deshacer cambios – Undo (también disponible en el menú de edición).

Ejercicio 8

Construya un VI para convertir grados Fahrenheit a grados Centígrados.

°C = (°F-32)/1.8

1. Edite el icono del VI.


2. Edite el conector.
3. Salve el VI como Convertir F a C.vi.
4. Hacer lo mismo para Convertir C a F.vi.
5. Implementa la estructura que se muestra en la figura 56 utilizando los subVIs hechos.

Figura 56.- Conversión utilizando subVIs.

Ejercicio 9

Construya un VI que deberá contar con las funciones siguientes:

1. Un indicador de nivel tipo tanque con indicación digital y con la etiqueta “Nivel” y con
rango de 0.0 a 1000.0.
2. Un indicador tipo termómetro con indicador digital con la etiqueta “Temperatura” y con
rango de 0.0 a 100.00.
3. La estructura del VI se muestra en la figura 57.
4. Realizar su subVI.

Figura 57.- SubVI de nivel y temperatura..

26
Instrumentación Virtual utilizando LabVIEW

Ejercicio 10

Construya un VI que deberá contar con las funciones siguientes:

1. Un selector vertical llamado “Escala de Temperatura”. En la parte superior deberá decir


“Fahrenheit” y en la posición inferior “Celsius”.
2. Un indicador tipo termómetro con indicador digital con la etiqueta “Temperatura”. El
rango del indicador será de 0.0 a 100.00.
3. En el diagrama de bloques utilice el SubVI Temperatura y Volumen.vi, cuya salida de
temperatura será en °F, así como el SubVI Convertir F a C.vi

Ejercicio 11

Simular el comportamiento de los sensores analizados en las prácticas anteriores. En


los sensores en los que su comportamiento es alineal, linealizarlo.

IV.- ESTRUCTURAS.

Las estructuras gobiernan el flujo de ejecución en un VI. Los ciclos FOR (para) y
WHILE (mientras) controlan operaciones repetitivas en un VI. La diferencia entre un ciclo
FOR y un ciclo WHILE consiste en que el primero se ejecuta un número predeterminado de
veces, mientras que el segundo se ejecuta mientras que cierta condición es verdadera.

4.1.- Ciclo Mientras.

Similar al ciclo Haga (Do) o al ciclo Repita-hasta (Repeat-Until) en lenguajes de


programación basados en texto, un ciclo Mientras, ilustrado en la figura 58, ejecuta un
subdiagrama hasta que la condición sea cumplida.

Figura 58.- Ciclo while.

El ciclo Mientras ejecuta el subdiagrama hasta que la terminal dependiente (botón rojo
ilustrada en la parte inferior derecha de la figura 58), recibe un valor Booleano específico. El
comportamiento incumplido y la apariencia de la terminal dependiente (valor por defecto) es
Continue if True (continúe si es Verdadero). Cuando una terminal dependiente es Continue
if True, el ciclo Mientras ejecuta su subdiagrama hasta que la terminal dependiente recibe un
valor FALSO.

27
Instrumentación Virtual utilizando LabVIEW

La terminal de iteración (una terminal de salida ilustrada en la figura 58 en la parte


inferior izquierda), contiene el número de iteraciones completas. El conteo de iteraciones
siempre empieza en cero. Durante la primera iteración, la terminal de iteración regresa a cero.

Ejercicio 12

Realizar un instrumento virtual que genere números aleatorios en un rango de 0 a 1


cada segundo. El VI se presenta en la figura 59.

Panel frontal Diagrama de bloques


Figura 59.- Ejercicio 12.

Ejercicio 13

Realizar un instrumento virtual que genere números aleatorios en un rango de 5 a 10


cada 2 segundos. El VI se presenta en la figura 60.

Panel frontal Diagrama de bloques


Figura 60.- Ejercicio 13.

Ejercicio 14

Realizar un instrumento virtual que genere números aleatorios en un rango de -500 a


100 cada 4 segundos.

4.2.- Ciclo Para.

El ciclo Para que se muestra en la figura 61, ejecuta una serie varias veces. El valor en
la terminal de conteo (una terminal de entrada) representada por la N, indica cuantas veces
repetir el subdiagrama. La terminal de iteración (una entrada de salida), contiene el número de
iteraciones completas. El conteo de iteraciones siempre empieza en cero. Durante la primera
iteración, la terminal de iteración regresa a cero.

Figura 61.- Ciclo for.

28
Instrumentación Virtual utilizando LabVIEW

Coloque ciclos en su diagrama seleccionándolos desde la paleta de estructuras de la


paleta de funciones. Cuando este seleccionado, el cursor del ratón se convierte en un puntero
especial que usted usa para encerrar la sección del código que desea repetir.

Dando clic al botón del ratón para definir la esquina superior-izquierda, dando clic otra
vez al botón del ratón en la esquina inferior izquierda, y la frontera del ciclo Mientras es creada
alrededor del código seleccionado. Este proceso se ilustra en la figura 62. Arrastre nodos
adicionales adentro del ciclo Mientras si es necesario.

Seleccionar el ciclo Encerrar código que se va a repetir


Figura 62.- Proceso para agregar un ciclo.

Ejercicio 15

Realizar un instrumento virtual que genere 10 números aleatorios en un rango de 0 a 1


cada segundo. El VI se presenta en la figura 63.

Panel frontal Diagrama de bloques


Figura 63.- Ejercicio 15.

Ejercicio 16

Realizar un instrumento virtual que genere 10 números aleatorios en un rango de -0.1 a


0.11 en 3.5 segundos.

4.3.- Registros de corrimiento.

Los registros de corrimiento transfieren valores de una iteración, de un ciclo FOR o


WHILE, a la próxima. Es posible crear un registro de corrimiento haciendo clic con el botón
derecho del ratón en el borde izquierdo o derecho del ciclo y seleccionando Add Shift
Register del menú pop-up como se muestra en la figura 64. Al seleccionarlos aparecen los
registros como se ilustran en la figura 65.

29
Instrumentación Virtual utilizando LabVIEW

Figura 64.- Registro de corrimiento.

La terminal derecha almacena el dato al finalizar la iteración. El dato de la iteración


anterior es almacenado en la terminal izquierda.

Figura 65.- Registro de corrimiento.

Ejercicio 17

Realizar un instrumento virtual que genere 5 números aleatorios en un rango de 0 a 2


cada segundo y que me muestre el número generado en la iteración anterior. El VI se ilustra
en la figura 66.

Panel frontal Diagrama de bloques


Figura 66.- Ejercicio 17.

Ejercicio 18

Implementar un instrumento virtual en donde se almacenen datos aleatorios y se tenga


una memoria de tres muestras pasadas con condiciones iníciales 0, mostrando el numero de
iteración. La figura 67 muestra el VI.

30
Instrumentación Virtual utilizando LabVIEW

Panel frontal Diagrama de bloques


Figura 67.- Memoria.

Ejercicio 19

Implementar un instrumento virtual en donde se almacenen datos aleatorios y se tenga


una memoria de 10 muestras pasadas con condiciones iníciales 10, mostrando el numero de
iteración.

4.4.- Estructuras CASE.

Una estructura CASE es un método de ejecución de un texto condicional. Esta


estructura es similar a la sentencia If…Then…Else de los lenguajes convencionales. Se
puede colocar una estructura Case en el diagrama de bloques seleccionándola de la
subpaleta Structures de la paleta Functions como se ilustra en la figura 68.

Figura 68.- Estructura case.

La estructura Case puede tener subdiagramas múltiples. Los subdiagramas son


configurados como un mazo de cartas de las cuales solo una de ellas es visible en un
instante.

En la figura 69 se pueden observar los tipos de control que se pueden tener para una
estructura case. El más simple es tener un control booleano en donde solo puedo tener dos
casos. Para tener más casos se pueden utilizar datos numéricos o de texto en donde se
puede seleccionar la cantidad de casos deseados.

31
Instrumentación Virtual utilizando LabVIEW

Figura 69.- Estructura case.

Ejercicio 20

Implementar un instrumento virtual que cuente con dos controles A y B, un indicador


Resultado y un control booleano donde se pueda elegir la operación entre estos dos controles
(las operaciones son suma y resta). En la figura 70 se muestra el VI.

Panel frontal Diagrama de bloques

Panel frontal Diagrama de bloques


Figura 70.- Suma y resta de dos valores utilizando case.

Ejercicio 21

Implementar un VI con las mismas entradas y salidas del ejercicio anterior pero ahora
que realice las cuatro operaciones básicas (suma, resta, multiplicación y división). En la figura
71 se muestra el VI.

32
Instrumentación Virtual utilizando LabVIEW

Panel frontal Diagrama de bloques


Figura 71.- Suma, resta, multiplicación y división.

4.5.- Estructuras de secuencia.

La estructura SEQUENCE ejecuta subdiagramas secuencialmente. El subdiagrama se


observa en la figura 72 como el marco de un filme.

Figura 72.- 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 están
disponibles en todas sus terminales de entrada. Algunas veces es difícil determinar el orden
exacto de ejecución. A menudo, ciertos eventos deben suceder antes que otros. Cuando se
necesite controlar el orden de la ejecución del código en su diagrama de bloques, usted puede
utilizar una Sequence Structure (estructura de secuencia).

El proceso para obtener una estructura de secuencia se ilustra en la figura 73. Esta es
una forma opcional de utilizar esta estructura diferente a la de la figura 72.

Figura 73.- Proceso para obtener una estructura de secuencia.

33
Instrumentación Virtual utilizando LabVIEW
Ejercicio 22

Realizar un VI que realice la suma de dos números y después de 2 segundos realice la


multiplicación de esos mismos números. El VI se muestra en la figura 74.

Panel frontal Diagrama de bloques


Figura 74.- Ejercicio 22.

Ejercicio 23

Realizar un instrumento virtual que realice la función de un semáforo. En la figura 75 se


ilustra el VI que realiza esta función.

Panel frontal

Diagrama de bloques
Figura 75.- Ejercicio 23.

Ejercicio 24

Realizar un instrumento virtual que realice la función del semáforo que está entre la
AVENIDA IRRIGACIÓN y AVENIDA TECNOLÓGICO.

4.6.- El nodo FORMULA.

El nodo FORMULA es una estructura que nos permite programar fórmulas algebraicas
con una sintaxis similar a la mayoría de los lenguajes de programación basados en texto. Es
de gran utilidad cuando las ecuaciones tienen muchas variables o bien cuando se requiere un
diagrama de bloques muy complejo para implementarlas.

Localizada en la subpaleta de Structures (estructuras). La cajas pueden cambiar de


tamaño para introducir formulas algebraicas directamente a los diagramas de bloque como se
muestra en la figura 76.

34
Instrumentación Virtual utilizando LabVIEW

Figura 76.- Nodo formula.

Para agregar variables, se presiona el botón derecho del mouse y se escoge la opción
de agregar entrada (Add Input) o agregar salida (Add Output) como se ilustra en la figura 77.
Hay que nombrar las variables de la misma manera en que serán usadas en la formula (los
nombres son sensibles a capitalización).

Figura 77.- Añadir entrada o salida.

Las declaraciones deben terminar con un punto y coma (;). Al usar varias formulas en
un solo nodo de formula, cada variable asignada deben de tener una terminal de salida en el
nodo de formula. Sin embargo, estas terminales de salida no necesitan ser cableadas.

Los operadores y funciones que se pueden emplear en un nodo formula se explican en


la ayuda de LabVIEW, y son los que se muestran en la figura 78.

Figura 78.- Funciones para el nodo formula.

La sintaxis de una expresión incondicional es la siguiente:

35
Instrumentación Virtual utilizando LabVIEW
Si el valor lógico de la expresión condicional es true se ejecutará texpresión. Si, por el
contrario, fuese false, lo que se aplicará será fexpresión. Como ejemplo considérese el
fragmento de código de la figura 79.

Figura 79.- Expresión condicional.

Ejercicio 25

Se puede implementar este fragmento de código empleando un nodo de formula, tal y


como se muestra en la figura 80.

Diagrama de bloques

Panel frontal
Figura 80.- Utilizando el nodo formula.

Ejercicio 26

Una comparación de utilizar funciones comunes y empleando el nodo de formula se


muestra en la figura 81.

Panel frontal Diagrama a bloques

Panel frontal Diagrama a bloques


Figura 81.- Comparación entre programación utilizando funciones y nodo formula.

36
Instrumentación Virtual utilizando LabVIEW
Ejercicio 27

Implementar la ecuación de Kepler utilizando funciones y nodo de formula realizando


una descripción entre los dos tipos de programación. En la figura 82 y 83 se muestran los
diagramas a bloques para los dos tipos de programación.

y=x-e senx (Ecuación de Kepler)

Figura 82.- Programación con funciones.

Figura 83.- Programación con nodo formula.

Ejercicio 28

Diseñe un VI que desarrolle la función de un generador de funciones que produzca


formas de onda senoidal, triangular, diente de sierra y cuadrada con la estructura que se
presenta en la figura 84.

Ejercicio 29

Diseñe un VI para determinar la media aritmética de una serie de números aleatorios,


entre 0 y 1, a medida que estos se van generando. Utilice el algoritmo descrito por la ecuación
en diferencias siguiente:

m(k) = [ (k m(k-1) + x(k) ] /(k+1).

En donde x(k) es el número aleatorio en la iteración actual y m(k) es la media actual del
conjunto de números aleatorios y k = 0,1,2...

Ejercicio 30

Construya un VI que desarrolle la función de un controlador PID que pueda ser


utilizado en el control de distintos procesos. Utilice la ecuación en diferencias correspondiente
al algoritmo posicional:

m(k) = (Kp+Ki+Kd) e(k) - (Kp+2Kd) e(k-1) + Kd e(k-2) + m(k-1)

37
Instrumentación Virtual utilizando LabVIEW
En donde la señal de error e(k) es la entrada al controlador y m(k) es la salida del
controlador. Utilice el nodo FORMULA para implementar el algoritmo de control.

Panel frontal

Diagrama de bloques
Figura 84.- Generador de funciones.

Panel frontal

Diagrama de bloques
Figura 85.- Ejercicio 30.

38
Instrumentación Virtual utilizando LabVIEW
V.- CARTAS Y GRÁFICOS.

Los gráficos y las cartas son usados para mostrar datos de forma gráfica. Los gráficos
(Graphs) ilustrados en la figura 86 son utilizados para mostrar arrays de datos pregenerados,
tal como el gráfico x-y. En las cartas mostradas en la figura 87 (Charts) los datos se van
representando a medida que estos se obtienen, de forma similar a un registrador de carta de
un laboratorio.

Figura 86.- Graph.

Figura 87.- Chart.

5.1. - Cartas.

Solamente existe un tipo de waveform chart, pero con tres formas distintas de
actualizar la pantalla: scroll chart, scope chart y sweep chart. Esta forma de actualizar se
ilustra en a figura 88.

Figura 88.- Formas de actualizar la pantalla.

Ejercicio 31

Para poder manipular las opciones de pantalla es necesario implementar el VI que se


presenta en la figura 89.

39
Instrumentación Virtual utilizando LabVIEW

Panel frontal Diagrama a bloques


Figura 89.- Generar números aleatorios y graficarlos cada 0.1 segundo.

5.2.- Gráficos.

Un waveform graph es un indicador que muestra uno o más arrays de datos. Esto es
equivalente a un gráfico de 2D con ejes horizontal y vertical como se muestra en la figura 90.

Figura 90.- Grafico.

Los Gráficos son indicadores muy poderosos en LabVIEW. Pueden ser altamente
adaptables y pueden ser usados para mostrar de forma concisa una gran cantidad de
información. La página de propiedades de las Graficas le permite mostrar las opciones de
configuración, escala, cursores y muchas otras características de las gráficas. Para poder
manipular estas características haga clic derecho en la grafica y seleccione Properties. La
ventana para realizar estas manipulaciones se ilustra en la figura 91.

Figura 91.- Propiedades de grafico.

40
Instrumentación Virtual utilizando LabVIEW
5.3.- Cableando datos a las gráficas.

Para mostrar múltiples diagramas en una grafica, use la función Merge Signals
encontrada en la paleta Functions >> Signal Manipulation. La función Merge Signal junta
múltiples salidas para diagramar en la gráfica de forma de onda. Para agregar más diagramas,
utilice la herramienta de posicionamiento para cambiar el tamaño de la función Merge Signal.
La ayuda de contexto contiene muy buena información en como cablear de diferentes
maneras los datos dentro de las graficas.

Ejercicio 32

Implementa un instrumento virtual como el que se muestra en la figura 92 en el cual se


grafican tres diferentes datos en una misma grafica.

Panel frontal Diagrama de bloques


Figura 92.- Ejercicio 32.

Ejercicio 33

Implementa un instrumento virtual como el que se muestra en la figura 93 en el cual se


grafica un dato aleatorio y dos muestras pasadas del mismo dato en la misma grafica.

Panel frontal Diagrama de bloques


Figura 93.- Ejercicio 33.

41
Ingeniería Mecatrónica Instrumentación Virtual utilizando LabVIEW
Ejercicio 34

Cree un VI que genere un número aleatorio a una velocidad específica y muestre las
lecturas en una grafica de forma de onda hasta que el usuario lo pare. Conecte la terminal de
terminación a un botón de paro en el panel frontal, y agregue un control de deslizamiento
(slider control) al panel de control. Este control de deslizamiento debe recorrer de 0 a 2000 en
valor, y será conectado a la función Express VI Time Delay (demora de tiempo) dentro de su
ciclo Mientras. El instrumento virtual se muestra en la figura 94.

Panel frontal Diagrama de bloques


Figura 94.- Ejercicio 34.

Ejercicio 35

Implementa los instrumentos virtuales que se ilustran en las figuras 95 y 96. Analizar
los resultados obtenidos y comparar las funciones utilizadas en los dos instrumentos virtuales.

Figura 95.- Diagrama a bloques.

Figura 96.- Diagrama a bloques.

42
Ingeniería Mecatrónica Instrumentación Virtual utilizando LabVIEW
Ejercicio 36

Cree un VI. El VI debe utilizar un Ciclo Mientras (While Loop) con 100 milisegundos de
retraso para generar continuamente formas de onda seno y cuadradas y mostrarlas en un
gráfico de forma de onda. Utilice el VI expreso Simulate Signal Express VI de la paleta
Functions» Input para generar las señales. La entrada de la frecuencia para cada función es
elegida por el usuario.

Cambie los colores, los artículos visibles, y los estilos de diagramado del gráfico.
Experimente con algunas de las opciones de cursor y de zoom disponibles. El panel frontal y
el diagrama a bloques se ilustran en la figura 97.

Panel frontal Diagrama de bloques


Figura 97.- Ejercicio 37.

Ejercicio 37

Abra un VI nuevo y construya el panel frontal con los siguientes tres objetos: un control
digital con la etiqueta “No. De puntos”, un control digital con la etiqueta “Factor de crecimiento,
r” y un waveform graph con la etiqueta “Población”.

En el diagrama a bloques incluya un ciclo FOR conectado al control digital “No. De


puntos”, un registro de corrimiento y un nodo FORMULA con la ecuación en diferencias
logística, la cual está dada por:

x(k+1)=r x(k) (1-x(k))

En donde k = 0,1,2,… y x(0) es la condición inicial. Esta ecuación ha sido utilizada


como modelo para estudiar lo patrones de crecimiento de la población.

Ejercicio 38

Implementar un instrumento virtual con una entrada denominada temperatura y como


salida 5 indicadores booleanos. Cada indicador booleano debe indicar determinado rango de
temperatura.

43
Ingeniería Mecatrónica Instrumentación Virtual utilizando LabVIEW
VI.- ARREGLOS.

Un array (arreglo) es un conjunto de elementos de datos, todos del mismo tipo, de


dimensión variable, tal como un grupo de números de punto flotante o un grupo de cadenas.
En la figura 98 se muestran dos arreglos de diferentes dimensiones y tipos de datos.

Figura 98.- Arreglos.

6.1.- Agregando un arreglo al panel frontal.

Para crear un control o indicador de un arreglo como el mostrado en la figura 98, escoja
un arreglo (array) en la paleta Controls » All Controls » Arrays & Cluster, colóquelo en el
panel frontal, y arrastre un control o un indicador adentro de la estructura (shell) del arreglo. Si
usted procura arrastrar un control o indicador inválidos tales como una gráfica XY adentro de
la estructura del arreglo, usted será incapaz de dejar caer el control o el indicador en la
estructura del arreglo.

Usted debe insertar un objeto en la estructura del arreglo antes de que usted utilice el
arreglo en el diagrama de bloques. De otro modo, la terminal del arreglo aparece negra con un
paréntesis vacío.

Para agregar las dimensiones a un arreglo de uno en uno, hace clic derecho en el
despliegue del índice y seleccione Add Dimension del menú de atajo. Usted puede utilizar
también la herramienta que posicionamiento para cambiar el tamaño del despliegue del índice
hasta que usted tenga las dimensiones que usted quiera. En la figura 99 y 100 se ilustra como
implementar un arreglo.

Figura 99.- Realizando un arreglo.

44
Ingeniería Mecatrónica Instrumentación Virtual utilizando LabVIEW

Figura 100.- Agregando un control al arreglo.

Ejercicio 39

Implementar un VI en donde se utilicen arreglos con diferentes tipos de datos como se


muestran en el panel frontal de la figura 101.

Figura 101.- Panel frontal de arreglos.

6.2.- Creación de arreglos con ciclos.

Con los ciclos FOR y WHILE es posible crear arrays de forma automática con un
proceso denominado auto-indexado. La descripción del funcionamiento del indexado se
muestra en la figura 102.

Figura 102.- Descripción de tipos de indexado.

45
Ingeniería Mecatrónica Instrumentación Virtual utilizando LabVIEW
Ejercicio 40

Implementar un VI para ver el funcionamiento del indexado dentro de un ciclo for. En la


figura 103 se muestra la implementación y funcionamiento del instrumento virtual.

Panel frontal Diagrama de bloques


Figura 103.- Ejercicio 40.

Ejercicio 41

Implementar un instrumento virtual que genere 4 datos aleatorios y estos se vayan


graficando cada que se generen y al finalizar la generación de todos los números. Este
instrumento virtual se ilustra en la figura 104.

Panel frontal Diagrama de bloques


Figura 104.- Ejercicio 41.

6.3.- Funciones de arreglos.

LabVIEW cuenta con una gran cantidad de funciones para manipular arrays. En la
figura 105 se muestra algunos de ellos como tamaño de arreglo, inicializar arreglo, construir
un arreglo e indexar un arreglo. Las funciones de los arreglos están situadas en la paleta
Functions» All Functions» Array. Estas se muestran en la figura 106.

Figura 105.- Funciones para manipular arreglos.

46
Ingeniería Mecatrónica Instrumentación Virtual utilizando LabVIEW

Figura 106.- Funciones para arreglos.

Los arreglos incluyen funciones como las siguientes:

Array Size (Tamaño del Arreglo).- Devuelve el número de elementos en cada dimensión de
un arreglo. Si el arreglo es de n-dimensiones, el tamaño (size) de la salida es un arreglo de n
elementos.

Initialize Array (Inicializar el Arreglo).- Crea un arreglo de n dimensiones en donde cada


elemento ha sido inicializado al valor del elemento (element). Cambie el tamaño de la función
para incrementar el número de dimensiones del arreglo de salida.

Build Array (Construcción del Arreglo).- Concatena arreglos múltiples o añade elementos a
un arreglo de n dimensiones. Cambie el tamaño de la función para incrementar el número de
dimensiones del arreglo de salida.

Array Subset (Subconjunto de Arreglo).- Devuelve parte de un arreglo que comienza en el


índice y que contiene elementos de la longitud.

Index Array (Índice del Arreglo).- Devuelve un elemento de un arreglo en el índice. Usted
también puede utilizar la función índice del Arreglo para extraer una fila o una columna de un
arreglo bidimensional para así crear un subarreglo del original. Para hacer esto cablee un
arreglo bidimensional a la entrada de la función. Dos terminales de índice están disponibles.
La terminal del índice superior indica la fila, y la segunda terminal indica la columna. Usted
puede cablear entradas a ambas terminales de índice para indicar un solo elemento, o usted
puede cablear solamente una terminal para extraer una fila o una columna de datos.

Ejercicio 42

Implementar un instrumento virtual para obtener el tamaño de un vector y una matriz


como se muestra en la figura 106.

47
Ingeniería Mecatrónica Instrumentación Virtual utilizando LabVIEW

Panel frontal Diagrama de bloques


Figura 107.- Ejercicio 42.

Ejercicio 43

Implementar el instrumento virtual que se presenta en la figura 108 describiendo los


resultados obtenidos. Varié estos datos para observar como varían los resultados.

Panel frontal Diagrama de bloques


Figura 108.- Ejercicio 43.

6.4.- Creando Arreglos Bidimensionales (2D).

Se pueden utilizar dos Ciclos Para, uno dentro del otro, para crear arreglos
bidimensionales como se muestra en el instrumento virtual de la figura 109. El Ciclo Para
externo crea las filas de elementos y el Ciclo Para interno crea las columnas de elementos.

Panel frontal Diagrama de bloques


Figura 109.- Arreglos bidimensionales.

Ejercicio 44

Analizar los resultados que se muestran en los indicadores después de ejecutar el


programa, variar el número de iteraciones de cada ciclo para visualizar las modificaciones.

48
Ingeniería Mecatrónica Instrumentación Virtual utilizando LabVIEW
6.5.- Construcción de un arreglo.

Ejercicio 45

Implementar el instrumento virtual de la figura 110, donde se construyen diferentes


tipos de arreglos, analizar los resultados que se muestran en el panel frontal de la figura 110.

Panel frontal Diagrama de bloques


Figura 110.- Ejercicio 45.

Para concatenar las entradas en un arreglo más largo de la misma dimensión según lo
demostrado en el siguiente arreglo, haga clic derecho en el nodo de la función y seleccione
Concatenate Inputs (Concatenar Entradas) desde el menú de atajo.

6.6.- Polimorfismo.

El polimorfismo es la habilidad de ciertas funciones de LabVIEW (tales como Suma,


Multiplicación y División) para aceptar entradas de diferentes dimensiones y representaciones.
Las funciones aritméticas que poseen esta característica son denominadas funciones
polimórficas. Por ejemplo, es posible sumar un escalar a un array, o bien sumar dos arrays de
dimensiones diferentes

Ejercicio 46

Para comprobar estas características se implementa el VI de la figura 111. Verificar su


funcionamiento y describir lo que sucede al realizar las diferentes operaciones.

Figura 111.- Polimorfismo.

49
Ingeniería Mecatrónica Instrumentación Virtual utilizando LabVIEW
VII.- CLUSTERS.

Un cluster es una estructura de datos que al igual que el array, agrupa datos. Sin
embargo los clusters y los arrays cuentan con importantes diferencias. Una diferencia
fundamental es que los clusters pueden agrupar datos de distintos tipos, mientras que los
arrays pueden agrupar solamente datos del mismo tipo. Por ejemplo, un array puede contener
diez indicadores digitales, mientras que un cluster puede contener un control digital, un control
de cadena, un interruptor. En la figura 112 se muestra un ejemplo de cluster.

Figura 112.- Ejemplo de cluster.

7.1.- Creando un Cluster.

Se puede crear un cluster en el panel frontal escogiendo Cluster desde la paleta


Controls » All Controls » Array & Cluster. Esta opción le brinda una preforma (shell)
parecida a la preforma obtenida al crear arreglos. Uno puede cambiarle el tamaño a la pre-
forma una vez esta se ha seleccionado. Haga clic derecho adentro de la preforma para añadir
objetos de cualquier tipo. Se puede tener un cluster adentro de un cluster. En la figura 113 se
ilustra el proceso para implementar un cluster y se ejemplifican algunos controles añadidos en
un cluster.

Figura 113.- Implementación de un cluster.

El cluster se convierte en un Indicador o Control basado en el primer objeto que fue


ingresado dentro del grupo. También puede crear una constante de cluster en el diagrama de
bloque escogiendo Cluster Constant de la paleta Cluster. Esto le brinda una preforma (shell)
de cluster vacía. Se puede dar cualquier tamaño al cluster una vez ingresado. Se pueden
introducir otras constantes dentro de la preforma (Shell).

50
Ingeniería Mecatrónica Instrumentación Virtual utilizando LabVIEW
Nota: No se pueden 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 vacías dentro de una preforma de cluster vacía.

7.2.- Funciones del Cluster.

Función de Bundle (agrupación).- Forma un cluster conteniendo los objetos dados.

Ejercicio 47

En la figura 114 se muestra un ejemplo del comando anterior en el cual se presenta el


diagrama panel frontal con tres entradas de diferentes características y su respectivo cluster
con sus indicadores.

Panel frontal Diagrama de bloques


Figura 114.- Ejercicio 47.

Función Bundle by Name (agrupe por nombre).- Actualiza valores de objetos localizados en
grupos específicos (los objetos deben tener su propia clasificación).

Ejercicio 48

En la figura 115 se muestra el diagrama a bloques del comando descrito anteriormente


y su diagrama a bloques respectivo.

Panel frontal Diagrama de bloques


Figura 115.- Ejercicio 48.

Nota: Se debe de tener un cluster existente cableado a la terminal de en medio de la función


para poder utilizar Bundle by Name.

51
Ingeniería Mecatrónica Instrumentación Virtual utilizando LabVIEW
Función Unbundle (desagrupar).- Se utiliza para acceder a todos los objetos del cluster.

Ejercicio 49

En la figura 116 se ilustra el funcionamiento de un instrumento virtual que utiliza del


comando descrito.

Panel frontal Diagrama de bloques


Figura 116.- Ejercicio 49.

La función Unbundle (desagrupar) debe tener exactamente el mismo número de


terminales como se tienen elementos en el cluster. Añadiendo o removiendo elementos en el
cluster rompe cables en el diagrama.

Función Unbundle by Name (desagrupar por nombre).- Se utiliza para acceder a los
objetos específicos (uno o más) en el cluster.

Ejercicio 50

En la figura 117 se ilustra el funcionamiento de un instrumento virtual que utiliza del


comando descrito.

Panel frontal Diagrama de bloques


Figura 117.- Ejercicio 50.

Nota: Solamente los objetos en el cluster que tengan su propia marca (Label) pueden ser
accesados. Cuando se desagrupe por nombre, haga clic en la terminal con la herramienta de
operación para escoger el elemento que quiere accesar.

Se pueden obtener las funciones de Bundle (agrupar), Unbundle (desagrupar),


Bundle by Name (agrupar por nombre), y Unbundle by Name (desagrupar por Nombre) al
hacer clic derecho con el mouse en la terminal del cluster en el diagrama de bloques y
eligiendo Cluster Tools (herramientas de cluster) del Menú.

Cuando se escoge Cluster Tools las funciones Bundle (agrupar) y Unbundle


(desagrupar) automáticamente contienen el número correcto de terminales. Las funciones

52
Ingeniería Mecatrónica Instrumentación Virtual utilizando LabVIEW
Bundle by Name (agrupar por nombre) y Unbundle by Name (desagrupar por nombre)
aparecen con el primer elemento del Cluster.

Ejercicio 51

Implementar un instrumento virtual utilizando todas las funciones de los cluster vistas
anteriormente.

VIII.- ADQUISICIÓN DE DATOS EN LABVIEW.

En la figura 118 se muestra la secuencia de una DAQ para adquirir señales desde
diversos sensores y poderlos monitorear en la PC.

Figura 118.- Adquisición de señales.

La plataforma de Adquisición de datos en LabVIEW contiene una plataforma para la NI-


DAQ tradicional y una para NI-DAQmx. Los VIs tradicionales están divididos por el tipo de
medición, los VIs DAQmx están divididos por el tipo de tarea. En la figura 119 se presentan las
funcionamientos para cada tipo de DAQ.

Figura 119.- Aplicaciones de las DAQ.

Para acceder de forma rápida a entradas y salidas de la DAQ se puede utilizar el


asistente de esta. Este se muestra en la figura 120.

53
Ingeniería Mecatrónica Instrumentación Virtual utilizando LabVIEW

Figura 120.- Asistente de la DAQ.

8.1.- Terminología de la adquisición de datos.

Resolución.- Determina cuantos diferentes cambios de voltajes pueden ser medidos. Para
una resolución más grande se tiene una representación más exacta de la señal.

Rango.- Voltajes mínimos y máximos. Para un rango más pequeño se tiene una
representación más precisa de la señal.

Gain (ganancia).- Amplifica o atenúa la señal para un mejor ajuste del rango.

Ejercicio 52

Buscar la hoja de datos de la DAQ y hacer una descripción completa de sus


características.

Ejercicio 53

Nota: Una vez que los controladores de la tarjeta de adquisición de datos fueron instalados
correctamente se conecta la DAQ a la PC y el foco verde de la DAQ debe encender para
poder utilizarla.

Comprobar el funcionamiento de cada una de las entradas y salidas de la DAQ


utilizando la herramienta que se ilustra en las figuras 121, 122 y 123.

Figura 121.- Sistema de medición rápida.

Figura 122.- Seleccionar el dispositivo en el que se realizara la medición.

54
Ingeniería Mecatrónica Instrumentación Virtual utilizando LabVIEW

Figura 123.- Panel de prueba.

Ejercicio 54

Para adquirir o distribuir señales en LabVIEW se utiliza el asistente de la tarjeta de adquisición


de datos.

Nota: Agregar todos los ejercicios hechos en las practicas.

IX.- EJERCICIOS EXTRAS.

Ejercicio 1

Construya un VI que genere y grafique 100 números aleatorios en un gráfico de forma


de onda (waveform graph). Calcule el promedio de los números aleatorios y muestre el
resultado en el panel frontal. Utilice la función Add Array Elements de la paleta Numeric en
el cálculo del promedio de los números aleatorios.

En la figura 124 se muestra el diagrama de bloque y en la figura 125 se muestra el


panel frontal de este instrumento virtual.

Figura 124.- Diagrama de bloque.

55
Ingeniería Mecatrónica Instrumentación Virtual utilizando LabVIEW

Figura 125.- Panel frontal.

Ejercicio 2

OBJETIVO: Desarrollar un programa que permita observar el uso de las estructuras en


LabVIEW, en este ejemplo se utilizaran el nodo de formula y " while"; también se mostrara
como se puede realizar una iteración con lenguaje de programación gráfico.

Se plantea el problema de diseño de reguladores serie donde a partir de métodos


iterativos se puede obtener el voltaje de salida del regulador para una especificación de
valores de sus componentes. Este programa permite observar las variaciones del voltaje de
salida por efecto de las variaciones de la corriente de carga y por variación de los valores de
sus componentes. El usuario puede especificar los valores de los elementos, el voltaje de
entrada a usar y el voltaje de salida deseado.

PROCEDIMIENTO

1. Cree un nuevo VI.

2. Guárdelo como regulador.vi.

3. Mediante la función pegar del editor del programa se puede colocar el circuito
representativo del regulador serie el cual se desea evaluar cómo se ilustra en la figura
126.

Figura 126.- Regulador serie con resistencia de sangría.

56
Ingeniería Mecatrónica Instrumentación Virtual utilizando LabVIEW
4. Cree los controles e indicadores para cada una de las variables del circuito. Controles:
VI, Vz, R, Rs, Beta (transistor), Vo DESEADO (voltaje de salida deseado); Indicadores:
Vo (voltaje de salida calculado). En el panel de control, haciendo clic derecho para
tener acceso a la paleta de controles, y en la opción "digital control" arrastre el mouse
hacia el lugar donde desee colocar su control, también puede seleccionar un indicador,
mediante la opción "digital indicador "que se encuentra en la misma paleta. En el
momento de arrastrar su control y situarlo, usted puede dar un nombre al control,
nómbrelos según su circuito como se aprecia en la figura 127.

Figura 127.- Agregando controladores e indicadores.

5. Organice sus controles e indicadores. Cuando usted creo sus controles e indicadores
en el panel frontal, inmediatamente LabVIEW ha creado sus iconos correspondientes
en el panel de programación, note que los controles tienen la línea exterior más gruesa.
Para entrar al panel de programación presione Ctr+E, o ingrese por Window> Show
diagram.

6. Para que el programa corra de forma continua se deben colocar todas las variables
dentro de un "While", haciendo clic derecho, en la opción "Structures" > "While loop".
De esta forma en su panel frontal y panel de programación se deben ver según la
siguiente figura 128.

Figura 128.- Agregando ciclo while.

7. Cree una nueva estructura "while" y dentro del while coloque una estructura de nodo de
formula, esta estructura se encuentra en la paleta "Structures". Sitúese sobre la frontera
de la estructura nodo de formula y haga clic derecho, seleccione "Add input" y coloque
el nombre una de las variable o controles del programa, haga lo mismo para las demás

57
Ingeniería Mecatrónica Instrumentación Virtual utilizando LabVIEW
entradas (variables o controles) en el nodo de formula. También haciendo clic derecho
en la frontera izquierda del nodo de formula cree una salida mediante la opción "Add
output" y colóquele el nombre de Vo. Este proceso se puede apreciar en la figura 129.

Figura 129.- Configuración del nodo de formula.

8. Adicione un registro para la iteración. Para tener un resultado de la iteración se debe


adicionar un registro que contiene la variable que se quiere determinar mediante la
iteración, para este caso es Vo, voltaje de salida del regulador. Para realizar esto
sitúese en la frontera derecha de la structura while que acabo de crear y haciendo clic
derecho en el mouse seleccione la opción "Add shift register". De esta forma su nuevo
programa se ve de la forma que se ilustra en la figura 130.

Figura 130.- Añadiendo registro de corrimiento.

Cuando se conecta la entrada Vo DESEADO al shift register se inicializa el valor de Vo


para ejecutar la iteración, el valor final de la iteración se obtiene en la salida Vo del nodo de
formula y es necesario conectarla tanto al shift register, como a la variable de salida Vo
(indicador).

9. Ingrese las ecuaciones para la iteración. Tomando las ecuaciones del regulador serie
se pueden ingresar directamente sobre el nodo de formula (asegure de seleccionar la
herramienta de texto del panel de herramientas o presionando tab hasta obtener la
opción). Para los cálculos del circuito se necesita la resistencia del zener Rz, para esto
cree una constante y defina por defecto un valor, o si desea también puede crear un
control para tomarla como variable desde el panel frontal.

58
Ingeniería Mecatrónica Instrumentación Virtual utilizando LabVIEW
10. Cree un nuevo control con el nombre I(corriente en la carga), con la variación de esta
corriente usted podrá observar como varia el voltaje de salida por efecto de la carga,
adiciónelo como entrada en el nodo de formula y haga las correspondientes
conexiones.

Las ecuaciones finales son:

Rth = RZ*R/(R+RZ);
VTH = ( VZ*R + VI*RZ ) / ( R + RZ );
IE = Io + VO / RS; //VO = VO DESEADO
VBE = 0.6 + 0.04 * log ( IE / 10 );
IB = IE / Beta;
Vo = VTH - IB*Rth - VBE;

11. También es necesario definir como salida todas las variables intermedias que se usan
en el proceso, como Rth, VTH, IE, VBE, IB. Si se desea, se puede crear un indicador
para estas variables para observarlas en el panel frontal (interfaz con el usuario),
haciendo clic derecho sobre la frontera del nodo de formula, sobre la salida y
seleccionando "create indicator".

12. Por último conecte mediante un negador el control general a la condición del ultimo
while que creo, como se muestra en la figura 131.

Figura 131.- Implementación de ecuaciones.

13. Las resistencias están en KOhm y las corrientes en mA. En el panel frontal y
situándose sobre el control haga clic derecho seleccione la opción "Format &
Precision", cambie los dígitos de precisión a tres para lograr ingresar el valor de Rz.

14. En este programa no se necesita condicionar el número de iteraciones a un numero


finito, ya que el resultado de la iteración (Vo) cambia según se realiza el proceso,
también usted en cualquier momento puede cambiar algún valor de los elementos y
observar inmediatamente como cambia la salida. Para que el programa funcione
continuamente mantenga encendido el botón de "control".

59
Ingeniería Mecatrónica Instrumentación Virtual utilizando LabVIEW
Ejercicio 3

Implementar el instrumento virtual descrito en las figuras 131 y 132, describiendo su


funcionamiento monitoreando los valores graficados.

Figura 131.- Diagrama de bloque.

Figura 132.- Panel frontal.

60

También podría gustarte