Mejores Prácticas en LabVIEW
Cómo Convertirse en un Gurú de LabVIEW Laura Hernández National Instruments
mexico.ni.com
LabVIEW Ayuda a Resolver Grandes Retos de la Ingeniería Investigación y Academia
mexico.ni.com
Monitoreo y Procesamiento de Datos
Energía y Control de Procesos
3
Automatización y Pruebas Complejas
LabVIEW Integra los Elementos de Sistemas de Ingeniería
mexico.ni.com
4
Graphical System Design Un enfoque basado en la plataforma para mediciones y control
mexico.ni.com
5
El Código Spaguetti
mexico.ni.com
6
Los Principios a Recordar de LabVIEW La Ejecución es Basada en el Flujo de Datos •
Cada nodo del diagrama de bloques se ejecuta cuando recibe todas sus entradas
•
Cada nodo produce una salida cuando se ejecuta Los datos fluyen a través de los cables Este movimiento de datos determina también el orden de ejecución
• •
Resultado = (A+B*C) / (D-E) La suma y multiplicación se ejecutan en paralelo mexico.ni.com
7
Los Principios a Recordar de LabVIEW Manejo de Datos y Estructuras de Datos Tipos de Datos Tipo de Dato
Escalar
Arreglo 1D
Arreglo 2D
Color
Punto Flotante
Naranja
Entero
Azul
Boleano
Verde
Caracter
Rosa
Error
Amarillo
Clusters
Arreglos
Agrupan lógicamente los valores de datos relacionados.
Conjunto de elementos de datos del mismo tipo
Optimizan la legibilidad del diagrama
Permite trabajar con un grupo de datos grande
mexico.ni.com
8
Los Principios de LabVIEW que Debe Recordar Controles Personalizados y sus Ventajas Controles Personalizados
Definiciones de tipos (Type Def)
Se comportan como los controles existentes pero que presentan una apariencia diferente.
Control o indicador personalizado ligado a un archivo en disco
Reutilizables en multiples proyectos
Cualquier cambio en los tipos de datos se refleja en todas las instancias utilizadas
mexico.ni.com
9
Los Principios de LabVIEW que Debe Recordar Funciones de LabVIEW Conforme a sus Necesidades
Express VIs Regular VIs LowLevel VIs mexico.ni.com
• Rápido y Sencillo • Solo Configuración • Menor Personalización
• Reduce Detalles Innecesarios • Mantiene Funcionalidad y Flexibilidad • Funcionalidad, Flexibilidad • Requiere mayor experiencia y tiempo de desarrollo
10
Evite los 5 Errores más Comunes de Principiante •
1. Uso excesivo de Flat Sequence Structures
•
2. Mal uso de variables locales
•
3. Ignorar la modularidad del código
•
4. Crear diagramas de bloques enormes
•
5. No tener en cuenta la necesidad de documentar
mexico.ni.com
11
1. Uso excesivo de Flat Sequence Structures • •
Consiste en uno o más subdiagramas, o cuadros que se ejecutan secuencialmente Afectan el flujo natural del programa y pueden limitar el paralelismo.
¿Cómo evitarlo? • • •
Utilizar el flujo de datos en LabVIEW Usar las terminales de error Arquitectura de máquina de estados para secuencias dinámicas
2. Mal uso de variables locales •
Memoria compartida para comunicar datos entre diferentes secciones
•
Las variables locales NO son esenciales en LabVIEW
•
Pueden provocar condiciones de carrera
¿Cómo evitarlo? Reducir el uso de variables Usar flujo de datos cuando sea posible
mexico.ni.com
12
3. Ignorar la modularidad del código Un programa está compuesto de módulos distintos •
En LabVIEW los módulos son los SubVIs
•
Identificar código reutilizable, convertirlo en un módulo o SubVI
4. Crear diagramas de bloques enormes •
Se pierde legibilidad de la aplicación
•
Es más difícil y tardado depurar y agregar nueva funcionalidad
mexico.ni.com
13
Prácticas Recomendadas en LabVIEW Documentación del Código Un código bien documentado ayuda a los usuarios y otros programadores, y también al desarrollador
¿Cómo documentar un VI? • Descripción e ícono del VI • Etiquetas en panel frontal y diagrama de bloques • Documentar subVIS dentro de VI Properties
Temporización de VIs • Para controlar la frecuencia con la que se ejecuta un ciclo. • Para darle tiempo al procesador para que complete otras tareas, ej. interfaz de usuario.
mexico.ni.com
14
Prácticas Recomendadas en LabVIEW Manejo de Errores •
Aumenta la funcionalidad de la aplicación
•
Mejora la experiencia del usuario
Depuración de Código ¿Cómo inspeccionar un VI? ¿Hay algún cable desconectado o subVIs ocultos? ¿Los valores de los controles son correctos? ¿El VI tiene tipos de datos correctos? ¿El flujo de datos esta de forma correcta? Highlight Execution
Probes
Single-Stepping Tools
Breakpoints mexico.ni.com
15
Dónde Comenzar a Programar en LabVIEW Plantillas y Arquitecturas de Ejemplo en LabVIEW
• Punto de inicio recomendado para aplicaciones comunes en LabVIEW • Indica claramente cómo y dónde agregar funcionalidades • Muestra buenas prácticas para diseño de código, documentación y organización • Permite agregar plantillas y proyectos personalizados
mexico.ni.com
16
Dónde Comenzar a Programar en LabVIEW Plantillas y Arquitecturas de Ejemplo en LabVIEW
Máquinas de Estado
mexico.ni.com
Productor 17 Consumidor
Estructura de Eventos
Dónde Comenzar a Programar en LabVIEW Plantillas y Arquitecturas de Ejemplo en LabVIEW Cuando Utilizar Máquinas de Estado Interfaces de usuario Los datos determinan la secuencia de ejecución
Cuando Utilizar Estructura de Eventos UI: Conserva el uso del CPU UI: Asegura que no se perderá un evento Dirigir procesos de esclavos Determina la ejecución al correr el VI Recuerda el orden de múltiples eventos Productor Consumidor Tengo dos procesos que necesitan ejecutarse al mismo tiempo. Gestionar con facilidad múltiples procesos al mismo tiempo que iteran a velocidades distintas
mexico.ni.com
18
Recomendaciones Avanzadas para Programar Variables Globales Funcionales • Un subVI con un ciclo while de 1 iteración y un registro de desplazamiento no inicializado. • Son útiles para evitar condiciones de carrera.
Programación Orientada a Objetos •
Propiedades son las características (datos) de un objeto.
•
Métodos son las acciones que un objeto puede hacer. En general, permite desarrollar aplicaciones complejas con código que… …se escribe más FÁCILMENTE …es mucho más ESTABLE …simplifica su MANTENIMIENTO
mexico.ni.com
19
Interfaces de Usuario, “La Cereza del Pastel” • •
LabVIEW incluye una extensa variedad de controles e indicadores de ingeniería y ciencias Interfaces profesionales personalizadas por el usuario
http://decibel.ni.com/content/groups/ui Descargas Gratis – Grupo de UI se la Comunidad
mexico.ni.com
20
¿Necesita Apoyo? Recursos Importantes •
Guías de Inicio: ni.com/gettingstarted
•
Soporte, manuales y ejemplos: ni.com/support
•
Foros de discusión: ni.com/foros
•
Formación, Capacitación y Certificación: ni.com/training
•
Foros con temas avanzados: lavag.org
mexico.ni.com
21
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
Aproveche el 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
Módulos y Toolkits 40+ Toolkits y Módulos Incluyendo: mexico.ni.com
22
Acelere su Crecimiento con Certificaciones
Arquitecto Certificado de LabVIEW (CLA) Desarrollador Certificado de LabVIEW para Sistemas Embebidos (CLED)
Desarrollador Certificado de LabVIEW (CLD) Desarrollador Asociado Certificado de LabVIEW (CLAD)
Nuevo Desarrollador Certificado de LabVIEW para Sistemas Embebidos (CLED) Sistema de renovación de certificación para actividades calificadas ni.com/cled mexico.ni.com
23
¿PREGUNTAS?
Cómo Convertirse en un Gurú de LabVIEW
Laura D. Hernández Torres
[email protected] National Instruments Mexico mexico.ni.com