El blog de Daniel Muñoz “No hay mayor riqueza que el conocimiento ni mayor pobreza que la ignorancia.” – Alí ibn Abi-Talib

30abr/091

LabVIEW – Shift Registers.

Índice y descarga de este y otros ejemplos de programación en LabVIEW.<- Descargar este VI

1.2.6.vi

El VI efectúa un promedio con una cantidad Muestras de números aleatorios entre 0Rango. Para ello se utiliza la siguiente fórmula:

Promedio[i]=(i/(i+1)) x ( (i x Promedio[i-1]) + ValorActual)

Dentro del bucle principal, un bucle WHILE, hay un bucle FOR y un bucle WHILE:

1- Dentro del bucle FOR, que se repite Muestras veces, se genera un número aleatorio entre 0 y 1. Luego se lo multiplica por Rango para que esté entre 0Rango. Este valor equivale a ValorActual en la fórmula. El valor Promedio[i-1] se obtiene del shift register, que en el primer ciclo vale cero. Con estos dos valores aplicamos la fórmula y obtenemos Promedio[i], que se guarda en el shift register. Esto se repite en cada ciclo. Al salir del bucle FOR se toma el valor Promedio[i] y se lo muestra en el indicador Promedio.

2- Dentro del bucle WHILE se espera a que se presione el botón Calcular, para volver a calcular el promedio, o hasta que se presione SALIR, para salir del programa. En este último caso no se vuelve a repetir el bucle WHILE principal, terminando así el programa. Las lecturas de los botones CalcularSALIR solo se realizan cuando ocurre un cambio en el panel frontal. Esto para que este bucle no esté leyendo innecesariamente, ocupando así el procesador.

1.2.6.vi

1.2.6.vi

cbool SALIR Cuando se presiona sale del bucle WHILE principal, terminando así el programa.
ci32 Muestras Número de muestras a tomar para promediar.
cu8 Rango Se generarán muestras con valores aleatorios entre cero y Rango.
cbool Calcular Cuando se presiona, se vuelve a tomar los datos de los controles MuestrasRango, se calcula, y se muestra el resultado en el indicador Promedio.
idbl Promedio Muestra el promedio final.

1.2.6.vi

1.2.6.1.vi

Elementos adicionales en los Shift Registers.

El VI efectúa un promedio con una cantidad Muestras de números aleatorios entre 0Rango. Para ello se utiliza la siguiente fórmula:

Promedio[i]=(i/(i+1)) x ( (i x Promedio[i-1]) + ValorActual)

Dentro del bucle principal, un bucle WHILE, hay un bucle FOR y un bucle WHILE:

1- Dentro del bucle FOR, que se repite Muestras veces, se genera un número aleatorio entre 0 y 1. Luego se lo multiplica por Rango para que esté entre 0Rango. Este valor equivale a ValorActual en la fórmula. El valor Promedio[i-1] se obtiene del shift register, que en el primer ciclo vale cero. Con estos dos valores aplicamos la fórmula y obtenemos Promedio[i], que se guarda en el shift register. Esto se repite en cada ciclo. Al salir del bucle FOR se toma el valor Promedio[i] y se lo muestra en el indicador Promedio. También muestra el valor de Promedio[i-1] obteniéndolo directamente del shift register (antes de procesar todo) y hace uso de un elemento adicional en el shift register para mostrar el valor de Promedio[i-2].

2- Dentro del bucle WHILE se espera a que se presione el botón Calcular, para volver a calcular el promedio, o hasta que se presione SALIR, para salir del programa. En este último caso no se vuelve a repetir el bucle WHILE principal, terminando así el programa. Las lecturas de los botones CalcularSALIR solo se realizan cuando ocurre un cambio en el panel frontal. Esto para que este bucle no esté leyendo innecesariamente, ocupando así el procesador

1.2.6.1.vi

1.2.6.1.vi

cbool SALIR Cuando se presiona, sale del bucle WHILE principal, terminando así el programa.
ci32 Muestras Número de muestras a tomar para promediar.
cu8 Rango Se generarán muestras con valores aleatorios entre cero y Rango.
cbool Calcular Cuando se presiona, se vuelve a tomar los datos de los controles MuestrasRango, se calcula, y se muestran los resultados en los indicadores PromedioPromedio i-1Promedio i-2.
idbl Promedio Muestra el promedio final.
idbl Promedio i-1 Muestra el promedio parcial antes de haber tomado la última muestra.
idbl Promedio i-2 Muestra el promedio parcial antes de haber tomado las últimas dos muestras.

1.2.6.1.vi

Comentarios (1) Trackbacks (1)
  1. awesome ¡¡¡ nice course


Leave a comment

(required)