Documentos de Académico
Documentos de Profesional
Documentos de Cultura
4-2
Lección 4
| ni.com
Objetivo
Usar un bucle While y un terminal de iteración y pasar datos por un túnel.
Uso de bucles
Escenario
Cree un VI que genere continuamente números aleatorios entre 0 y 1.000 hasta que genere un número que coincida con el que seleccione
el usuario. Determine cuántos números aleatorios generó el VI antes de que el número coincidiera.
Diseño
Use el siguiente diagrama de flujo y la lista de entradas/salidas para crear el VI de este ejercicio. El Flowchart (diagrama de flujo) en la
Figura 4-1 ilustra el flujo de datos de este diseño.
Figura 4-1. Diagrama de flujo de Auto Match
Generate a
Random Number No
Between 0 and 1
Multiply by 1000
Add 1 to
Round to Nearest Display Value = Number
Yes Iteration
Integer Value to User to Match?
Terminal
Display Number
of Iterations
Lección 4
La siguiente tabla describe las entradas y salidas para este ejercicio.
| ni.com
Uso de bucles
Tipo Nombre Propiedades
Control numérico Number to Match Doble precisión, coma flotante entre 0 y 1000, convertir al número
natural más cercano, valor predeterminado = 50
Implementación
1. Cree y guarde un proyecto en blanco como Auto Match.lvproj en el directorio <Exercises>LabVIEW Core 1\Auto Match.
2. Cree un VI nuevo en el proyecto y guárdelo como Auto Match.vi en el mismo directorio del proyecto.
3. Construya el Front Panel de la figura 4-2.
1 Configure el valor predeterminado del control Number to Match en 50—Ingrese 50 en el control Number to Match y luego haga clic con
el botón derecho en el control y seleccione Data Operations»Make Current Value Default.
2 Configure el indicador Number of Iterations para que su salida sea un entero largo con signo—Haga clic con el botón derecho en el
indicador y seleccione Representation»I32.
Lección 4
de datos sea de 0 a 1000, el valor de incremento sea 1 y los dígitos de precisión sean 0.
| ni.com
Haga clic con el botón derecho en el control Number to Match y seleccione Representation»U32 en el menú contextual.
Uso de bucles
Haga clic con el botón derecho en el control Number to Match y seleccione Data Entry en el menú contextual. Establezca las
propiedades en las pestañas Data Entry y Display Format como se muestra en la figura 4-3.
1 2
Haga clic con el botón derecho en el indicador Current Number y seleccione Representation»U32 en el menú contextual.
Haga clic con el botón derecho en el indicador Current Number y seleccione Display Format. Configure las propiedades como se
muestra en la Figura 4-4.
Lección 4
Figura 4-5. Block Diagram del VI Auto Match
| ni.com
1 2 9
Uso de bucles
3 4 5 6 7 8
Consejo Los puntos de coerción pueden causar que un VI use más memoria durante su ejecución, así que trate de mantener los
tipos de datos consistentes en los VIs que cree.
7. Actualice el VI para eliminar los puntos de coerción.
Haga clic con el botón derecho en el cable la función Round To Nearest y seleccione Insert»Numeric Palette»Conversion»To Unsigned
Long Integer como se muestra en la figura 4-6. Esto inserta la función To Unsigned Long Integer en el cable.
Figura 4-6. Insertando la función To Unsigned Long Integer en un cable
Lección 4
en la figura 4-7.
|
Uso de bucles
9. Abra el Front Panel.
10. Haga clic con el botón derecho en el indicador Current Number y seleccione Advanced»Synchronous Display.
Nota Si se habilita la visualización síncronica, cada vez que el Block Diagram envíe un valor al indicador Current Number, el Block
Diagram deja de ejecutarse hasta que el Front Panel haya actualizado el valor del indicador. En este ejercicio activa la visualización
sincrónica, de modo que puede ver el indicador Current Number actualizándose repetidamente en el Front Panel. Normalmente la
visualización sincrónica se deshabilita para aumentar la velocidad de ejecución, ya que habitualmente no necesita ver cada valor
actualizado de un indicador en el Front Panel.
2. Ejecute el VI.
3. Cambie el valor de Number to Match y ejecute el VI de nuevo. Current Number se actualiza en cada iteración del bucle porque se
encuentra dentro de él. Number of iterations se actualiza al completarse porque se encuentra fuera del bucle.
En el Block Diagram, haga clic en el botón Highlight Execution para habilitar el resaltado de ejecución.
7. Intente hacer coincidir un número que se encuentre fuera del rango de datos.
Cambie el valor Number to Match a un número que se encuentre fuera del rango, 0 -1000.
Ejecute el VI.
Note que LabVIEW coacciona el valor fuera del rango al valor más cercano en el rango de datos que especifique en el paso 4 de la
sección Implementación.