Sunteți pe pagina 1din 46

N

a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW
TM
Core 2
Ejercicios
Versin del software actual 2012
Edicin de Agosto 2012
Nmero de parte 325293D-0154
LabVIEW Core 2 Manual de Ejercicios
Copyright
19932012 National Instruments. Todos los derechos reservados.
En virtud de las leyes de copyright y de proteccin de los derechos de autor, esta publicacin no puede reproducirse ni transmitirse en ninguna forma, electrnica o mecnica, incluidaslasfotocopias,
grabacin, almacenamiento en un sistema de recuperacin de informacin, o traduccin, en su totalidad o en parte, sin el consentimiento previo por escrito deNational Instruments Corporation.
National Instruments respeta los derechos de propiedad intelectual de otros, y solicitamos a nuestros usuarios que hagan lo mismo. El software de NI est protegido por el derecho de autor y las normas
de la propiedad intelectual. Aunque el software de NI puede utilizarse para reproducir software u otro material perteneciente a otros, el software de NI slo podr utilizarse para reproducir material que
pueda reproducir conforme a los trminos de cualquier licencia aplicable u otra restriccin legal.
Contrato de licencia de usuario final y avisos legales a terceros
El contrato de licencia de usuario final (EULA) y avisos legales a terceros se puede encontrar en las siguientes localidades:
Los avisos se localizan en los directorios <National Instruments>\_Legal Information y <National Instruments>.
Contrato de licencia de usuario final se localiza en el directorio <National Instruments>\Shared\MDF\Legal\License.
Revise <National Instruments>\_Legal Information.txt para ms informacin legal sobre los instaladores desarrollados con productos de NI.
Marcas comerciales
LabVIEW, National Instruments, NI, ni.com, el logotipo corporativo de National Instruments, y el logotipo del aguila son marcas propiedad de National Instruments Corporation. Por favor, consulte
Trademark Information en la pgina ni . com/ t r ademar ks para informacin sobre otras marcas de National Instruments.
Otros nombres de productos y de empresas mencionados aqu son marcas o nombres comerciales de sus respectivas empresas.
Patentes
Para obtener informacin sobre las patentes que protegen los productos o la tecnologa de National Instruments, consulte el apartado: HelpPatents en su software, el archivo pat ent s. t xt en el
soporte del mismo, o el Aviso sobre las Patentes de National Instruments (National Instruments Patent Notice) en ni . com/ pat ent s.
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
Informacin del producto y soporte tcnico mundial
ni . com
Oficinas internacionales
Visite ni . com/ ni gl obal para acceder a las pginas web de las oficinas internacionales, las cuales incluyen informacin actualizada de contacto, telfonos de soporte tcnico, direcciones de email y
eventos actuales.
Oficinas centrales de National Instruments Corporation
11500 North Mopac Expressway Austin, Texas 78759-3504 USA Tel: 512 683 0100
Para realizar comentarios a National Instruments sobre la documentacin, consulte la pgina web de National Instruments Web ni . com/ i nf o e introduzca el cdigo de informacin f eedback.
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 1-1
1
Ms all del flujo de datos
Ejercicios
Ejercicio 1-1 Concepto: Comparacin de colas con variables locales
Ejercicio 1-2 Concepto: Comparando diseos de estructura Event con diseos de sondeo.
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
Leccin 1 Ms all del flujo de datos ni.com | 1-2
Ejercicio 1-1 Concepto: Comparacin de colas con variables locales
Objetivo
En este ejercicio se ejecutar y examinar un VI de patrn de diseo productor/consumidor que transfiere datos generados por el bucle productor a cada bucle
consumidor utilizando variables y colas.
Descripcin
Las secciones siguientes describen cmo el VI Queues vs Local Variables hace lo siguiente.
Creacin de una cola
Colas de datos que genera el bucle productor.
Extraccin de datos en el bucle consumidor.
Espera a que la cola se vace antes de salir del VI.
Utiliza las variables locales para leer y mostrar datos del bucle productor.
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 1-3
1. Abra Queues vs Local Var i abl es. vi en el directorio <Exer ci ses>\ LabVI EWCor e 2\ Queues ver sus Local Var i abl es.
2. Haga doble clic en Queues vs Local Variables.vi en la ventana del Project Explorer para abrir el VI. El panel frontal de este VI aparece en la figura1-1.
Figura 1-1. Panel frontal del VI Queues vs Local Variables
3. Ejecute el VI. El bucle productor genera datos y los transfiere a cada bucle consumidor mediante una variable local y una cola. Observe el comportamiento del
VI cuando los bucles consumidores se ajustan a la misma velocidad que el bucle productor.
4. Detenga el VI.
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
Leccin 1 Ms all del flujo de datos ni.com | 1-4
5. Abra y examine el diagrama de bloques de este VI. Las siguientes secciones describen las partes de este diagrama de bloques con ms detalle.
Figura 1-2. Diagrama de bloques del VI Queues vs Local Variables
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 1-5
Creacin de una cola
Crear la cola con el cdigo que se muestra en la Figura1-3. Este cdigo se encuentra a la izquierda del bucle productor.
Figura 1-3. Creando la cola
Introduccion en cola de datos que genera el bucle productor
Figura 1-4. Poniendo en cola datos que el bucle productor genera
1 Max queue size Establece el nmero mximo de elementos que puede contener la cola.
2 La constante numrica Data Type cableada a la entrada element data type de la funcin Obtain Queue, especifica el tipo de datos que desea que contenga
la cola.
3 Obtain Queue Crea la cola y define el tipo de datos.
1 Enqueue Element Agrega cada elemento de datos, que el VI Generate Sine genera en el bucle productor a la parte posterior de la cola.
1
2
3
1
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
Leccin 1 Ms all del flujo de datos ni.com | 1-6
Extraccin de datos de la cola del bucle productor dentro de la cola del bucle consumidor
Figura 1-5. Extraccin de datos en el bucle consumidor
1 Dequeue Element Elimina un elemento de la parte delantera de la cola y se enva el elemento de datos al waveform chart de la cola del bucle consumidor.
2 Get Queue Status Indica cuntos elementos permanecen en la cola. Para procesar estos datos, debe ejecutar la cola del bucle consumidor ms rpido que
el bucle productor, o seguir procesando una vez que se haya detenido el bucle productor.
1
2
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 1-7
Espera hasta que se vace la cola
Figura 1-6. Espera hasta que se vace la cola
1 While Loop Espera a que la cola se vace antes de salir del VI. Haga referencia a este bucle While como Queue Wait Loop.
2 Get Queue Status Retorna informacin acerca de el estado actual de la cola, como el nmero de datos que contiene actualmente.
3 Equal To 0? Cableada a la condicin de parada del Queue Wait Loop comprueba si la cola est vaca.
4 Release Queue Libera y limpia las referencias de la cola.
5 Simple Error Handler Reporta un error dado al final de la ejecucin.
2
3
1
5
4
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
Leccin 1 Ms all del flujo de datos ni.com | 1-8
Local Variable Consumer Loop
El bucle productor genera datos de onda sinusoidal y los escribe en una variable local, mientras que el bucle Local Variable Consumer Loop lee peridicamente los
datos de la onda sinusoidal desde la misma variable local.
Figura 1-7. Local Variable Consumer Loop
Prueba
Local Variable Consumer Loop
1. Cambie al panel frontal del VI Queues vs Local Variables.
2. Ejecute el VI.
3. Seleccione diferentes velocidades para el bucle Local Variable Consumer Loop y observe el grfico del Local Variable Consumer Loop y los resultados generados
en el indicador Missing Samples o el indicador Duplicated Samples.
Asegrese de que se selecciona Same as Producer Loop en Loop Speed y observe el grfico del bucle productor y el grfico del bucle Local Variable
Consumer Loop. Puede ocurrir una condicin de carrera a raz de puntos omitidos o datos duplicados.
1 Update Counters Actualiza los contadores para muestras duplicadas o perdidas.
1
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 1-9
Seleccione 2x del men desplegable del control Loop Speed y observe el grfico del bucle Local Variable Consumer Loop. Ocurre una condicin de carrera
porque los datos se consumen ms rpidamente de lo que se producen, lo que hace que la variable local lea el mismo valor varias veces.
Seleccione 1/2 as Producer del men desplegable del control Loop Speed y observe el grfico de el bucle Local Variable Consumer Loop. Ocurre una
condicin de carrera porque los datos se producen ms rpidamente de lo que se consumen. Los datos cambian antes de que la variable local pueda leerlos.
Seleccione las opciones restantes del men desplegable del control Loop Time y observe la recuperacin de los datos.
4. Detenga el VI.
La transferencia de datos entre dos bucles paralelos no sincronizados utilizando variables locales produce una condicin de carrera. Esto ocurre cuando el bucle
productor est escribiendo un valor en una variable local, mientras que el bucle Local Variable Consumer Loop lee peridicamente el valor desde la misma
variable local. Como los bucles paralelos no estn sincronizados, el valor puede escribirse antes de que se haya ledo o viceversa, lo que produce la inanicin de
datos o el exceso de datos.
Queue Consumer Loop
1. Ejecute el VI.
2. Seleccione la velocidad del tiempo del bucle Queue Consumer Loop y observe la grfica tipo waveform graph de este bucle y los resultados generados en el
indicador Samples in Queue.
Asegrese de que el Loop Speed seleccionado es Same as Producer; observe el valor del indicador Samples in Queue. El valor debe permanecer en cero.
Por lo tanto, con las colas no perder datos cuando los bucles productor y consumidor se estn ejecutando a la misma velocidad.
Seleccione 2x en el men desplegable del control Loop Speed y observe el valor del indicador Samples in Queue. El valor debe permanecer en cero. Por lo
tanto, con las colas no perder datos cuando el bucle consumidor se est ejecutando ms rpidamente que el productor.
Seleccione 1/2 as Producer en el men desplegable del control Loop Speed y observe el valor del indicador Samples in Queue. Los puntos de datos se
acumularn en la cola. Tendr que procesar los elementos acumulados en la cola antes de llegar al tamao mximo de sta para no perder datos.
Seleccione las opciones restantes del men desplegable del control Loop Time y observe la sincronizacin de la transferencia de datos entre el bucle
productor y el bucle consumidor utilizando colas.
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
Leccin 1 Ms all del flujo de datos ni.com | 1-10
3. Detenga el VI.
Cuando el bucle productor y el bucle Queue Consumer Loop se ejecutan a la misma velocidad, no cambiar el nmero de elementos de la cola. Cuando el bucle
Queue Consumer Loop se ejecuta ms lentamente, la cola se llena rpidamente y el bucle productor debe esperar a que el bucle Queue Consumer Loop elimine
los elementos. Cuando el bucle Queue Consumer Loop se ejecuta ms rpidamente, la cola se vaca rpidamente y el bucle consumidor debe esperar para insertar
nuevos elementos. As, las colas sincronizan la transferencia de datos entre los dos bucles paralelos independientes y se evita la prdida o duplicacin de datos.
4. Cierre el VI. No guarde los cambios.
Fin del ejercicio 1-1
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 1-11
Ejercicio 1-2 Concepto: Comparando diseos de estructura Event con diseos de sondeo.
Objetivo
Convertir una aplicacin basada en sondeo en una aplicacin basada en eventos
Descripcin
En primer lugar se observa el comportamiento de un VI de sondeo.
A continuacin, modifique el VI de sondeo para crear un VI ms eficiente basado en eventos y observe los cambios en el comportamiento.
Por ltimo, aada diferentes tipos de eventos al VI.
La tabla1-1 enumera los eventos que se implementan en el VI UI Event Handler.
Observando el comportamiento del VI basado en sondeo
1. Abrir y ejecutar el VI
Abra el archivo Event s. l vpr oj en el directorio <Exer ci ses>\ LabVI EWCor e 2\ Event s y abra el VI Polling.vi.
Tabla 1-1. Eventos de la interfaz de usuario
Eventos Descripcin de eventos
Stop: Value Change Detener el bucle While.
Time Check: Value Change Muestra una marca de tiempo cuando se hace clic en el botn Time Check.
Pane: Mouse Down Muestra las coordenadas del punto del panel frontal donde se hace clic.
Panel Close? Controla el evento en el que el usuario intenta cerrar el VI en ejecucin haciendo clic en el botn cerrar de la
ventana.
Stop: Mouse Enter Produce un sonido cuando se mueve el cursor sobre el botn Stop.
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
Leccin 1 Ms all del flujo de datos ni.com | 1-12
2. Examinar el rendimiento de un VI de sondeo mediante el administrador de tareas de Windows.
Presione las teclas <Ctrl-Alt-Delete>y seleccione Administrador de tareas desde el men.
Haga clic en la pestaa Performance en la ventana del Administrador de tareas
Ejecute el VI.
Observe lo alto que es el uso del CPU.
Detenga el VI y observe cmo el uso del CPU cae.
3. Abra el diagrama de bloques, habilite execution highlighting, y ejecute de nuevo el VI.
4. Tenga en cuenta la frecuencia en la que el terminal Time Check enva los datos a la estructura Case y con qu frecuencia el bucle While itera.
5. Detenga el VI y desactive execution highlighting
Modificacin del VI de sondeo para utilizar eventos en lugar de sondeo
1. Guarde el VI como UI Event Handl er . vi para poder modificarlo.
Seleccione Open additional copy y aada la copia al proyecto.
2. Cierre el VI Polling.vi
3. Abra el diagrama de bloques de Events.vi y mueva el terminal Stop y el terminal de Time Check fuera del bucle While. Mueva estos terminales hacia el evento
apropiado ms adelante en este ejercicio.
4. Eliminar la estructura Case y limpiar los cables rotos.
5. Coloque una estructura Event dentro del bucle While entre el terminal de iterecin y el terminal condicional.
6. Haga clic con el botn derecho en la estructura Event y seleccione Edit Events Handled by This Case en el men contextual.
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 1-13
7. Configure el evento como en la figura1-8.
Figura 1-8. Configuranto el evento Stop: Value Change Event
8. Haga clic en OK para cerrar el cuadro de dilogo.
1 Haga clic en Stop en el panel de Event Sources.
2 Haga clic en Value Change en el panel de Events.
1
2
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
Leccin 1 Ms all del flujo de datos ni.com | 1-14
9. Ponga una constante True dentro del nuevo evento Stop: Value Change y cableelo al terminal condicional del bucle While como en la figura1-9.
Figura 1-9. Estructura Event con Stop: Value Change Event
Observando el comportamiento de un VI manejado por eventos
1. Ejecute el VI.
2. Tenga en cuenta que el indicador Iteracin no se incrementa.
3. Vaya al diagrama de bloques y habilite Execution Highlighting.
4. Tenga en cuenta que el bucle While se est ejecutando en su primera iteracin. La estructura Event est esperando un evento.
5. Deshabilite execution highlighting y vaya de vuelta al panel frontal.
6. Haga clic en el botn Stop para detener el VI.
7. Tenga en cuenta que el VI detiene la ejecucin, aunque el botn Stop est desconectado.
8. Observe que el botn Stop se mantiene presionado a pesar de que la accin mecnica se ajusta a Latch When Released. La razn de que el botn se mantenga
presionado es porque el VI dej de funcionar despus de hacer clic en el botn.
1 NewVal event data Redimensiona la lista de elementos de datos de eventos para que slo una muestra aparezca. Haga clic en el elemento y seleccione
NewVal.
1
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 1-15
9. Reinicie el botn Stop haciendo clic en l nuevamente.
10. Arrastre el terminal del botn Stop dentro del evento Stop: Value Change event, como en la figura1-10.
Figura 1-10. Evento Stop: Value Change con un botn terminal Stop
11. Ejecute el VI y haga clic en Stop nuevamente.
12. Tenga en cuenta que en este momento el VI se detiene y el botn se reinicia.
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
Leccin 1 Ms all del flujo de datos ni.com | 1-16
Programando el evento Time Check: Value Change
1. Agregar un nuevo caso a la estructura de eventos y crear un evento Check Time: Value Change, como en la figura1-11.
Haga clic con el botn derecho en la estructura Event y seleccione Add Event Case.
Figura 1-11. Estructura Event con evento Time Check: Value Change
2. Ejecute el VI.
3. Haga clic en el botn Time Check para ver el tiempo actual en el indicador current time.
4. Abra el Administrador de tareas de windows y observe que el uso de CPU se ha reducido al utilizar eventos en lugar de sondeo.
5. Detenga el VI.
1 En la ventana Edit Events, seleccione Time Check en el panel Event Sources y seleccione Value Change en el panel Events.
2 Mueva el terminal de Time Check fuera del bucle While en Time Check: Value Change evento.
3 Get Date/Time In Seconds Crea una estampa de tiempo en memoria.
4 Indicator Muestra la salida current time (tiempo actual) de la funcin Get Date/Time In Seconds.
2
3
1
4
3
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 1-17
Adicin de ms eventos Notifier para el VI
1. Aadir un nuevo caso a la estructura de eventos Mouse Down como se muestra en la figura1-12.
Figura 1-12. Estructura Event con el evento Pane: Mouse Down
2. Ejecute el VI.
3. Haga clic en diferentes partes del panel frontal.
Observe que el indicador Coords muestra las coordenadas de cada punto en el que se hace clic.
Observe que los otros eventos siguen comportndose como antes.
4. Detenga el VI.
1 En la ventana Edit Events, seleccione PanesPane en el panel Event Sources y seleccione MouseMouse Down en el panel Events.
2 Coords event data Haga clic en el event data node y seleccione CoordsAll Elements.
3 Coords indicator Haga clic con el botn derecho en la salida del elemento de datos del evento Coords y seleccione CreateIndicator en el men contextual.
1
3
2
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
Leccin 1 Ms all del flujo de datos ni.com | 1-18
Agregar eventos de filtro para el VI
1. Aadir un nuevo caso a la estructura de eventos y crear un evento Panel Close? como se muestra en la figura1-13.
Figura 1-13. Estructura Event con el evento Panel Close?
2. Guarde y cierre el VI.
3. Haga clic en la X en la parte superior derecha de la ventana del panel frontal.
4. Note que haciendo clic en el botn No, se cancela el evento y se retorna al VI.
5. Haga clic en el botn Yes para detener y cerrar el VI.
6. Detenga el VI si es necesario.
1 En la ventana Edit Events, seleccione <This VI> en el panel Event Sources y seleccione Panel Close? en el panel Events.
2 Nodo event data Haga clic en el nodo Event Data y seleccione Source en el men.
3 Funciones Two Button Dialog y Not Cablee la salida T button? a la funcin Not y cablee la funcin Not al event filter node Discard?
4 Constante de cadena de caracteres Cablee Are you sure you want to close the window? a la entrada de message.
5 Constantes de cadenas de caracteres Yes y No Cablee Yes a la entrada de T button name (OK) y cablee No a la entrada F button name (Cancel).
1
3
2
4
5
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 1-19
Reto
1. Si usted tiene una tarjeta de sonido, aadir un evento que produce un sonido cuando el cursor est sobre el botn Stop.
Consejo Utilice Quick Drop para encontrar Beep. vi .
Fin del ejercicio 1-2
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 3-1
3
Control de la interfaz de usuario
Ejercicios
Ejercicio 3-1 Visualizacin de temperatura y lmites
Ejercicio 3-2 Personalizacin de la Ventana del VI
Ejercicio 3-3 Uso de subVIs
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
Leccin 3 Control de la interfaz de usuario ni.com | 3-2
Ejercicio 3-1 Visualizacin de temperatura y lmites
Objetivo
Use Nodos de Propiedad para cambiar las propiedades de los objetos del panel frontal programticamente.
Escenario
Complete un VI que registre la temperatura en un grfico tipo waveform chart. Durante la ejecucin, el VI realiza las siguientes tareas:
Desactivar y activar los controles en el inicio y la finalizacin de la ejecucin.
Configurar el valor x del grfico tipo chart con el valor que define el usuario.
Borrar el grfico tipo waveform chart para que inicialmente no contenga datos.
Reto: Cambiar el color de una curva si los datos superan cierto valor.
Diseo
Se debe construir este VI en cuatro etapas, incluyendo un desafo.
Parte 1 Deshabilitar controles
Parte 2 Habilitar controles
Parte 3 Limpiar el grfico
Parte 4 Desafo: Cambiar el color del contenido del grfico
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 3-3
Implementacin
Parte 1 Deshabilitar controles
1. Abra el VI Temper at ur e Li mi t . vi situado en el directorio <Exer ci ses>\ LabVI EWCor e 2\ Temp Li mi t - Ct l Pr ops.
Figura 3-1. Panel frontal de Temperature Limit
2. Ejecute el VI y luego haga clic en el botn Start Acquisition.
Tenga en cuenta que mientras que el VI se ejecuta, los controles siguen habilitados. Se pueden cambiar los valores de los controles, mientras que el VI se
ejecuta.
Haga clic en el botn Stop.
3. Modificar el diagrama de bloques como se muestra en la figura3-2 para desactivar los controles cuando el VI se ejecuta.
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
Leccin 3 Control de la interfaz de usuario ni.com | 3-4
Figura 3-2. VI Temperature Limit Deshabilitar controles desde el diagrama de bloques
1 Nodo de propiedad Delta t (ms) Haga clic con el botn derecho en el control Delta t (ms) y seleccione CreateProperty NodeDisabled. Haga clic con el
botn derecho en el nodo de propiedad y seleccione Change All to Write.
2 Nodo de propiedad High Limit En el caso Timeout del estructura event, haga clic con el botn derecho en el control High Limit y seleccione CreateProperty
NodeDisabled.
Coloque el nodo de propiedad fuera del bucle While, para que pueda moverse dentro de Start: Value Change.
Haga clic con el botn derecho en el nodo de propiedad y seleccione Change All to Write.
3 Nodo de propiedad Temperature En el caso Timeout de la estructura event, haga clic con el botn derecho en el indicador Temperature y seleccione Create
Property NodeX Scale Offset and MultiplierMultiplier.
Coloque el nodo de propiedad fuera del bucle While, para que pueda moverse dentro de Start: Value Change.
Haga clic con el botn derecho en el nodo de propiedad y seleccione Change All to Write.
Mueva el nodo de propiedad High Limit dentro de Start: Value Change.
4 To Double Precision Float Convierte la entrada I32 del control Delta t (ms) a un nmero de precisin doble.
5 Haga clic con el botn derecho en el nodo de propiedad de Delta t (ms) y seleccione CreateConstant, configrelo a Disabled and Grayed Out.
1
4
3 2
5
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 3-5
Prueba
1. Ejecute el VI y luego haga clic en el botn Start Acquisition. Los controles Delta t (ms) y High Limit estn dehabilitados y atenuados.
2. Detenga el VI.
3. Ejecute nuevamente el VI, haga clic en el botn Start Acquisition y note que los controles an ests dehabilitados.
Parte 2 Habilitar controles
Se quieren deshabilitar los controles mientras el VI se ejecuta, sin embargo, se desea habilitarlos de nuevo la prxima vez que se ejecute el VI.
1. Modificar el diagrama de bloques como se muestra en la figura3-3 para habilitar los controles cuando el VI se ejecuta.
Figura 3-3. VI Temperature Limit Habilitar los controles desde el diagrama de bloques
1 Cree una copia de los nodos de propiedad de Delta t (ms) y High Limit y arrstrelos a la izquierda, fuera del bucle While.
2 Cree una constante para habilitar los controles.
2
1
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
Leccin 3 Control de la interfaz de usuario ni.com | 3-6
Prueba
1. Ejecute el VI y observe que los controles se activan de nuevo antes de hacer clic en el botn Start Acquisition.
2. Establezca diferentes valores para los controles y haga clic en el botn Start Acquisition. Tenga en cuenta que los datos que se muestran en el grfico comienzan
a partir de donde se detuvo la ltima vez que se ejecut el VI.
Parte 3 Limpiar el grfico
Se desea borrar el contenido del grfico cada vez que ejecute el VI.
1. Modificar el diagrama de bloques como se muestra en la figura3-4 para borrar los datos antiguos del grfico cada vez que ejecute el VI.
Figura 3-4. VI Temperature Limit Eliminar los datos del grfico desde el diagrama de bloques
1 Nodo de propiedad Temperature Crear una copia del nodo de propiedad Temperature y arrastrarlo a la izquierda del bucle While.
Haga clic en el nuevo nodo de propiedad y seleccione History Data.
2 Haga clic con el botn derecho en la entrada History y seleccione CreateConstant. Esto crea un cluster con valores 0 para inicializar el grfico de temperatura
a 0 cuando el VI comienza a ejecutarse.
1
2
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 3-7
Prueba
1. Ejecute el VI, haga clic en el botn Start Acquisition y deje el VI ejecutarse unos segundos, luego haga clic en el botn Stop.
2. Ejecute el VI nuevamente. Observe que el grfico est limpio antes de hacer clic en el botn Start Acquisition y que se escriben nuevos datos en este.
Parte 4 Desafo: Cambiar el color del contenido del grfico
Modificar el VI para que la trama de datos en el grfico cambie de color cuando se excede el lmite mximo.
Fin del ejercicio 3-1
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
Leccin 3 Control de la interfaz de usuario ni.com | 3-8
Ejercicio 3-2 Personalizacin de la Ventana del VI
Objetivo
Modificar los atributos de un VI usando Nodos de Propiedad y Nodos de Invocacin.
Escenario
Puede configurar las propiedades de aspecto de un VI estticamente usando la pgina de propiedades del VI. Sin embargo, las interfaces de usuario robustas a menudo
deben modificar el aspecto de un panel frontal mientras se ejecuta el programa.
Modificar el VI Temperature Limit para presentar el siguiente aspecto y comportamiento cuando el VI se ejecuta:
Esconder la barra de herramientas
Esconder la barra de mens
Esconder las barra de desplazamiento
Moverse al centro de la pantalla
Escribir datos a un archivo Excel
Diseo
Propiedades
Use las siguientes propiedades y mtodos de la clase VI:
ShowMenuBar Cuando esta propiedad tiene un valor False, la barra de mens no se muestra en el VI.
Figura 3-5. Barra de mens del VI
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 3-9
Tool Bar Visible Cuando esta propiedad tiene un valor False, la barra de herramientas no se muestra en el VI.
Figura 3-6. VI barra de herramientas
Mtodos
A diferencia de las propiedades, un mtodo tiene un efecto cada vez que lo llame. Por lo tanto, debe llamar a mtodos slo cuando desee realizar una accin. Por
ejemplo, si llama al mtodo Fp.Center usando cada iteracin de un bucle, el VI se centra continuamente, impidiendo que lo mueva el usuario. Puede usar una estructura
Case para controlar la llamada al mtodo en una determinada iteracin de un bucle. Use el siguiente mtodo de la clase VI:
Center: cada vez que llame a este mtodo, el VI se mueve al centro de la pantalla.
Consejo Use la ventana Context Help para ver descripciones de cada propiedad y mtodo.
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
Leccin 3 Control de la interfaz de usuario ni.com | 3-10
Despus de implementar los cambios en el VI, al ejecutar el VI Temperature Limit, este debe moverse hacia el centro de la pantalla y tener un aspecto similar a la
figura3-7.
Figura 3-7. Panel frontal del VI Temperature Limit con apariencia personalizada
Implementacin
Parte 1 Configurar las propiedades de apariencia
1. Abra el VI Temperature Limit.vi situado en el directorio <Exer ci ses>\ LabVI EWCor e 2\ Temp Li mi t - Met hods.
2. Modifique el diagrama de bloques como en la figura3-8 para ocultar las barras de desplazamiento, la barra de mens y la de herramientas y centrar el panel frontal
cuando el VI se encuentre en ejecucin.
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 3-11
Figura 3-8. VI Temperature Limit Mtodos del diagrama de bloques
Nota Note que las propiedades de visibilidad de la barra de desplazamiento se aplican a la clase Pane, no a la clase del VI. El panel frontal se puede
dividir en varios paneles utilizando la barra de divisin horizontal o barra de divisin vertical. Cada panel puede tener sus propias barras de desplazamiento.
1 Property Node Haga clic con el botn derecho en el nodo de propiedad y seleccione Link toPanePane.
Haga clic con el botn derecho y seleccione Change All to Write.
Expanda el nodo para mostrar dos propiedades y configrelas a Horizontal Scroll Bar Visibility y Vertical Scrollbar Visibility.
2 Constante Off While Running Haga clic con el botn derecho en una de las entradas del nodo de propiedad Pane y seleccione CreateConstant.
3 Nodo de propiedad Haga clic con el botn derecho en el nodo de propiedad y seleccione Select ClassVI ServerVIVI.
Haga clic con el botn derecho y seleccione Change All to Write.
Expanda el Nodo de Propiedad para mostrar dos propiedades.
Haga clic en la propiedad superior y seleccione Front Panel WindowShow Menu Bar.
Haga clic en la propiedad inferior y seleccione Tool BarVisible.
Cuando se conecta una constante False para cada una de las propiedades, la barra de mens y barra de herramientas se ocultarn cuando el VI se ejecuta.
4 Nodo de Invocacin Haga clic en el mtodo y seleccione Front PanelCenter. Usted debe cablear la referencia del nodo de propiedad antes de configurar
este mtodo.
1 2 3 4
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
Leccin 3 Control de la interfaz de usuario ni.com | 3-12
3. Guarde el VI.
Prueba
1. Ejecute el VI.
2. Verifique que las barras de desplazamiento, barra de herramientas y barra de mens no se muestran, y que la ventana del panel frontal est centrada en la pantalla,
cuando el VI se encuentra en ejecucin.
3. Detenga el VI.
Parte 2 Exportar datos
Agregue un mtodo para exportar datos del grfico temperature a Excel.
1. Modificar el diagrama de bloques como se muestra en la figura3-9 para exportar los datos mostrados en el grfico Temperature a Excel.
Figura 3-9. VI Temperature Limit Diagrama de bloques para exportar a excel
2. Guarde el VI.
1 Nodo de Invocacin Temperature Haga clic con el botn derecho en el indicador Temperature y seleccione CreateInvoke NodeExport Data to Excel.
1
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 3-13
Prueba
1. Ejecute el VI.
2. Haga clic en Stop. Para que el mtodo de exportar los datos a excel cree un archivo temportal de Excel con los datos del grfico con la forma de onda. Vea los
datos en el archivo de Excel.
3. Guarde y cierre el VI.
Fin del ejercicio 3-2
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
Leccin 3 Control de la interfaz de usuario ni.com | 3-14
Ejercicio 3-3 Uso de subVIs
Objetivo
Use referencias de control para crear un subVI que modifique propiedades de grficos tipo graph o chart.
Escenario
Crear subVIs para el VI Temperature Limit que le permitan manejar algunas de las funciones que ha habilitado en el ejercicio3-1 y en el ejercicio3-2.
Implementacin
1. Abra el VI Temperature Limit.vi desde el proyecto Temperature Limit situado en el directorio <Exer ci ses>\ LabVI EWCor e 2\ Temp Li mi t - SubVI s.
2. El diagrama de bloques, como el de la figura3-10 incluye cdigo para:
Ocultar las barras de desplazamiento mientras se ejecuta
Configurar propiedades de dilogos
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 3-15
Habilitar nuevamente los controles cuando se detiene el VI
Figura 3-10. Temperature Limit SubVI
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
Leccin 3 Control de la interfaz de usuario ni.com | 3-16
En este ejercicio, se modificar el diagrama de bloques para utilizar subVIs y utilizar referencias de control. La figura3-11 describe los subVIs que crear y utilizar
para hacer el VI Temperature Limit ms modular y escalable.
Figura 3-11. VI Temperature Limit Diagrama de bloques
3. Crear el subVI Set Scroll Bar State.
En el VI Temperature Limit, resalte el cdigo mostrado en la figura3-12 y seleccione EditCreate SubVI.
Figura 3-12. Destacando el cdigo Scroll Bar State
4. Abra el subVI.
1 SubVI Set Scroll Bar State Oculta las barras de desplazamiento cuando se ejecuta el VI.
2 SubVI Set Dialog Properties Oculta la barra de herramientas y de men cuando se ejecuta el VI.
3 VI Set Enable State on Multiple Controls Configura todos los controles en el array de entrada con el valor del estado Enable.
1 2
3
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 3-17
Haga doble clic en el icono del subVI en el diagrama de bloques para abrir y modificar el panel frontal del subVI que se acaba de crear, como en la figura3-13.
Figura 3-13. Panel frontal del subVI Set Scroll Bar State
1 Indicador de salida Pane Ref cree una copia del control Pane Ref. Haga clic con el botn derecho en la copia y seleccione Change to Indicator y cambie la
etiqueta.
2 Asigne la salida del indicador Pane Ref a la salida del terminal superior derecho del panel de conectores. Las conexiones para los otros controles e indicadores
ya deben estar creadas.
1
2
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
Leccin 3 Control de la interfaz de usuario ni.com | 3-18
5. Modifique el diagrama de bloques del subVI Set Scroll Bar State como se muestra en la figura3-14.
Figura 3-14. Diagrama de bloques del subVI Set Scroll Bar State
6. Cablee la referencia y los cables de error a travs del caso error en la estructura.
7. Cree un icono significativo para el subVI y gurdelo como Set Scr ol l Bar St at e. vi en el directorio <Exer ci ses>\ LabVI EWCor e 2\
Temp Li mi t - SubVI .
8. Cree el subVI Set Dialog Properties.
9. En el VI Temperature Limit, resalte el cdigo mostrado en la figura3-15 y seleccione EditCreate SubVI.
Figura 3-15. Destacando el cdigo Set Dialog Properties
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 3-19
10. Abra el subVI que acaba de crear y modifique el panel frontal como se muestra en la figura3-16.
Figura 3-16. Panel frontal del subVI Set Dialog Properties
1 Indicador de salida VI Ref Cree una copia del control VI Ref. Haga clic con el botn derecho en la copia y seleccione Change to Indicator y cambie la
etiqueta.
2 Asigne la salida del indicador VI Ref a la salida del terminal superior derecha del panel de conectores. Las conexiones para los otros controles e indicadores
ya deben estar creadas.
1
2
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
Leccin 3 Control de la interfaz de usuario ni.com | 3-20
Figura 3-17. Diagrama de bloques del subVI Set Dialog Properties
11. Cablee la referencia y los cables de error a travs del caso error en la estructura.
12. Cree un icono significativo para el subVI y gurdelo como Set Di al og Pr oper t i es. vi en el directorio <Exer ci ses>\ LabVI EWCor e 2\
Temp Li mi t - SubVI .
13. Agregue el VI Set Enable State on Multiple Controls al diagrama de bloques del VI Temperature Limit.
El VI Set Enable State on Multiple Controls se proporciona en el proyecto de Temperature Limit.
1 Funcin Not Invertir la lgica del botn Enable Dialog Properties cablendolo al nodo de propiedad para mostrar la barra de mens y barra de herramientas
1
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n
LabVIEW Core 2 Manual de Ejercicios National Instruments | 3-21
Arrastre dos copias del VI desde la ventana Project Explorer al diagrama de bloques de Temperature Limit y complete el diagrama de bloques como se
muestra en la Figura3-18.
Figura 3-18. Diagrama de bloques completo de Temperature Limit
Prueba
1. Ejecute el VI Temperature Limit y verifique que se comporta segn lo esperado.
2. Guarde y cierre todos los VIs y el proyecto Temperature Limit .
Fin del ejercicio 3-3
1 VI Server References Cree referencias para el control Delta t (ms), el control High Limit, y el control botn Start.
Haga clic con el botn derecho en cada control y seleccione CreateReference.
El control High Limit est en el evento Timeout.
2 Build Array Expanda el nodo para que acepten tres entradas.
3 SubVI Set Enable State on Multiple Controls Cree una copia del subVI y la constante Disabled State y coloquelos en el Start: Value Change.
2
1
3
N
a
t
i
o
n
a
l

I
n
s
t
r
u
m
e
n
t
s


N
o
t

f
o
r

D
i
s
t
r
i
b
u
t
i
o
n

S-ar putea să vă placă și