1
Entorno de programación LabVIEW
Objetivos
• Comprender los componentes de un InstrumentoVirtual
• Introducir LabVIEW y las funciones más habituales• Crear aplicaciones simples• Crear subrutinas en LabVIEW
¿Qué es LabVIEW?• LabVIEW es el entorno de programación gráfico de National
Instruments• Con LabVIEW es posible:
– Controlar instrumentos (GPIB, VXI, ...)– Controlar tarjetas de adquisición de datos (NIDAQ)– Controlar, monitorizar y supervisar procesos (DSC, cliente OPC)– Controlar motores (ValueMotion, FlexMotion)– Etc.
• Es un lenguaje de programación multiplataforma (windows, Mac OS, SUN, HP-UX), modular y orientado a objetos
Sección I
• Términos de LabVIEW• Componentes de una aplicación en LabVIEW• Herramientas de programación en LabVIEW• Creación de una aplicación en LabVIEW
2
Panel FrontalControles = EntradasIndicadores = Salidas
Diagrama de Bloques“Programa” asociado al
panel frontalLos componentes se
“cablean”
Los programas de LabVIEW se llamanInstrumentos Virtuales (VIs)
ControlBooleano
IndicadorDouble
Waveform Graph
Barra de herr. del PanelPanel Frontal del VI
Diagrama de Bloques del VI
Constante numérica
Terrminaldel termómetro
Llamadaa un subVI
Bucle While(While Loop)
KnobTerminal
Terminal delBotón de Stop
Terminal deFin del bucle
Grafico de Temperatura
Tipos de datos en LabVIEW
3
Paletas de Controles y Funciones
Paletas Gráficasflotantes
Usadas para ponercontroles/indicadoresen el PF o construir el DB
Paleta de Controles(Ventana PF)
Paleta de Funciones(Ventana DB)
Operating Tool
Positioning/Resizing Tool
Labeling Tool
Wiring Tool
Shortcut Menu Tool
• Paleta flotante• Para modificar objetos del PF
y el DB:
Scrolling Tool
Breakpoint Tool
Probe Tool
Color Copy Tool
Coloring Tool
Paleta de Herramientas (Tools Palette)
Automatic Selection Tool
Run Button
Continuous Run Button
Abort Execution
Pause/Continue Button
Text Settings
Align Objects
Distribute Objects
Reorder
Execution Highlighting Button
Step Into Button
Step Over Button
Step Out Button
Additional Buttons on the Diagram Toolbar
Barra de Estado
Tank Simulation.vi
Help » Find Examples…Browse >> Task» Industry Applications
» Process Control» Tank Simulation.vi
» Analysis» Temperature System Demo
Abrir y ejecutar un Instrumento Virtual (VI)
4
TerminalesDe Controles
Diagrama de Bloques:
Panel Frontal:
Terminales deIndicadores
Crear un VI Crear un VI – Diagrama de Bloques
• Tras crear los controles e indicadores del PF, cambiar el DB <Ctrl-E>
• Mover los objetos del PF usandoPosition/Size/Select Tool
• Poner las funciones en el DB• Cablear los terminales para completar el diagrama
Trucos de cableado – Block DiagramPunto de Cableado
Pinchar mientras se cablea para fijar lineaEspacio: cambia orientación
Pincha para seleccionar cables
Ayuda
De contexto (Context Help)• Ayuda Online• Bloquear ayuda• Diagrama F. simple/completo• Ctrl + H
Online reference• Botón derecho en DB para acceder ayuda online directamente
5
Técnicas para depurar• Buscar errores
• Mostrar Ejecución (Execution Highlighting)
• Sonda (Probe)
Pulsar en el botón Run partidoAparece la ventana de errores
Pulsar en la botón de la bombilla; el flujo de datos se anima usando burbujas. Se muestran los valores en los cables.
Pulsar botón derecho ratón en la linea a mostrar sonda. Muestra los datos en esesegmento
La sonda se puede seleccionar del Panel de herramientas y ponerla en un cable
Flujo de datos en los programas
• El DB NO se ejecuta de izquierda a derecha• Los nodos se ejecutan cuando los datos están
disponibles en TODOS los terminales de entrada• Cuando terminan, los nodos proporcionan datos a
todos los terminales de salida
Guardar el VI
• Elegir un lugar fácil de recordar (Mis Documentos->Comunicaciones->grupo1X
• Organizar por funcionalidad– Guardar VIs similares en un directorio (p.e. Math Utilities)
• Organizar por aplicación– Guardar todos los VIs utilizados para una aplicación en
un directorio o fichero de librería• Las librerías (.llbs) combinan varios VIs en un solo fichero: se
ahorra espacio y facilita la portabilidad de aplicaciones
Objetos numéricos y booleanos
• Numéricos (U8, U16, U32, I8, I16, I32, SGL, DBL, EXT)– Representan un número.– Se puede modificar su rango,
representación y resolución (menúcontexto >> Representation, Data Range…, Format & Precision…
• Booleanos:– Su contenido es un booleano.– Se puede modificar su comportamiento
mecánico (interruptor, pulsador, latch …)
6
Anillos y listas
Asocian valores numéricos con textos, figuras, o ambos• Anillos (Text/Menu/Pict ring)
– Para selección de elementos mutuamente excluyentes (solo se visualiza el seleccionado
– Se pueden asociar figuras a los elementos• Tipos enumerados
– Iguales a los anillo, pero indicados para conectar a estructuras Select Case
Ejercicio 1 - Convertir °C to °F
Sección II – SubVIs
• Qué es un subVI?• Crear un icono y
conector para un subVI• Usar un VI como subVI
SubVIs
• Un subVI es un VI que se puede usardentro de otro VI
• Ventajas– Modular– Fácil de depurar– No hay que volver a crear código– Requiere menos memorira
7
Icono y Conector
• El icono representa al VI dentro de otro DB
• El conector muestra los terminalesdisponibles para transferencia de datos
Icon
Connector
Terminals
SubVIs
SubVIsSubVIs
Pasos para crear un SubVI
• Crear el Icono• Crear el Conector• Assignar Terminales• Guardar el VI• Insertar el VI en otro de nivel superior
Crear el Icono• Click con botón derecho del ratón en el icono (en DB
o PF, esquina superior derecha) >> Edit Icon
8
Crear el ConectorClick botón derecho en el icono (solo PF)
Asignar Terminales
Insertar el SubVI en otro VI
Para acceder a VIs de usuario (DB):Functions >> Select a VI
O bienArrastrar el icono en el DB destino
Trucos para trabajar en LabVIEW• Atajos de teclado
– <Ctrl-H> – Activate/Desactiva ayuda de contexto– <Ctrl-B> – Elimina cables rotos del DB– <Ctrl-E> – Cambia entre DB - PF– <Ctrl-Z> – Undo
• Tabulador – Cambia herramienta• Tools » Options… – Establece preferencias en LabVIEW
• VI Properties – Configura apariencia del VI, Documentación, etc.
9
Sección III – Bucles y Gráficos
• For Loop• While Loop• Charts• Multiplots
Bucles• While
– Tienen un terminal de iteración– Siempre se ejecutan una vez– Continua según condición de en
Terminal de continuación
• For – Tienen terminal de iteración– Se ejecuta N veces (según
entrada N)
Bucles (cont.)
For Loop
1. Seleccionar el bucle2. Incluir código a
repetir
GráficosWaveform chart – indicador numérico
especial que muestra un histórico de valores
Controls >> Graphs >> Waveform Chart
10
Cableado de datos en gráficos
Traza simple Traza múltiple
Ejercicio 2 – Monitorizar TemperaturaCrear un monitor de
temperatura: Monitor.vi.
Sección IV – Arrays y Ficheros• Crear arrays manualmente• Dejar que LabVIEW los cree automáticamente• Escribir a un fichero de hoja de cálculo• Leer de un fichero de hoja de cálculo
Como añadir un Array al PFDe la paleta Controls >> Array and Cluster, seleccionar el Array Shell
Soltar en el PF
11
Añadir un Array (cont.)
• Poner objeto en el contenedor (p.e. control digital)
Creación de arrays con bucles• Los bucles acumulan arrays en sus bordes (indexado)
Creación de Arrays 2D Ficheros
•Leer/escribir a una hojade cálculo
•Leer/escribir caracteresa un fichero (ASCII)
•Leer líneas de un fichero
•Leer/escribir ficherobinarios
VIsVIs sencillossencillosparapara FicherosFicheros
12
Ejemplo escritura en ficheros
Escribir un Array 2D a un fichero
Ejemplo de lectura de ficheros
Leer un Array 2D de un fichero
Ejercicio 4 – Analizar y registrar datosConstruir un registrador de
temperatura
Section V – Funciones de Array y gráficos
• Funciones básicas con arrays• Uso de los gráficos• Creación de gráficos múltiples
13
Funciones de Arrays - Básicas Funciones de Arrays – Construir un Array
Gráficas• Seleccionar de la paleta Graph del menú de controles
–Waveform Graph –representa un array de números/índices–XY Graph – representa un array frente a otro array–Digital Waveform Graph –Representa bits de datosbinarios
Gráficos
•Pulsar botón derecho ratón para personalizar
14
Ejercicio 5 – Usar Waveform Graphs Section VI – Cadenas de caracteres, Clusters, y Manejo de errores
Cadenas de caracteres (Strings)• Un string es una secuenca de caracteres imprimibles y no
imprimibles (ASCII)• Usos: mostrar mensajes, control de instrumentos, I/O ficheros• Control/indicador tipo String en Controls»String• Botón derecho: representación (normal, Hex, \codes, ***)
Clusters
• Estructura que agrupa datos juntos• Los datos pueden ser de diferentes tipos• Análogo a struct in C• Los elementos deben ser todos controles o todosindicadores
• Similar a conductores empaquetados en un cable
15
Creación de un Cluster1. Seleccionar Cluster de la
subpaleta Array & Cluster2. Situar objetos dentro
Funciones con Clusters• Están en la subpaleta Cluster de la paleta de
funciones• También se puede acceder con botón derecho de
ratón en el terminal de tipo cluster
Bundle
(Las etiquetas del terminal indican el tipode datos)
Bundle By Name
Funciones de Cluster
Unbundle
Unbundle By Name
Unbundled cluster in the diagram
Clusters de Error• Un cluster de error contiene la siguienteinformación:–Boolean indica que ha ocurrido un error–Integer indica el código de error–String da información sobre el error
16
Técnicas de Manejo de Errores• La información de error se pasa de un subVI al siguiente
• Si ocurre un error en un subVI, todos lo siguientesno se ejecutan en su forma habitual
• Los Clusters de error contienen las condiciones de error
error clusters
Section VII – Estructuras Case y Sequence, Formula Nodes
Estructuras Case• En subpaleta Structures dentro de paleta de funciones• Envolver objetos o arrastrarlos dentro de la estructura• Apilados como baraja de cartas; solo un caso visible
Ejercicio 6 – Clusters de Error y su manejo
17
Secuencias (Sequence)• En subpaleta Structures de paleta de funciones• Ejecuta diagramas secuencialemte, Frame 0 (0..x), donde x es el nº total de frames
• Apiladas: solo un frame visible
Sequence Locals• Pasan datos de un frame a los siguientes• Se crea al borde de la estructura con botónderecho del ratón (create Sequence Local)
Sequence local created in Frame 1
Data notavailable
Data available
Formula Nodes• En la subpaelta Structures• Para implementar ecuaciones complejas• Las bariables se crean en el borde (botón dcho)• Nombres de variables sensibles a mayúsculas• Cada línea debe terminar en punto y coma (;)• La ayuda de contexto muestra las funcionesdisponibles
Punto y coma
Section VIII – Impresión y Documentación
• Imprimir desde menú File a impresora o fichero HTML o RTF
• Documentar VIs en VI Properties » Documentation• Añadir comentarios usando etiquetas en PF y DB
18
Impresión
• File » Print… da muchas opciones de impresión– Elige imprimir el icono, PF, DB, jerarquía de VIs, etc.
• Print Panel.vi (Functions » Application Control) Imprime un PF desde el programa
• Generate & Print Reports (Functions » Report Generation)– Buscar en ejemplos para la generación de informes
Documentación de los VIs
• VI Properties » Documentation– Proporcionar una descripcion y ayuda para el VI
• VI Properties » Revision History- Seguimiento de cambios entre versiones del VI
• Individual Controls » Description and Tip…– Botón derecho para dar descripción y etiqueta amarilla
• Usar la herramienta de texto para Documentar el PF y DB
Section IX – Arquitecturas básicas de programación
• Arquitectura simple• Arquitectura General• Arquitectura de máquina de estados
Arquitectura Simple
• VI que pruduce resultados cuando se ejecuta–No hay opción de incio o fin–Adecuado para pruebas o cálculos
• Ejemplo: Convertir C to F.vi
19
Arquitectura General
• Tres pasos principales– Inicialización (Start)– Aplicación principal– Finalización (STOP)
Arquitectura de Máquina de Estados• Ventajas
– Puede ir de un estado a otro cualquiera– Fácil de modificar y depurar
• Inconvenientes– Se pueden perder eventos si dos
ocurren simultáneamenteEstados:0: Startup1: Idle2: Evento 13: Evento 24: Shutdown
Exercise 7 – Máquina de estado simple Section X – Paneles Frontales Remotos
• Permite ver y controlor un PF de LabVIEW desde un navegador Web
• No requiere programación• Los clientes remotos ver el PF animado• Varios clientes pueden ver el mismo PF simultáneamente
• Sólo uno de los clientes puede controlar el PF
20
Herramienta de publicación Web de PanelesRemotos (Remote Panel Web Publishing Tool)•Tools » Web Publishing Tool…
•Pulsar Save to Disk y el VI se integra en un fichero Html •Tras guardarlo se puede volver a abrir y personalizar en cualquier editor de html
Paneles frontales remotos - Recursos
• NI Developer Zone (zone.ni.com)– Buscar: “Remote Front
Panel”– Se pueden descargar
tutoriales e instrucciones– Información para incorporar
cámaras Web en aplicaciones de panel remoto
Section XI – Temas adicionales
• Nodos de propiedad (Property Nodes)• Variables locales (Local Variables)• Variables globales (Global Variables)• DataSocket• Ficheros binarios
A dónde ir ahora?
• Programas ejemplo (Help» Find Examples…)• LabVIEW Student Edition (www.ni.com/labviewse)• Recursos Web (ni.com)
– NI Developer Zone (zone.ni.com)– Application Notes – Info-labview newsgroup (www.info-labview.org/)– Instrument Driver Library (www.ni.com/idnet)
Top Related