<img height="1" width="1" src="https://www.facebook.com/tr?id=1101141206686180&amp;ev=PageView &amp;noscript=1">

Semana de los NI 2017 (1 de 3)

Erdos Miller tuvo un gran tiempo esta semana pasada en NI Week 2017, llegamos a sentarnos en una variedad de sesiones y hemos resumido nuestras notas de varias sesiones divididas en tres blogs.

Este blog contiene notas relativas a:

  • Sesión AD0414 que cubre por qué y cómo instalar paquetes linux en su NI Linux Target.
  • Sesión AD0832 que cubre cómo acelerar el desarrollo con menús de clic derecho
  • Sesión AD0395 que cubre como comunicarse entre objetivos en el framework actor
  • Sesión 0546 que se centra en el aprendizaje profundo en hardware/software de NI

Sacando el máximo provecho de su Linux RT Target
AD0414
Sev Kamenskihs

Esta fue una gran sesión para los usuarios de cRIO que no están muy familiarizados con el poder del sistema operativo Linux. La sesión trató sobre iptables, un cortafuegos basado en Linux que puede aumentar la seguridad de los objetivos RIO orientados a Internet, Syslog, un protocolo estándar de la industria útil para comunicar eventos y errores, y la pila de aplicaciones LAMP, que proporciona servicios web integrados.

Las Tablas IP proporcionan al cRIO una funcionalidad similar a la de un cortafuegos. Con el uso de Tablas IP, puertos específicos pueden ser cerrados o puestos a disposición sólo de direcciones IP específicas. Además, las conexiones a los puertos pueden ser de velocidad limitada ayudando en la prevención de ataques de denegación de servicio.

El Registro del Sistema proporciona un archivo de registro para registrar eventos de software e información de depuración. Uno de los mejores casos de uso es para exportar la información de seguimiento de depuración del Actor Framework. Esta información se ve normalmente a través del Desktop Trace Execution Toolkit, sin embargo, en un objetivo en tiempo real esta información se vuelve inaccesible. Modificando el AFDebug.lvlib, podemos hacer que registre la información de rastreo en el SysLog.

La pila de software LAMP (Linux/Apache/MySQL/PHP). La implementación de la pila LAMP permite al cRIO actuar como un servidor web y proporcionar diseño de sitios web basados en PHP. El uso de LAMP nos permite evitar el uso de servicios web LabVIEW para proporcionar acceso a la interfaz de usuario basada en navegador.

Puede encontrar información detallada en: https://forums.ni.com/t5/NI-Linux-Real-Time-Documents/Getting-the-Most-Out-of-your-NI-Linux-Real-Time-Target/ta-p/3523211

LabVIEW más rápido con Quick Drop y menús personalizados de clic derecho
AD0832
Ryan Sparks; Matt Jacobson

Esta sesión está dirigida a desarrolladores de LabVIEW que desean programar más rápido utilizando atajos de teclado y minimizando los clics del ratón. Se habló de Quick drop, Shortcut Menus (también conocidos como Right-Click menus) y Scripting Springboard.

Quick drop permite al usuario buscar controles y VIs en el proyecto y las paletas y añadirlos al panel frontal y al diagrama de bloques, respectivamente, sin navegar por las paletas o el explorador de proyectos. Una funcionalidad extendida de Quick Drop son los atajos de teclado que realizan tareas repetitivas como Ctrl + I para insertar elementos. Para crear atajos de teclado personalizados de Quick Drop, los desarrolladores pueden utilizar la plantilla de plugins de QuickDrop.

Hay un montón de atajos de teclado Quick Drop de la Comunidad que automatizan acciones repetitivas en LabVIEW. Uno de ellos es el Class Method Browser (Ctrl+C) por Moore Good Ideas, Inc. que permite al usuario navegar por los métodos invocables en esa clase y (Ctrl+Shift+C) para navegar por los mensajes que un actor puede enviar.

Los menús de acceso directo proporcionan mucha funcionalidad en LabVIEW a través del botón derecho del ratón en diferentes elementos. En LabVIEW 2015, R&D agregó la capacidad de crear sus propios plugins de menú de clic derecho e incluyó una plantilla para facilitar el proceso. Mis Community Shortcut Menus favoritos son Grow to N por jtagg, que le permite hacer crecer un nodo growable a un tamaño específico en lugar de tratar de cambiar el tamaño con el cursor y Change Mechanical Action from Diagram por Darren, que permite al desarrollador cambiar la acción mecánica de un control booleano desde el diagrama de bloques.

Para aquellos que quieren empezar a hacer scripts o les gustaría una manera más fácil de probar sus tareas de scripting, el Springboard de Scripting es una gran herramienta. Esta es una gran herramienta para añadir a su menú Herramientas en LabVIEW colocando la carpeta Springboard bajo la carpeta <LabVIEW>\project.

Grupo de la Comunidad de Entusiastas de Quick Drop: http://forums.ni.com/t5/Quick-Drop-Enthusiasts/gp-p/grp-1251
Grupo de la Comunidad LabVIEW Shortcut Menu Plug-Ins: http://forums.ni.com/t5/LabVIEW-Shortcut-Menu-Plug-Ins/tkb-p/3013
Springboard de scripting: https://github.com/jacobson3/Scripting-Springboard

Cruzando la brecha: Comunicación entre objetivos en Actor Framework
AD0395
Allen Smith

Esta fue una de mis sesiones favoritas en la NI Week. Allen cubre la historia de la comunicación inter-objetivo en el Actor Framework y luego introduce y explica las actuales herramientas de comunicación disponibles. La información proporcionada en esta sesión proporciona beneficios en la forma de comprobabilidad, consistencia y escalabilidad del Actor Framework sin sacrificar las comunicaciones de red o utilizar librerías de comunicación de red ineficientes.

Allen comenzó discutiendo la solución original, "Linked Network Actors". Se mencionó que Linked Network Actors se basaba en soluciones tradicionales de manejadores de mensajes en cola para la comunicación de red. Sin embargo, los Actores de Red Vinculados están ahora obsoletos en favor de los Actores de Extremo Anidado.

Los Nested Endpoint Actors proporcionan la solución actual para la comunicación en red. A diferencia de los Actores de Red Vinculados, los Actores de Punto Final Anidado soportan comunicación TCP y de Flujos de Red. Los Actores Endpoint Anidados pasan mensajes del Actor Framework entre ellos antes de reenviar el mensaje al actor llamante. Esto permite a los desarrolladores tratar ambos objetivos como si fueran dos árboles de actores separados en el mismo objetivo.

Finalmente, Allen discutió el "Lanzamiento de Actor Remoto". Esto permite a los desarrolladores ejecutar dinámicamente Actores en instancias de aplicación remotas separadas de la instancia en ejecución actual. Uno de los mayores casos de uso para Launch Remote Actor es la integración continua con Jenkins. Un ejecutable de LabVIEW que opera en el motor de tiempo de ejecución no puede compilar una especificación de compilación. Usando Launch Remote Actor, un ejecutable de servicio Jenkins puede ser creado para ejecutarse en segundo plano a tiempo completo. Cuando Jenkins necesita ejecutar una compilación, el servicio Jenkins puede ejecutar el entorno de desarrollo de LabVIEW y usar Launch Remote Actor para ejecutar un actor en el entorno de desarrollo para compilar las especificaciones de compilación.

Aprendizaje Profundo con LabVIEW y Aceleración en FPGAs
0546
Alik Sargsyan

Aunque principalmente fue una presentación de la próxima versión de NGENE para su biblioteca de aprendizaje profundo para su uso en LabVIEW; la sesión dio un ejemplo muy funcional de cómo el aprendizaje profundo se puede utilizar en hardware de NI para resolver problemas muy complejos con redes neuronales; sin una red neuronal, la solución de estos problemas sería muy difícil o imposible.

El aprendizaje profundo, es un proceso mediante el cual se puede enseñar a un software a través de datos estáticos cómo tomar decisiones utilizando una red neuronal. Al disponer de una base de datos de información relativa a la tarea en cuestión, se le puede enseñar a ser capaz de resolver un problema con una certeza cuantificable. Por ejemplo, se puede enseñar a una red neuronal a través de ejemplos qué aspecto tiene el número seis escrito a mano y, si se le dan suficientes ejemplos, puede identificar números recién escritos que no existían en su base de datos de enseñanza.

El giro de la librería de NGENE es que el objetivo era poder utilizar la FPGA (o convencionalmente la GPU) para acelerar el proceso de entrenamiento, con lo que el proceso de aprendizaje automático podría optimizarse al máximo y posteriormente podarse y comprimirse. Imagina poder colocar una red neuronal en un sistema de visión que pudiera identificar personas y coches en tiempo real a una velocidad de fotogramas lo suficientemente rápida como para tomar decisiones.