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.
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.
Versión 2.1 – Construido con LabVIEW 2010
Instalador de aplicación RTAD: rtadu_2010_installer.zip
Requisitos: LabVIEW 2010 SP1 Runtime Engine, controlador 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
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Figura 16: Archivo de registros de implementación cargado en Excel
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.
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.
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.
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.
Figura 20: Tabla de resultados de comparación de imágenes
A continuación, una lista de pasos rápidos para recuperar una imagen de la aplicación desde un dispositivo RT:
A continuación, una lista de pasos rápidos para implementar una imagen de la aplicación en un dispositivo 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.
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.
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:
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.
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:
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.
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.
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.
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.
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.
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.
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 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.
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.
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:
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.
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.
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.
Versión RTAD 2.1.09 (2/2/2012)
Versión RTAD 2.1.08 (29/7/2011)
Versión RTAD 2.1.07 (7/4/2011)
Versión RTAD 2.1.06 (1/3/2011)
Versión RTAD 2.0.00 (20/1/2011) - Actualización importante desde 1.0