Mejores Prácticas en LabVIEW Las 5 Principales Cosas que Debe Conocer para Distribuir su Código de LabVIEW Juan Gil National Instruments
Las 5 Principales Cosas que Debe Conocer De acuerdo con desarrolladores 1. Convertir código de LabVIEW en un producto Apariencia, arquitectura y documentación profesional 2. Envolver otros lenguajes con LabVIEW Más allá del nodo Call Library Function 3. El Application Builder La herramienta de LabVIEW para crear ejecutables, instaladores y bibliotecas de código 4. Integración con el entorno de LabVIEW Paletas, menús, buscador de ejemplos y más 5. Desarrollar e implementar profesionalmente Usar el VI Package manager 2
A Qué Nos Referimos Con Un Producto? Modificar un concepto o herramienta interna para que sea distribuible como un producto Apegánrse a la Guía de Estilo de LabVIEW, especialmente en código abierto para los clientes (como ejemplos) Gráficos, íconos e interfaz de usuario profesionales Suporte y documentación extensos Objetivo: Asegurar una buena experiencia para el usuario en la instalación, evaluación, VS. compra, activación y uso del producto. 3
Crear un Producto Instaladores Marcos de Referencia de Instaladores Estándares MSI, Wise, Installshield Utilizado para aplicaciones autónomas, herramientas y cualquier otra cosa que no se use dentro de LabVIEW VI Package Manager Utilizado para cualquier aditamento a componentes de LabVIEW APIs, herramientas de menús, componentes de UI, código de ejemplo, puntos de prueba personalizados, plantillas de proyectos, etc. Documentación Inicial (ReadMe) Cubre la instalación, actualizaciones, características, soluciones de bugs, SO soportados, versión de LabVIEW, etc. 4
Crear un Producto - Licencias Proteja su Propiedad Intelectual! Puede crear software de prueba con un periodo de evaluación Automatizar el proceso de activación Métodos para licenciamiento: El Third Party Licensing & Activation Toolkit (TPLAT) Agregue licenciamiento a una aplicación con InstantPLUS Esquemas personalizados de licenciamiento Herramientas de terceros p.e. BLT for LabVIEW /licensingtoolkit 5
Crear un Producto Funcionalidad de Fábrica Tutoriales o guías de inicio Incluir ejemplo intuitivos Documentación Reduzca el soporte necesario documentando preguntas comunes Es importante para los desarrolladores entender perfectamente como usar un API 6
Distribuya a Través de LabVIEW Tools Network 1. Asegurese de que su código sea un producto final Visite /devcenter Revise compatibilidad con los Requerimientos de LabVIEW Actualice su código y documentación de acuerdo a esto 2. Complete el proceso de compatibilidad con LabVIEW Visite /labview-tools-network/contribute 3. Publique su producto en LabVIEW Tools Network 4. Promociones y venda su producto 7
Las 5 Principales Cosas que Debe Conocer De acuerdo con desarrolladores 1. Convertir código de LabVIEW en un producto Apariencia, arquitectura y documentación profesional 2. Envolver otros lenguajes con LabVIEW Más allá del nodo Call Library Function 3. El Application Builder La herramienta de LabVIEW para crear ejecutables, instaladores y bibliotecas de código 4. Integración con el entorno de LabVIEW Paletas, menús, buscador de ejemplos y más 5. Desarrollar e implementar profesionalmente Usar el VI Package manager 8
Envolver Otros Lenguajes con LabVIEW Estrategias Básicas Nodo Call Library Function Asistente para importar bibliotecas (ISLW) Estructuras.NET Llamadas a ActiveX EXEs y scripts 9
Casos Avanzados Cómo se maneja una función que: Regresa un tipo de dato diferente a numérico, string y void Maneje el dato como un apuntador, usando en LabVIEW el tipo de dato Unsigned Pointer-Sized Integer para el parámetro return type 10
Casos Avanzados Cómo se maneja una función que Usa un struct o una estructura de datos compleja 1. Represente el struct como un cluster con los mismos elementos 2. Pase muchos tipos de datos usando Adapt to Type y Handles by Value -- bit.ly/callingdlls 11
Envolver Otros Lenguajes con LabVIEW Demo: Generar VIs de Wrapper Automáticamente para DLL 12
Las 5 Principales Cosas que Debe Conocer De acuerdo con desarrolladores 1. Convertir código de LabVIEW en un producto Apariencia, arquitectura y documentación profesional 2. Envolver otros lenguajes con LabVIEW Más allá del nodo Call Library Function 3. El Application Builder La herramienta de LabVIEW para crear ejecutables, instaladores y bibliotecas de código 4. Integración con el entorno de LabVIEW Paletas, menús, buscador de ejemplos y más 5. Desarrollar e implementar profesionalmente Usar el VI Package manager 13
Empacar Código Compilado para Distribución VI de Arranque SubVIs SubVIs SubVIs SubVIs SubVIs Ejecutable Aplicación específica, desarrollado por el usuario Ambiente de Desarrollo de LabVIEW Run-Time Engine 14
Configuración Básica: Categorías de Archivos VIs que corren cuando se arranca el ejecutable Componentes que acompañan al ejecutable Información imprescindible que debe ser definida por el usuario para construir el ejecutable 15
Qué hace el Application Builder VI de Arranque SubVIs SubVIs SubVIs SubVIs SubVIs 1. Crea nuevo contexto 2. Abre VIs de arranque 3. Identifica dependencias enlazadas 4. Elimina VIs no utilizados 5. Re-compila en el siguiente contexto 6. Guarda archivos en nueva ubicación 7. Construye ejecutable Desarrollado por usuario Reutilizado Ejecutable vi.lib Librería 1 Librería 2 16
Qué hay dentro del EXE Ejecutable Loader Carga VIs y habla con el run-time engine VIs + código compilado + datos de VI ± diagrama ± páneles Recursos + ícono Run-time Engine LV RTE Libraries básicas de LabVIEW y recursos para ejecutar los VIs MSVC Run-time Librerías para ejecutar el código C Componentes Adicionales ± Datasocket ± Variable Engine ± NI-USI 17
Organizar Código en Librerías de Proyecto Identificar módulos desacoplados de código API público Estos módulos deben organizarse en librerías Las librerías deben tener un API público, que son los únicos VIs que pueden ser llamados externamente Métodos privados o protegidos 18
Las 5 Principales Cosas que Debe Conocer De acuerdo con desarrolladores 1. Convertir código de LabVIEW en un producto Apariencia, arquitectura y documentación profesional 2. Envolver otros lenguajes con LabVIEW Más allá del nodo Call Library Function 3. El Application Builder La herramienta de LabVIEW para crear ejecutables, instaladores y bibliotecas de código 4. Integración con el entorno de LabVIEW Paletas, menús, buscador de ejemplos y más 5. Desarrollar e implementar profesionalmente Usar el VI Package manager 19
Integración con el Entorno de LabVIEW Paletas Menús Buscador de ejemplos Atajos de Quickdrop Scripting/VI Server Puntos de prueba personalizados Códigos de error personalizados Proveedor de Proyectos Licencia y Activación 20
Integración Paletas de LabVIEW Coloque el archivo de menú en <LabVIEW> \menus Editor de paletas (Tools > Advanced > Edit Palette set) API de edición de paletas (Functions > Application Control > Palette Editing) Agregue sus VIs a una paleta existente Programming, Measurement I/O, Addons, etc. Se puede realizar usando VI Package Manager 21
Integración Menús Coloque el VI que quiera llamar en la dirección adecuada: Archivo: <LabVIEW>\wizard Herramientas: <LabVIEW>\project Ayuda: <LabVIEW>\help Se puede realizar usando VI Package Manager 22
Integration Buscador de Ejemplos Agregue ejemplos al NI Example Finder Seleccione: Tools > Prepare Example VIs for NI Example Finder Se puede realizar usando VI Package Manager 23
Integración Quick Drop Completa automáticamente nombres de VIs y funciones Se activa con Ctrl+espacio Atajos de Ctrl+ tecla Ejecute cualquier VI para automatizar tareas Incluidos con LabVIEW o Ejemplo: Insertar, cablear, crear todos los controles e indicadores Completamente personalizable Modifique o cree los atajos Descargue atajos de la comunidad o Ejemplo: Etiquetar cables automáticamente bit.ly/quickdrop 24
Integración Atajos de Quick Drop Ejemplo de aditamento: Agregar etiquetas automáticamente con Ctrl+espacio y Ctrl+N 25
Las 5 Principales Cosas que Debe Conocer De acuerdo con desarrolladores 1. Convertir código de LabVIEW en un producto Apariencia, arquitectura y documentación profesional 2. Envolver otros lenguajes con LabVIEW Más allá del nodo Call Library Function 3. El Application Builder La herramienta de LabVIEW para crear ejecutables, instaladores y bibliotecas de código 4. Integración con el entorno de LabVIEW Paletas, menús, buscador de ejemplos y más 5. Desarrollar e implementar profesionalmente Usar el VI Package manager 26
Desarrollar e Implementar Profesionalmente VI Package Manager Ideal para toolkits y aditamentos de LabVIEW bit.ly/vipackagemanager Instaladores Ideales para aplicaciones También se pueden usar para toolkits y aditamentos de LabVIEW bit.ly/labviewinstaller Herramientas de terceros Pueden simplificar el proceso y el marco de distribución, actualización, licenciamiento, etc. Por ejemplo: WireBird Labs: Deploy, BLT for LabVIEW 27
VI Package Manager para Distribuir APIs Cree Archivos VI Package desde código de LabVIEW Encuentre e Instale VI Packages, descargables de Internet Administre VI Packages usados en múltiples aplicaciones Compre y Venda VI Packages en LabVIEW Tools Network 28
Desarrollar e Implementar Profesionalmente Beneficios de VIPM Distribuir actualizaciones fácilmente para desarrolladores y clientes Proceso de instalación profesional y transparente Configure un VI package para crear menús, paletas y más durante la instalación bit.ly/vipackagemanager 29
Desarrollar e Implementar Profesionalmente Demo: Crear un VI Package que instale paletas, menús y ejemplos personalizados 30
Recursos Todas las ligas usadas en la presentacion: bit.ly/devdayslinks Add-on Developer Center: /devcenter Consultores e Integradores de LabVIEW /findapartner LabVIEW Tools Network /labview-tools-network 31
Acelere su Crecimiento con Certificaciones Arquitecto Certificado de LabVIEW (CLA) Desarrollador Certificado de LabVIEW (CLD) Desarrollador Certificado de LabVIEW para Sistemas Embebidos (CLED) 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 /cled 32
PREGUNTAS? Las 5 Principales Cosas que Debe Conocer para Distribuir su Código de LabVIEW Juan Gil National Instruments