Las 5 Principales Cosas que Debe Conocer
para Distribuir su Código de LabVIEW
Juan Gil
National Instruments
Mejores Prácticas en
LabVIEW
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
¿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,
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
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
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
Distribuya a Través de LabVIEW Tools Network
1.Asegurese de que su código sea un producto final
• Visite ni.com/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 ni.com/labview-tools-network/contribute
3.
Publique su producto en LabVIEW Tools Network
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
Envolver Otros Lenguajes con LabVIEW
•Estrategias Básicas
• Nodo Call Library Function
• Asistente para importar bibliotecas
(ISLW)
• Estructuras .NET
• Llamadas a ActiveX
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
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
Envolver Otros Lenguajes con LabVIEW
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
VI de Arranque
Aplicación específica, desarrollado por el usuario
SubVIs SubVIs SubVIs SubVIs SubVIs Ejecutable
Run-Time Engine
Ambiente de Desarrollo de LabVIEW
Configuración Básica: Categorías de Archivos
VIs que corren cuando se arranca el ejecutable
Componentes que acompañan al
VI de Arranque
SubVIs SubVIs SubVIs SubVIs SubVIs
Desarrollado por usuario Reutilizado
Qué hace el
Application Builder
Ejecutable
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
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 LV RTE Libraries básicas de
LabVIEW y recursos para ejecutar los VIs
Run-time Engine
MSVC Run-time
Librerías para ejecutar el código C Componentes Adicionales ± Datasocket ± Variable Engine ± NI-USI
Organizar Código en Librerías de Proyecto
• Identificar módulos desacoplados
de código
• 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
API público
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
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
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.
Integración – Menús
•
Coloque el VI que quiera llamar en la dirección
adecuada:
• Archivo: <LabVIEW>\wizard
• Herramientas: <LabVIEW>\project
• Ayuda: <LabVIEW>\help
Integration – Buscador de Ejemplos
•Agregue ejemplos al NI Example Finder
• Seleccione: Tools > Prepare Example VIs for NI Example Finder
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
Integración – Atajos de Quick Drop
Ejemplo de aditamento: Agregar etiquetas
automáticamente con Ctrl+espacio y Ctrl+N
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
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.
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
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
Desarrollar e Implementar Profesionalmente
•
Demo: Crear un VI Package que instale paletas, menús y
Recursos
•
Todas las ligas usadas en la presentacion:
• bit.ly/devdayslinks
•
Add-on Developer Center:
• ni.com/devcenter
•
Consultores e Integradores de LabVIEW
• ni.com/findapartner
•
LabVIEW Tools Network
Acelere su Crecimiento con Certificaciones
Nuevo Desarrollador Certificado de LabVIEW para Sistemas Embebidos (CLED) Sistema de renovación de certificación para actividades calificadas
Desarrollador Certificado de LabVIEW para Sistemas Embebidos (CLED)
Arquitecto Certificado de LabVIEW (CLA)
Desarrollador Certificado de LabVIEW (CLD)
Desarrollador Asociado Certificado de LabVIEW (CLAD)