Está en la página 1de 36

Introduccin a LabVIEW

Software grafico para diseo de sistemas de medicin, anlisis, procesamiento y control

Tiene una vigencia de +30 aos


Soportando la prueba del tiempo a travs de sistemas operativos, buses, tecnologas, y ms

LabVIEW es uno de los estndares para realizar mediciones


Software utilizado para Adquisicin de Datos y Control de Instrumentos
0% NI LabVIEW Microsoft Visual C/C++ Microsoft Visual Basic Microsoft Visual Basic 6.0 NI - LabWindows/CVI Microsoft C# The MathWorks, Inc. - MATLAB NI Measurement Studio Agilent VEE NI TestStand Agilent IO Libraries Suite Python GeoTest ATEasy Other Don't use 5% 10% 15% 20% 25% 30% 35% 40%

Integracin con Hardware diverso en un solo entorno grafico


+2000 dispositivos de adquisicin de datos (PCI, WiFi, TCP/IP, Bt, USB, Serial, etc) Cmaras Control de movimiento Smarphone y tablets SO: Windows, MAC, Linux +10,000 controladores de instrumentos Comunicacin va OPC con PLCs y controladores Programacin de PACs

La filosofa de LabVIEW: Instrumentacin Virtual


Aprovechando componentes de PC comerciales, el software se vuelve el instrumento

Los programas desarrollados en LabVIEW son llamados Instrumentos Virtuales (*.VI)


cono / Panel Conector Mapea entradas y salidas Panel Frontal de LabVIEW La interfaz de usuario de un VI

Diagrama de Bloques de LabVIEW El cdigo fuente de un VI

Nota: Un archivo *.vi encapsula todos los tres elementos

Creando un Panel Frontal (HMI)


Paleta de Controles (Clic Derecho)
Acceso a paleta jerrquica de todos los elementos del panel frontal.

Quick Drop (Ctrl + Space)


Bsqueda por nombre de objeto.

Objetos del Panel Frontal


Decoraciones
Elementos decorativos e imgenes Texto Flechas Llamadas Lneas Imgenes y ms

Indicadores Personalizables
Utilizados para llevar salidas al usuario Grficos y Tablas Barras de Progreso Calibradores y Medidores LEDs Numricos Cadenas y Rutas y ms

Controles Personalizables
Utilizados para recibir entrada del usuario Perillas y selectores Deslizadores Botones Numricos Cadenas y Rutas (paths) y ms

Paneles Frontales famosos: Rompiendo la barrera del sonido


Red Bull Stratos fue una misin al borde del espacio llevada a cabo por un grupo de cientficos, la marca de bebidas energizantes RED BULL, un coronel retirado de la USAF y el paracaidista austriaco Felix Baumgartne El salto se produjo alrededor de los 39,000 metros y Baumgartner rompi la barrera del sonido durante su descenso, convirtindose en el primer humano en lograrlo sin un vehculo automotor El equipo Red Bull Stratos reuni a diversos miembros especialistas en medicina aeroespacial e ingeniera de todo el mundo, quienes estuvieron encargados de supervisar el desarrollo del traje de presin que usara Baumgartner, as como de la creacin de la cpsula y la fabricacin de los globos que habran de llevarlo hasta el punto de salto

Pruebas de presin en su traje y casco durante el salto fueron un objetivo vital de la misin. Su traje, equipado con sensores y registradores permitieron medir desde su velocidad hasta su ritmo cardaco. El control de la misin, utiliz LabVIEW para controlar diversos I/O como la altitud, la presin y los niveles de oxgeno

Todos los elementos del Panel Frontal tienen terminales en el Diagrama de Bloques
Las terminales del diagrama de bloques proporcionan acceso a valores del panel frontal

Examinando el cdigo fuente tradicional


Los humanos utilizan lenguajes de abstraccin porque el cdigo mquina es muy difcil de comprenderse

Java / C# Abstraccin C++ C Lenguaje Ensamblador Cdigo Mquina Complejidad del Sistema

Con LabVIEW, se programa de la forma en que se piensa

Con LabVIEW, se programa de la forma en que se piensa

El lenguaje de programacin grfico G, basado en flujo de datos es ideal para programar en paralelo hardware de adquisicin de datos.

Qu es Flujo de Datos?

Cada nodo del diagrama de bloques se ejecuta solo cuando recibe todas sus entradas Cada nodo produce datos de salida despus de la ejecucin Los datos fluyen a travs de la ruta definida por los cables El movimiento de los datos determina el orden de ejecucin

Frmula: RESULT = (A+B*C) / (D-E)

Qu es Flujo de Datos?

Cada nodo del diagrama de bloques se ejecuta solo cuando recibe todas sus entradas Cada nodo produce datos de salida despus de la ejecucin Los datos fluyen a travs de la ruta definida por los cables El movimiento de los datos determina el orden de ejecucin

Las operaciones [Multiplicar] y [Restar] pueden ejecutarse al mismo tiempo ya que no tienen dependencias de datos

Los Lenguajes basados en Flujo de Datos trabajan en paralelo de forma natural


El compilador de LabVIEW automticamente crear multihilos del cdigo expresado en paralelo

Paralelismo de Tarea

Paralelismo de Datos

Creando un Diagrama de Bloques de LabVIEW


Paleta de Funciones (Clic Derecho)
Acceda a la paleta jerrquica de todas las funciones del diagrama de bloques.

Quick Drop (Ctrl + Space)


Bsqueda por nombre de objeto.

Explorando un Diagrama de Bloques


Este es un diagrama de bloques de LabVIEW tpico, totalmente funcional para una aplicacin de medicin continua de voltaje que incluye: Manejo de interfaz de usuario Procesamiento de eventos Paralelismo Transferencia de datos multihilo Anlisis de seal

Discutiremos los componentes en este cdigo fuente en las siguientes diapositivas.

Explorando un Diagrama de Bloques

Hilo de Interfaz de Usuario


Este hilo maneja eventos del panel frontal (interfaz de usuario).

Dos Hilos Asncronos


Debido a que no se pasan datos entre entidades, se ejecutan en paralelo.

Hilo DAQ
Este hilo interacta con el hardware de adquisicin de datos.

Cualquier entidad de diagrama de bloques que puede contener cdigo es llamado estructura.

Estructuras de Control de Ejecucin: Ciclos


Ciclo For Terminal de Conteo
El cdigo contenido detro de este Ciclo For se ejecutar N veces.

Terminales de Iteracin de Ciclo


Proporciona la cuenta de iteracin del ciclo, que va de 0 a N-1.

Ciclo While

Terminal Condicional
El cdigo dentro de este Ciclo While se ejecutar hasta que un valor verdadero sea evaluado.

Ciclos de texto y sus equivalentes en LabVIEW


for (i = 0; i < 10; i++) { /* loop body */ } for (i = 0; i < 10; i++) { if(check(i)) break; }

int x = 0; String y; while (x < 5) { y = functionCall(x); printf(y); x++; }

Estructuras de Evento y Caso


Etiqueta Selectora de Evento
Esto indica qu subdiagrama es visible y detalla el evento que el cdigo dentro del diagrama maneja.

Estructura de Eventos

Etiqueta Selectora Caso


Indica qu subdiagrama es visible.

Estructura Caso

Terminal Selectora
El valor conectado a esta terminal determina cules de los subdiagramas, o casos, se ejecutarn.

Eventos y Casos en texto y sus equivalentes en LabVIEW


Button B = new Button(); B.Click += new RoutedEventHandler(OnBClick); void OnBClick(object Source) { Text1.Text = Button B was Clicked!; } if condition1 then -- statements; elseif condition2 then -- more statements elseif condition3 then -- more statements; else -- other statements; end if switch (n) { case 5: printf(Small number."); break; case 100: printf(Large number."); break; default: printf(Outside range); break; }

Explorando un Diagrama de Bloques

Estructura de Eventos
Ejecuta diferentes subdiagramas basado en eventos e interrupciones

Ciclos While
Iteran continuamente hasta que un valor verdadero es pasado a la terminal de alto

Estructura de Caso
Ejecuta diferentes subdiagramas basado en el valor de esta terminal selectora

Explorando un Diagrama de Bloques

Funciones Primitivas
SubVIs amarillos son parte nativa del lenguaje G y no pueden ser modificados.

Funciones Estndar
Estos subVIs podran ser utilizados o ser parte de un controlador, librera, o toolkit.

Funciones Primitivas
SubVIs amarillos son parte nativa del lenguaje G y no pueden ser modificados.

Estas llamadas estticas a funciones de LabVIEW (SubVIs), no se ejecutan hasta que los datos han llegado a todas sus terminales de entrada. Cuando se completan, las salidas son generadas con valores para que la ejecucin pueda continuar.

Las Funciones pueden ser tan complejas como se necesite

VIs Express
VIs Regulares VIs Bajo Nivel

Rpido y Fcil Basado en Configuracin Limitado


Oculta Detalles Innecesarios Retiene Poder y Flexibilidad Poderoso, Flexible Difcil, Consumen Tiempo

Entendiendo el Comportamiento de un SubVI (Funcin)


El cdigo solo compilar si las entradas requeridas ests conectadas Entradas requeridas estn en Negrita Si una entrada opcional no es suministrada, un valor predeterminado (normalmente entre parntesis) ser utilizado para la ejecucin

Consejo: Acceda la Ayuda Contextual utilizando Ctrl+H

Entendiendo la Jerarqua de la Aplicacin


Dar doble clic en un subVI no primitivo abre la funcin

Cada VI puede ser utilizado como un SubVI


Recuerde que cada SubVI tiene su propio panel frontal y diagrama de bloques.

Explorando un Diagrama de Bloques de LabVIEW

Terminal de Entrada
Las terminales de entrada estn conectadas a los controles del panel frontal y reciben datos de la interfaz de usuario.

Terminales de Salida
Las terminales de salida estn conectadas a indicadores del panel frontal y despliegan datos como salida a la interfaz de usuario.

Se puede intuir si una terminal es un control o indicador, examinando la direccin que sigue.

Explorando un Diagrama de Bloques de LabVIEW

Constantes
Estos valores constantes estn codificados en el diagrama de bloques y solo pueden ser modificados en tiempo de edicin. El color de la constante indica el tipo de datos representados.

Explorando un Diagrama de Bloques de LabVIEW

Cables
Los datos fluyen en los cables entre nodos en el diagrama de bloques.

El color del cable indica su tipo de datos, el cual es estrictamente aplicado en tiempo de edicin.

Visualizando flujo de datos a travs de los cables: Ejecucin Resaltada


Usuario presiona botn Start para iniciar primer evento Usuario presiona botn Stop para iniciar segundo evento

El color, estilo, y grosor de cables comunes


Tipo de Cable Escalar Arreglo 1D Arreglo 2D Color

Punto Flotante
Entero Booleano Cadena Error

Naranja
Azul Verde Rosa Amarillo

Un cable roto representa un conflicto de tipo de datos que LabVIEW no puede resolver de manera automtica. Corrjalo, o su cdigo no se ejecutar.

Administrando recursos en aplicaciones ms grandes


LabVIEW Project Explorer Organiza recursos de aplicacin Coloca clases y libreras Construye ejecutables e instaladores Define el alcance de componentes Coloque y administre objetivos de despliegue de hardware Permite compartir datos en red con diversos dispositivos y Targets Permite configurar las variables (tags) para el modulo SCADA

Nunca inicie un Proyecto de LabVIEW desde Cero


Abundantes ejemplos de proyectos y plantillas proporcionan un punto de inicio escalable

Puntos de inicio recomendados para aplicaciones comunes de LabVIEW Indican claramente donde agregar o cambiar la funcionalidad Muestra mejores prcticas para el diseo de cdigo, documentacin, y organizacin Agrega plantillas personalizadas y proyectos ejemplo

Ecosistema de LabVIEW
LabVIEW Tools Network 1,000,000+ Complementos Descargados 26+ Complementos Certificados 100+ Complementos Disponibles

Comunidad de Usuarios 9,000+ Usuarios Certificados 700+ Alliance Partners 60+ Grupos de Usuarios Registrados

Mdulos y Toolkits 40+ Toolkits y Mdulos Incluyendo:

LabVIEW Real-Time Module LabVIEW FPGA Module LabVIEW Embedded Module for ARM LabVIEW Touch Panel Module LabVIEW Wireless Sensor Network Module LabVIEW C Code Generator NI Real-Time Hypervisor Vision Development Module for LabVIEW Sound and Vibration Measurement Suite Sound and Vibration Toolkit LabVIEW Advanced Signal Processing Toolkit LabVIEW Adaptive Filter Toolkit LabVIEW Digital Filter Design Toolkit LabVIEW MathScript RT Module Spectral Measurements Toolkit Modulation Toolkit for LabVIEW LabVIEW Robotics Module LabVIEW Biomedical Toolkit ECU Measurement and Calibration Toolkit GPS Simulation Toolkit for LabVIEW Measurement Suite for Fixed WiMAX WLAN Measurement Suite Automotive Diagnostic Command Set LabVIEW GPU Analysis Toolkit Multicore Analysis and Sparse Matrix Toolkit LabVIEW PID and Fuzzy Logic Toolkit LabVIEW Control Design and Simulation Module LabVIEW System Identification Toolkit LabVIEW Simulation Interface Toolkit LabVIEW SoftMotion Module LabVIEW Datalogging and Supervisory Control Module LabVIEW Report Generation Toolkit for Microsoft Office LabVIEW Database Connectivity Toolkit LabVIEW DataFinder Toolkit LabVIEW SignalExpress LabVIEW VI Analyzer Toolkit LabVIEW Statechart Module LabVIEW Desktop Execution Trace Toolkit NI Requirements Gateway NI Real-Time Execution Trace Toolkit LabVIEW Unit Test Framework Toolkit LabVIEW Application Builder for Windows

También podría gustarte