Upload
jmsanher
View
37
Download
1
Tags:
Embed Size (px)
Citation preview
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
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)
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
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