entorno de programación con labview, ni, 1.6mb

20
1 Entorno de programación LabVIEW Objetivos • Comprender los componentes de un Instrumento Virtual • 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

Upload: louis-va

Post on 13-Aug-2015

102 views

Category:

Documents


3 download

DESCRIPTION

How to labview

TRANSCRIPT

Page 1: Entorno de Programación con LabVIEW, NI, 1.6MB

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

Page 2: Entorno de Programación con LabVIEW, NI, 1.6MB

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

Page 3: Entorno de Programación con LabVIEW, NI, 1.6MB

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)

Page 4: Entorno de Programación con LabVIEW, NI, 1.6MB

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

Page 5: Entorno de Programación con LabVIEW, NI, 1.6MB

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 …)

Page 6: Entorno de Programación con LabVIEW, NI, 1.6MB

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

Page 7: Entorno de Programación con LabVIEW, NI, 1.6MB

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

Page 8: Entorno de Programación con LabVIEW, NI, 1.6MB

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.

Page 9: Entorno de Programación con LabVIEW, NI, 1.6MB

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

Page 10: Entorno de Programación con LabVIEW, NI, 1.6MB

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

Page 11: Entorno de Programación con LabVIEW, NI, 1.6MB

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

Page 12: Entorno de Programación con LabVIEW, NI, 1.6MB

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

Page 13: Entorno de Programación con LabVIEW, NI, 1.6MB

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

Page 14: Entorno de Programación con LabVIEW, NI, 1.6MB

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

Page 15: Entorno de Programación con LabVIEW, NI, 1.6MB

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

Page 16: Entorno de Programación con LabVIEW, NI, 1.6MB

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

Page 17: Entorno de Programación con LabVIEW, NI, 1.6MB

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

Page 18: Entorno de Programación con LabVIEW, NI, 1.6MB

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

Page 19: Entorno de Programación con LabVIEW, NI, 1.6MB

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

Page 20: Entorno de Programación con LabVIEW, NI, 1.6MB

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)