Temporización y sincronización en LabVIEW

Información general

La temporización es un elemento esencial para todas las aplicaciones de pruebas, control y diseño y debe ser una consideración clave en cualquier sistema. Las tecnologías de temporización y sincronización correlacionan eventos en el tiempo, lo cual es necesario para realizar actividades coordinadas. Para que el software pueda organizar estas actividades coordinadas, el programa debe estar sincronizado y tener un concepto de tiempo. El software NI LabVIEW tiene construcciones de temporización inherentes al lenguaje que usted puede usar para sincronizar su software dentro de su sistema.

Conocer la temporización de LabVIEW a fondo - Motor de nanosegundos y NI-TimeSync

LabVIEW usa un componente de software llamado motor de nanosegundos para realizar un seguimiento del tiempo en un programa. El motor de nanosegundos funciona en segundo plano e interactúa con el sistema operativo para administrar el tiempo. Hay una variedad de funciones y estructuras en LabVIEW que usan el motor de nanosegundos para mantener el tiempo, como la función Wait y la estructura de ciclo temporizado El motor de nanosegundos puede usar un reloj local en tiempo real (RTC) o puede ser impulsado por un reloj de referencia externo e integrado a través del NI Time Sync Framework (NI-TimeSync) (Figura 1).

Figura 1. El mecanismo de temporización de nanosegundos de LabVIEW y NI-TimeSync se coordinan para proporcionar un reloj para su aplicación.

LabVIEW 2010 presenta un nuevo reloj disponible para NI-TimeSync. El complemento IEEE Standard 1588 disponible con NI-TimeSync 1.1 proporciona una referencia de reloj que está sincronizada con una resolución de 1 ms. Usted puede configurar varios dispositivos en una red para utilizar el mismo reloj de referencia IEEE 1588, lo que permite sincronizar varias plataformas a través de una red Ethernet estándar. También puede configurar su dispositivo para usar el Software 1588 Precision Time Protocol con la utilidad NI Measurement & Automation Explorer (MAX) (Figura 2).

Figura 2. Configuración de la fuente de sincronización de temporalización para el dispositivo de MAX

 

Estructuras de temporalización de LabVIEW – ciclo temporizado

El ciclo temporizado es una estructura de ciclo que se ejecuta cuando la fuente de temporización configurada tiene un evento. Tiene una amplia variedad de fuentes de temporización que se describen más adelante en este tutorial. Utilice el ciclo Loop cuando desee desarrollar aplicaciones que requieran procesamiento de velocidad variable, sincronización y sincronización precisas, retroalimentación sobre la ejecución del ciclo, características de temporización que cambian dinámicamente o varios niveles de prioridad de ejecución. Además de las características de temporización del ciclo temporizado, la estructura se puede utilizar para asignar afinidad del procesador para programación multinúcleo. Con el ciclo temporizado, puede especificar una variedad de atributos de temporización, incluyendo el período, la prioridad, la fecha límite, el desfase y el tiempo de inactividad. Con la combinación de estos atributos y la amplia variedad de fuentes de temporización, puede crear aplicaciones sofisticadas independientemente de las restricciones de temporización requeridas (Figura 3).

Figura 3. Estructura del ciclo temporizado de LabVIEW para ejecutar código con restricciones de temporización

 

 

Fuentes de temporización del ciclo temporizado

Una fuente de temporalización controla la ejecución de una estructura temporizada. Puede seleccionar entre tres clases de fuentes de temporización: interna, activada por software o externa (Figura 4).

Figura 4. Fuentes de temporización para la estructura del ciclo temporizado: Fuentes internas de temporización integradas, fuentes activadas por software y fuentes externas

Fuentes internas de temporización

La fuente de sincronización interna utiliza el motor de nanosegundos para llevar registro del tiempo. Puede configurar el ciclo temporizado para utilizar un reloj de 1 kHz o un reloj de 1 MHz en un dispositivo en tiempo real (RT) compatible. Con el reloj de 1 kHz, usted puede programar una estructura temporizada con una resolución de milisegundos. Todas las plataformas de LabVIEW que pueden ejecutar una estructura temporizada son compatibles con la fuente de temporización de 1 kHz. Los dispositivos que admiten la fuente de temporización de 1 MHz pueden programar una estructura temporizada con una resolución de microsegundos. También puede configurar la estructura de ciclo temporizado para usar cualquiera de estas fuentes de temporización integradas como una referencia de tiempo absoluta para iniciar la ejecución de la estructura usando registros de tiempo. Por ejemplo, puede configurar el ciclo temporizado para que se inicie a una hora precisa cada día.

Una fuente interna de temporización adicional es Synchronize to Scan Engine. Esta sincroniza la estructura temporizada con el NI Scan Engine. Con esta fuente de temporización, la estructura temporizada se ejecuta al final de cada escaneo. El período entre iteraciones corresponde a la configuración del período de escaneo (µS) que usted configura en la página del motor de escaneo de NI.

Fuentes de temporización activadas por software

Puede crear una fuente de temporización activada por software para activar una estructura temporizada en base a un evento definido por software. Utilice el Create Timing Source VI para crear una fuente de temporización activada por software. Utilice el Fire Software-Triggered Timing Source VI para activar de manera programática un ciclo temporizado controlado por una fuente de temporización activada por software. Puede utilizar una fuente de temporización activada por software como un controlador de eventos compatible con RT o para notificar a un ciclo temporizado consumidor cuando haya nuevos datos disponibles en una aplicación de productor-consumidor.

Fuentes externas de temporización

Puede crear fuentes externas de temporización para controlar una estructura temporizada con NI-DAQmx Versión 7.2 o posterior. Utilice el DAQmx Create Timing Source VI para seleccionar de manera programática una fuente externa de temporización. También puede usar varios tipos de fuentes de temporización NI-DAQmx, que incluyen frecuencia, contador digital de borde, detección digital de cambio y señales de fuentes de tareas, para controlar estructuras temporizadas. Use los VIs de adquisición de datos DAQmx para crear los siguientes tipos de fuentes de temporización NI-DAQmx para controlar una estructura temporizada.

Frecuencia – Crea una fuente de temporización que hace que una estructura temporizada se ejecute a una frecuencia constante.

Contador digital de borde – Crea una fuente de temporización que hace que una estructura temporizada se ejecute en los bordes ascendente y descendente de una señal digital.

Contador digital de cambio – Crea una fuente de temporización que hace que una estructura temporizada se ejecute en los bordes ascendente y descendente de una o más líneas digitales.

Señal de tarea – Crea una fuente de temporización que utiliza la señal que usted especifica para determinar cuándo se ejecuta una estructura temporizada.

Temporización y sincronización en LabVIEW

Con construcciones de temporización inherentes al lenguaje, motor de temporización de nanosegundos y una estructura del ciclo temporizado, LabVIEW proporciona funcionalidad esencial de temporización y sincronización para su sistema.