Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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
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
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
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
Nodos
Programación en LabVIEW 29
Tipos de cables en el Diagrama de Bloques
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
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
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
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
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
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
Programación en LabVIEW 40
20
Buscador de ejemplos NI
• 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
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
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
entrada2, resultado) {
{ media (dato1, dato2,
resultado = (entrada1 + resultado)
entrada2)/2.0;} }
Programación en LabVIEW 49
Icono/Conector
Máster Universitario en Ingeniería Industrial
terminales
Icono
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
Programación en LabVIEW 51
Creando el icono
(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
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
el conector
Programación en LabVIEW 56
28
Creando el conector
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
Programación en LabVIEW 96
48
Máster Universitario en Ingeniería Industrial Registros de Desplazamiento no Inicializados
Salida = 4 Salida = 8
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;
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
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
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