Sie sind auf Seite 1von 84

Instrumentación virtual con

LabVIEW
Objetivos del curso
• Entender los componentes de un instrumento
virtual
• Conocer las funciones comunes de LabVIEW
• Construir aplicaciones
• Crear subrutinas
• Trabajar con arreglos, clusters y estructuras
• Aprender a documentar VIs
• Desarrollar arquitecturas de programación básicas
Sección I
• Términos de LabVIEW
• Componentes de una aplicación de
LabVIEW
• Herramientas de programación de
LabVIEW
• Creando una aplicación de LabVIEW
Programas de LabVIEW son
Instrumentos Virtuales (VIs)
• Panel Frontal
– Controles = Entradas
– Indicadores = Salidas
• Diagrama de Bloques
– Complementos de programación del panel
frontal
– Conectan los componentes
Panel Frontal
Barra de
herramientas Icono

Graph
Controles Legend

Waveform
Graph
Scale
Plot Legend
Legend
Diagrama de bloques
Función
matemática
Barra de
herramientas
Graph
terminal
SubVI

Conexión
de datos
Estructura
While Loop Contante Función de Control
tiempo
Express VIs, VIs y Funciones
• Express VIs: VIs interativos con diálogo
para configurar.
• VIs estándar: VIs modularizados
personalizado por conexión.
• Funciones: elementos operativos
fundamentales de LabVIEW. No contienen
panel frontal o diagrama de bloques.
Espress VIs, VIs y funciones

Express VI Standard VI

Function
Paleta de controles y funciones
• Paleta de controles :
Ventana del panel
frontal
• Paleta de funciones:
Ventana del diagrama
de bloques
Paleta de herramientas
• Paleta flotante utilizada para
operar y modificar objetos del
panel frontal y del diagrama de
bloques.
– Automatic selection tool
– Operating tool
– Positioning/Resizing tool
– Labeling tool
– Wiring tool
– Shortcut Menu tool
– Scrolling tool
– Breakpoint tool
– Probe tool
– Color Copy tool
– Coloring tool
Status Toolbar
• Run
• Continuous run
• Abort
• Pause/Continue
• Text settings
• Align objects
• Distribute objects
• Reorder
• Resize front panel objects
Botones adicionales en la barra de
herramientas del diagrama de boques
• Execution
Highlighting
• Step into
• Step over
• Step out
Abrir y ejecutar un instrumento
virtual

Example finder
Crear un VI

Panel frontal Diagrama de bloques

Controles Indicadores
Crear un VI - Diagrama de bloques
Tips para conexión – Diagrama de
bloques
Selección de conexiones

Conexión
automática Limpieza de conexiones
Programación basada en flujo de
datos
• Los bloques no se ejecutan
por su colocación en el
diagrama de bloques.
• Los nodos se ejecutan
cuando los datos están
disponibles en todas las
terminales.
• La información en las
terminales de salida está
disponible cuando se ha
ejecutado el nodo.
Opciones de ayuda
• Ayuda contextual
– Online
– Lock
– Simple/Complex
Diagram
– Ctrl + H
• Referencia en línea
Ejercicio 1
• Convertir °C a °F
Técnicas de depuración
• Mostrar errores
– El botón de ejecución con la
flecha rota mostrará la lista de
errores.
• Resaltar la ejecución
– El flujo de datos es animado
utilizando burbujas. Los
valores son indicados en las
conexiones.
• Puntos de prueba
– Mostrar los datos que pasan en
el segmento de conexión. Se
selecciona con el botón
derecho o en la paleta de
herramientas.
Sección II - SubVIs
• ¿Qué es un subVI?
• Realizar un icono y conector para un subVI
• Utilizar un VI como un subVI
SubVIs
Nodos de diagrama de bloques
• Función Generator Nodo
comprimido
• Mismo VI, tres
Icono
diferentes formas de
presentación
• Bloque amarillo para
VI estándar
• Bloque azul para VI
Express
Nodo
expandido
SubVIs
• Un subVI es un VI que puede ser utilizado
dentro de otro VI
• Similar a una subrutina
• Ventajas
– Modular
– Fácil de depurar
– No se tiene que rehacer código
– Requiere menos memoria
Icono y conector
• Un icono representa
un VI en un diagrama
de bloques Icono

• Un conector presenta
las terminales
Conector
disponibles para la
transferencia de datos
Terminales
SubVIs
Pasos para crear un SubVI
• Crear el icono
• Crear el conector
• Asignar las terminales
• Guardar el VI
• Insertar el VI dentro de un VI de nivel
superior
Crear el icono
• Utilizar el botón
derecho sobre el icono
en el diagrama de
bloques o en el panel
frontal
Crear el conector
• Utilizar el botón derecho sobre el icono en el
panel frontal
Asignar terminales
Guardar el VI
• Seleccionar una localidad fácil de recordar
• Organizar por funcionalidad
– Guardar VIs similares dentro de un directorio (por
ejemplo Funciones Matemáticas)
• Organizar por aplicación
– Guardar todos los VIs utilizados para una aplicación
específica dentro de un directorio o archivo de librería
(por ejemplo Lab 1 – Respuesta de frecuencia)
• Archivos de librería (.llbs) combinan muchos VIs dentro de un
archivo, útil para transferir aplicaciones enteras a través de
computadoras
Insertar el SubVI dentro de un VI de
nivel superior
• Utilizar la opción de
seleccionar un subVI
de usuario
– Functions>>All
Functions>>Select a
VI
• Arrastrar el icono al
diagrama de bloques
del VI de nivel
superior
Tips de LabVIEW
• Teclas de acceso rápido
– Ctrl-H Activar/Desactivar la ayuda contextual
– Ctrl-B Remover conexiones rotas del diagrama de
bloques
– Ctrl-E Cambiar del diagrama de bloques al panel frontal
y viceversa
– Ctrl-Z Deshacer
• Tools>>Options Configurar preferencias en
LabVIEW
• VI Properties Configurar la apariencia,
documentación, etc. del VI
Sección III – Ciclos y Gráficas
• Ciclo For
• Ciclo While
• Gráficas
• Multiplots
Ciclos
• Ciclos While
– Tienen una Terminal de
iteración
– Por lo menos se ejecutan
una vez
– Se ejecutan de acuerdo a
una Terminal condicional
• Ciclos For
– Tienen una Terminal de
iteración
– Se ejecutan de acuerdo a la
entrada N de la Terminal de
conteo
Ciclos
• Seleccionar el ciclo
• Encerrar con el ciclo
el código cuya
ejecución debe ser
repetida
• Colocar nodos
adicionales y
conectarlos
Gráficas
• Waveform chart:
indicador numérico
especial que despliega
una historia de valores
– Controls>>Graph
Indicators>>Waveform
Chart
Conectando datos dentro de gráficas
Multiplot Charts
Single Plot Charts
Ejercicio 3 – Utilizando ciclos
Ejercicio 3-1 Auto Match VI
• Generar números aleatorios hasta que el
número generado iguale un número
específico.
Sección IV – Arreglos y Archivos

• Construir arreglos manualmente


• Obtener arreglos construidos por LabVIEW
automáticamente
• Escribir a una hoja de cálculo
• Leer de una hoja de cálculo
Agregar un arreglo al panel frontal
• Controls>>All Controls>>Array & Cluster>>Array
Agregar un arreglo
• Colocar el tipo de dato que contendrá el arreglo
(por ejemplo un control numérico)
Crear un arreglo con un ciclo
• Los ciclos acumulan arreglos en sus límites
Crear arreglos 2D
Archivos
• Pasar datos desde y hacia archivos
– Archivos pueden ser binarios, texto u hojas de cálculo
• Leer/Escribir archivos de mediciones de LabVIEW
(*.lvm)
Escribir archivos de mediciones de
LabVIEW
• Incluye funciones de
apertura, escritura, cierre y
manejo de errores.
• Maneja formatos de
cadena de caracteres con
delimitadores de tab o
coma.
• Función de Merge Signals
para combinar datos
dentro de tipos de datos
dinámicos.
Ejercicio 4 – Analizar y registrar
datos
Sección V – Funciones de arreglos y
gráficas
• Funciones de arreglos básicas
• Uso de gráficas
• Crear multiplots con gráficas
Funciones de arreglos básicas
• Functions>>All Functions>>Array
Build Array
Polimorfismo
• Las funciones numéricas son polimórficas,
ya que las entradas pueden ser de diferentes
estructuras de datos (escalares, arreglos).
• Ejemplo: Utilizar la función de suma para
adicionar un escalar a un arreglo o sumar
dos arreglos.
Ejercicio 4-1 Arreglos
• Crear un arreglo de números aleatorios,
escalar el arreglo resultante, y tomar un
suconjunto del arreglo final.
Resumen de Arreglos
• Arreglos agrupan elementos del mismo tipo.
• El índice del arreglo es con base cero (0 a n−1, donde n es el número
de elementos en el arreglo).
• Se debe insertar un objeto en el arreglo antes de utilizarlo en el
diagrama de bloques.
• Una conexión de arreglo a la entrada de un ciclo For es auto-indexada
por default.
• Una conexión de arreglo a la entrada de un ciclo While no es auto-
indexada por default.
• Las funciones de crear y manipular arreglos se encuentran en
Functions>>Programming>>Array.
• Polimorfismo es la habilidad de una función para permitir en sus
entradas datos de diferentes estructuras.
Ejercicios adicionales de arreglos
• Invertir el orden de un arreglo
• Acumular valores de temperatura
• Generar un arreglo de dos dimensiones
Gráficas
• Controls>>All Controls>>
Graphs
– Waveform Graph – grafica
un arreglo de números con
sus índices
– Express XY Graph – grafica
un arreglo con otro
– Digital Waveform Graph –
grafica bits de datos
binarios
Gráficas

Personalización modificando las propiedades


Ejercicio 5 – Utilizando Waveform
Graphs
Sección VI – Strings, Clusters y
Error Handling
• Strings
• Crear Clusters
• Funciones de Clusters
• Error I/O
Strings
• Un string es una secuencia de caracteres (ASCII).
• Usos: despliegue de mensajes, transmisión de datos,
archivos I/O.
• Controls>>Text Control
• Controls>>Text Indicator
Clusters
• Estructura de datos
• Los datos pueden ser de diferente tipo
• Análogos a las estructuras de C
• Los elementos deben ser todos controles o
todos indicadores
• El conjunto de conexiones es agrupada en
un cable
Crear un cluster
• Seleccionar un contenedor de cluster
– Controls>>All controls>>Array & Cluster
• Colocar los objetos dentro del contenedor
Funciones de cluster
• Functions>>All functions>>Cluster
• Las etiquetas de las terminales muestran el tipo de
dato

Bundle

Bundle By Name
Funciones de cluster

Unbundle

Unbundle By Name

Unbundled cluster
in the diagram
Error Clusters
• Contiene un dato boolean para reportar que ocurrió un error
• Contiene un valor entero para reportar un código de error
específico
• Contiene un string para proporcionar información acerca del
error
Técnicas de manejo de errores
• Pasar información de un subVI a otro
• Si un error ocurre en un subVI, ejecutar código en
consecuencia
• Los clusters de error contienen todas las condiciones de error
• Manejo automático de error

Clusters de error
Sección VII – Estructuras Case y de
secuencia, Nodos de fórmula
Estructuras Case
• Functions>>Programming>>Structures>>Case
• Encerrar los nodos o colocarlos dentrol de la
estructura
• Sólo un caso es visible ya que se encuentran
apilados
Ejercicio 6 – Cluster y manejo de
error
Ejercicio 6-1 Raíz cuadrada
• Utilizar la estructura Case
Estructuras de secuencia
• Functions>>Programming>>Secuence Structure
• Ejecuta en forma secuencial el diagrama
Nodos de fórmula
• Insertar ecuaciones complicadas
• Las variables se crean en el borde del nodo
• Los nombre de variables son diferentes en mayúsculas y
minúsculas
• Todas las sentencias deben terminar con punto y coma (;)
• La ayuda contextual presenta funciones disponibles
Ejercicio 6-2 Nodo de Formula
• Utilizar el nodo de formula en un VI.
Sección VIII – Impresión y
documentación
• Imprimir desde el menú File a impresora,
documento HTML, archivo de texto enriquecido
• Imprimir con programación gráficas o imágenes
del panel frontal
• Documentar VIs en el diálogo de documentación
de las propiedades
– Properties>>Documentation
• Agregar comentarios utilizando etiquetas en el
panel frontal y el diagrama de bloques
Impresión
• File>>Print
– Escoger imprimir el icono, panel frontal, diagrama de
bloques, estructura jerárquica del VI, subVIs incluidos,
historia del VI
• Generar e imprimir reportes
– Functions>>Express>>Output>>Report
Documentar VIs
• VI Properties>>Documentation
– Colocar una descripción e información de ayuda para el
VI
• VI Properties>>Revision History
– Rastrear cambios entre versiones de un VI
• Description and Tip
– Proporcionar descripción y tooltip para controles
individuales
• Etiquetas para documentar panel frontal y
diagrama de bloques
Sección IX – Arquitectura de
programación básica
• Simple VI
• VI general
• Máquina de estados
Arquitectura VI Simple
• VI funcional que produce resultados cuando se ejecuta
– No contiene opciones de inicio y detener
– Útil para probar
– Ejemplo: Convert C to F.VI
Arquitectura VI General
• Inicio
• Aplicación principal
• Fin
Arquitectura Máquina de Estados
• Ventajas
– Puede ir de un estado a otro
– Fácil de modificar y depurar
• Desventajas
– Puede perder eventos si dos ocurren al mismo tiempo

Estados:
0: Startup
1: Idle
2: Evento 1
3: Evento 2
4: Shutdown
Ejercicio 7 – Máquina de estados
simple
Sección X – Paneles frontales
remotos
• Ver y controlar paneles frontales de LabVIEW
desde un navegador de Web
• No requiere programación
• Clientes remotos ven actualizaciones del panel
frontal
• Múltiples clientes pueden ver el mismo panel
simultáneamente
• Sólo un cliente puede controlar el panel frontal
Herramienta de publicación web de
panel remoto
• Tools>>Web Publishing
Tool…
• Al seleccionar Save to
Disk el VI es embebido en
un archivo HTML
• Después de guardar, la
página web puede
personalizarse utilizando
cualquier editor HTML
Sección XI – Recursos adicionales
• NI Developer Zone
– zone.ni.com
• Example programs
– Help>>Find Examples
• LabVIEW Student Edition
– Ni.com/labviewse
• Web resources
– ni.com
– www.info-labview.org

Das könnte Ihnen auch gefallen