Archivado: Archivo de la utilidad Real-Time Application Deployment (RTAD).

NI does not actively maintain this document.

This content provides support for older products and technology, so you may notice outdated links or obsolete information about operating systems or other relevant products.

Información general

Esta página contiene versiones de archivo de la utilidad Real-Time Application Deployment (RTAD). La utilidad ha sido renombrada desde entonces a utilidad Replication and Deployment (RAD). Los enlaces de descarga y la documentación para versiones anteriores de RTAD y RAD se pueden encontrar a continuación. Si está iniciando una administración de configuración, utilice la versión actual de la utilidad RAD, que se puede encontrar en: Utilidad Replication and Deployment (RAD). Para obtener más información, revise el artículo Usar la utilidad RAD con versiones más nuevas de LabVIEW.

Contenido

Descargas


Versión 2.1 – Construido con LabVIEW 2010

Instalador de aplicación RTAD: rtadu_2010_installer.zip
Requisitos: LabVIEW 2010 SP1 Runtime Enginecontrolador NI-RIO
Código fuente RTAD: rtadu_2010_source.zip
Requisitos: Sistema de Desarrollo Completo LabVIEW 2010, LabVIEW Real-Time 2010, Biblioteca de Referencia de Comunicación Asincrónica de Mensajes(AMC)

Versión 1.0 – Construido con LabVIEW 2009

Instalador de aplicación RTAD: rtadu_2009_installer.zip
Requisitos: LabVIEW 2009 SP1 Runtime Engine

Código fuente RTAD: rtadu_2009_source.zip
Requisitos: Sistema de Desarrollo Completo LabVIEW 2009, LabVIEW Real-Time 2009, Biblioteca de Referencia de Comunicación Asincrónica de Mensajes(AMC)

Para instalar la aplicación de referencia, descomprima el archivo ZIP del instalador en un directorio de trabajo vacío y ejecute el instalador (setup.exe).  El instalador colocará un ejecutable compilado de la utilidad en su directorio de proyectos de LabVIEW y está disponible en el menú Tools en su entorno de LabVIEW.  El instalador no incluye el LabVIEW Runtime Engine ni el controlador NI-RIO.  Como resultado, para usar correctamente la aplicación de referencia descargada desde el instalador, se requiere el correspondiente LabVIEW Runtime Engine y el controlador NI-RIO.  

El archivo ZIP del código fuente contiene únicamente el código fuente sin instalador.  Este código se puede descomprimir en cualquier carpeta en su sistema.  Para abrir y ejecutar el código fuente, también debe descargar e instalar la Biblioteca de Referencia de Comunicación Asincrónica de Mensajes(AMC) de NI Developer Zone.

Para habilitar el conjunto completo de características de la Versión 2.1, también se debe instalar el controlador NI RIO, así como la biblioteca de referencia de información CompactRIO (CRI).  Sin embargo, las características que requieren estos componentes se pueden desactivar en el código fuente si se desea.  Se requiere el controlador NI RIO para implementar archivos de bits en flash FPGA y se requiere CRI para recopilar información del plano trasero utilizada para la verificación de compatibilidad de implementación.  Estas funciones se pueden deshabilitar en el código fuente configurando en False los símbolos condicionales para deshabilitar RIO_INSTALLED y CRI_INSTALLED en el proyecto.

Nota: Esta aplicación está destinada a ser un ejemplo y se utiliza como pauta para crear sus propias aplicaciones de implementación personalizadas. 

El código mencionado anteriormente se proporciona tal cual.  No se ha probado ni validado como un producto, para su uso en una aplicación o sistema implementado, ni para su uso en entornos peligrosos.  Usted asume todos los riesgos por el uso del código y el uso del código está sujeto a los términos de licencia del código de ejemplo que se pueden encontrar en: //ni.com/samplecodelicense

Nuevas características desde la versión 1.0

La versión 2.1 de la utilidad se instala a través del rtadu_2109_installer.zip o rtadu_2109_source.zip e incluye la siguiente lista de nuevas características que no están presentes en las descargas 1.0:

  • Implementación flash FPGA
  • Herramienta de comparación de imágenes
  • Soporte de implementación para dispositivos no configurados
  • Soporte para todos los tipos de dispositivos en tiempo real
  • Verificación de compatibilidad de imágenes
  • Versiones de imágenes mejoradas
  • Creación de GUID de imagen
  • Capacidad para incrementar automáticamente IP estáticas durante la implementación
  • Arreglos de bugs
  • Cambio de tamaño del panel frontal

La versión 2.1 no es compatible con las imágenes creadas con la versión 1.0 de la utilidad. En el resto de este documento se proporciona información adicional sobre el uso y la implementación de estas nuevas características.

Guía del usuario

Ser capaz de duplicar la imagen de un dispositivo RT hace que sea más fácil y eficiente implementar dispositivos y sistemas.  Ya sea que el usuario esté realizando respaldos periódicos de un sistema, implementando desde un sistema desarrollado a varios nuevos, actualizando una imagen en un dispositivo o proporcionando a alguien las herramientas para copiar un sistema en funcionamiento, duplicar una imagen hace posible todas estas aplicaciones.  La utilidad Real-Time Application Deployment (RTAD) hace que la réplica del sistema sea sencilla e intuitiva.

Al duplicar aplicaciones de un dispositivo a otro, se recupera la imagen de la aplicación de un dispositivo RT y se copia a otro.  La imagen de la aplicación es el contenido (todos los archivos y directorios) del disco duro de un dispositivo RT que define el comportamiento del dispositivo RT, así como cualquier archivo de bits configurado para implementar en la memoria flash FPGA.  La utilidad solo soporta la transferencia de imágenes entre controladores y planos traseros idénticos.  Si recibe una imagen de un controlador específico, puede implementar esa imagen únicamente en controladores con el mismo número de modelo.

La utilidad Real-Time Application Deployment (RTAD) muestra estas dos entidades, dispositivos RT e imágenes de la aplicación, en dos tablas en la interfaz de usuario principal de la utilidad. 

Utilidad RT Application Deployment con dispositivos RT e imágenes de la aplicación

Figura 1: Utilidad RT Application Deployment con dispositivos RT e imágenes de la aplicación

La tabla de dispositivos en tiempo real muestra todos los dispositivos en tiempo real disponibles en la subred local, así como cualquier dispositivo de red agregado manualmente a la lista. Estos dispositivos se pueden utilizar tanto para la recuperación de imágenes como para la implementación de imágenes.  La tabla de imágenes de la aplicación muestra todas las imágenes disponibles que son almacenadas en el disco duro local y se pueden implementar en un sistema de destino.  

Recuperar imágenes de la aplicación

El primer paso para duplicar un sistema en tiempo real es recuperar la imagen de la aplicación.  La tabla de dispositivos en tiempo real de la utilidad RTAD contiene una lista de los sistemas RT de destino en la red. Con el botón Settings arriba de la tabla, seleccione los tipos de dispositivos RT que se mostrarán en la tabla.  Las opciones para dispositivos en tiempo real incluyen CompactRIO, FieldPoint, PXI o todos los demás sistemas.  También puede elegir si desea ver todos los dispositivos en la subred local o solo aquellos agregados a la utilidad manualmente.  A continuación se muestra el cuadro de diálogo para seleccionar estas opciones.

RT

Figura 2: Cuadro de diálogo Configuración del dispositivo RT

Después de que se realiza la selección del tipo de dispositivo en el cuadro de diálogo de configuración y se hace clic en el botón Refresh arriba de la tabla de dispositivos en tiempo real, todos los dispositivos disponibles de los tipos especificados se enumerarán en la tabla.

El usuario puede ver información básica sobre cada dispositivo en la tabla. Para obtener información adicional sobre cada sistema de destino, haga clic derecho en un dispositivo de la tabla y seleccione View Target Info.

Cuadro de diálogo Información del dispositivo RT

Figura 3: Cuadro de diálogo Información del dispositivo RT

Para agregar un dispositivo a la lista que no está en la subred local, haga clic en el botón Add Target para ver un cuadro de diálogo similar al que se muestra a continuación.

Agregar cuadro de diálogo del dispositivo

Figura 4:  Agregar cuadro de diálogo del dispositivo

Después, ingrese la dirección IP del dispositivo que le gustaría agregar a su lista de usuarios y haga clic en Get Info.  Si la información que se muestra en la tabla parece precisa, haga clic en el botón Add para agregar este dispositivo a la ventana.  El dispositivo permanecerá agregado a esta ventana incluso después de cerrar y volver a abrir la aplicación.  Para eliminar permanentemente el elemento de la ventana, simplemente haga clic derecho en el dispositivo que desea eliminar y seleccione Delete Target.

La utilidad RTAD también proporciona la funcionalidad para cambiar algunas de las configuraciones de red para los dispositivos que están en la red.  Para cambiar la configuración de red de un dispositivo, el usuario puede seleccionar el dispositivo y hacer clic en el botón Configure para abrir un cuadro de diálogo similar al siguiente.

Configuración de la red del dispositivo RT

Figura 5: Configuración de la red del dispositivo RT

Para copiar la imagen de la aplicación de un dispositivo RT al disco duro local, seleccione el dispositivo apropiado en la tabla y haga clic en el botón Retrieve en el centro de la IU.

Hay tres escenarios para recuperar una imagen de la aplicación de un dispositivo.  La aplicación podría ser una aplicación completamente nueva o podría ser una nueva versión de una imagen anterior, ya sea actualmente en el controlador o guardada en el disco previamente. 

Seleccionar fuente de herencia de propiedades de la imagen

Figura 6: Seleccionar fuente de herencia de propiedades de la imagen

Si la aplicación actual es una nueva versión de una aplicación, es mejor heredar las propiedades de la aplicación anterior.  Si está creando una imagen de la aplicación por primera vez, seleccione New Application Image.

Después de hacer esta selección, se le presentará al usuario el siguiente cuadro de diálogo donde puede especificar el archivo local para la imagen de la aplicación y especificar información adicional que se almacenará con la imagen de la aplicación.  Si no es una imagen nueva, las propiedades de la versión anterior de la imagen se completarán automáticamente.

Cuadro de diálogo Recuperar la imagen de la aplicación del dispositivo RT

Figura 7: Cuadro de diálogo Recuperar la imagen de la aplicación del dispositivo RT

El campo de versión se puede utilizar para realizar un seguimiento de diferentes versiones de la misma imagen de la aplicación.  Si no es una imagen nueva, se mostrará el número de versión anterior de la imagen.  Este número de versión se incrementará automáticamente en el campo New Version, pero se puede cambiar a cualquier número de versión siempre que la nueva versión sea mayor que el número de versión anterior.

Además de recuperar e implementar una imagen del disco duro RT, la utilidad también puede implementar archivos de bits en la memoria flash FPGA.  Guardar un archivo de bits en la memoria flash tiene algunas ventajas para implementar el archivo de bits desde el RT EXE.  Para obtener más información sobre los pros y los contras de las opciones de implementación FPGA, consulte Managing FPGA Deployments.

Si su aplicación requiere que se implementen uno o más archivos de bits en flash FPGA, los archivos de bits ahora se pueden guardar con una imagen durante la recuperación y luego implementarlos en flash cuando se implementa la imagen.  Haga clic en Configure Bitfile(s) for FPGA Flash Deployment para editar la configuración de implementación flash FPGA para esta imagen en particular y aparecerá el siguiente cuadro de diálogo.

Cuadro de diálogo Configuración de implementación Flash FPGA

Figura 8: Cuadro de diálogo Configuración de implementación de Flash FPGA

Ahora puede agregar uno o más archivos de bits específicos que estén ubicados en su disco duro local para guardarlos con la imagen recuperada.  Tenga en cuenta que este archivo de bits debe encontrarse en el disco duro local porque no se puede recuperar directamente de flash FPGA.  También tenga en cuenta que recibirá una advertencia si el archivo de bits seleccionado no fue compilado para ejecutarse cuando se cargó, ya que este es el caso de uso más típico para una implementación flash FPGA.  Asegúrese de que el nombre del recurso RIO coincida con el nombre del recurso FPGA para su imagen.  Una vez que se ha especificado la configuración adecuada, haga clic en Done.

Después de ingresar todas las configuraciones y descripciones en el cuadro de diálogo Recuperar imagen de la aplicación, haga clic en el botón Retrieve application para copiar la imagen de la aplicación del dispositivo seleccionado. El siguiente cuadro de diálogo se mostrará durante el proceso de recuperación.

Cuadro de diálogo Avance al recuperar la imagen de la aplicación

Figura 9: Cuadro de diálogo Avance al recuperar la imagen de la aplicación

Si hay algún error durante el proceso de recuperación, posteriormente se mostrará en un cuadro de diálogo de error. Si la imagen se ha recuperado sin errores, algunos archivos adicionales serán transferidos al controlador.  Estos archivos contienen información adicional sobre las propiedades de la imagen y garantizan que el contenido del disco duro del controlador es idéntico al de la imagen recuperada.  También permite que las propiedades de la imagen estén disponibles para futuras recuperaciones.

Implementar imágenes de la aplicación

Para implementar una imagen de la aplicación en un dispositivo RT en la red, la imagen debe almacenarse en una carpeta accesible para la PC que ejecuta la utilidad RTAD. Esta carpeta puede ser ubicada en un servidor de red compartido. La tabla Imágenes de la aplicación en la utilidad muestra todas las imágenes de la aplicación disponibles en una carpeta específica.  Para cambiar la carpeta utilizada para almacenar las imágenes de la aplicación, haga clic en el botón Settings sobre la tabla para abrir un cuadro de diálogo similar al siguiente.

Cuadro de diálogo Configuración de imágenes de la aplicación

Figura 10: Cuadro de diálogo Configuración de imágenes de la aplicación

Todas las imágenes de la aplicación en esta carpeta (*.lvappimg) se mostrarán en la tabla.  Para ver o actualizar la información adicional de una imagen de la aplicación en la tabla, puede seleccionar la imagen y hacer clic en el botón Configure debajo de la tabla. Con este cuadro de diálogo puede actualizar el nombre, la versión, la configuración de implementación FPGA y la descripción almacenada en la imagen de la aplicación. 

Cuadro de diálogo Configuración de la imagen de la aplicación

Figura 11: Cuadro de diálogo Configuración de la imagen de la aplicación

Para implementar una imagen de la aplicación en uno o más dispositivos, seleccione la imagen en la tabla de la derecha y seleccione los dispositivos RT deseados en la tabla de la izquierda. Puede seleccionar varios dispositivos RT usando Ctrl-click o Shift-click o haciendo clic en el botón Select All. Después de completar su selección, haga clic en Deploy en el centro de la IU.  Se mostrará el siguiente cuadro de diálogo para confirmar su selección de dispositivo RT y permitir opciones adicionales de configuración del dispositivo.

Cuadro de diálogo Implementación de imagen de la aplicación

Figura 12: Cuadro de diálogo Implementación de imagen de la aplicación

Si se seleccionaron varios dispositivos en la tabla de dispositivos en tiempo real, habrá más de una entrada en la tabla. 

Como parte del proceso de implementación, puede aplicar algunas configuraciones adicionales a cada dispositivo RT individual. Esta configuración es obligatoria si la configuración de red actual para el dispositivo no está configurada.  La utilidad RT Application Deployment le permite aplicar una configuración de red específica a todos los dispositivos RT durante el proceso de implementación.

Al hacer clic en el botón Target Configuration Options, aparece el siguiente cuadro de diálogo que le permite configurar la red.

Cuadro de diálogo Configuración de implementación del dispositivo RT

Figura 13: Cuadro de diálogo Configuración de implementación del dispositivo RT

Existe una opción para que cada destino mantenga su nombre existente durante la implementación, o para que se aplique el mismo nombre a todos los dispositivos.  Además, existe una opción para asignar a cada controlador la misma configuración de IP o para incrementar la dirección IP estática aplicada a cada dispositivo durante la implementación.

Después de verificar los dispositivos seleccionados y establecer las opciones de configuración de red deseadas para sus dispositivos RT, haga clic en Deploy Application Image to Listed Targets para comenzar el proceso de implementación. La imagen de la aplicación se implementará en los dispositivos seleccionados en orden secuencial, uno a la vez. Durante este proceso, se mostrará el siguiente cuadro de diálogo del avance.+ Este proceso tomará varios minutos por cada dispositivo RT.

Avance de implementación de imagen de la aplicación

Figura 14: Avance de implementación de imagen de la aplicación

Una vez que se completa la implementación, la ventana de implementación se actualiza con los resultados del proceso de implementación. Cualquier error en la implementación se mostrará en la tabla.

Implementación de imagen de la aplicación con resultados

Figura 15: Implementación de imagen de la aplicación con resultados

Puede almacenar la información y el resultado del avance de la implementación en un archivo de texto usando el botón Log Results. Este archivo de valores separados por tabulaciones (TSV) se puede cargar en Excel o importar a una variedad de bases de datos. 

Archivo de registros de implementación cargado en Excel

Figura 16: Archivo de registros de implementación cargado en Excel

Comparar imágenes de la aplicación

Además de recuperar e implementar imágenes de la aplicación, la utilidad proporciona herramientas para la ad de imágenes.  La mayor herramienta de este tipo es la característica de comparación de imágenes de la utilidad.  La herramienta de comparación compara cada archivo en dos imágenes para notificar al usuario si algún archivo se ha modificado, agregado o eliminado.

Hay dos maneras de realizar una comparación.  Una imagen de la aplicación guardada en el disco local se puede comparar con los archivos en un controlador específico o con otra imagen guardada en el disco.  Para ver las opciones de comparación para una imagen específica en el disco, haga clic derecho en esa imagen y seleccione Compare AppImage.  Si el usuario selecciona Compare Local Image With Controller, aparecerá el cuadro de diálogo como se muestra a continuación.

Cuadro de diálogo Comparar imagen local con controlador de red

Figura 17: Cuadro de diálogo Comparar imagen local con controlador de red

Sin embargo, si el usuario selecciona Compare Two Local Images, el cuadro de diálogo aparecerá como se muestra a continuación.

Cuadro de diálogo Comparar dos imágenes del disco local

Figura 18: Cuadro de diálogo Comparar dos imágenes de disco local

La casilla de verificación Ignore Automatically Updated Files se utiliza para determinar si la herramienta ignorará o no los archivos temporales, así como los archivos que se escriben cada vez que se reinicia el dispositivo.  Esto permite al usuario elegir entre una comparación completa de cada archivo en ambas imágenes y una comparación que filtrará los archivos que se espera que tengan diferencias. 

La herramienta de comparación también se puede ejecutar usando el botón Compare en el centro de la ventana principal de la aplicación.  Si se hace clic en este botón, comenzará automáticamente la comparación del controlador seleccionado y la imagen de la aplicación con la opción Ignore Automatically Updated Files habilitada.

Al hacer clic en el botón Start o Compare, se iniciará el proceso de comparación.  Una vez que comienza la comparación, cada archivo en ambas imágenes es comparado para detectar cambios.  También se identifican los archivos que se encuentran en una imagen y no en la otra.  Este proceso puede tardar varios minutos en completarse y se mostrará un cuadro de diálogo del avance hasta que se complete.  Si la herramienta finaliza sin encontrar diferencias, aparecerá el siguiente cuadro de diálogo. 

Notificación de imágenes idénticas

Figura 19: Notificación de imágenes idénticas

Sin embargo, si se detectan diferencias, se mostrarán en la siguiente tabla.  Si lo desea, los resultados se pueden registrar en un archivo TSV similar al formato en la Figura 16.

Tabla de resultados de la comparación de imágenes

Figura 20: Tabla de resultados de comparación de imágenes

Pasos rápidos para recuperar una imagen de la aplicación

A continuación, una lista de pasos rápidos para recuperar una imagen de la aplicación desde un dispositivo RT:

  1. Haga clic en el botón Settings sobre la tabla de dispositivos en tiempo real para mostrar el tipo de dispositivo del que se obtendrá la imagen.
  2. Seleccione el dispositivo RT que contiene la imagen de la aplicación deseada.
  3. Haga clic en el botón Retrieve en el centro.
  4. Determina si es una imagen nueva o una nueva versión de una imagen existente.
  5. Ingrese las propiedades adecuadas para la imagen de la aplicación.
  6. Haga clic en el botón Retrieve application image.

Pasos rápidos para implementar una imagen de la aplicación

A continuación, una lista de pasos rápidos para implementar una imagen de la aplicación en un dispositivo RT:

  1. Haga clic en el botón Settings sobre la tabla de imágenes de la aplicación para seleccionar la carpeta donde se almacenan las imágenes de la aplicación.
  2. Seleccione en la tabla la imagen de la aplicación que se implementará.
  3. Seleccione los dispositivos para implementar la imagen de la aplicación.
  4. Haga clic en el botón Deploy en el centro.
  5. Configure los ajustes de configuración de red que desee para cada dispositivo usando el botón Target Configuration Option.
  6. Haga clic en el botón Deploy Application Image to Listed Target

Diseño de implementación de aplicaciones RT

Esta sección contiene información adicional sobre el diseño y la implementación de la utilidad RT Application Deployment (RTAD) para facilitar la personalización de esta aplicación de referencia de acuerdo a los requisitos específicos de su aplicación. El código fuente de la utilidad se proporciona en la carpeta \examples\RTADU en LabVIEW e incluye un proyecto con un ejecutable de la aplicación y una especificación de compilación del instalador. 

Imágenes de la aplicación

Una imagen de la aplicación es el contenido del disco duro en un dispositivo RT que define el comportamiento y las operaciones del sistema RT. Para crear una imagen de la aplicación RT, normalmente desarrolla la aplicación en el entorno LabVIEW e inicialmente la implementa en el dispositivo RT desde el proyecto LabVIEW. Normalmente, esto significa crear un ejecutable RT, configurarlo para que se ejecute al inicio e implementarlo en el dispositivo RT. Antes de utilizar la utilidad RT Application Deployment, debería haber pasado por este proceso y haber probado a fondo su aplicación en el dispositivo RT autónomo. 

Hay algunos otros usos de la utilidad RT Application Deployment que no implican crear un ejecutable RT o incluso ejecutar una aplicación en su dispositivo RT. Por ejemplo, puede usar esta utilidad para crear e implementar rápidamente imágenes limpias de un dispositivo RT o cambiar entre diferentes versiones de LabVIEW Real-Time instaladas en un dispositivo RT.

La imagen de la aplicación básica es creada e implementada por los RT System Replication VIs usados en la utilidad RTAD. Estos VIs almacenan los archivos de la imagen de la aplicación en un archivo ZIP. La utilidad RTAD utiliza *.lvappimg como extensión predeterminada para los archivos de imagen de la aplicación. Puede utilizar una extensión diferente si lo desea o cambiar la predeterminada que utiliza la aplicación.

Una vez creado, tanto un archivo de propiedades de imagen de la aplicación como cualquier archivo de bits FPGA seleccionado se agregan al archivo *.lvappimg y al controlador de imagen.

Propiedades de la imagen de la aplicación

Para almacenar información adicional como parte de la imagen de la aplicación, la utilidad RTAD crea un archivo de configuración INI adicional (rtad_Create AppImage Info File.vi) durante el proceso de recuperación y lo agrega al archivo de imagen de la aplicación creado por los RT System Replication VIs. El nombre para este archivo es lvappimage.info. Contiene los siguientes parámetros adicionales:

  • Versión RTAD
  • Nombre de la imagen de la aplicación
  • Versión de imagen de la aplicación
  • Descripción de la imagen de la aplicación
  • Identificador de imagen de la aplicación
  • Fecha y hora de la imagen de la aplicación
  • Número de archivos de bits flash FPGA
  • Nombre de la fuente y ruta para cada archivo de bits

La utilidad lee la información de este archivo (rtad_Read AppImage Properties.vi) al actualizar la tabla de imágenes de la aplicación y le permite actualizar esta información para las imágenes de la aplicación existentes.

El Application Image Identifier es un identificador único global (GUID).  Se agrega a lvappimage.info para que las diferentes versiones de la misma imagen se puedan rastrear e identificar fácilmente, sin importar los cambios en las propiedades de la imagen.  Sin embargo, no se ha creado un código para exponer esta funcionalidad.  En cambio, el GUID es una característica que se ha agregado simplemente para permitir futuras mejoras a la herramienta.

Puede agregar o editar en el código fuente la información almacenada en este archivo.

Los RT System Replication VIs también crean un archivo de configuración INI (RTImageInfo.ini) como parte de la creación de la imagen de la aplicación. No debe modificar el contenido de este archivo.

Descripción general del diseño de código

La utilidad RT Application Deployment utiliza el patrón de diseño del Controlador de Mensajes en Fila (QMH) como base del VI principal y varios subVIs. Este patrón de diseño y la Biblioteca de Comunicación Asincrónica de Mensajes(AMC) utilizada en QMH se describen en detalle en la documentación de AMC y QMH

El QMH utiliza una estructura de eventos básica para recibir la entrada del usuario desde el panel frontal y crea mensajes en la cola para ser procesados por el VI. El procesador de mensajes contiene una estructura de casos, con un caso para cada una de las operaciones del VI. Algunas de las operaciones principales de la utilidad RTAD que se manejan son Refresh AppImages, Refresh Targets, Retrieve AppImage, y Deploy AppImage. Alguna interacción del usuario puede hacer que el procesador de mensajes realice múltiples operaciones o algunas operaciones siempre harán que se realice otra operación. Por ejemplo, cuando se realiza la operación Retrieve AppImage, llama a Refresh AppImage para actualizar la tabla de imágenes de la aplicación en la IU principal.

Además, cuando se inicia la utilidad, algunos mensajes iniciales se colocan en la cola para iniciar la aplicación. 

El procesador de mensajes contiene un clúster de estado de la aplicación en un registro de desplazamiento. Este clúster contiene información básica sobre la aplicación, incluyendo:

  • Configuración de dispositivos actuales
  • Lista de dispositivos
  • Configuración de imágenes de la aplicación
  • Lista de imágenes de la aplicación
  • Ruta del archivo de configuración

Varias operaciones de la utilidad utilizan y actualizan la información de este clúster.  

Además de esto, la RTAD ejecuta un motor de cambio de tamaño en paralelo con el resto de la aplicación utilizada para manejar cualquier evento de cambio de tamaño de la aplicación.  El motor de cambio de tamaño se diseñó para aumentar y reducir igualmente los cuadros de lista de dispositivos RT e imágenes de la aplicación a medida que se cambia el tamaño de la aplicación.  Todos los botones también se desplazan según sea necesario para alinearlos correctamente con los cuadros de lista que se han redimensionado.  Por último, las columnas de los cuadros de lista se ajustan automáticamente en función del cambio de tamaño realizado.  Esto se logró usando barras divisoras y propiedades del servidor VI.

Inicialización

El proceso de inicialización de la utilidad RTAD consiste en estas operaciones.

Init - Default: Inicialización de algunos objetos del panel frontal y valores en el clúster de estado, como el nombre del archivo de configuración de la aplicación y la ubicación predeterminada de la carpeta de imágenes de la aplicación.

Init  - Load Config: Lee el archivo de configuración de la aplicación y almacena los datos en el clúster de estado. 

Init - Configure Settings: En base a los datos del archivo de configuración, inicializa algunas otras configuraciones en la utilidad.

Refresh Targets - Actualiza la lista de dispositivos RT en el clúster de estado. Esta operación también llama a Update UI, que actualiza la IU.

Refresh AppImages - Actualiza la lista de imágenes de la aplicación en el clúster de estado. Esta operación también llama a Update UI, que actualiza la IU.

Configuración de la utilidad RTAD

La utilidad RTAD utiliza un archivo INI de configuración (rtad_config.ini) que se almacena en la misma carpeta que el VI de nivel superior o ejecutable. Esta información en este archivo se carga durante la inicialización de la utilidad y el archivo se actualiza al cerrar la utilidad. Contiene la siguiente información sobre la utilidad.

Ruta de las imágenes de la aplicación

Carpeta donde se almacenan las imágenes de la aplicación

Configuración de dispositivos de RT

Configurar los filtros de los dispositivos RT que se muestran en la tabla de dispositivos en tiempo real

Información de dispositivos agregados por el usuario

Información sobre la cantidad de dispositivos que se han agregado manualmente al cuadro de lista de dispositivos RT y sus direcciones IP asociadas.  Esta información se guarda para que los dispositivos agregados a la lista permanezcan en la lista desde que la aplicación se reinicia hasta que se eliminen explícitamente.

Modo de aplicación

Esta entrada se utiliza para personalizar aún más la IU y/o el funcionamiento de la utilidad RTAD. Esta configuración actualmente está establecida en 'Administrador'. Si falta esta configuración, los botones Retrieve Application Images y Configure Application Image se eliminan de la IU para evitar cambios en las imágenes de la aplicación almacenadas. Puede definir perfiles de usuario adicionales y configurar el funcionamiento de la utilidad durante el proceso de inicialización en base a esta configuración. En una implementación más completa, usted agregaría la administración y la verificación de usuarios a este proceso.

Actualizar objetivos

Esta operación se realiza utilizando el RT Get Target Information VI de las utilidades RT y devuelve una lista de todos los dispositivos RT en la subred local, así como cualquier dispositivo ingresado manualmente en la utilidad.

Ventana emergente del avance

Durante la operación Refresh Targets, así como durante varias otras operaciones más largas en la utilidad, se muestra un cuadro de diálogo del avance. Este VI es un VI dinámico que se inicia usando el Util_Progress Show Progress Popup.vi. La barra de avance solo tiene la función de mostrar la actividad de la utilidad y no indica el avance real de la operación. El cuadro de diálogo del avance se cierra usando el Util_Progress Close Progress Popup.vi una vez finalizada la operación.

Actualizar las imágenes de la aplicación

Para actualizar la lista de imágenes de la aplicación disponibles para el usuario, la utilidad recupera una lista de todos los archivos en la carpeta de imágenes de la aplicación que coinciden con la extensión predeterminada (*.lvappimg). Para cada uno de estos archivos, extrae del archivo ZIP los archivos predeterminados (RTImageInfo.ini) y de configuración personalizada (lvappimage.info) y lee la información pertinente. Esta lista de imágenes de la aplicación se almacena como un arreglo de clúster en el clúster de estado de la utilidad.

Recuperar imágenes de la aplicación

La recuperación de imágenes de la aplicación sigue una secuencia específica de pasos implementados en el rtad_Retrieve Application Image From Target.vi.

  1. Primero, solicita al usuario que elija si se trata de una nueva aplicación o si las propiedades de la aplicación se pueden heredar de una versión anterior en el controlador o se pueden guardar en disco.
  2. Solicita al usuario que seleccione un nombre de archivo para la imagen de la aplicación e ingrese o edite la información básica sobre la imagen, como el nombre, la versión y la descripción. El usuario puede seleccionar un archivo de imagen de la aplicación existente como destino, en cuyo caso el archivo se sobrescribirá con la nueva imagen de la aplicación.
  3. Edita la configuración de la implementación Flash FPGA para guardarla con la imagen en caso de requerir recuperarla.
  4. Una vez que se hayan especificado correctamente todas las configuraciones, recupere la imagen de la aplicación del dispositivo y almacene los archivos en el archivo especificado.
  5. Si es una nueva imagen, cree un nuevo GUID para asociarla.
  6. Crea un archivo personalizado con la información de la imagen de la aplicación (lvappimage.info).
  7. Elimina el antiguo archivo lvappimage.info, así como cualquier archivo de bits flash de la imagen recuperada, si existen, y luego agrega la versión actualizada de estos archivos nuevamente al directorio zip.
  8. También elimina del dispositivo estos archivos con información de la imagen si es necesario y luego envía por FTP las versiones actualizadas al controlador.  Esto asegura que los archivos del controlador coincidan exactamente con los archivos de la imagen guardados en disco.
  9. Limpia cualquier archivo guardado en la carpeta temporal.

La utilidad usa la LabVIEW RT Utilities AP para recuperar una imagen de un dispositivo y la API de FTP instalada con LabVIEW Real-Time para manejar todas las demás funciones de FTP.  Los Wrapper VIs se crearon en torno a todas las funciones de implementación y FTP para que una implementación diferente o tecnología de transferencia de archivos pueda usarse fácilmente en la utilidad.  Para usar una API de transferencia de archivos o implementación diferente, simplemente reemplaza el código en las funciones contenedoras existentes con el código deseado y convierte las entradas o salidas según sea necesario.

Cualquier archivo transferido al controlador se guarda en el directorio C: del controlador.  La aplicación asume que todos los controladores están usando el nombre de usuario y la contraseña estándar para su servidor FTP.  Si el servidor FTP de su controlador está protegido con contraseña, la utilidad deberá ser modificada para adaptarse a esto.  Las credenciales se pueden leer desde el archivo, codificarlas en las funciones de FTP Wrapper o ingresarlas por el usuario durante la ejecución.  También, el código que realiza el FTP después de la recuperación podría simplemente eliminarse.

El archivo lvappimage.info creado se transfiere al controlador después de recuperar la imagen para que la imagen del controlador sea idéntica a la versión guardada localmente y de modo que si se crea una nueva imagen desde el controlador, las propiedades de la imagen anterior pueden estar disponibles.

Los archivos de bits FPGA se guardan con la imagen para que el usuario no tenga que llevar un registro de la versión local del archivo de bits en el disco.  Una vez que se ha creado la imagen, el archivo de bits FPGA utilizado para crear la imagen se puede modificar o eliminar, pero no cambiará el comportamiento de la imagen si se vuelve a implementar.  El único inconveniente de este enfoque es que los archivos de bits, en ocasiones pueden volverse muy grandes y utilizarán un espacio limitado en el disco del controlador.  Si esto le preocupa, la utilidad se puede modificar para que siempre busque el archivo de bits en el disco local en lugar de dentro de las imágenes recuperadas o implementadas.

Implementar imágenes de la aplicación y configuración personalizada de la red del dispositivo RT 

Implementar una imagen de la aplicación en uno o más dispositivos es un proceso más complejo, ya que primero debe verificar la compatibilidad de la imagen, implementar los archivos de la imagen de la aplicación, implementar cualquier archivo de bits seleccionado en flash FPGA y, finalmente, aplicar cualquier configuración de red personalizada a los dispositivos RT seleccionados.

La compatibilidad de la imagen simplemente verifica si el hardware del controlador original coincide con el controlador de destino.  De manera predeterminada, solamente se compara el tipo de controlador.  Sin embargo, se puede habilitar una comparación adicional del plano trasero del controlador para garantizar que los archivos de bits de la imagen se puedan implementar correctamente en la memoria flash.  El CRI se utiliza para recuperar información del plano trasero de un controlador cRIO durante la recuperación y la implementación.  Si los planos traseros no coinciden, se notificará al usuario que la imagen es incompatible.  Actualmente este enfoque tiene algunas limitaciones.  El CRI solamente puede recuperar información de un controlador si se ha instalado RIO.  Como resultado, no se puede realizar una verificación de compatibilidad del plano trasero en un dispositivo no configurado.  Además, el CRI actualmente solo funciona para planos traseros cRIO, aunque se puede modificar para admitir dispositivos PXI FPGA.  Debido a estas limitaciones, esta característica está desactivada de manera predeterminada.

Si lo desea, la porción de FPGA de la verificación de compatibilidad se puede habilitar cambiando el símbolo condicional para deshabilitar CRI_INSTALLED en el proyecto a True.  Cuando está habilitada, esta verificación se realiza únicamente si la imagen contiene un archivo de bits para flash FPGA.  Por lo tanto, no existe ninguna protección contra una aplicación RT que intente implementar su archivo de bits FPGA en un plano trasero incompatible en tiempo de ejecución.

Si la verificación de compatibilidad del dispositivo no arroja ningún error, entonces comienza el proceso de implementación.  El proceso se describe en el siguiente diagrama de flujo.  Este proceso, junto con la verificación de compatibilidad del dispositivo, se produce de forma secuencial para cada dispositivo de implementación seleccionado en un ciclo.

Diagrama de flujo del proceso de implementación

Figura 21: Diagrama de flujo del proceso de implementación

El proceso de implementación también incluye la opción de configurar y luego aplicar configuraciones de red personalizadas a los dispositivos RT durante el proceso de implementación. Esta opción interesante cuando puede tener una gran cantidad de dispositivos RT configurados para DHCP durante el proceso de implementación para asignarles automáticamente diferentes direcciones IP, pero desea que todos tengan la misma dirección IP estática después de la implementación cuando cada controlador está integrado en su propio sistema. 

La opción para aplicar configuraciones personalizadas de red se maneja en dos pasos. La primera es la configuración de estos ajustes que se maneja a través del rtad_Target Configuration Options Dialog.vi. La información de este paso se almacena en un clúster y se pasa al segundo paso. El segundo paso es la aplicación de estas configuraciones personalizadas a cada dispositivo RT antes de que la imagen de la aplicación se haya aplicado a un dispositivo específico. La aplicación de la configuración personalizada de red es manejada por el rtad_Configure Target.vi. Para personalizar o mejorar aún más este proceso, normalmente actualizaría ambos VIs de acuerdo con sus necesidades y modificaría el clúster para pasar la información de configuración.

La implementación de la imagen de la aplicación en cada dispositivo RT se realiza en el rtad_Deploy Image State Machine.vi. Este proceso secuencial requiere varios minutos para cada dispositivo RT, dependiendo del tamaño y la cantidad de archivos en la imagen de la aplicación. Los actuales RT System Replication VIs no soportan la implementación simultánea de imágenes de la aplicación en múltiples dispositivos.

La implementación flash FPGA requiere que se instale una versión de NI-RIO.  Esta característica está habilitada de manera predeterminada.  Para deshabilitar esta función y ejecutar la utilidad en una máquina sin NI-RIO, el código fuente debe modificarse para que el símbolo condicional para deshabilitar RIO_INSTALLED en el proyecto se establezca en False.

Si la imagen contiene un archivo de bits FPGA para la implementación flash, entonces el archivo ni-rt.ini en el dispositivo se modifica para que el archivo ejecutable de inicio no se ejecute al reiniciar.  Luego, se reinicia el dispositivo y se implementan los archivos de bits FPGA.  El token ni-rt.ini se restablece a su estado original y el dispositivo se reinicia por última vez.  El proceso de implementación no esperará a que se complete el reinicio durante el último reinicio.  Esto puede evitar que el dispositivo implementado aparezca en la lista de dispositivos después de una implementación.  Pulsando actualizar después de unos momentos debería mostrar el dispositivo en la lista una vez más.

Resultados de la implementación y registro

Durante el proceso de implementación, el resultado de la implementación para cada dispositivo RT se almacena en un registro de desplazamiento de arreglo de cadena en el ciclo For, y se actualiza la tabla de dispositivos seleccionados en la IU del cuadro de diálogo. Esta arreglo de cadena y la información adicional sobre cada dispositivo se pueden registrar una vez finalizado el proceso de implementación. La utilidad RTAD almacena estos datos en un archivo de valores separados por tabulaciones (TSV), que se puede abrir en un editor de texto o Microsoft Excel, o se puede importar a una base de datos. Este archivo contiene la siguiente información sobre cada dispositivo en el proceso de implementación:

  • Modelo del dispositivo RT
  • Código del modelo del objetivo RT
  • Número de serie del dispositivo RT
  • Dirección MAC
  • Dirección IP
  • Nombre de host
  • Nombre de la imagen de la aplicación
  • Versión de imagen de la aplicación
  • Fecha y hora de implementación
  • Resultado del proceso de implementación

El VI (rtad_Write Deployment Results to File.vi) que almacenó estos datos en un archivo puede, por supuesto, actualizarse para almacenar los datos directamente en una base de datos. 

Comparar imágenes de la aplicación

La herramienta de comparación funciona creando una suma de comprobación de cada archivo en las dos imágenes y luego compara estas sumas una por una.  Se guardan los nombres de archivo de cualquier archivo que sea diferente o que aparezca en una imagen y no en la otra.  La comparación la realiza el rtad_RT Image Compare Dialog.vi, el cual puede ejecutarse como un cuadro de diálogo o en segundo plano.  Este VI fue diseñado para que también pueda ejecutarse como una herramienta autónoma o como un componente de una aplicación diferente.

El proceso de comparación es bastante sencillo.  Se recopilan las dos primeras imágenes.  Si la herramienta compara dos imágenes guardadas localmente, entonces no se requiere ningún trabajo para recopilar las imágenes.  Sin embargo, una comparación de una imagen local con la imagen de un controlador de la red requiere que primero se recupere la imagen del controlador de red.

Una vez que se recopilan las imágenes, se calculan las sumas de comprobación para cada archivo en ambas imágenes y luego se compara un arreglo de pares de ruta de archivo/suma de comprobación para ambas imágenes.  Luego se anotan todos los archivos con sumas de comprobación diferentes, así como los archivos incluidos en una lista y no en la otra.

La herramienta incluye la opción de ignorar los archivos que comúnmente el controlador modifica automáticamente.  Estos archivos incluyen cualquier cosa en el directorio temporal del controlador, así como ciertos archivos del sistema que pueden ser modificados al inicio.  Esta lista de archivos se encontró empíricamente y es posible que no esté completa.  Se pueden agregar más archivos a la lista de ignorados agregándolos a la constante del arreglo en rtad_Calculate Checksum.vi. 

Luego los resultados de la comparación se muestran en una tabla.  Esta tabla contiene una lista de archivos modificados, archivos que se encuentran únicamente en la primera imagen y archivos que se encuentran únicamente en la segunda imagen.  Finalmente, el usuario tiene la opción de registrar estos resultados en un archivo.

Construir un ejecutable

El proyecto proporcionado con la utilidad RT Application Deployment incluye una especificación de compilación para construir la utilidad en un ejecutable de Windows que se puede ejecutar sin el entorno de desarrollo de LabVIEW. Además del VI de nivel superior (Utilidad RT Application Deployment), usted solamente necesita incluir otros dos archivos en la especificación de compilación.

Util_Progress Progress Popup.vi

Este VI debe colocarse dentro del mismo ejecutable. Debe incluirse explícitamente en la compilación, ya que se llama dinámicamente en la utilidad.

rtad_config.ini

Este es el archivo INI de configuración para la utilidad que debe colocarse en la misma carpeta del ejecutable.

Una vez construido, el ejecutable de la utilidad RTAD se puede ejecutar solamente con el LabVIEW run time engine instalado en un sistema.  Sin embargo, si la función de implementación flash FPGA está habilitada, también debe estar instalado el controlador NI-RIO.

Registro de cambios

Versión RTAD 2.1.09 (2/2/2012)

  • Se corrigió un error al comunicarse con dispositivos en una subred remota introducida en la versión 2.1.08.

Versión RTAD 2.1.08 (29/7/2011)

  • Mayores tiempos de pausa de descubrimiento de dispositivos
  • Todos los cuadros de diálogo del avance se han cambiado a modal
  • Se corrigió un error con el elemento de menú Images Configure...
  • Se corrigió un error al cancelar un cuadro de diálogo Log Results
  • El cuadro de lista de imágenes de la aplicación ahora muestra un mensaje cuando está vacío

Versión RTAD 2.1.07 (7/4/2011)

  • Se eliminó el requisito del Sistema de Desarrollo Completo de LabVIEW del instalador
  • El instalador ya no instala el código fuente de la RTAD.  Esto ahora debe descargarse por separado.

Versión RTAD 2.1.06 (1/3/2011)

  • Nueva característica para incrementar automáticamente IPs estáticas durante la implementación
  • Se corrigió un error que podía evitar que la configuración de la aplicación se guardara al cerrarse
  • Se corrigió un error que podía evitar que la configuración de IP se aplicara correctamente después de una implementación
  • Se corrigió un error que a veces causaba el error 63 durante la recuperación de la imagen
  • Se cambiaron las funciones de FTP de modo activo a pasivo

Versión RTAD 2.0.00 (20/1/2011) - Actualización importante desde 1.0

Problemas conocidos

  • No soporta imágenes de disco basadas en dispositivos RT con múltiples sistemas operativos o divisiones del disco duro
  • No soporta imágenes creadas con una unidad USB de utilidad de PC de escritorio RT
  • La configuración secundaria NIC no se aplica con una imagen a menos que se implemente exactamente en el mismo controlador desde el que se creó la imagen.  
  • Los directorios vacíos de un dispositivo no se recuperan como parte de una imagen.  Si es necesario, agregue un archivo al directorio como solución alternativa.

Was this information helpful?

Yes

No