Utilizando el Modo de Escaneo de NI CompactRIO con NI LabVIEW

Visión General

El módulo de LabVIEW Real-Time 8.6 introduce nuevas funciones poderosas para la programación de hardware CompactRIO que reducen el tiempo de desarrollo y la complejidad, así como proporcionar herramientas para monitorear y mantener las aplicaciones en CompactRIO. CompactRIO es un controlador de automatización programable (PAC) de alto desempeño, que es diferenciado por un arreglo de compuertas programables en campo (FPGA) en el corazón de su arquitectura. Al más alto nivel, un FPGA es un integrado de silicón reprogramable. Los FPGAs ofrecen desempeño y confiabilidad de hardware personalizado mientras mantienen la flexibilidad de un sistema definido por software. Tradicionalmente, el uso de los FPGAs se ha restringido a ingenieros de diseño de hardware que son expertos en VHDL y otros lenguajes descriptores de hardware; sin embargo, LabVIEW le permite beneficiarse de los FPGAs sin esta experiencia. LabVIEW es un poderoso lenguaje de programación grafica intuitivo con cientos de funciones incluidas para control, análisis, comunicaciones, y almacenamiento. CompactoRIO es completamente programable con LabVIEW, incluyendo FPGA, procesador de tiempo real e interfaz de hombre maquina (HMI). Utilizando el Modo de Escaneo de CompactRIO, nuevo con el modulo de LabVIEW 8.6 Real Time, usted puede elegir entre acceso a cada módulo de E/S directamente en LabVIEW Real Time y crear aplicaciones sin programación FPGA o con LabVIEW FPGA para máxima flexibilidad y desempeño. También puede utilizar la nueva funcionalidad de paneles de prueba y forzado de E/S para acelerar su aplicación, realizar depuración avanzada y monitorear el desempeño del sistema.

Contenido

 

Reduzca el Tiempo de Desarrollo y Complejidad

Figura 1.  El Modo de Escaneo de CompactRIO proporciona acceso directo a E/S en LabVIEW Real-Time y hospeda VIs  sin programación o compilación FPGA.

Las E/S de CompactRIO se utilizan tradicionalmente programando el FPGA y  luego utilizando los VIs de Interfaz de LabVIEW FPGA en LabVIEW Real-Time. El Modo de Escaneo de CompactRIO detecta automáticamente sus módulos de E/S y los agrega a su proyecto de LabVIEW. Usted puede arrastrar y liberar las variables de E/S en los diagramas a bloques de LabVIEW Real-Time y de su VI huésped, e instantáneamente escribir y leer datos  de E/S escalados y calibrados sin ninguna programación o compilación de FPGA (vea la Figura 2).

 

Figura 2. Acceso directo de E/S en LabVIEW Real-Time al arrastrar y liberar variables de E/S a su diagrama de bloques

 

Un nuevo componente de LabVIEW Real-Time  llamado  el Motor de Escaneo de NI  actualiza los valores de sus variables de E/S a la taza que usted especifique (hasta 1 kHz). Todos los escaneos de canales son temporizados por hardware con sincronización módulo a módulo. Usted puede configurar el motor de escaneo desde el Proyecto de LabVIEW o programáticamente con una librería incluida de VIs. El motor de escaneo también proporciona una fuente de temporización  para que usted pueda sincronizar código con actualizaciones de E/S para aplicaciones de control de bajo desfasamiento. Usted puede crear alias para las variables de E/S para proporcionar una capa adicional de abstracción para el canal físico de E/S.  Además, está disponible  el escalamiento lineal en variables de E/S y alias.

El Modo de Escaneo de CompactRIO agrega  funcionalidad de contador, encoder de cuadratura, y modulación de ancho de pulso (PWM)  a cualquier módulo existente de ocho canales digitales  de la Serie C sin requerir ninguna programación. Usted configura estas funciones  de especialidad digital desde el proyecto de LabVIEW, pero se ejecutan el FPGA para precisión y velocidad. Ahora, sin compilar, usted puede realizar cuentas de flancos de hasta 1 MHz,  mediciones  de ancho de pulso y frecuencia, decodificación de cuadratura, y control  PWM.

Características Específicas de Contador

  • Conteo de 1 MHz  en ocho canales
  • Registro de cuenta de 32 bits, sin terminal de cuenta programable
  • Terminal de cuenta  y comportamiento de terminal de cuenta configurable
  • Cuenta de flanco configurable (subida, bajada, o ambos), fuente, y compuerta
  • Mediciones de periodo, PWM, y frecuencia con base de tiempo configurable

Características Específicas de Cuadratura

  • Taza de cuenta máxima de 1 MHz
  • Registro de cuenta de 32 bits  
  • Registro de medición de velocidad de 32 bits
  • Medición de base tiempo de velocidad configurable (256 µs, 512 µs, ... 16384 µs, o 32768 µs)
  • Codificación X4
  • Dos canales de cuadratura con entradas  A+B+Indice por módulo
  • Polaridad de encoder seleccionable

Características Específicas de PWM

  • Ocho canales de salida
  • Configuración  de ciclo de trabajo y periodo por canal
  • Periodo de frecuencia configurable (1 Hz, 50 Hz, 250 Hz, 500 Hz, 1 kHz, 5 kHz, 10 kHz, o 20 kHz)

 

Fácil Configuración, Depuración y Monitoreo

El  “NI Distributed System Manager”, también nuevo en LabVIEW 8.6,  proporciona una locación central para monitorear sistemas en la red y administrar datos publicados. El nuevo administrador de sistema ofrece paneles de prueba para módulos CompactRIO utilizando el Modo de Escaneo de CompactRIO. Tan pronto como su sistema se encuentre disponible en la red, usted tiene acceso a valores de E/S en tiempo real y tendencias históricas para que pueda verificar rápidamente sus conexiones y la integridad de señal. Además de los paneles de prueba, el administrador de sistema le da visibilidad de uso de memoria y carga en procesador para controladores CompactRIO.

Figura 3. El Nuevo “NI Distributed System Manager”  le ayuda a iniciar rápidamente al agregar paneles de prueba a CompactRIO.

 

El Modo de Escaneo de CompactRIO introduce  forzado de E/S, la cual es una herramienta de depuración que puede utilizar para sobre escribir un valor de una variable de E/S  sin parar o cambiar su aplicación de tiempo real.  Usted puede forzar entradas para probar la respuesta de su aplicación sin un estímulo físico, así como forzar salidas para sobre  escribir valores de salida de su programa. Usted puede forzar valores de canal utilizando el administrador de sistema con los nuevos VI’s de forzado de E/S.

 

LabVIEW FPGA y el Modo de Escaneo de CompactRIO

Con el Módulo LabVIEW 8.6 Real-Time, usted puede tener acceso a  cada módulo ya sea con el Modo de Escaneo de CompactRIO o con LabVIEW FPGA. Utilizando LabVIEW FPGA,  usted puede implementar disparos personalizados, análisis y procesamiento de señales basado en hardware o procesamiento analógico de alta velocidad. Para utilizar los módulos de E/S en el  modo LabVIEW FPGA, simplemente arrastre el módulo al objetivo FPGA en el proyecto de LabVIEW removiéndolo del modo de escaneo. Luego utilice LabVIEW FPGA  para programar los módulos y utilizar las variables de E/S para leer y escribir E/S en el resto de los módulos (vea la Figura 4).

Figura 4. Este VI accesa las E/S con el Modo de Escaneo de CompactRIO mientras se calcula la transformada rápida de Fourier  de una entrada de aceleración con LabVIEW FPGA.

 

Cuando se utiliza el Modo de LabVIEW FPGA en uno o más módulos, la lógica de Modo Escaneo  de CompactRIO en el FPGA conocido como la “RIO Scan Interface” se compila con el VI de LabVIEW FPGA VI en una sola aplicación de FPGA. Si no se configura ningún módulo  para usarse en el modo de escaneo, la Interfaz de Escaneo RIO no se incluye en la compilación.

Modo de Escaneo de CompactRIO  

El Modo de Escaneo de CompactRIO se conforma de dos tecnologías, el Motor de Escaneo de NI y la Interfaz de Escaneo de RIO. La  Interfaz de Escaneo RIO es un conjunto de propiedad intelectual (IP) FPGA desarrollado por National Instruments  que es descargada al FPGA de CompactRIO y es responsable de la detección de módulos de E/S, temporización, sincronización y comunicación. La Interfaz de Escaneo RIO se ejecuta en un ciclo de escaneo temporizado por hardware que actualice los valores de las E/S físicas. Se utilizan dos canales DMA  para transportar datos de E/S entre el FPGA y el sistema operativo de tiempo real. La preconstrucción  de funcionalidad digital especial  también es un componente de la Interfaz de Escaneo RIO. Para más información sobre la Interfaz de Escaneo RIO, vea la sección  de Recursos Relacionados  en la parte inferior.

El Motor de Escaneo de NI es un componente nuevo de LabVIEW Real-Time que se ejecuta  en una prioridad superior a tiempo crítico o entre tiempo crítico y estructuras temporizadas, lo cual  usted puede configurar.  Cada vez que la Interfaz de Escaneo RIO  termina de ejecutar el último escaneo de E/S, LabVIEW  agrega las variables  de E/S  a un mapa de memoria global de escaneo y actualiza los valores de todas las variables de E/S concurrentemente. De cualquier forma, usted puede configurar cada nodo de variable de E/S  para utilizar ya sea acceso por escaneo o acceso directo. Por defecto, LabVIEW configura los nodos de variable de E/S para utilizar las  E/S por escaneo la cuales utilizan el mapa de memoria global de escaneo para realizar lecturas y escrituras de E/S sin bloqueo (vea la Figura 5). El acceso directo de E/S sobrepasa el mapa de memoria global de escaneo y se comunica directamente con el manejador del dispositivo de E/S para realizar lecturas y escrituras de E/S con bloqueo (vea la Figura 5). El Motor de Escaneo de NI también publica las variables de E/S en la red permitiéndoles estar disponibles para lectura y escritura en aplicaciones de huésped, paneles de prueba, y forzado de E/S. El motor de escaneo, a diferencia del motor de la variable compartida de LabVIEW, maneja la publicación de las variables de E/S, el cual puede deshabilitar desde la página de propiedades de las variables de E/S.

Cuando utiliza LabVIEW FPGA con el Modo de Escaneo de CompactRIO (algunos módulos utilizando el Modo de Escaneo de CompactRIO  y algunos utilizando el Modo de LabVIEW FPGA), la Interfaz de Escaneo RIO  y el VI de FPGA se compilan en una sola trama de bits y se despliega en el FPGA. Usted puede tener acceso a los módulos de E/S en el Modo LabVIEW FPGA  con los VIs de Interfaz FPGA en LabVIEW Real-Time y también  en el modo de escaneo utilizando variables de E/S.  Si usted remueve todos los módulos del modo de escaneo, entonces la Interfaz de Escaneo RIO no se compila en la trama de bits. El espacio consumido por la Interfaz de Escaneo RIO en el FPGA se escala con el número de módulos utilizando el modo de escaneo.

 

                    Figura 5. Descripción del Modo de Escaneo de CompactRIO

 

¿Cuándo Debo Utilizar el Modo de Escaneo de CompactRIO?

El Modo de Escaneo de CompactRIO está diseñado para aplicaciones que requieren actualizaciones síncronas de E/S con tazas de hasta 1 kHz. Usted puede utilizar la funcionalidad digital especial proporcionada por el modo de escaneo para convertir cualquier módulo   de E/S digitales existente de ocho canales en un módulo  de PWM avanzado, contador, o encoder de cuadratura. Con  la funcionalidad de E/S forzadas y el panel de prueba del manejador del sistema usted puede utilizar el modo de escaneo para configuración inicial, monitoreo de desempeño del sistema y  solución de problemas avanzados. Para aplicaciones con requerimientos de alto desempeño, tales como adquisición analógica cerca de 1 MHz,  ciclos de control PID de alta velocidad de más de 1 kHz,  análisis y procesamiento de señales por hardware personalizado, o E/S de módulos no soportados por el modo de escaneo, utilice el Módulo  de LabVIEW FPGA con el modo de escaneo. Usted también puede quitar carga de procesamiento del controlador en tiempo real con el Módulo de LabVIEW FPGA.

El modo de escaneo es soportado por controladores corriendo el VxWorks RTOS con FPGAs con al menos 2M de compuertas debido a los requerimientos de espacio del RSI FPGA. Los controladores soportados son el NI 9012, NI 9014, NI 9073, y el NI 9074. Los planos traseros soportados  incluyen el  NI 9103, NI 9104, NI 9073, y el NI 9074.

Hay algunas consideraciones de desempeño cuando se utiliza el Modo de Escaneo de CompactRIO. Por ejemplo,  la funcionalidad digital especial  soporta contadores de hasta 1 MHz contra contadores de hasta 20 MHz  que se pueden lograr con LabVIEW FPGA. El motor de escaneo utiliza recursos del sistema que incluyen espacio del FPGA, dos canales DMA, memoria y una cantidad de tiempo del CPU que se escala con la taza de escaneo. El espacio consumido por el RSI en el FPGA se escala con el número de módulos que utilizan el modo de escaneo.

 

Conclusión

El Módulo  de LabVIEW 8.6 Real-Time agrega un conjunto de características poderosas diseñadas para reducir el tiempo de desarrollo y complejidad de CompactRIO. Con el Modo de Escaneo de CompactRIO, usted puede tener acceso a las  E/S con LabVIEW Real-Time y con aplicaciones de host sin programación FPGA, teniendo la opción de programar directamente el FPGA para los requerimientos más avanzados. El Administrador de Sistemas Distribuidos de NI y las E/S forzadas también proporcionan paneles de prueba y depuración avanzada para CompactRIO, haciendo sencillo el monitoreo y el mantenimiento de aplicaciones en CompactRIO.