Title: Instrumentacin Virtual con LabVIEW
1Instrumentación Virtual con LabVIEW
2Objetivos
- Entender los componentes de un Instrumento
Virtual - Introducir LabVIEW y sus funciones básicas
- Construir una aplicación de adquisición de datos
sencilla - Crear una subrutina en LabVIEW
3Sección I
- Conceptos de LabVIEW
- Componentes de una aplicación de LabVIEW
- Herramientas de programación de LabVIEW
- Creación de una aplicación en LabVIEW
4Los programas en LabVIEW se denominan
Instrumentos Virtuales (VIs)
- Panel Frontal
- Controles Entradas
- Indicadores Salidas
- Diagrama de Bloques
- Programa que acompaña al Panel Frontal
- Componentes cableados entre si
5VI - Panel Frontal
Barra de Herramientas del Panel Frontal
Icono
Control Booleano
Leyenda del gráfico
Indicador Doble
Gráfico de Forma de Onda
6VI Diagrama de Bloques
Barra de Herramientas Del diagrama de Bloques
Terminal Termómetro
Llamada a subVI
Gráfica Temperatura
Knob Terminal
Constante Numérica
Funcion de tiempo
Terminal Fin Bucle
Bucle While
Terminal Botón Stop
7Paletas de Controles y Funciones
Paleta de Controles (Ventana del Panel Frontal)
Paleta de Funciones (Ventana del Diagrama de
bloques)
- Paletas Graficas y Flotantes
-
- Usadas para situar controles e indicadores en el
panel frontal, o construir el diagrama de bloques
8Paleta de Herramientas
- Paleta Flotante
- Utilizada para operar y modificar objetos en el
panel frontal y en el diagrama de bloques
Herramienta de selección automática
Desplazamiento Punto de ruptura Prueba Copia de
color Colorear
Operación Posicionado y redimensión Etiquetado Cab
leado Menú (atajo)
9Barra de Herramientas de Estado
Ejecución (Run) Ejecución continua Cancelar
Ejecución Pausa/Continuación Configuración de
texto Alineación de Objetos Distribución de
Objetos Reordenar
Botones adicionales en la barra de herramientas
del Diagrama de bloques
Ejecución Resaltada (Execution Highlighting)
Entrada al objeto (Step Into) Paso sobre el
objeto (Step Over) Salida del objeto (Step Out)
10No Borrar Esta Diapositiva
11Abrir y Ejecutar un Instumento Virtual
- Signal Generation
- and Processing.vi
- Help
- Find Examples
- Browse According to Task
- Analyzing and Processing Signals
- Signal Processing
- Signal Generation and Processing.vi
12Creando un VI
Ventana Panel Frontal
Ventana Diagrama de Bloques
Terminales de Indicadores
Terminales de Controles
13Crear un VI Diagrama de Bloques
- Después de Crear Controles e Indicadores en el
Panel Frontal, Cambiar al Diagrama de Bloques
ltCtrl-Egt - Mover Terminales a Posiciones Deseadas Usando
Herramienta Posición/Tamaño/Selección - Situar Funciones en Diagrama
- Interconectar (Wire) Juntos Terminales
Apropiados Para Completar Diagrama
14Creando un VI Diagrama de Bloques
15Consejos para cablear Diagrama de Bloques
Punto de Cableado
Click Para Seleccionar Hilos
Barra Espacio Cambia Orientación Hilo
Click Durante Cableado para cambiar dirección
16No Borrar Esta Diapositiva
17Programación Orientada a Flujo de Datos
- El diagrama de bloques se ejecuta dependiendo del
flujo de los datos, NO se ejecuta de izquierda a
derecha - Un nodo se ejecuta cuando hay datos disponibles
en TODOS los terminales de entrada - Los nodos suministran datos a todos los
terminales de salida cuando finalizan la ejecución
18Opciones de Ayuda
- Ayuda Contextual
- Ayuda en linea
- Bloquear ayuda
- Ayuda Simple/Detallada
- Ctrl H
- Referencias en linea
- Todos los menús en línea
- Clic con el botón derecho ratón en las funciones
del diagrama para tener acceso directo a la
información en línea.
19No Borrar Esta Diapositiva
20Ejercicio 1 - Convertir de C a F
21Técnicas de Depuración
- Localizar Errores
- Resaltar la ejecución
- Herrarmienta de Prueba
Click en en el botón de Ejecución roto Aparece
una ventana mostrando los errores
Haciendo clic en el botón de ejecución resaltada
el flujo de datos se anima utilizando burbujas.
Los valores se visualizan en los cables
Haciendo clic con el botón derecho del ratón
sobre el cable aparece la ventana de prueba que
visualiza los datos mientras fluyen por el
cable También se puede seleccionar la
herramienta de prueba desde la paleta de
herramientas y hacer clic en el cable
22Sección II SubVIs
- Qué es un subVI?
- Crear icono y conector para un subVI
- Utilizar un VI como subVI
23SubVIs
- Un SubVI es un VI que puede utilizarse dentro de
otro VI - Similar a una subrutina.
- Ventajas
- Más fácil de depurar
- No hay que repetir código
- Modular
- Requiere menos memoria
24Icono y Conector
- El icono representa a un VI en otros diagramas de
bloques - El conector muestra los terminales disponibles
para la transferencia de datos
25SubVIs
SubVIs
26Pasos para Crear un SubVI
- Crear el Icono
- Crear el Conector
- Asignar Terminales
- Guardar el VI
- Insertar el VI dentro del VI principal
27Crear el Icono
- Hacer clic con el botón derecho en el icono del
diagrama de bloques o panel frontal
28Crear el Conector
- Hacer clic con el botón derecho en el icono
- (solamente en el Panel Frontal)
29Asignar Terminales
30Guardar el VI
- Escoger un sitio o una carpeta fácil de recordar
- Organizar por funcionalidad
- Guardar los VIs similares en un mismo directorio
(Ej. Utilidades matemáticas) - Organizar por aplicación
- Salvar todos los VIs Usados para una Aplicación
Especifica dentro de un directorio o un archivo
de biblioteca (Ej. Lab 1 - Frecuencia de
respuesta) - Archivo de biblioteca (.llbs) combina todos los
VIs en un solo archivo, ideal para transferir
aplicaciones enteras entre ordenadores
31Insertar el SubVI dentro de un VI Principal
Acceder a subVIs creados por el usuario
Functions gtgt Select a VI, o arrastrar el
icono hasta el diagrama deseado
32Técnicas para trabajar en LabVIEW
- Atajos desde el teclado
- ltCtrl-Hgt Activa/Desactiva la ventana de Ayuda
- ltCtrl-Bgt Elimina todos los cables rotos del
diagrama de bloques - ltCtrl-Egt Cambia entre el Panel Frontal y el
Diagrama de Bloques - ltCtrl-Zgt Deshacer cambios (también disponible
en el menú de edición) - Tabulación Cambia entre herramientas de la
barra de herramientas - Tools Options Establece Preferencias en
LabVIEW - File VI Properties Configura la apariencia
del VI, Documentación, etc.
33Sección III Adquisición de Datos
Dispositivo DAQ
- Fundamentos de Adquisición de Datos
- Conectando Señales
- Aplicación simple con DAQ
Bloque de Terminales
34DAQ Adquisición de Datos
- Tarjeta interna de ordenador con
- Canales de entrada Analógicos
- Canales de salida Analógicos
- Contadores
- E/S Digitales
- Controlada por un conjunto de VIs de LabVIEW
- FunctionsgtgtData Acquisition
35DAQ Adquisición de Datos
- Ejemplo sencillo de Adquisición de Temperatura
- Dos parámetros
- Dispositivo 1
- Canal 0
36Terminología de Adquisición de Datos
- Resolución Determina cuantos cambios diferentes
de tensión pueden ser medidos - Mayor Resolución ? Representación más exacta de
la señal - Rango Valores de tensión máximo y mínimo
- Menor Rango ? Representación más exacta de la
señal - Ganancia Amplifica o atenúa la señal para un
mejor ajuste del rango
37No Borrar Esta Diapositiva
38Conexiones de Hardware
39Ejercicio 2 Adquisición de Datos sencilla
- Completar el VI conversión de ºC a ºF (Conversion
C a F.vi), y después crear el VI Termómetro
(Thermometer.vi.
40No Borrar Esta Diapositiva
41Sección IV Bucles y Gráficas
- Bucle For
- Bucle While
- Gráficas
- Multiplots
42Bucles
- Bucle While
- Tiene un terminal de Iteración
- Siempre se ejecuta al menos una vez
- Finaliza la ejecución en función del terminal de
condición
- Bucle For
- Tiene un terminal de Iteración
- Se ejecuta tantas veces como indique el terminal
de conteo (N)
43Bucles (cont.)
- Seleccionar el bucle
- Encerrar código a repetir
While Loop
For Loop
44Gráficas
- Gráfica de forma de onda indicador numérico
especial que puede visualizar una historia de
valores - Controls gtgt Graphs gtgt Waveform Chart
45Cableando Datos a las Gráficas
46Ejercicio 3 Monitorizando Temperatura
- Construir Temperature Monitor.vi.
47Sección V Matrices y E/S de Archivos
- Construir matrices manualmente
- Dejar que LabVIEW construya matrices
automáticamente - Escribir a un archivo de hoja de cálculo
(spreadsheet) - Leer de un archivo de hoja de cálculo
(spreadsheet)
48Añadiendo una Matriz al Panel Frontal
- Desde la sub-paleta Controls gtgt Array and
Cluster, seleccionar Array Shell
Colocarlo en la pantalla
49Añadiendo una Matriz (cont.)
- Situar el objeto de datos dentro de la Matriz
(Ej. Control Numérico).
50Creando una Matriz con un Bucle
- Los Bucles generan Matrices en sus límites
51Creando Matrices Bidimensionales (2D)
52E/S de Archivos
- Manejo de Archivos
- Transferir datos a y desde archivos
- Los Archivos pueden ser binarios, texto u hojas
de cálculo
Escritura archivo hoja cálculo
Lectura archivo hoja cálculo
53E/S de Archivo
- Lectura/Escritura a archivo hoja de
cálculo - Lectura/Escritura de caracteres a archivo ASCII
- Lectura de líneas de archivo
- Lectura/escritura de archivos binarios
VIs sencillos de E/S a Archivo
54No Borrar Esta Diapositiva
55Ejemplo de E/S desde Archivo
Escribiendo una Matriz bidimensional (2D) a
archivo
56Ejemplo de E/S desde Archivo
Leyendo una Matriz bidimensional (2D) desde
archivo
57Ejercicio 4 Analizando y Guardando Datos
- Construir el VI Temperature Logger.vi
58Sección VI Funciones de Matrices y Gráficas
- Funciones Básicas de Matrices
- Uso de gráficas
- Crear Diagramas Múltiples con Gráficas
59Funciones de Matrices Básicas
60Funciones de Matrices Build Array
61Gráficas
- Seleccionados desde la Paleta de Controles del
Menú
- Gráfica de Forma de Onda (Waveform Graph)
Dibuja una matriz de números frente a sus índices - Gráfica XY (XY Graph) Dibuja una matriz frente
a otra - Gráfica de Forma de Onda Digital (Digital
Waveform Graph) Dibuja bits de datos binarios
62No Borrar Esta Diapositiva
63Graficas
Pulsar con el botón derecho en la gráfica y
seleccionar Properties para personalizar
64Ejercicio 5 Usando Gráficas de Forma de Onda
(Waveform)
65Sección VII Cadenas de Caracteres, Clusters,
y Gestión de Errores
- Cadenas de caracteres
- Creando Clusters
- Funciones de los Clusters
- Errores de E/S
66Cadenas de caracteres
- Una cadena es una secuencia de caracteres
visualizables o no (ASCII) - Múltiples usos visualización de mensajes,
control de instrumentos, E/S desde archivo - El control/indicador de cadenas se encuentra en
la subpaleta ControlsString
67Clusters
- Estructura de Datos que agrupa datos juntos.
- Los Datos pueden ser de diferentes tipos.
- Semejante a una estructura (struct) en C
- Los elementos deben de ser o todos Controles o
todos Indicadores - Se puede considerar como un conjunto de alambres
agrupados en un cable.
68Creando un Cluster
- 1. Seleccionar una plantilla de Cluster
- desde la subpaleta Array Cluster
2. Situar los objetos dentro de la plantilla
69Funciones de Cluster
- Situadas en la subpaleta Cluster de la paleta
Functions - También puede accederse con el botón derecho en
el termial del Cluster
(Las etiquetas de los terminales reflejan los
tipos de datos)
Agrupar (Bundle)
Agrupar por nombre (Bundle By Name)
70Funciones de Cluster
Separar (Unbundle)
Separar por nombre (Unbundle By Name)
Ejemplo de un Cluster separado (Unbundled cluster)
71Cluster de Error
- Los Cluster de Error contienen la siguiente
información - Boolean para indicar si ocurió algún error
- Integer para indicar códigos específicos de error
- String para dar información acerca del error
72Técnicas de Gestión de Errores
- La información de un Error es transmitida de un
subVI al siguiente - Si se produce un error en un subVI, todos los
subVIs siguientes no se ejecutan de la manera
usual - Los Clusters de Error contienen todas las causas
del error
Clusters de error
73Sección VIII Estrucutas Case y Secuencia
(Sequence) , Nodos Fórmula
74Estructura Case
- Situada en la subpaleta Structures de la paleta
Functions - Encerrar los nodos o arrastraslos dentro de la
estructura - Apilados como un conjunto de cartas, solo uno es
visible a la vez
75Ejercicio 6 Cluster de Error y su Manejo
76Estructura de Secuencia (Sequence)
- Situada en la subpaleta Structures de la paleta
Functions - Ejecuta diagramas secuencialmente, Frame 0
(0..x), donde x es el número total de cuadros
(frames) - Están apilados y solo un cuadro es visible a la
vez - Pulsar botón derecho del ratón para añadir un
nuevo cuadro
77Variables Locales en Secuencias
- Pasan datos de un cuadro (frame) a los siguientes
- Se crean en el borden de la estructura Secuencia
Datos disponibles cuadros siguientes
Local creado en cuadro 1
Datos no disponibles
78Nodos Formula
- Situados en la subpaleta Structures
- Implementan ecuaciones complejas
- Variables creadas en los bordes
- Nombres de variables sensibles a
mayúsculas/minúsculas - Cada declaración debe finalizarse con
- La ventana de Ayuda muestra funciones disponibles
Notar el punto y coma
79Sección IX Documentación e Impresión
- Imprimir desde el Menú File a impresora, HTML,
Fichero de Texto Enriquecido - Imprimir programáticamente Gráficas o Imágenes
del Panel Frontal - Documentar los VIs en VI Properties
Documentation Dialog - Añadir Comentarios usando etiquetas en el Panel
Frontal y Diagrama de Bloques
80Impresión
- File Print Disponibles muchas opciones de
impresión - Elegir la impresión del Icono, Panel Frontal,
Diagrama de Bloques, Jerarquía del VI, SubVIs
incluidos, Historia del VI - Print Panel.vi (Functions Application Control)
- Imprime programáticamente un Panel Frontal
- Generar e Imprimir Informes (Functions Report
Generation) - Buscar en Find Examples ejemplos de generación de
informes (Report Generation)
81Documentando VIs
- VI Properties Documentation
- Proporciona una descripción e información de
ayuda para el VI - VI Properties Revision History
- Monitoriza cambios entre diferentes versiones de
un VI - Individual Controls Description and Tip
- Hacer clic con el botón derecho del ratón para
proporcionar una descripción y ayuda (Description
and Tip Strip) - Utilizar la herramienta de etiquetado (Labeling
Tool) para documentar paneles frontales y
diagramas de bloques
82Sección X Arquitectura Básica de Programación
- Arquitectura de un VI sencillo
- Arquitectura de un VI General
- Arquitectura de Máquina de Estado
83Arquitectura de un VI sencillo
- VI funcional que produce resultados al ser
ejecutado - No tiene opciones para inicio (start) o fin
(stop) - Adecuado para pruebas de laboratorio, cálculos
- Ejemplo Convert C to F.vi
84Arquitectura de un VI General
- Tres pasos principales
- Inicio
- Aplicación principal
- Fin (Shutdown)
85Arquitectura de Máquina de Estado
- Ventajas
- Puede ir de un estado a cualquier otro
- Fácil de modificar y depurar
- Desventajas
- Pueden perderse eventos si dos ocurren al mismo
tiempo
Estados 0 Inicio (Startup) 1 Inactivo
(Idle) 2 Evento 1 3 Evento 2 4 Fin (Shutdown)
86Ejercicio 7 Máquina de Estado sencilla
87No Borrar Esta Diapositiva
88Section XI Paneles Frontales Remotos
- Observar y Controlar Paneles Frontales de LabVIEW
desde un Navegador en la Web - No requiere programación
- Los clientes remotos pueden ver en Tiempo Real
las actualizaciones del Panel Frontal - Múltiples clientes pueden Observar el Panel
Frontal Simultaneamente - Sólo un Cliente puede Controlar el Panel Frontal
a la vez
89Herrarmienta para Publicar un Panel Remoto en la
Web
- Tools Web Publishing Tool
- Clic en Save to Disk y el VI es embebido en un
archivo HTML - Después de guardarlo, puede reabrirse y
personalizarse en cualquier editor HTML
90Panel Frontal Remoto - Recursos
- NI Developer Zone (zone.ni.com)
- Buscar Remote Front Panel
- Tutoriales e Instrucciones disponibles para
descargar - Información para poder incorporar una cámara Web
en Aplicaciones con Panel Remoto
91Sección XII Temas Adicionales
- Nodos de Propiedades (Property Nodes)
- Variables Locales
- Variables Globales
- DataSocket
- E/S Archivos Binarios
92Qué hacer ahora?
- Ejemplos de Programas (Help Find Examples)
- LabVIEW Edición de Estudiantes (www.ni.com/labview
se) - Recursos Web (ni.com)
- Zona de Desarrollo NI (zone.ni.com)
- Notas de Aplicación
- Grupos de noticias LabVIEW (www.info-labview.org/)
- Biblioteca de Drivers de Instrumentos
(www.ni.com/idnet)