Los productos de E/S reconfigurable (RIO) se han usado en aplicaciones a nivel de sistema que requieren control de ciclo cerrado de alta velocidad con medidas de alta precisión en una plataforma flexible de desarrollo. Algunas veces, estas aplicaciones requieren más canales o una arquitectura más distribuida que la que el sistema principal puede ofrecer. Los sistemas de expansión de E/S permiten una topología del sistema de 1 a N con un controlador y "N" arreglos de compuertas programables en campo (FPGAs) y nodos de E/S para sistemas flexibles de gran cantidad de canales que pueden realizar control distribuido y procesamiento.
Las necesidades de sistemas de gran cantidad de canales son diversas, y la plataforma de expansión de E/S de NI ofrece una gama completa de productos para satisfacer las diversas necesidades de estos sistemas. La principal diferencia entre las opciones de expansión de E/S está en el bus que separa la E/S del procesador, como se muestra en la Figura 1. Cada bus ofrece beneficios y ventajas únicos que lo hacen ideal para un subconjunto de aplicaciones de expansión de E/S.
Figura 1: La expansión de E/S separa al procesador de la E/S. Cada opción de expansión implementa un bus de comunicación distinto entre los dos y se ajusta a diferentes áreas de aplicación.
Cada opción de expansión de E/S se basa en un bus de comunicación único (Ethernet, EtherCAT o MXI) que dicta ciertas características del sistema. La tabla 1 resume algunas diferencias clave entre cada opción de expansión de E/S.
Usted puede usar el chasis Ethernet RIO robusto de 4 u 8 ranuras para añadir E/S distribuidas y habilitadas por FPGA a cualquier red Ethernet. Con la flexibilidad del cableado CAT-5 estándar, usted puede conectar sistemas Ethernet RIO a casi cualquier host que soporte Ethernet, incluyendo controladores PXI NI CompactRIO en tiempo real y el controlador industrial de NI. Usted también puede conectar sistemas de expansión Ethernet RIO a PCs basadas en Windows para crear una red flexible altamente distribuida de E/S mixtas con acondicionamiento de señal habilitadas por FPGA. Con el FPGA integrado, puede implementar interbloqueos de seguridad, control y análisis de señales personalizados que son locales para cada chasis, creando un sistema verdaderamente modular. Los sistemas basados en Ethernet RIO son ideales para aplicaciones en las que la facilidad de uso, el costo y la flexibilidad son críticos. Estas aplicaciones incluyen monitoreo distribuido para medidas de un solo punto como temperatura y flujo.
EtherCAT (Ethernet Control Automation Technology) RIO es un chasis esclavo de 8 ranuras que implementa comunicación por Ethernet con el protocolo EtherCAT determinístico. EtherCAT RIO le permite añadir E/S habilitadas por FPGA a su sistema de E/S distribuidas o de gran cantidad de canales con una cantidad definida de determinismo y sincronización. Al usar EtherCAT RIO, usted puede conectar en serie múltiples dispositivos esclavo desde un solo maestro y sincronizar las E/S a un solo reloj maestro. EtherCAT RIO es el más adecuado para aplicaciones distribuidas de control y movimiento de un solo punto que requieren alto determinismo en múltiples chasis sincronizados. Los clientes usan EtherCAT RIO para monitoreo estructural de turbinas eólicas, equipos de pruebas sincronizados y aplicaciones de control a larga distancia.
NI ya no ofrece el chasis de expansión MXI-Express RIO; considere usar el chasis de expansión EtherCAT o Ethernet RIO en su lugar. Utilice la Tabla 1 como comparación para determinar qué ruta de migración es mejor para usted.
Los sistemas MXI-Express RIO, Ethernet RIO y EtherCAT RIO pueden conectarse a cualquier sensor en cualquier bus a través de módulos de E/S de la serie C. Las E/S están disponibles directamente para el FPGA, dónde usted puede implementar procesamiento de señales en línea, temporización personalizada, disparo especializado y control de ciclo cerrado. Cada módulo de E/S de la serie C contiene acondicionamiento de señales integrado y conectores de terminal de tornillo, BNC o D-SUB. Actualmente, existen más de 100 módulos de la serie C de NI y de terceros para diferentes medidas incluyendo de termopar, voltaje, detector de resistencia de temperatura (RTD), corriente, resistencia, tensión, digitales (TTL y otros), acelerómetros y micrófonos. La cantidad de canales en los módulos individuales van de 3 a 32 canales para cumplir con una amplia variedad de requerimientos del sistema.
La adopción de circuitos FPGA en las industrias se debe al hecho que los FPGAs combinan las mejores partes de los circuitos integrados de aplicación específica (ASICs) y sistemas basados en procesadores. Ofrecen velocidades temporizadas por hardware y fiabilidad, pero sin requerir altos volúmenes de recursos para compensar el gran gasto que genera un diseño personalizado de ASIC.
El silicio reprogramable también tiene la misma flexibilidad que un software que se ejecuta en un sistema basado en procesador, pero no está limitado por el número de núcleos de procesamiento disponibles. A diferencia de los procesadores, los FPGAs son verdaderamente paralelos por naturaleza, así diferentes operaciones de procesamiento no tienen que competir por los mismos recursos. Cada tarea de procesamiento independiente es asignada a una sección del chip y puede ejecutarse de manera autónoma sin ser afectada por otros bloques de lógica. Como resultado, el rendimiento de una parte de la aplicación no se ve afectado cuando se agregan otros procesos.
El límite teórico de dispositivos para una red EtherCAT es de 65,535 esclavos y los límites para Fast Ethernet (100 Mbit/s) son similarmente altos. El factor real de límite en el número máximo de dispositivos en este sistema es el número de canales de E/S que usted está implementando, la velocidad del controlador y la aplicación que usted está ejecutando.
Note que todos los chasis en un enlace en serie comparten el mismo "conducto" o ancho de banda con el controlador principal al configurar un sistema y al calcular los requerimientos de rendimiento total. También, la razón del ciclo es afectada por la cantidad de dispositivos y los datos en el bus, ya que cada chasis y cable añade latencia al sistema.
En MXI-Express RIO, usted puede usar configuraciones de conexión en serie o en estrella. El número de chasis posible depende del sistema, pero en general, usted puede alcanzar hasta seis chasis por cadena. El total de chasis en una configuración de conexión en estrella depende de los segmentos del bus PCI disponibles en el controlador principal, con más de 40 chasis posibles en un solo controlador.
MXI-Express RIO está limitado a distancias de 7 m entre los chasis en el bus. Los chasis esclavo Ethernet RIO y EtherCAT soportan hasta 100 m antes de necesitar un hub, conmutador o repetidor entre los dispositivos.
Nota: Para ampliar el rango de una red EtherCAT, debe usar un dispositivo EtherCAT compatible; un conmutador Ethernet normal no es compatible con una red EtherCAT.
La temporización y la sincronización permiten la correlación o coordinación de eventos en el tiempo, lo cual es una parte integral de varias aplicaciones de medidas y control, especialmente cuándo se escalan a grandes cantidades de canales.
EtherCAT RIO se sincroniza automáticamente con otras partes del sistema ya que el estándar del bus de comunicación EtherCAT define un reloj maestro del sistema al que todos los dispositivos de la red hacen referencia. Esto hace al bus EtherCAT una opción ideal para sistemas que requieren una perfecta sincronización (menos de un microsegundo) y alto determinismo.
Los chasis MXI-Express RIO y Ethernet RIO no soportan sincronización nativa a través del bus de comunicación (MXI-Express y Fast Ethernet, respectivamente). Compartir reloj no es parte de la arquitectura del bus y el retraso inducido por los paquetes faltantes o choques debido a la topología de la red no se toma en cuenta (la comunicación entre los nodos en el sistema es asincrónica). Sin embargo, se pueden sincronizar todos los módulos en un solo chasis ya que comparten el plano trasero del chasis y se pueden sincronizar múltiples chasis MXI-Express RIO o Ethernet RIO usando un módulo de E/S digital de la serie C para distribuir una señal de reloj de referencia entre los chasis.
Esta especificación se refiere a la fluctuación introducida únicamente por el bus de comunicación. La fuente principal de la fluctuación en un sistema generalmente está asociada con el controlador en lugar de con el bus de comunicación (especialmente si es un controlador con Windows). También, la fluctuación en un sistema depende de la arquitectura del sistema y del número de chasis que los datos tienen que negociar en un enlace para llegar al servidor.
La comunicación determinística es importante en aplicaciones donde la comunicación de datos entre los nodos de cómputo distribuidos en tiempo real es una parte integral del ciclo de control. Esto significa que cualquier fluctuación inducida por la red resulta en fluctuación para el ciclo de control. Una fluctuación de ciclo de control aceptable depende del sistema en cuestión, pero un rango estándar es del ±10% del tiempo del ciclo de control. Considerando un ciclo de control de 1 kHz, esto significa que cada iteración debe ejecutarse entre 900 a 1,100 μs para que el sistema responda apropiadamente.
La fluctuación de comunicación para MXI-Express RIO y EtherCAT RIO es menor a 10 microsegundos y menor a un microsegundo respectivamente. Los dispositivos Ethernet RIO no tienen una especificación para fluctuación. Esto se debe a que la transmisión inalámbrica y Fast Ethernet no son métodos determinísticos para transferir datos.
MXI-Express RIO proporciona el conducto más grande hacia el controlador con máximo ancho de banda teórico de 250 MB/s comparado con 25 MB/s para Ethernet RIO y 12.5 MB/s para EtherCAT. Tenga en mente que el rendimiento del bus depende de otros factores además del máximo ancho de banda teórico del bus; considere factores como latencia, implementación, requerimientos de potencia y su aplicación además del ancho de banda. MXI-Express RIO es la mejor opción para aplicaciones de alto rendimiento. Las capacidades de rendimiento de Ethernet RIO y EtherCAT RIO son suficientes para la mayoría de las aplicaciones de monitoreo y control.
Una interfaz de programa de aplicación (API) es un conjunto de rutinas que se utilizan como bloques de construcción para aplicaciones de software. Existen dos métodos para programar dispositivos de expansión de E/S: NI CompactRIO Scan Mode o la API de interfaz principal de NI LabVIEW FPGA.
Usted puede usar el NI CompactRIO Scan Mode (también llamado interfaz de escaneo RIO o RSI) en los chasis EtherCAT y Ethernet. El modo de escaneo CompactRIO detecta automáticamente sus módulos de E/S y los añade a un proyecto de LabVIEW. Usted puede arrastrar las variables de E/S a los diagramas de bloques de su VI de LabVIEW Real-Time o de su aplicación principal y leer y escribir inmediatamente datos de E/S escalados y calibrados sin necesitar programación o compilación de FPGA.
Figura 2: Usar el modo de escaneo NI CompactRIO
Si usted quiere programar el FPGA directamente, use el LabVIEW FPGA Module. Una vez que ha escrito su VI de FPGA, este es compilado a un archivo de bitstream e implementado en el FPGA. Para comunicarse con el FPGA desde su aplicación principal, use el API de interfaz principal de LabVIEW FPGA. Esto le permite realizar funciones como lectura y escritura de registros y transferencias DMA.
Note que con el chasis EtherCAT, usted puede usar solamente variables de E/S definidas por el usuario para comunicarse entre el VI en tiempo real del controlador y el VI de FPGA del chasis de expansión. (Las variables de E/S definidas por el usuario se usan para sincronizar datos de FPGA con el NI Scan Engine.) Esto significa que para el VI de FPGA del chasis de expansión, usted no tiene interfaz principal FPGA, funciones de transferencia DMA o depuración del panel frontal.
Usted solamente puede usar la API de interfaz principal de LabVIEW FPGA para conectarse con el MXI-Express RIO.
También existen algunas limitaciones en los tipos de módulos de la serie C que son compatibles con cada chasis en base a la habilidad de los módulos para soportar el modo de escaneo de NI. Ya que MXI-Express RIO solamente soporta LabVIEW FPGA, los módulos que dependen del modo de escaneo de NI, como los módulos CAN NI 986x, no son compatibles con MXI-Express RIO. Para una lista completa de compatibilidad con la serie C, vea la tabla de compatibilidad de la serie C.
Las cuatro opciones de expansión utilizan diferentes buses, por lo que requieren diferentes conexiones del lado del controlador.
Ethernet RIO se puede insertar en cualquier sistema que tenga un puerto Ethernet y puede usarse con la mayoría de las topologías estándares de red. Para conectar el Ethernet RIO directamente al puerto Ethernet secundario de un controlador en tiempo real, vea Conectar un chasis de expansión Ethernet RIO al puerto Ethernet secundario en un controlador en tiempo real. Los chasis NI-9149 y NI-9147 Ethernet RIO también incluyen un puerto USB para una fácil configuración del dispositivo. Sin embargo, este puerto no está diseñado para usarse en lugar del puerto Ethernet.
El chasis EtherCAT RIO es compatible con todos los controladores en tiempo real con dos puertos Ethernet, incluyendo CompactRIO, PXI y plataformas de controlador industrial. Note que para EtherCAT, si un controlador PXI en tiempo real no tiene dos puertos Ethernet, usted debe incluir una interfaz Ethernet NI PXI-8231/8232 (la interfaz Ethernet NI 8234 no es compatible), la cual es soportada en controladores en tiempo real. Usted también necesita el software controlador NI-Industrial Communications for EtherCAT y el segundo puerto Ethernet debe estar en modo EtherCAT.
MXI-Express RIO requiere una interfaz MXI-Express al sistema principal: las opciones incluyen controladores CompactRIO multinúcleo, PXI o industriales, así como PCs que ejecutan un SO Windows o en tiempo real que tienen una interfaz de tarjeta MXI-Express PCI. Usted puede usar un adaptador MXI-Express ExpressCard para conectar el chasis MXI-Express RIO a los controladores que todavía no tienen una interfaz MXI-Express RIO, pero que tienen una ranura ExpressCard como el NI PXIe-8115. Usted también puede usar la interfaz MXI-Express NI PXIe-8364 para conectar un MXI-Express RIO a su sistema PXI. Usted puede usar un adaptador MXI-Express a PCI o PCI Express para conectar MXI-Express RIO a una PC.
Ethernet | EtherCAT | MXI (EOL) | |
---|---|---|---|
Añada E/S habilitadas por FPGA en cualquier parte de su red Ethernet. | Use E/S deterministas por EtherCAT para aplicaciones distribuidas. | Utilice el chasis de expansión de alto rendimiento para aplicaciones de gran cantidad de canales. | |
Cantidad de E/S | 4 u 8 ranuras de la serie C | 8 ranuras de la serie C | 8 o 14 ranuras de la serie C |
FPGA | Artix-7 | Artix-7 | Virtex-5 (LX50/LX85/LX110 |
Topología de la red | Igual que Ethernet | En serie/estrella | En serie/estrella |
Distancia | 100 m antes del hub | 100 m antes del repetidor | 7 m entre chasis |
Sincronización de múltiples dispositivos | E/S digitales basadas en FPGA | Implícito en bus | E/S digitales basadas en FPGA |
Fluctuación de comunicación | No especificado | <1 μs | <10 μs |
Rendimiento del bus | 25 MB/s | 12.5 MB/s | 250 MB/s |
Soporte para API | Interfaz host FPGA/RSI | RSI | Interfaz host FPGA |
Host | Windows/Real-Time | Real-Time únicamente | Windows/Real-Time |
Tabla 1: Una comparación de las características clave de expansión de E/S
Chasis | FPGA | Compuertas | Flip-Flops | LUTs | Multiplicador | RAM de bloque (kbit) |
---|---|---|---|---|---|---|
Ethernet | ||||||
NI-9149 | Artix-7 | – | 106,400 | 53,200 | 220 | 4,480 |
NI-9147 | Artix-7 | – | 106,400 | 53,200 | 220 | 4,480 |
NI-9148 (EOL) | Spartan-3 2000 | 2 millones | 40,960 | 40,960 | 40 | 720 |
NI-9146 (EOL) | Spartan-6 LX 45 | – | 54,576 | 54,576 | 58 | 2,088 |
EtherCAT | ||||||
NI-9145 | Artix-7 | – | 106,400 | 53,200 | 220 | 4,480 |
NI-9144 (EOL) | Spartan-3 2000 | 2 millones | 40,960 | 40,960 | 40 | 720 |
MXI-Express | ||||||
NI-9159 (EOL) | Virtex-5 LX110 | – | 69,120 | 69,120 | 64 | 4,608 |
NI-9157 (EOL) | Virtex-5 LX85 | – | 51,840 | 51,840 | 48 | 3,456 |
NI-9155 (EOL) | Virtex-5 LX85 | – | 51,840 | 51,840 | 48 | 3,456 |
NI-9154 (EOL) | Virtex-5 LX50 | – | 28,800 | 28,800 | 48 | 1,728 |
Tabla 2: Vea los FPGA utilizados en los productos expansión RIO.