Você está na página 1de 62

Máster Universitario en Ingeniería Industrial

Programación en LabVIEW

Programación en LabVIEW 1

Esquema de la Solución
Máster Universitario en Ingeniería Industrial

¿Alternativas?
 Tecnologías
 Herramientas
 Coste
 Tiempo

Programación en LabVIEW 2

1
Esquema Genérico de una Solución

HW SW*
Máster Universitario en Ingeniería Industrial

Acondi- Pre- Post-


Sensor Digitalizar Extraer Clasificar
cionar procesar procesar

Programación en LabVIEW 3

Ejemplo: versión “cerrada”
SW

%
Máster Universitario en Ingeniería Industrial

Programación en LabVIEW 4

2
Ejemplo: versión “abierta”
% Sw
Máster Universitario en Ingeniería Industrial

Programación en LabVIEW 5
Máster Universitario en Ingeniería Industrial

Demo

Capturar y representar señal 
de audio

Programación en LabVIEW 6

3
Conclusiones
 Son excelentes herramientas de prototipado
 Curva de aprendizaje rápida
Máster Universitario en Ingeniería Industrial

 Flexibilidad
 Escalabilidad (Toolkits)
 Interoperabilidad (Matalb, Office…)
 Favorecen las Metodologías de Diseño Concurrente en 
Equipo
 Pero…
 No quiere decir que sean ni más baratas, ni más caras!
 Cuidado a la hora de desarrollar un producto (licencias…)

Programación en LabVIEW 7

Acceso a la asignatura en NI
Máster Universitario en Ingeniería Industrial

http://spain.ni.com/academia/programa-estudiantes

Programación en LabVIEW 8

4
Máster Universitario en Ingeniería Industrial Acceso a la asignatura en NI

Programación en LabVIEW 9

Comunidad LabView
https://decibel.ni.com/content/groups/estudias-con-
labview
Máster Universitario en Ingeniería Industrial

Programación en LabVIEW 10

5
Taller de Programación en LabVIEW
Máster Universitario en Ingeniería Industrial

1. Entorno de desarrollo
2. Programación de un VI básico
3. Reutilización ‐ crear funciones (subVIs)
4. Tipos de datos 
 Numéricos
 Booleanos
 Strings
 Arrays
 Clusters
5. Estructuras de programación
 While y gráficas tipo Chart
 Case
6. Manejo de Errores

Programación en LabVIEW 11

Instrumentos Virtuales (VIs)

Panel Frontal
• Controles = Entradas
Máster Universitario en Ingeniería Industrial

• Indicadores = Salidas

Diagrama de Bloques
• Programa asociado al Panel 
Frontal
• Componentes unidos mediante 
cables

Programación en LabVIEW 12

6
Ventana Panel Frontal

Barra de Icono
Herarramientas
Máster Universitario en Ingeniería Industrial

Panel Frontal
Control
Booleano Leyenda
Gráfico
Etiqueta
Gráfico
Tipo
Waveform
Gráfico
Tipo
Waveform
Leyenda
Leyenda
Escala
Ejes

Programación en LabVIEW 13

Elementos Panel Frontal 
 Controles (entradas)
 Pulsadores, botones giratorios, 
Máster Universitario en Ingeniería Industrial

numéricos, etc
 Sirven para que el usuario introduzca 
información / provoque cambios en el 
programa

 Indicadores (salidas)
 Gráficas, LEDs, cajas de texto
 Sirven para mostrar información al 
usuario

Programación en LabVIEW 14

7
Panel frontal − Paleta de controles

 Contiene los controles e indicadores
Máster Universitario en Ingeniería Industrial

 Se accede mediante:
 Seleccionando View » Controls Palette
 O haciendo click con el botón derecho 
del ratón en el aérea de trabajo

Programación en LabVIEW 15

Ventana Diagrama de Bloques

Barra
Herramientas
Máster Universitario en Ingeniería Industrial

Diagrama Función
Boques División

SubVI

Terminal
del gráfico

Cable
Datos

Estructura Constante Función Terminal del


While Numérica Temporal Control Booleano

Programación en LabVIEW 16

8
Elementos del Diagrama
 Incluyen:
 Terminales: conexión a los objetos del panel frontal
 Funciones: llamadas a funciones de librerías
Máster Universitario en Ingeniería Industrial

 SubVIs: llamadas a otros VIs
 Constantes
 Estructuras de programación (while, for, case…)
 Cables
 La apariencia de un terminal se puede cambiar 
seleccionando View as Icon al pulsar con el botón 
derecho del ratón sobre el mismo

Programación en LabVIEW 17

Diagrama de Bloques − Paleta de funciones
 Contiene los VIs, funciones, 
constantes, etc que se usan para 
Máster Universitario en Ingeniería Industrial

crear el diagrama
 Se accede a ella:
 Seleccionando View » Functions Palette
 O haciendo click con el botón derecho 
del ratón en el aérea de trabajo

Programación en LabVIEW 18

9
Búsqueda de Controles, VIs y Funciones

Presione para fijar la paleta


Máster Universitario en Ingeniería Industrial

Buscar

 Graficas, paletas flotantes 
 Subpaletas pueden ser convertidas en paletas flotantes
 Utilice las Opciones de Paleta para cambiar la visualización de Express a 
Avanzado

Programación en LabVIEW 19

Paleta de herramientas

• LabVIEW automáticamente selecciona la herramienta necesaria


Máster Universitario en Ingeniería Industrial

• Disponible en el panel frontal y en el diagrama de bloques


• Una herramienta es un modo especial de operación del cursor
• Utilice las herramientas para manejar y modificar los objetos del
panel frontal y del diagrama de bloques
• Para mostrar la paleta de herramientas, seleccione
Window»Show Tools Palette
O pulse <shift> + click con el botón
derecho del ratón en el aérea de trabajo

Programación en LabVIEW 20

10
Máster Universitario en Ingeniería Industrial Herramientas del Panel Frontal y Diagrama de Bloques

Tipo de Fuente
Botón de Ejecución
Alineación de objetos
Botón de Ejecución Continua
Distribución de objetos
Botón Parada
Redimensionar objetos
Botón Pausa/Continuar
Reordenar Objetos
Botones adicionales en barra de Boton de Ayuda
herramientas de D. Bloques
Indicador Aviso • Botón de Ejecución Visual
Botón Enter • Botón “Step Into”
• Botón “Step Over”
Botón No Ejecución
• Botón “Step Out”

Programación en LabVIEW 21

Resumen
Máster Universitario en Ingeniería Industrial

Programación en LabVIEW 22

11
Ejercicio 1
 Manejo del entorno
 Abrir un VI sencillo y editarlo
Máster Universitario en Ingeniería Industrial

Programación en LabVIEW 23

Taller de Programación en LabVIEW
Máster Universitario en Ingeniería Industrial

1. Entorno de desarrollo
2. Programación de un VI básico
3. Reutilización ‐ crear funciones (subVIs)
4. Tipos de datos 
 Numéricos
 Booleanos
 Strings
 Arrays
 Clusters
5. Estructuras de programación
 While y gráficas tipo Chart
 Case
6. Manejo de Errores

Programación en LabVIEW 24

12
Crear un Panel Frontal – Paso 1
 Construya el panel frontal con controles (entradas) 
e indicadores (salidas)
Máster Universitario en Ingeniería Industrial

Programación en LabVIEW 25

Crear un Panel Frontal – Paso 2
 Personalice cada objeto mediante la ventana de propiedades
 Presione botón derecho del ratón sobre el objeto para acceder a ella
Máster Universitario en Ingeniería Industrial

Partes visibles

Todo lo demás
Programación en LabVIEW 26

13
Crear un Panel Frontal – Paso 3
 Organice los objetos del panel frontal:
 Mueva los objetos para ayudar al usuario a entender:
Máster Universitario en Ingeniería Industrial

Entradas : izquierda  Salidas: derecha
 Agrupe los controles por funcionalidad
 Use decoraciones
 Use las funciones de Spacing & Alignment
 Use colores

Programación en LabVIEW 27

Crear un Panel Frontal – Resultado
Máster Universitario en Ingeniería Industrial

Programación en LabVIEW 28

14
Crear el Diagrama de Bloques – Paso 1
 Organice los terminales de manera lógica:
Entradas: izquierda Salidas: derecha
Máster Universitario en Ingeniería Industrial

 Busque las funciones que necesita en la Paleta de 
Funciones y colóquelas en la zona de trabajo

Panel Frontal Diagrama de Bloques


Terminales Terminales
de los de los
Controles Indicadores

Nodos

Programación en LabVIEW 29

Tipos de cables en el Diagrama de Bloques 

Scalar 1D Array 2D Array


Máster Universitario en Ingeniería Industrial

Numeric

Boolean

String

Dynamic

Programación en LabVIEW 30

15
Funciones
 Cada tipo de datos tiene su paleta de 
funciones:
 Booleanos ‐> Boolean Palette 
Máster Universitario en Ingeniería Industrial

 Numericos ‐> Numeric Palette
 Strings ‐> Strings Palette
 …
 Hay dos tipos:
 VIs “normales”: funciones de LabVIEW. 
Algunas se pueden abrir y ver su código) 
otras no
 VIs Express: VIs interactivos 
con asistente

Programación en LabVIEW 31

Crear el Diagrama de Bloques – Paso 2
 Conecte los terminales de 
los controles a las entradas y 
las salidas a los indicadores:
Máster Universitario en Ingeniería Industrial

Panel Frontal Diagrama de Bloques


Terminales Terminales
de los de los
Controles Indicadores

Nodos
Cables

Programación en LabVIEW 32

16
Técnicas de cableado
Conexión

• Cableado automático
• Utilice la Ventana de Ayuda al realizar las conexiones
Máster Universitario en Ingeniería Industrial

• Presione el botón derecho del ratón sobre el cable y


seleccione la opción Clean Up Wire
• Presione el botón derecho
del ratón sobre terminales
y seleccione la opción
Visible Items»Terminals
Ver los terminales de conexión de una función

Programación en LabVIEW 33

Técnicas de cableado

 <Ctrl>‐B para borrar cables mal conectados
 Botón derecho y Clean Up Wire para reorganizar el cable
Máster Universitario en Ingeniería Industrial

Programación en LabVIEW 34

17
Máster Universitario en Ingeniería Industrial Errores de cableado

Programación en LabVIEW 35

Disposición de elementos sobre el Diagrama de Bloques

Utilice una disposición de izquierda a derecha y de arriba a abajo


Máster Universitario en Ingeniería Industrial

Mal cableado Bien cableado

Programación en LabVIEW 36

18
Comentarios en los Diagramas de Bloques
 Utilice comentarios para explicar el código
 Etiquetas con fondo amarillo son el tipo estándar
Máster Universitario en Ingeniería Industrial

 Sitúe etiqueta en cables y estructuras
 Comente los algoritmos

Programación en LabVIEW 37

Ejecución dependiente del flujo de datos

• El diagrama de Bloques se ejecuta


dependiendo del flujo de datos; el
Máster Universitario en Ingeniería Industrial

diagrama de bloques NO se ejecuta


de izquierda a derecha

• Se ejecuta un nodo cuando los datos


están disponibles en TODOS los
terminales de entrada

• Los nodos suministran los datos a


todos los terminales de salida cuando
finaliza su ejecución

Programación en LabVIEW 38

19
Ventana de Ayuda
 Para mostrar la ventana de ayuda, seleccione
Help»Show Context Help, presione las teclas <Ctrl‐H>, o presione el 
boton Show Context Help Window en la barra de herramientas
Máster Universitario en Ingeniería Industrial

 Desplace el cursor sobre el 
objeto para mostrar la ayuda
 Conexiones:
Requerida – negrita
Recomendada – normal
Opcional ‐ tenue

Ayuda Simple/Detallada Fijar Ayuda Mas Ayuda

Programación en LabVIEW 39

Ayuda en línea de LabVIEW 
 Presione el botón de Mas Ayuda en la Ventana de Ayuda
 Seleccione Help»VI, Function, & How‐To Help
 Seleccione el texto Click here for more help en la Ventana de 
Máster Universitario en Ingeniería Industrial

Ayuda

Contiene descripciones detalladas de la mayoría de paletas,


menús, herramientas, VIs, y funciones, instrucciones paso a
paso de las utilidades de LabVIEW, consultas al tutorial de
LabVIEW, versiones PDF de todos los manuales de LabVIEW y
notas de aplicación, y recursos de soporte técnico.

Programación en LabVIEW 40

20
Buscador de ejemplos NI

• Para buscar un ejemplo,


seleccione Help»Find Examples
Máster Universitario en Ingeniería Industrial

• Integrado en la Web
• Buscar por palabra clave, tipo de
ejemplo, tipo de hardware, etc.

Programación en LabVIEW 41

Consejos
 Accesos directos más habituales
 <Ctrl‐E> Cambiar de Panel a Diagrama
 <Ctrl‐H> Conmutar ventana de ayuda
Máster Universitario en Ingeniería Industrial

 <Ctrl‐S> Guardar fichero
 <Ctrl‐R> Ejecutar un VI
 <Ctrl‐B> Borrar cables mal conectados
 <Ctrl‐W>  Cerrar la ventana activa

 Paleta de Herramientas con <shift> + botón derecho ratón
 Cambiar entre herramientas con el espacio
 Paleta de Controles o Funciones con botón derecho ratón

Programación en LabVIEW 42

21
Ejercicio 2
 Crear un VI
 Crear un VI sencillo para convertir ºC en ºF
Máster Universitario en Ingeniería Industrial

Programación en LabVIEW 43

Taller de Programación en LabVIEW
Máster Universitario en Ingeniería Industrial

1. Entorno de desarrollo
2. Programación de un VI básico
3. Reutilización ‐ crear funciones (subVIs)
4. Tipos de datos 
 Numéricos
 Booleanos
 Strings
 Arrays
 Clusters
5. Estructuras de programación
 While y gráficas tipo Chart
 Case
6. Manejo de Errores

Programación en LabVIEW 44

22
Buenas prácticas
El problema de esta herramienta es que es muy fácil ir añadiendo
funciones a un programa e ir ampliandolo sin planificar mucho su
desarrollo
Máster Universitario en Ingeniería Industrial

 Adecuado para aplicaciones simples (prueba rápida de 


laboratorio, monitorización y archivo de datos…)
 Inadecuada para proyectos grandes o que se preveen duren en
el tiempo

La Planficación es Esencial !

Virtual Instrumentation
Programación en LabVIEW 45

Desarrollo de Aplicaciones
Máster Universitario en Ingeniería Industrial

Main
PROGRAMAR
DISEÑAR

Login Monitor Salvar

Verificar Termómetro

ºC->ºF

Programación en LabVIEW 46

23
Máster Universitario en Ingeniería Industrial Máster Universitario en Ingeniería Industrial

Programación en LabVIEW
Programación en LabVIEW

Modularidad
Modularidad

48
47

24
SubVIs

Pseudocódigo Llamada a la función


function media (entrada1, main
Máster Universitario en Ingeniería Industrial

entrada2, resultado) {
{ media (dato1, dato2,
resultado = (entrada1 + resultado)
entrada2)/2.0;} }

Diagrama de bloques del SubVI Llamada al subVI

Programación en LabVIEW 49

Icono/Conector
Máster Universitario en Ingeniería Industrial

terminales

Icono

• Un icono representa a otro VI en un


diagrama de bloques

Conector
• El conector se encarga de pasar y recibir
los datos del subVI.
terminals

Programación en LabVIEW 50

25
Ejemplo de subVI – Cálculo de la pendiente

• Un VI dentro de otro VI se denomina subVI


• Para usar un VI como subVI hay que crear un icono y un conector
Máster Universitario en Ingeniería Industrial

despúes de construir el panel frontal y el diagrama de bloques.

Programación en LabVIEW 51

Creando el icono

• Icono: representación gráfica del VI


• Pulsar el botón derecho del ratón sobre el área del icono
Máster Universitario en Ingeniería Industrial

(Panel o Diagrama)
• Siempre crea un icono por defecto

Programación en LabVIEW 52

26
Máster Universitario en Ingeniería Industrial Dibujando el Icono

Programación en LabVIEW 53

Creando el conector

Pulsar el botón derecho


Máster Universitario en Ingeniería Industrial

(solo panel frontal)

Programación en LabVIEW 54

27
Ayudas para dibujar el icono
 La pestaña Glyphs incluye muchos objetos ya dibujados
 Se pueden cargar más sincronizando a través de la web 
Tools»Synchronize with ni.com Icon Library
Máster Universitario en Ingeniería Industrial

Programación en LabVIEW 55

Creando el conector

Botón derecho para ver


Máster Universitario en Ingeniería Industrial

el conector

Programación en LabVIEW 56

28
Creando el conector

Pulsar con la utilidad


de cableado para asignar
Máster Universitario en Ingeniería Industrial

Programación en LabVIEW 57

Estándares

 Usar este tipo de conector por defecto
Máster Universitario en Ingeniería Industrial

 Los terminales superiores se suelen reservar para referencias
 Los inferiores para control de errores

Programación en LabVIEW 58

29
Máster Universitario en Ingeniería Industrial
Clasificación de terminales

Clasificar entradas y salidas:


• Requerida — Error si no conexion
• Recomendada — Warning si no conexión
• Opcional — No efecta si no conexion

Programación en LabVIEW 59

Documentando los VIs
Máster Universitario en Ingeniería Industrial

Programación en LabVIEW 60

30
Ejercicio 3
 Crear un subVI para poder usarlo más adelante
 Añadir el icono y conector al VI anterior
Máster Universitario en Ingeniería Industrial

Programación en LabVIEW 61

Usando un VI como subVI

All Functions»Select a VI…
Máster Universitario en Ingeniería Industrial

<o bien>
Arrastrar el icono al diagrama

Programación en LabVIEW 62

31
Técnicas de Depuración

Búsqueda de errores
Máster Universitario en Ingeniería Industrial

Presione el botón de ejecución que indica que no se


puede ejecutar el VI. Una ventana mostrará los errores
existentes.
Ejecución visual
Presione el botón de ejecución visual; los datos fluyen de
forma animada en pequeñas “bolitas”. Los valores se
muestran sobre los cables.

Programación en LabVIEW 63

Técnicas de Depuración

Probe
Presione con el botón derecho del ratón sobre el cable y
Máster Universitario en Ingeniería Industrial

seleccione la opción Probe. Se muestran los datos que


fluyen por el cable.
Breakpoints
Presione con el botón derecho del ratón sobre el cable y
seleccione la opción Set Breakpoint; se realiza una pausa
en la ejecución del programa en el punto de ruptura.
Conditional Probe
Combinación de a un punto de ruptura y un “probe”. Presione
con el botón derecho del ratón sobre el cable y seleccione
la opción Custom Probe.

Programación en LabVIEW 64

32
Técnicas de Depuración

Botones Step Into, Over, and Out para ejecuciones paso a paso
Máster Universitario en Ingeniería Industrial

Presione el botón Step Into para habilitar la ejecución paso a paso


una vez se ha comenzado el modo de ejecución paso a paso,
esta opción permite realizar la ejecución paso a paso dentro de los
nodos

Presione el botón Step Over para habilitar la ejecución paso a paso


o para ejecutar de forma completa nodos

Presione el botón Step Out para terminar ejecución paso a paso de


un nodo

Programación en LabVIEW 65

Ejercicio 4
 Usar un subVI y las funciones de depuración
Máster Universitario en Ingeniería Industrial

Programación en LabVIEW 66

33
Taller de Programación en LabVIEW
Máster Universitario en Ingeniería Industrial

1. Entorno de desarrollo
2. Programación de un VI básico
3. Reutilización ‐ crear funciones (subVIs)
4. Tipos de datos 
 Numéricos
 Booleanos
 Strings
 Arrays
 Clusters
5. Estructuras de programación
 While y gráficas tipo Chart
 Case
6. Manejo de Errores

Programación en LabVIEW 67

Tipos de Datos
 Cada tipo de datos tiene su paleta de 
funciones:
 Arrays
Máster Universitario en Ingeniería Industrial

 Booleanos ‐> Boolean Palette 
 Numéricos ‐> Numeric Palette
 Strings ‐> Strings Palette
 …

Programación en LabVIEW 68

34
Numéricos
Se utilizan para manejar cantidades numéricas
Pueden tener diferente resolución:
Máster Universitario en Ingeniería Industrial

• Coma flotante
• Entero con signo
• Entero sin signo
• Complejo

Programación en LabVIEW 69

Booleanos
Pueden funcionar en dos modos:
• Interruptor (switch)
Máster Universitario en Ingeniería Industrial

• Pulsador (latch)

Programación en LabVIEW 70

35
Texto (String)
Secuencia de caracteres (bytes) que representan una 
información alfanumérica (o no)
Se pueden visualizar en varios modos
Máster Universitario en Ingeniería Industrial

Hay una librería de funciones para su manejo
 Longitud
 Combinar
 Buscar
 Extraer
 Formatear
 Convertir
 …

Programación en LabVIEW 71

Array
 Permite manejar varios valores del mismo tipo de dato como 
una sola cosa
1. Seleccionar el tipo Array de la 2. Añadir el tipo de elemento
Máster Universitario en Ingeniería Industrial

paleta de controles

3. Añadir más dimensiones

Programación en LabVIEW 72

36
Arrays
 Hay una librería de funciones para su manejo
 Longitud
 Indexar
Máster Universitario en Ingeniería Industrial

 Reemplazar
 Insertar
 Construir
 Inicializar
 Buscar
 …

 Además se pueden usar las funciones del tipo de Array

Programación en LabVIEW 73

Clusters
 Permiten manejar varios datos de distinto tipo como una sola 
cosa (como un “struct”, o “record”)
 Se crea la estructura y se añaden los campos
Máster Universitario en Ingeniería Industrial

Programación en LabVIEW 74

37
Clusters
 Básicamente se manejan con dos parejas de funciones:
Máster Universitario en Ingeniería Industrial

Bundle Unbundle

Bundle by name Unbundle by name

Programación en LabVIEW 75

Otros
 Dynamic: almacena datos generados por Express VIs

 Waveform: almacenan los datos de una o varias señales 
Máster Universitario en Ingeniería Industrial

junto con su información temporal (eje de tiempos)
 Enumerados: representan un dato numérico con un 
texto asociado
…

Programación en LabVIEW 76

38
Taller de Programación en LabVIEW
Máster Universitario en Ingeniería Industrial

1. Entorno de desarrollo
2. Programación de un VI básico
3. Reutilización ‐ crear funciones (subVIs)
4. Tipos de datos 
 Numéricos
 Booleanos
 Strings
 Arrays
 Clusters
5. Estructuras de programación
 While y gráficas tipo Chart
 Case
6. Manejo de Errores

Programación en LabVIEW 77

Bucles While
Máster Universitario en Ingeniería Industrial

Bucle While en LabVIEW Funcionamiento

Programación en LabVIEW 78

39
Bucles While
1. Seleccionar el Bucle While 2. Recuadrar el código a repetir
Máster Universitario en Ingeniería Industrial

3. Cablear y elegir la condición de parada

Programación en LabVIEW 79

Seleccionar la condición de parada
 Haciendo click sobre el terminal del bucle con la herramienta 
de Operación se define cuándo se parará el bucle
 Por defecto: Se para si la condición es Verdadera
Máster Universitario en Ingeniería Industrial

Para si Verdadero Para si Falso

Terminal de Iteración Terminal de Condición

Programación en LabVIEW 80

40
Gráficas de tipo Chart
Seleccionar mediante la paleta de Controles » Graphs and Charts
Máster Universitario en Ingeniería Industrial

Programación en LabVIEW 81

Propiedades de un gráfico de tipo Chart

• Cambiar la
apariencia (partes
Máster Universitario en Ingeniería Industrial

visibles)
• Cambiar los ejes
(formato y precisión)
• Escoger el tipo de
gráfico
• Editar las escalas

Programación en LabVIEW 82

41
Personalizar un gráfico

Seleccionar la opción Visible Items del menú desplegable para activar las 
siguientes opciones:
Máster Universitario en Ingeniería Industrial

 Leyenda (Plot Legend)
 Indicador digital (Digital Display)
 Barra de desplazamiento (Scrollbar)
 Escalas (X and Y Scale) 
 Paleta del Gráfico (Graph Palette)
 Leyenda de escalas (Scale Legend)

Leyenda de Escalas

Programación en LabVIEW 83

Pintar en un Chart

Una señal
Máster Universitario en Ingeniería Industrial

Varias señales

Programación en LabVIEW 84

42
Funciones de temporización (Wait)

Wait Until Next


ms Multiple
Máster Universitario en Ingeniería Industrial

Paleta
Functions»Time
& Dialog

Programación en LabVIEW 85

Ejercicio 5
 Usar bucles while y gráficas tipo chart
RETOS:
1. Mostrar en la gráfica Valor
Máster Universitario en Ingeniería Industrial

Instantáneo y Media Móvil


2. Incluir Control de Frecuencia
de Muestreo
3. Incluir info temporal en eje X

Programación en LabVIEW 86

43
Túneles
 Sirven para pasar datos a una estructura o para sacarlos
 Si se pasa un dato al bucle: este se ejecuta una vez que haya llegado el 
dato
Máster Universitario en Ingeniería Industrial

 Cuando se saca un dato de un bucle: el dato sale una vez haya 
finalizado el bucle
 Aparecen en el borde, con el color del tipo de dato 
correspondiente. Puede funcionar en dos modos:
 Autoindexado: acumula datos (crea un array)
 Sin autoindexado: se queda con el último dato

Programación en LabVIEW 87

Demo. Cómo usar adecuadamente 
Máster Universitario en Ingeniería Industrial

los túneles (I)

• Diferencias indexado on/off en salidas
(generando un histórico)

Programación en LabVIEW 88

44
Máster Universitario en Ingeniería Industrial

Programación en LabVIEW 89

Demo. Cómo usar adecuadamente 
Máster Universitario en Ingeniería Industrial

los túneles (II)

• Diferencias indexado on/off en salidas
• Autoindexado para procesar entradas 
(calculando la media)

Programación en LabVIEW 90

45
Máster Universitario en Ingeniería Industrial Calculando la media

?
?

Programación en LabVIEW 91

Acceso a datos anteriores: registros de desplazamiento

 Aparecen disponibles en los extremos derecho e izquierdo del 
bucle al seleccionar la opción Add Shift Register del menú 
desplegable
Máster Universitario en Ingeniería Industrial

 El terminal de la derecha almacena el dato al final de cada ejecución
 El terminal de la izquierda proporciona el dato almacenado en la 
iteración anterior

Valor Inicial Valor 1 Valor 2


Valor
Inicial Valor3
Valor 1 Valor 2 Valor 3

Antes de
comenzar Primera Segunda Última
Iteración Iteración Iteración

Programación en LabVIEW 92

46
Elementos Adicionales
Los valores anteriores están El valor actual se guarda
disponibles en los terminales del en el terminal del
margen izquierdo margen derecho
Máster Universitario en Ingeniería Industrial

1 iteración antes
2 iteraciones antes
3 iteraciones antes

Hacer clic Con el menú


para añadir desplegable se
elementos pueden añadir
más registros

Programación en LabVIEW 93
Máster Universitario en Ingeniería Industrial

Demo 

• Cómo usar adecuadamente 
los registros de desplazamiento
(calculando la media… bien)

Programación en LabVIEW 94

47
Máster Universitario en Ingeniería Industrial Calculando la media

Programación en LabVIEW 95

Inicializar los Registros de Desplazamiento
Máster Universitario en Ingeniería Industrial

Salida = 5 Salida = 5

Ejecutar Parar Ejecutar de nuevo

Programación en LabVIEW 96

48
Máster Universitario en Ingeniería Industrial Registros de Desplazamiento no Inicializados

Salida = 4 Salida = 8

Ejecutar Parar Ejecutar de nuevo

Programación en LabVIEW 97

Otros tipos de bucles
 Igual que un “While” pero se ejecuta un número finito 
y predfinido de veces
Máster Universitario en Ingeniería Industrial

N=100;
i=0;
Until i=N:
Repeat (code; i=i+1);
End;

LabVIEW For Loop Flow Chart Pseudo Code

Virtual Instrumentation
Programación en LabVIEW 98

49
Otros tipos de bucles
 Bucles temporizados: equivalen a un While + 
temporización
Máster Universitario en Ingeniería Industrial

Programación en LabVIEW 99
Máster Universitario en Ingeniería Industrial

Demo

• Uso del bucle For

Programación en LabVIEW 100

50
Máster Universitario en Ingeniería Industrial

Programación en LabVIEW 101

Taller de Programación en LabVIEW
Máster Universitario en Ingeniería Industrial

1. Entorno de desarrollo
2. Programación de un VI básico
3. Reutilización ‐ crear funciones (subVIs)
4. Tipos de datos 
 Numéricos
 Booleanos
 Strings
 Arrays
 Clusters
5. Estructuras de programación
 While y gráficas tipo Chart
 Case
6. Manejo de Errores

Programación en LabVIEW 102

51
Estructura Case

Ejemplo: estructura boleana:


Máster Universitario en Ingeniería Industrial

Si Temp Scale es TRUE, ejecutar el caso True


Si Temp scale es FALSE, ejecutar el caso False.

Programación en LabVIEW 103

Estructura Case

• Situadas en la supaleta
Máster Universitario en Ingeniería Industrial

de esctructuras de la
paleta de funciones
• Insertar el código
dentro de cada caso
• Todos los casos
aparecen apildaos;
sólo se puede ver el
código de uno al
mismo tiempo

Programación en LabVIEW 104

52
Máster Universitario en Ingeniería Industrial Case Boleano y Numérico

Es obligatorio conectar algo a la salida en todos los casos


Programación en LabVIEW 105

Otros tipos de Case

String Case              Enum Case             Error Case
Máster Universitario en Ingeniería Industrial

Programación en LabVIEW 106

53
Ejercicio 6
 Modificar el Ejercicio 5 para que en cada iteración:
 se calcule si el valor actual es el máximo medido y se actualice el 
máximo (usar registro de desplazamiento)
Máster Universitario en Ingeniería Industrial

 se represente en la gráfica el máximo (usar las funciones de Clusters)

Programación en LabVIEW 107

Taller de Programación en LabVIEW
Máster Universitario en Ingeniería Industrial

1. Entorno de desarrollo
2. Programación de un VI básico
3. Reutilización ‐ crear funciones (subVIs)
4. Tipos de datos 
 Numéricos
 Booleanos
 Strings
 Arrays
 Clusters
5. Estructuras de programación
 While y gráficas tipo Chart
 Case
6. Manejo de Errores

Programación en LabVIEW 108

54
Manejo de errores
 LabVIEW no maneja los errores automáticamente. El 
manejo de errores se debe incluir en el código de los VIs
Máster Universitario en Ingeniería Industrial

 El modelo se basa en la propagación de errores: el error 
de salida se conecta al error de entrada del siguiente VI
 Si error in dice que no ha habido error antes: el Vi se ejecuta y actualiza 
su error out
 Si error in dice que ha habido error antes: el VI no se ejecuta y propaga 
error out = error in

Error Cluster

Programación en LabVIEW 109

Cluster de Error
 Están en la paleta de controles en la subpaleta Array & Cluster 
 Los cluster de Error se componen de 3 elementos:
– Status (booleano): se activa si hay error
Máster Universitario en Ingeniería Industrial

– Code (entero) : indica el código de error
– Source (string) : proporciona información sobre el error

Programación en LabVIEW 110

55
Manejador de errores: Simple Error Handler.vi
 Este VI informa al usuario del error producido mediante 
un caja de texto
 Incluye una descripción de los errores implementados en 
Máster Universitario en Ingeniería Industrial

LabVIEW
 Se encuentra en la subpaleta Time and Dialog de la 
paleta de funciones
 Sólo es necesario conectar el terminal error in

Programación en LabVIEW 111

Cómo añadir manejo de errores
1. Mediante una estructura 
Case se puede dotar a un VI 
de control de errores
Máster Universitario en Ingeniería Industrial

2. Si además se quieren añadir 
errores propios de ese VI:
1. Los códigos 5000‐9999 están 
disponibles para el 
desarrollador
2. Se puede añadir una 
descripción de texto 
mediante:
1. General Error 
Handler VI
2. Un fichero XML 

Programación en LabVIEW 112

56
Ejercicio 7
 Hacer un VI que calcule la raíz cuadrada del dato de entrada 
con control de errores:
 Externos: si se ha producido un error antes que no se ejecute
Máster Universitario en Ingeniería Industrial

 Internos: si el número es negativo que no se ejecute y genere un error

Programación en LabVIEW 113

Gestión de proyectos

 Una aplicación normalmente consiste en 
decenas/cientos de VIs.
Máster Universitario en Ingeniería Industrial

 Existen diferentes herramientas y ténicas que 
pueden ayudarte a crear una aplicación:
 Creación de ventanas emergentes
 Explorador de proyectos (gestor de archivos 
integrado)
 VI Herarchy

Programación en LabVIEW 114

57
Trabajo para Casa
 Hacer una aplicación que permita las siguientes opciones:
 Registrarse antes de utilizarla (login/password)
 Monitorizar la temperatura ambiente 3 veces por segundo, mostrando 
Máster Universitario en Ingeniería Industrial

en todo momento el valor actual y la media de las últimas 3 medidas 
en una gráfica, y en un indicador numérico
 Una vez haya terminado de medir se podrán guardar los datos en un 
fichero (opcional)
 La medida se podrá hacer en ºC o ºF
 Tendrás que realizar los siguientes pasos:
 Diseñar la aplicación
 Hacer un VI para controlar el acceso (login.vi)
 Opcionalmente hacer otro para guardar los datos a un archivo
 Junta todo lo que has hecho hasta ahora para crear el Vi principal

Programación en LabVIEW 115

Ayudas: diseño

 Empieza por un buen diseño…

Main
Máster Universitario en Ingeniería Industrial

(completar)

Monitor Salvar
Login
(ejercicio 6) (opcional)

Verificar Termómetro
(hecho*) (ejercicio 5)

ºC->ºF
(ejercicio 4)
* Opcionalmente se puede proporcionar una versión propia (manejo de arrays)
Programación en LabVIEW 116

58
Ayudas: diseño
 Piensa qué debe hacer cada VI antes de programarlo…
 Main:
• Entradas: 
Máster Universitario en Ingeniería Industrial

– Ninguna (?)
• Salidas: 
– Ninguna
• Funcionalidad:
– Mostrar ventana de Login y Password:
» Si resultado no ok salir
» Si ok:
* Lanzar monitor
* Preguntar si desea guardar
* Guardar si hace falta

Programación en LabVIEW 117

Ayudas: ventanas emergentes
 Haremos una versión simplificada para el Login
 El VI debe mostrar   El código es simple: esperar 
Máster Universitario en Ingeniería Industrial

únicamente dos controles de  hasta que se pulse OK y 
texto para introducir la  luego pasar los datos al VI de 
información (login y  verificar que se proporciona 
contraseña) y generar las salidas 
adecuadas

Programación en LabVIEW 118

59
Ayudas: ventanas emergentes
 El reto es que aparezca como una ventana emergente
 Para conseguirlo modifica sus propiedades en…
 Menú: File
Máster Universitario en Ingeniería Industrial

 Opción: VI Properties
 Pestaña: Window Appearance

Programación en LabVIEW 119

Ayuda: secuenciando operaciones
 Al unirlo todo en el Main necesitarás forzar que un VI se 
ejecute después de otro. Puedes hacerlo de dos formas:
 Pasando un dato de uno a otro (p.e.: el cluster de error)
Máster Universitario en Ingeniería Industrial

 Usando la estructura de secuencias

Programación en LabVIEW 120

60
Ayuda: Project Explorer
 Herramienta para gestionar los archivos de un proyecto (uso 
opcional en LabVIEW estandar)
Máster Universitario en Ingeniería Industrial

 File»New Project
 Botón derecho: añadir directorios, archivos, etc

Programación en LabVIEW 121

Ayudas
 Prueba tu programa y revisa las especificaciones:
 ¿ Has olvidado algo?
Máster Universitario en Ingeniería Industrial

 Funciona bien, o se puede mejorar la “usabilidad” del 
programa?
 El proceso puede ser infinito… en algún momento 
debes lanzar la versión 1.0 !

Programación en LabVIEW 122

61
Ayudas. Key Navigation

Permite asignar una tecla a un control, pruébalo para facilitar el 
uso del Login
Máster Universitario en Ingeniería Industrial

Virtual Instrumentation
Programación en LabVIEW 123

“Reglas del Juego”

 ¿En qué me centro?
 Primero haz lo básico
Máster Universitario en Ingeniería Industrial

 Luego explora…
 ¿Cómo se evalúa?
 Funcionalidad
 Calidad:
• Usabilidad (UIR, manejo...)
• Calidad del Código 
(mantenibilidad, cohesión, 
acoplamiento...)
 “Extras” 

Programación en LabVIEW 124

62

Você também pode gostar