34
1 spain.ni.com 8 abril 2014 | IFEMA Madrid spain.ni.com/nidays

Rt Linux NIDays

Embed Size (px)

Citation preview

1 spain.ni.com

8 abril 2014 | IFEMA –

Madrid

spain.ni.com/nidays

spain.ni.com

NI Linux Real-Time

Fabio Mussi

Systems Engineer - CLA

3 spain.ni.com

Agenda

• Introducción al nuevo CompactRIO 9068 • Características HW

• Arquitectura Zynq

• Rendimientos

• NI Linux Real-Time: Características básicas • Conectividad

• Configuración y administración de aplicaciones

• NI Linux Real-Time: Características avanzadas • Seguridad

• LabVIEW y la integración de código de terceros

• Soporte para programación C/C++

• Administración de paquetes: OPKG

• Soporte

4 spain.ni.com

El sistema CompactRIO rediseñado

Sistema de diseño de NI LabVIEW Programación con los módulos LabVIEW Real-Time y LabVIEW FPGA Aplicaciones LabVIEW por puertos existentes

Ultra robusto Rango de temperatura -40 a 70° C 50 g de impacto y 5 g de vibración

Alto rendimiento y transferencia Procesador Dual-Core ARM 667 MHz FPGA Xilinx Serie 7 con 85k celdas lógicas 16 canales DMA FIFO para streaming de datos

Comunidad y reutilización de código

Sistema operativo NI Linux Real-Time Integración de aplicaciones y librerías existentes Desarrollo, depuración y descarga en código C/C++

5 spain.ni.com

Nuevo valor de la arquitectura hardware CompactRIO

Procesador

E/S

E/S

E/S especial

FPGA

Procesador ARM

Periféricos

RAM

Almanc.

AXI

Artix-7 FPGA

• AXI Bus entre la FPGA y el procesador • Tasa de transferencia de 300 MB/s

• Procesador de 667 MHz Dual-Core ARM Cortex-A9 • Algunos periféricos enrutados a través de la FPGA

• FPGA Artix-7 con 85K celdas lógicas • DSP con 220 Slices

10 spain.ni.com

cRIO-9002 cRIO-9004 cRIO-9072 cRIO-9074 cRIO-9075 cRIO-9076 cRIO-9012 cRIO-9014 cRIO-9024 cRIO-9025 cRIO-9081 cRIO-9082

NI CompactRIO programado con LabVIEW

cRIO-9068

11 spain.ni.com

Rendimiento multinúcleo con el cRIO-9068

• Aplicaciones de control • Un núcleo para el código crítico, los otros para el

resto

• Introducción a LabVIEW Real-Time Symmetric Multiprocessing (SMP)

• Procesamiento de calidad • Balance de carga entre núcleos

• Especificar el conjunto de CPUs disponibles para el balance de carga automático en LabVIEW Real-Time

• Transferencia de datos de aplicación • Arquitecturas Productor/Consumidor

• Aproveche LabVIEW para un enfoque intuitivo de la programación multinúcleo

13 spain.ni.com

Comparación de rendimientos

El cRIO-9068 tiene 4 veces el rendimiento de un sistema CompactRIO similar con 8 ranuras.

11%

72%

0% 20% 40% 60% 80% 100%

cRIO-9068

cRIO-9074

Uso del procesador

Comparación de aplicación de control

7%

46%

0% 20% 40% 60% 80% 100%

cRIO-9068

cRIO-9074

Uso del procesador

Comparación de tarea de transferencia de datos

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

100

200

300

400

500

600

700

800

900

1000

1100

1200

1300

1400

1500

16

00

1700

Uso

de

l pro

ce

sad

or

Frecuencia del ciclo (Hz)

Comparación de aplicaciones complejas

cRIO-9074 cRIO-9068

14 spain.ni.com

Linux Operating System Sistema Operativo NI Linux Real-Time

Aplicaciones y

librerías de

la comunidad

C/C++

15 spain.ni.com

Soporte de LabVIEW para NI Linux Real-Time OS®

• Los usuarios familiarizados con Linux desbloquean el vasto ecosistema LINUX en el nuevo controlador CompactRIO

• Reutilice el código C/C++ en las aplicaciones desarrolladas con LabVIEW Real-Time en el controlador CompactRIO rediseñado

• Libertad en Conectividad • Flujo de diseño ampliado enLabVIEW para la creación de servicios web abiertos

• Transferencia de datos segura con WebDAV

• Interfaz de red mejorado

El módulo de LabVIEW 2013 Real-Time soporta el desarrollo, el depurado y la descarga de aplicaciones a el sistema operativo determinista NI Linux Real-Time OS®

16 spain.ni.com

Sistema operativo NI Linux Real-Time

• ¿Por qué Linux? • Soporte de arquitecturas CPU diversas (ARM, x86, etc) • Ofrece mejor seguridad • No ligado a fabricante, sin propietario • Gran ecosistema

• Inversión de NI • Fiable, rendimiento de tiempo real • Mantenimiento y administración futura de NI

Fiabilidad de tiempo real CON la facilidad de uso/ecosistema de un SO de propósito general

spain.ni.com

NI Linux Real-Time: Características Básicas

25 spain.ni.com

Transferencia de archivos: WebDAV

• Protocolo industrial estándar

• Administración de archivos en dispositivos remotos vía HTTP

• Acceso seguro a archivos • Autenticación

• Encriptación

• Soportado por todos los SOs y navegadores de red

• Nueva API de LabVIEW para acceso programático

26 spain.ni.com

Transferencia de archivos: FTP no seguro

• Ningún servidor FTP no seguro se instala por defecto en los sistemas NI Linux Real-Time

• El servidor FTP no seguro puede ser manualmente instalado para la compatibilidad

• Se debe acceder con usuario “anónimo”

• Tiene privilegios en la raíz similar a los cRIO actuales

27 spain.ni.com

NI-Auth y la integración de NI Linux Real-Time

• Toda autenticación de usuarios es a través de NI-Auth

• Utiliza el interfaz Web para administrar usuarios

• Integración PAM

• Los usuarios en NI-Auth son usuarios de Linux

• El administrador es superusuario

• Si la contraseña del administrador se pierde, el dispositivo debe ser reseteado a estado de fábrica

• Se ha de contactar con NI

28 spain.ni.com

Secure Shell (SSH)

• Se habilita a través del MAX y/o interfaz web

• Se puede usar como una consola

• Se puede usar para transferir archivos

• Permisos basados en usuario

• SFTP

• Las credenciales están sincronizadas con NI-Auth (Interfaz web)

33 spain.ni.com

Nuevo y consistente menú derecho en MAX e Interfaz web

34 spain.ni.com

Actualizaciones del sistema en NI Linux Real-Time

• Se puede llamar directamente a “Set Image” de los dispositivos NI Linux Real-Time

• Habilita a los dispositivos para cargar la imagen

• Las imágenes pueden extraerse de redes de trabajo o de memorias USB

• Especifica metadatos adicionales cuando se crea una imagen RT (título, versión, descripción)

• Lista negra de máscaras con imagen de sistema*

• Globales: “*” y “?”

• Coincidencia de caracteres: [abc]

36 spain.ni.com

Administración de Bit Files de FPGA

• Actualización y borrado de bitfiles de FPGA en dispositivos NI Linux Real-Time de forma programática desde el MAX y la web

spain.ni.com

NI Linux Real-Time: Características Avanzadas

38 spain.ni.com

Seguridad en NI Linux Real-Time

• SSL habilitada por defecto • Se puede instalar programáticamente el software a través de SSL

• Se pueden usar claves públicas para SSH

• La comunicación HTTPS es la única posible • Se puede apagar la versión HTTP del servidor web del sistema

• Tablas IP* disponibles para montar el firewall

• VPN abierto* disponible para montar una VPN

*No soportado por ingenieros de aplicaciones. Requiere experiencia. Sin API de LabVIEW

39 spain.ni.com

Interactuar con el código en NI Linux Real-Time

• A/Desde LabVIEW 1. Call Library Function Node

2. Llamadas a System Execution

3. Comunicación con Localhost

• Más allá de LabVIEW 1. Init scripts – para inicializar en el arranque

2. Cron – para ejecución periódica

3. Programas SSH habilitados por red

41 spain.ni.com

Integración flexible de software

Reutilización de código

• Integración de aplicaciones y librerías existentes

• Desarrollo, depuración y descarga de código C/C++

• Uso a elección de Eclipse u otro entorno

• Ventaja del ecosistema de Linux

• Interoperación con la FPGA programada en LabVIEW

Hardware programable

• Descarga de código crítico de decisión a la FPGA

• Precisión de temporización fiable para control o procesamiento

• Logra alta velocidad y alta precisión de E/S

• Uso de programación gráfica para aprovechar la tecnología FPGA sin ser experto en HDL

FPGA E/S modulares

Procesador de tiempo real

42 spain.ni.com

Eclipse para el CompactRIO-9068

• Elección de C y/o LabVIEW para programar el procesador • LabVIEW FPGA requerido

• La API interfaz de C de la FPGA da acceso a la FPGA desde C

• El instalador facilitado incluye Eclipse y su Compilador • Disponible en ni.com/downloads

Subsistema de procesamiento

ARM A9

ARM A9

Estructura de la FPGA

LabVIEW FPGA Host Interface API Interfaz de C para FPGA

43 spain.ni.com

¿Qué es Eclipse?

• Entorno de desarrollo gratuito originariamente para desarrollo Java

• Entorno de desarrollo de facto para desarrollo embebido

• Actualizado con herramientas para desarrollo y depuración en C/C++

• Toolkit de desarrollo Eclipse C/C++ (CDT)

• Administración de dispositivos/Explorador de sistemas remotos

• Nota: NI facilita el instalador para Windows

• No es necesaria la utilización de Eclipse

44 spain.ni.com

API de interfaz C de la FPGA

• Habilita las aplicaciones C/C++ para interactuar directamente con VIs compilados de LabVIEW FPGA en dispositivos RIO

• Ha de ser descargado junto con el instalador de Eclipse

• Soporta • Lectura/escritura a controles e indicadores por nombre

• Transferencias de datos por DMA

• Interrupciones por espera y confirmación

• NO es un interfaz para RSI o Scan Engine.

46 spain.ni.com

Experiencia Eclipse para C/C++ en NI Linux Real-Time

Desarrollo con LabVIEW FPGA (Windows)

1. Desarrollo de VIs con LabVIEW FPGA, compilación de bitfile y generación de API de C.

2. Desarrollo y construcción de aplicación con C/C++ la API de C generada y depuración.

3. Descarga de la aplicación y bitfile construidos y ejecución.

CompactRIO/myRIO

Desarrollo remoto, depuración y descarga

Descarga

47 spain.ni.com

Elementos para la opción de desarrollo de C/C++

• LabVIEW FPGA • API de interfaz de C de FPGA

• Entorno de desarrollo C/C++ • Desarrollo, depuración, descarga

• Compilador cruzado para el cRIO-9068 • Compilador compatible con armv7a

• NI facilita: Mentor Graphics Sourcery G++ Lite 2010.09-50 para ARM GNU/Linux (GCC 4.4.1)

48 spain.ni.com

Acceso a la comunidad Linux: Package Manager

• ¿Qué es el package manager? • Conjunto de herramientas de software para instalar, actualizar,

configurar y eliminar aplicaciones

• Similar a App Store, VIPM, etc.

• El CompactRIO-9068 se envía con el package manager pre-instalado llamado “opkg”

• No reemplaza al MAX

• Aceso a cientos de aplicaciones en la comunidad Linux

50 spain.ni.com

Aprovechando la comunidad Linux

• Habilita el acceso OPKG a repositorios

• Descarga y configura aplicaciones si es necesario

• Utiliza el System Execution VI, Call Library Function Node o comunicación con localhost para interactuar

Bases de datos

Raima

MySQL

PostgreSQL

Seguridad

IPTables

OpenVPN

fail2ban

Reutilización de código

C/C++

Shell Scripts

Python

Conectividad

NTP

SNMP

IPv6

51 spain.ni.com

Política de soporte

• Soporte limitado a usuario • Equivalente a código C de terceros con Call Library Nodes en el

ordenador de sobremesa

• No hay soporte para cambios en el kernel • Ud. Puede conseguir el código fuente abierto del kernel de NI

Linux Real-Time mandando un correo electrónico a [email protected]

• Sea libre para innovar y explorar • Puede restaurar la configuración de fábrica sin mandarlo a

reparar

52 spain.ni.com

Recursos clave

• Comunidad Linux Real-Time • Tutoriales

• Documentación

• Discusiones en foros

• ni.com/linux • Enlaces a whitepapers

• Usos embebidos y de sobremesa

spain.ni.com

¿Preguntas?

54 spain.ni.com

Síganos durante y después de NIDays

es.linkedin.com/in/nispain

facebook.com/nispain91

twitter.com/ni_spain