Pasar Datos entre Iteraciones de Ciclo en LabVIEW

Contenido de esta Sección

Al programar con ciclos, generalmente debe tener acceso a datos desde iteraciones anteriores del ciclo en LabVIEW. Por ejemplo, si está adquiriendo un elemento de los datos en cada iteración de un ciclo y debe promediar cada cinco elementos, debe retener los datos de iteraciones anteriores del ciclo.

Registros de Desplazamiento

 

Video: Registros de Desplazamiento

Use los registros de desplazamiento cuando quiera pasar valores de iteraciones anteriores a través del ciclo a la siguiente iteración. Un registro de desplazamiento aparece como un par de terminales directamente opuestas en las partes verticales del borde del ciclo.

La terminal en la parte derecha del ciclo contiene una flecha hacia arriba y almacena datos de la terminación de una iteración. LabVIEW transfiere los datos conectados en la parte derecha del registro a la próxima iteración. Después que el ciclo se ejecuta, la terminal en la parte derecha del ciclo regresa al último valor almacenado en el registro de desplazamiento.

Cree un registro de desplazamiento al dar clic con botón derecho en el borde izquierdo o derecho y seleccione Add Shift Register desde el menú de acceso directo.

Un registro de desplazamiento transfiere cualquier tipo de datos y cambia automáticamente al tipo de datos del primer objeto cableado al registro de desplazamiento. Los datos que usted cablea a las terminales de cada registro de desplazamiento deben ser del mismo tipo.

Puede añadir más de un registro de desplazamiento a un ciclo. Si tiene múltiples operaciones que usan valores de iteraciones anteriores en su ciclo, use múltiples registros de desplazamiento para almacenar los valores de datos desde esos procesos en la estructura, como se muestra en la Figura 1.

Figura 1. Usar Múltiples Registros de Desplazamiento

Iniciar Registros de Desplazamiento

Al iniciar un registro de desplazamiento se restablece el valor que el registro de desplazamiento pasa a la primera iteración del ciclo cuando se ejecuta el VI. Inicie un registro de desplazamiento al cablear un control o constante a la terminal del registro de desplazamiento en la parte izquierda del ciclo, como se muestra en la Figura 2.

Figura 2. Registro de Desplazamiento Iniciado

En la Figura 2, el Ciclo For se ejecuta cinco veces, incrementando el valor que el registro de desplazamiento contiene por uno cada vez. Después de cinco iteraciones del Ciclo For, el registro de desplazamiento pasa el valor final, 5, al indicador y el VI se detiene. Cada vez que ejecuta el VI, el registro de desplazamiento comienza con un valor de 0. Si usted no inicia el registro de desplazamiento, el ciclo utiliza el valor escrito en el registro de desplazamiento cuando el último ciclo es ejecutado o el valor pre determinado para el tipo de datos si el ciclo nunca ha sido ejecutado. Use un registro de desplazamiento no iniciado para conservar la información del estado entre ejecuciones subsecuentes de un VI.

Figura 3. Registro de Desplazamiento No Iniciado

En la Figura 3, el Ciclo For se ejecuta cinco veces, incrementando el valor que el registro de desplazamiento contiene por uno cada vez. La primera vez que ejecuta el VI, el registro de desplazamiento comienza con un valor de 0, el cual es el valor predeterminado para un entero de 32 bits. Después de cinco iteraciones del Ciclo For, el registro de desplazamiento pasa el valor final, 5, al indicador y el VI se detiene. La próxima vez que ejecuta el VI, el registro de desplazamiento comienza con un valor de 5, el cual es el último valor de la ejecución anterior. Después de cinco iteraciones del Ciclo For, el registro de desplazamiento pasa el valor final, 10, al indicador. Si ejecuta el VI otra vez, el registro de desplazamiento comienza con un valor de 10 y así sucesivamente. Los registros de desplazamiento no iniciados retienen el valor de la iteración anterior hasta que usted cierra el VI.

Registros de Desplazamiento Apilados

Con registros de desplazamiento apilados, usted puede tener acceso a los datos de iteraciones de ciclo anteriores. Los registros de desplazamiento recuerdan los valores de múltiples iteraciones anteriores y llevan esos valores a las próximas iteraciones. Para crear una fila de registro de desplazamiento, haga clic con botón derecho en la terminal izquierda y seleccione Añadir Elemento en el menú de acceso directo.

Los registros de desplazamiento apilados pueden ocurrir solamente en la parte izquierda del ciclo porque la terminal derecha transfiere los datos generados solamente desde la iteración actual a la siguiente iteración.

Figura 4. Usar Registros de Desplazamiento Anidados

Si añade otro elemento a la terminal izquierda en el diagrama de bloques anterior, los valores desde las últimas dos iteraciones se llevan a la siguiente iteración, con el valor de la iteración más reciente almacenado en el último registro de desplazamiento. La primera terminal almacena los datos pasados a ella desde la iteración anterior.

Aprenda Fundamentos de LabVIEW en una Nueva Forma

Aprenda estos conceptos de LabVIEW a través de nuestra nueva experiencia interactiva.

Continúe Aprendiendo

Anterior Estructuras de Ejecución
Manejo de Errores Siguiente