You are on page 1of 20

Objetivos

• Comprender los componentes de un Instrumento Virtual • Introducir LabVIEW y las funciones más habituales • Crear aplicaciones simples • Crear subrutinas en LabVIEW

Entorno de programación 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.

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

• Es un lenguaje de programación multiplataforma (windows, Mac OS, SUN, HP-UX), modular y orientado a objetos

1

Los programas de LabVIEW se llaman Instrumentos Virtuales (VIs)
Panel Frontal Controles = Entradas Indicadores = Salidas Diagrama de Bloques “Programa” asociado al panel frontal Los componentes se “cablean”

Panel Frontal del VI

Barra de herr. del Panel

Control Booleano

Indicador Double

Waveform Graph

Diagrama de Bloques del VI

Tipos de datos en LabVIEW

Llamada a un subVI

Terrminal del termómetro

Knob Terminal

Grafico de Temperatura

Constante numérica

Bucle While (While Loop)

Terminal del Botón de Stop

Terminal de Fin del bucle

2

vi » Analysis » Temperature System Demo 3 .vi  Help » Find Examples…  Browse >> Task » Industry Applications » Process Control » Tank Simulation.Paletas de Controles y Funciones Paleta de Controles (Ventana PF) Paleta de Herramientas (Tools Palette) • Paleta flotante • Para modificar objetos del PF y el DB: 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 Paleta de Funciones (Ventana DB) Paletas Gráficas flotantes Usadas para poner controles/indicadores en el PF o construir el DB Barra de Estado 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 Abrir y ejecutar un Instrumento Virtual (VI) Tank Simulation.

simple/completo Ctrl + H Espacio: cambia orientación Pinchar mientras se cablea para fijar linea Online reference • Botón derecho en DB para acceder ayuda online directamente 4 . cambiar el DB <Ctrl-E> • Mover los objetos del PF usando Position/Size/Select Tool • Poner las funciones en el DB • Cablear los terminales para completar el diagrama Diagrama de Bloques: Terminales De Controles Terminales de Indicadores Trucos de cableado – Block Diagram Punto de Cableado Pincha para seleccionar cables Ayuda De contexto (Context Help) • • • • Ayuda Online Bloquear ayuda Diagrama F.Crear un VI Panel Frontal: Crear un VI – Diagrama de Bloques • Tras crear los controles e indicadores del PF.

llbs) combinan varios VIs en un solo fichero: se ahorra espacio y facilita la portabilidad de aplicaciones • Booleanos: – Su contenido es un booleano. I16. Data Range…. el flujo de datos se anima usando burbujas. SGL. – Se puede modificar su rango. U16. • Sonda (Probe) Pulsar botón derecho ratón en la linea a mostrar sonda. Math Utilities) Objetos numéricos y booleanos • Numéricos (U8. U32. los nodos proporcionan datos a todos los terminales de salida • Mostrar Ejecución (Execution Highlighting) Pulsar en la botón de la bombilla. I8.e. I32. pulsador. EXT) – Representan un número. Muestra los datos en ese segmento La sonda se puede seleccionar del Panel de herramientas y ponerla en un cable Guardar el VI • Elegir un lugar fácil de recordar (Mis Documentos>Comunicaciones->grupo1X • Organizar por funcionalidad – Guardar VIs similares en un directorio (p. latch …) 5 .Técnicas para depurar • Buscar errores Pulsar en el botón Run partido Aparece la ventana de errores 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. – Se puede modificar su comportamiento mecánico (interruptor. Format & Precision… • Organizar por aplicación – Guardar todos los VIs utilizados para una aplicación en un directorio o fichero de librería • Las librerías (. Se muestran los valores en los cables. DBL. representación y resolución (menú contexto >> Representation.

figuras. pero indicados para conectar a estructuras Select Case Sección II – SubVIs SubVIs • Un subVI es un VI que se puede usar dentro de otro VI • Ventajas • Qué es un subVI? • Crear un icono y conector para un subVI • Usar un VI como subVI – Modular – Fácil de depurar – No hay que volver a crear código – Requiere menos memorira 6 .Anillos y listas Asocian valores numéricos con textos.Convertir °C to °F • Tipos enumerados – Iguales a los anillo. 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 Ejercicio 1 .

Icono y Conector SubVIs Icon Terminals • El icono representa al VI dentro de otro DB • El conector muestra los terminales disponibles para transferencia de datos SubVIs Connector 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 7 .

Documentación.PF – <Ctrl-Z> – Undo • Tabulador – Cambia herramienta • Tools » Options… – Establece preferencias en LabVIEW • VI Properties – Configura apariencia del VI. etc.Crear el Conector Click 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 bien Arrastrar 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 . 8 .

Incluir código a repetir Gráficos Waveform chart – indicador numérico especial que muestra un histórico de valores Controls >> Graphs >> Waveform Chart For Loop 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. Seleccionar el bucle 2.) 1.

seleccionar el Array Shell Soltar en el PF 10 . 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 PF De la paleta Controls >> Array and Cluster.vi.Cableado de datos en gráficos Traza simple Traza múltiple Ejercicio 2 – Monitorizar Temperatura Crear un monitor de temperatura: Monitor.

) • Poner objeto en el contenedor (p. control digital) Creación de arrays con bucles • Los bucles acumulan arrays en sus bordes (indexado) Creación de Arrays 2D Ficheros VIs sencillos para Ficheros •Leer/escribir a una hoja de cálculo •Leer/escribir caracteres a un fichero (ASCII) •Leer líneas de un fichero •Leer/escribir fichero binarios 11 .e.Añadir un Array (cont.

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 datos Construir 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 12 .

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 datos binarios Gráficos •Pulsar botón derecho ratón para personalizar 13 .

Ejercicio 5 – Usar Waveform Graphs Section VI – Cadenas de caracteres. Hex. \codes. I/O ficheros • Control/indicador tipo String en Controls»String • Botón derecho: representación (normal. control de instrumentos. y Manejo de errores Cadenas de caracteres (Strings) • Un string es una secuenca de caracteres imprimibles y no imprimibles (ASCII) • Usos: mostrar mensajes. ***) 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 todos indicadores • Similar a conductores empaquetados en un cable 14 . Clusters.

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 (Las etiquetas del terminal indican el tipo de datos) Bundle Bundle By Name Funciones de Cluster Unbundle Clusters de Error • Un cluster de error contiene la siguiente información: –Boolean indica que ha ocurrido un error –Integer indica el código de error –String da información sobre el error Unbundle By Name Unbundled cluster in the diagram 15 .Creación de un Cluster 1. Seleccionar Cluster de la subpaleta Array & Cluster 2.

Formula Nodes error clusters 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 16 . todos lo siguientes no se ejecutan en su forma habitual • Los Clusters de error contienen las condiciones de error Section VII – Estructuras Case y Sequence.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.

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ón derecho del ratón (create Sequence Local) Data not available Sequence local created in Frame 1 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 (.Secuencias (Sequence) • En subpaleta Structures de paleta de funciones • Ejecuta diagramas secuencialemte.) • La ayuda de contexto muestra las funciones disponibles 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 17 .x).. Frame 0 (0.

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 (Functions » Application Control) Imprime un PF desde el programa • Generate & Print Reports (Functions » Report Generation) – Buscar en ejemplos para la generación de informes • VI Properties » Revision History . jerarquía de VIs. etc. DB.vi 18 . PF.Impresión • File » Print… da muchas opciones de impresión – Elige imprimir el icono. Documentación de los VIs • VI Properties » Documentation – Proporcionar una descripcion y ayuda para el VI • Print Panel.

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 – Se pueden perder eventos si dos ocurren simultáneamente Estados: 0: Startup 1: Idle 2: Evento 1 3: Evento 2 4: Shutdown • Inconvenientes 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 19 .

Recursos • NI Developer Zone (zone.ni.Herramienta de publicación Web de Paneles Remotos (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 .com/labviewse) • Recursos Web (ni.ni.com/idnet) 20 .com) – NI Developer Zone (zone.ni.info-labview.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) – Application Notes – Info-labview newsgroup (www.org/) – Instrument Driver Library (www.