Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1 ni.com ?
1. Abra Colas vs Variables Locales . Ivproj en el directorio <Ejercicios>-LabVIEW Core 2-Colas frente a
Variables locales .
2. Haga doble clic en Colas vs local Variables.vi en la ventana Explorador de proyectos para abrir
la VI. El panel frontal de este VI se muestra en la Figura 1-1.
Producer Loop
Bien
Tiempo de bucle de
50 ms
Muestras
10- o-
-10-1 o 10 20 30 40 50 50 60
70 80 90 100 108
Hora
LocaVariabl
Consumido
Buc
l e r le Velocidad de bucle
Velocidad de bucle (ms)
Muestrasfaltantes de muestras
duplicadas
Parada
4. Detengan la VI.
5. Muestre y examine el diagrama de bloques para este VI. En las secciones siguientes se describen partes
de este diagrama de bloques con más detalle..
Obtener cola
Producer Loop
32 Parada de
m
u
e
s
t
r
a
s
200 •F
El Consumer bucledel consumidor de la variable localsu loop recibe los datos del is wire ony usado
espera hasta que la cola es
Bucle de productor mediante una variable local. o
hacer cumplir los datos B
vacíos.. Este bucle u
c
impide que se ejecuten los
l
elementos enla cola, e
Release "Release Queue" si v
*Productor Loco
*Sam
32 Muestras duplicadas
> Muestras pre-ious >
> > Dupfieted>
32 Sampls desaparecidos
32 muestras en cola
Bucle de cola
Velocidad de bucle (ms)
Velocidad de bucle
Cola de liberación x Error
1 Tamaño máximo de la cola —Establece el número máximo de elementos que la cola puede contener.
2 Tipo de datos numérico constant—Cableado a la entrada de tipo de datos de elemento de la función
Obtener cola , especifica el tipo de datos que desea que contenga la cola . 3 Obtener cola—Crea
la cola y define el tipo de the datos .
Dequeuing Data from the Producer Loop inside the Queue Consumer Loop
Figura 1-5. Dequeuing Data inside the Consumer Loop
Yo
ni.com de la casa de la casa de los
Esperando a que la cola se vacíe
Figura 1-6. Waiting Esperando a que la cola se vacíe
1 While Loop—Espera a que la cola se vacíe antes de detener el VI. Refiera a este loop while
como el loop de espera de la cola. .
2 Obtener estado de cola:devuelve información sobre el estado actual de la such cola, como el
número de elementos data actualmente en la cola.
3 Igual a O?—Conectado a la condición de detención del bucle de espera de cola comprueba si la
cola está vacía..
con Escaneado Camscanner
Lección conmovedor Más allá Flujo de datos 1-10
4 Cola deliberación:libera y borra las referencias a la cola..
5 Controladorde erroressimple: informade cualquier error al final de la ejecución..
2. Ejecuta la VI.
3. Seleccione diferentes velocidades para el bucle de consumidor variable local y observe el gráfico de
bucle de consumidor variable local y los resultados generados en el indicador Muestras faltantes o en
el indicador Muestras duplicadas .
O Asegúrese de que la velocidad de bucle seleccionada es igual que Producer Loop y observe el
gráfico de bucle de productor y el gráfico de bucle de consumidor de variable local. Una condición
de carrera puede ocurrir resultando en puntos perdidos o datos duplicados.
C] Seleccione 2x en el menú desplegable del control Velocidad de bucle y observe el gráfico
Variable Consumer Loop local. Una condición de carrera se produce porque los datos se
consumen más rápido de lo que se producen, lo que permite que la variable local lea el mismo
valor varias veces.
1 ni.com ?
O Seleccione 1/2 como productor en el menú desplegable del control Velocidad de bucle y observe
el gráfico de bucle de consumidor variable local. Una condición de carrera se produce porque los
datos se producen más rápido de lo que se consumen.. Los datos cambian antes de que la
variable local tenga un chance para leerla..
O Seleccione las opciones restantes disponibles en el menú desplegable del control Velocidad
de bucle y observe la recuperación de datos. .
4. Detengan la VI.
La transferencia de datos entre dos bucles paralelos nosincronizados mediante variables
locales provoca una condiciónde carrera. . Esto ocurre cuando el bucle Producer está
con Escaneado Camscanner
Lección conmovedor Más allá Flujo de datos 1-12
escribiendo un valor en una variable local mientras el bucle de consumidor de variable local
lee periódicamente el valor de la misma variable local. Dado que los bucles paralelos no
están sincronizados, el valor se puede escribir antes de que se haya leído realmente o
viceversa, lo que provoca la inanición de datos o el desbordamiento de datos. .
O Seleccione 2x en el menú desplegable from del control Velocidad de bucle y observe el valor
del indicador Muestras en cola . El valor debe seguir siendo cero. Por lo tanto, con las you
colas, no perderá datos si el bucle de consumidor se está ejecutando mucho más rápido que el
productor loop.
O Seleccione 1/2 como Productor en el menú desplegable del control Velocidad de bucle y observe
el valor del indicador Muestras en cola . Los puntos de datos se acumulan en la cola.. Debe
procesar los elementos acumulados en la cola antes de alcanzar el tamaño máximo de la cola
para evitar la pérdida de datos. .
O Seleccione las opciones restantes disponibles en el menú desplegable del control Velocidad de
bucle y observe la sincronización de la transferencia de datos entre el bucle del productor y el
bucle de consumidor mediante colas..
3. Detengan la VI.
YVhen el bucle del productor y el bucle de consumidor de cola se ejecutan a la misma velocidad, el
número de elementos en la cola permanece sin cambios.. Cuando el bucle de consumidor de cola se
ejecuta más lentamente, la cola realiza rápidamente una copia de seguridad y el bucle producer debe
esperar a que Queue Consumer Loop quite los elementos.. Cuando el bucle de consumidor de cola
se ejecuta más rápido, la cola se vacía rápidamente y el bucle de consumidor debe esperar a que
el bucle Producer inserte elementos.. Por lo tanto, las colas sincronizan la transferencia de datos