Está en la página 1de 53

Introducción a LabVIEW

ING. FLAVIO PINEDA


fmpineda@espe.edu.ec

15/8/16 Ing. Flavio Pineda


¿Qué es LabView?
• LABVIEW (Laboratory Virtual Instrument Engineering Workbench). Es una
plataforma y entorno de desarrollo para diseñar sistemas, con un lenguaje de
programación grafico.

• Recomendado para sistemas hardware y software de pruebas, control y diseño,


simulado o real y embebido, pues acelera la productividad. El lenguaje que usa se
llama lenguaje G, donde la G simboliza que es lenguaje grafico.

• Fue desarrollado por National Instruments (1976) para funcionar sobre máquinas
MAC para comunicarse con dispositivos de laboratorio, salió al mercado por
primera vez en 1986. Ahora esta disponible para las plataformas Windows, Unix,
MAC Y GNU/Linux.

• La ultima versión es la 2013, con la increíble demostración de poder usar


simultáneamente para el diseño de firmware de un instrumento de RF de ultima
generación, a la programación de alto nivel del mismo instrumento, todo ello con
código abierto.

15/8/16 Ing. Flavio Pineda


¿Por qué utilizar LabView?
• Muy fácil de aprender, muy intuitivo.

• Fácil de utilizar.

• No tiene sintaxis que aprender.

• El código fuente puede leerse como un diagrama esquemático.

• Acelera el desarrollo de un sistema.

• Tiene muchas librerías para muchos instrumentos.

• Soporte y foros.

• Muy potente, pueden programarse múltiples hilos.

• Tan versátil como los lenguajes basados en texto.

15/8/16 Ing. Flavio Pineda


Desventajas
• Costo (muy elevedo).
• Las técnicas avanzadas son mas difíciles de
desarrollar.
• El código puede volverse algo ilegible si no se
controla el desarrollo.
• La creación de aplicaciones muy
personalizadas puede llevarse mucho tiempo.

15/8/16 Ing. Flavio Pineda


Construcción de una aplicación
– Modo Diseñador : Panel Frontal
– Modo Código : Diagrama de bloques
Modo código: Diagrama de bloques
Modo Diseñador : Panel Frontal
TIPOS DE DATOS
• Numérico
• Booleano
• String
• De fecha
Pueden ser de entrada de Información
Aceptan la entrada de información por teclado o
algún otro puerto de acuerdo a como se programe
el sistema de instrumentación.
Pueden ser de salida de información
Visualizan la información ingresada por teclado o
por algun puerto
LENGUAJE DE PROGRAMACIÓN GRÁFICO, (G LANGUAJE)
• Es un lenguaje de programación completamente gráfico.

• El código fuente es un diagrama de nodos y cables.

• La información viaja a través de los cables.

• El flujo de datos controla la ejecución, no el flujo del código

• La posición del código es irrelevante.

• Saber de antemano un lenguaje de alto nivel como C puede ser desventajoso.

15/8/16 Ing. Flavio Pineda


VARIABLES
• Se usan para almacenar la información en
forma temporal para utilizarla en otro
proceso.
Constantes
• Pueden ser de tipo:
• Numerico
• Decimal
• Booleano
• String

• Sirven solamente para lectura


Operaciones Aritmeticas y Logicas
• Las operaciones aritmeticas son suma resta
multuplicacion y división.
• Las operaciones lógicas son AND, OR, NOT
XOR, NAND.
ESTRUCTURA DE CONTROL CASE
• Hace lo que comunmente se hace con el
comando IF.
Ejemplo
BUCLE WHILE LOOP
• Sirven para realizar tareas repetitivas.
• Tiene dos botones: Un boton contador de
vueltas.
Ejemplo
Otra forma de programar
Flujo de información vs. Flujo de código

UnlockCAL(HeaterMat);

GetTempCAL(HeaterMat);

SetTempCAL(HeaterMat);

LockCAL(HeaterMat);

Principio de activación:
• Un nodo no es ejecutado hasta
que se cumplan todas las
condiciones en las entradas.
• Dependencia de la información
15/8/16 Ing. Flavio Pineda
CONSTRUCCIÓN DE UNA
APLICACIÓN

15/8/16 Ing. Flavio Pineda


Construcción de una aplicación
• Las aplicaciones son llamadas Instrumentos Virtuales (VI’s)

• Es necesario fabricar el Vi en dos partes:

– Panel Frontal

– Diagrama fuente

• Se recomienda comenzar con el panel frontal

• Hacer un boceto (en papel) de las funciones principales del diagrama.

• Desarrollar este diagrama en código

• Fin…

15/8/16 Ing. Flavio Pineda


Panel Frontal
• Como interactúa el usuario con el programa.

• Contiene tanto controles como indicadores.

• A cada elemento en el panel frontal le corresponde un nodo en el diagrama fuente.

• Existen muchos controles prediseñados, lo que facilita la construcción de simples diseños.

• Existe forma de personalizar los controles, sin embargo, el diseño definido por default es
bueno.

15/8/16 Ing. Flavio Pineda


Controles e
indicadores
• Existe una relación entre
objetos en el Panel
Frontal y los nodos en el
Diagrama

15/8/16 Ing. Flavio Pineda


Controles e indicadores
• Los objetos en el panel
frontal pueden ser tanto
controladores como Controladores
indicadores.

• Los controles son Indicadores


“fuentes” de datos.

• Los indicadores son


“receptores” de datos.

• Existen “fuentes” de
datos que no tienen
contraparte en el Panel
Frontal.

15/8/16 Ing. Flavio Pineda


Controles e indicadores

Control
Indicador

Indicador

Indicador
Control

15/8/16 Ing. Flavio Pineda


Construcción del Panel Frontal
• Establecer límites en los controles, de tal forma que no se tenga
que verificar durante la ejecución del programa que un valor esté
dentro de sus límites permitidos.

• Mantener un estilo consistente.

• No utilizar muchos colores.

• Agregar cajas de texto en algunas partes para hacer explicaciones.

• Utilizar un diagrama esquemático si el sistema representa un


sistema físico.

15/8/16 Ing. Flavio Pineda


Construcción del Diagrama Fuente
• Hacer doble click en el panel frontal lleva al nodo correspondiente en el
Diagrama Fuente y vice-versa.

• También en el menú,: “window, show diagram” permite ver el diagrama


fuente.

15/8/16 Ing. Flavio Pineda


Construcción del Diagrama Fuente
• Los nodos se ubican de manera similar que los controles en el Panel
Frontal.

• Los cables se añaden con la herramienta de alambrado o cableado.

• Es lo mas molestoso en LabView.

• Evitar que se crucen los alambres.

15/8/16 Ing. Flavio Pineda


Tipos de nodos

• Indicadores y
controles
• Funciones
– Funciones predefinidas.
– VI’ definidos por el usuario
(subrutinas).
– Estructuras.
– Todos los nodos tienen uno o mas
terminales, las cuales solo admiten
un tipo de datos.

15/8/16 Ing. Flavio Pineda


Cables
• Los cables transportan datos entre nodos dentro del Diagrama Fuente.

• El color del alambre indica el tipo de datos.

• Una “x” roja indica que alguna conexión está mal hecha.

15/8/16 Ing. Flavio Pineda


Cables

Cables

Nodo

• Un instrumento Virtual en LabView (Vi’s) es construido y mantenido


como una unidad mediante los alambres, que se conectan a las
terminales de los nodos, llevan información de una terminal de
salida a una terminal de entrada

15/8/16 Ing. Flavio Pineda


Cables rotos

Esto pasa si se conecta mas


de un nodo fuente o no se
conecta ninguna terminal
fuente

LabVIEW

AVISA que hay algo que no se


está haciendo bien y el
alambre aparecer roto

15/8/16 Ing. Flavio Pineda


Cableado limpio vs desordenado

Limpio: Fácil de resolver

Desordenado: ¿que es esto?

15/8/16 Ing. Flavio Pineda


Cables
• Cada tipo de cable tiene diferente color,
dependiendo del tipo de datos que
transporta.
Scalar 1D array 2D array Color
Floating-point
orange
number
Integer number blue
Boolean green
String pink

15/8/16 Ing. Flavio Pineda


Tipos de datos

15/8/16 Ing. Flavio Pineda


Control del Programa
• Casi siempre es necesario poner el programa en un lazo que pueda ser detenido con
un botón de control

• El ambiente de diseño también tiene botones para el control del programa.

• Correr una sola vez: el programa se ejecuta cuando todos los datos se vacían.

• Correr continuamente: el programa se ejecuta nuevamente.

• Abortar ejecución: el programa se detiene inmediatamente.

• Pausar ejecución: esto es útil para depurar el programa.

15/8/16 Ing. Flavio Pineda


En cuanto al ambiente de desarrollo

15/8/16 Ing. Flavio Pineda


Paleta de herramientas
Seleccionar un elemento para editar o mover
Añadir y editar texto
Operar un control

Punto de prueba

Cableado

15/8/16 Ing. Flavio Pineda


Paleta de controles
Insertar control booleano
(boton o switch)
Insertar un indicator
o control digital

15/8/16 Ing. Flavio Pineda


Operadores matemáticos (+,
Agregar estructuras ,…)
de programa, como
“Whiles” y “Case” Operadores Booleanos

Comparaciones Temporización

Archivos de entrada Salida


Análisis de Señales

Adquisición de datos

Funciones matemáticas

15/8/16 Ing. Flavio Pineda


Subpaletas

15/8/16 Ing. Flavio Pineda


Barra de Herramientas
Distribución de
elementos
Ejecución continua Tipo de letra
Alineación de
Ejecución
Paro Pausa elementos

Depuración
Reordenamiento
de objetos

15/8/16 Ing. Flavio Pineda


Ejemplos

15/8/16 Ing. Flavio Pineda


Creación de un VI de Suma y Resta
de constantes
Diagrama fuente

Terminales de
los indicadores

Terminales de nodos de control

Panel Frontal

15/8/16 Ing. Flavio Pineda


Creación de un VI de Suma y Resta
de Variables
Panel Frontal

Diagrama fuente

Terminales de nodos de control Terminales de


los indicadores

15/8/16 Ing. Flavio Pineda


Ejemplo 3: Generador de funciones y
osciloscopio
• Se utiliza una señal senoidal a la cual se le puede modificar la frecuencia y la amplitud.

• Se visualiza en un osciloscopio digital.

• Se tiene un botón de paro.

15/8/16 Ing. Flavio Pineda


Métodos y técnicas de
programación

15/8/16 Ing. Flavio Pineda


Métodos y técnicas de
• Estructuras. programación
• Funciones preconstruidas.
• VI’s definidas por el usuario.
• Clusters.
• Tips de programación.

15/8/16 Ing. Flavio Pineda


Estructuras
Como controlar el flujo de datos:
• Estructura CASE.
• Lazo “While”.
• Lazo “For”.
• Secuencia.
• Nodo de fórmula.

15/8/16 Ing. Flavio Pineda


CASE
• Contiene uno o dos marcos.

• El marco que se ejecuta depende de lo que esté cableado a la terminal de


selección.

• Es posible cablear diferentes tipos de datos al selector.

15/8/16 Ing. Flavio Pineda


CASE

Menú de la
estructura case Indicador de salida
Túnel de entrada

Controles de
entrada

Control de Túnel de salida


selección

Frontera del case


Terminal de selección Subdiagrama

15/8/16 Ing. Flavio Pineda


CASE

15/8/16 Ing. Flavio Pineda


Ciclo WHILE

índice
Verificación (boolean)
• Similar a la instrucción While de “C”.

• Contiene un marco que es repetido.

• La verificación de continuación del lazo es verificada después de la ejecución, de tal forma que siempre
hay al menos una ejecución.

• La terminal “i” indica la iteración actual, el primer marco tiene el índice 0.

• La terminal “stop” puede servir como “continuar si es verdadero” o “parar si es verdad”, lo cual es
seleccionado desde menú.

15/8/16 Ing. Flavio Pineda


Ciclo FOR
Terminal de conteo

Terminal de iteración
• Similar al ciclo while.

• Permite ejecutar parte del código cierta cantidad de veces, de acuerdo al valor de la
variable alambrado a la termina N.

• Si se alambra un “0” a la terminal, el marco no se ejecuta ninguna vez, las salidas


generadas no serán válidas.

• Los arreglos de entrada pueden ser indexados automáticamente y si N no está


cableada, se llegará hasta el tamaño del arreglo de entrada mas grande.

15/8/16 Ing. Flavio Pineda


Nodo de FORMULA

• Evita alambrar una gran cantidad de artimética.

• Puede tener mas de una señal de entrada y de salida.

• Utiliza sintaxis tipo C.

15/8/16 Ing. Flavio Pineda

También podría gustarte