TM
LabVIEW Core 2 Ejercicios
Versión del software actual 2012 Edición de Agosto 2012 Número de parte 325293D-0154
LabVIEW Core 2 Manual de Ejercicios Copyright © 1993–2012 National Instruments. Todos los derechos reservados. En virtud de las leyes de copyright y de protección de los derechos derechos de autor, esta publicación publicación no puede reproducirse ni transmitirse en ninguna forma, electrónica electrónica o mecánica, mecánica, incluidas las fotocopias, grabación, almacenamiento almacenamiento en un sistema de recuperación de información, o traducción, en su totalidad o en parte, sin el consentimiento previo por escrito de National Instruments Corporation. National Instruments Instruments respeta los los derechos de propiedad intelectual intelectual de otros, y solicitamos a nuestros usuarios usuarios que hagan lo mismo. El software de NI está protegido por el derecho de autor y las 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 sólo podrá utilizarse para reproducir material que pueda reproducir conforme a los términos de cualquier cualquier licencia aplicable aplicable u otra restricción legal. legal.
Contrato de licencia de usuario final y avisos legales a terceros El contrato de licencia de usuario final (‘EULA’) (‘EULA’) y avisos legales a terceros se puede encontrar en las siguientes localidades: • Los avisos avisos se se localiz localizan an en los los direct directorios orios \_Legal Information y . Instruments>\Shared\MDF\Legal\License DF\Legal\License . • Contrato de licencia licencia de usuario usuario final se localiza localiza en el directorio \Shared\M • Revise \_Legal Information.txt para más información legal sobre los instaladores desarrollados con productos de NI.
Marcas comerciales LabVIEW, 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 página ni . c om/ t r ademar ks para información 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 atent s. t xt en el Para obtener información sobre las patentes que protegen los productos o la tecnología de National Instruments, consulte el apartado: Help»Patents en su software, el archivo patent National Instruments Instruments Patent Notice ) en ni . com/ pat ent s . soporte del mismo, o el Aviso sobre las Patentes de National Instruments ( National
Información del producto y soporte técnico mundial ni . com
Oficinas internacionales Visite ni . com co m/ ni gl obal para acceder a las páginas web de las oficinas internacionales, las cuales incluyen información actualizada de contacto, teléfonos de soporte técnico, direcciones de email y eventos actuales.
Oficinas centrales de National Instruments Corporation 11500 1500 Nort North h Mopa Mopacc Expr Expres essw sway ay
Aust Austin in,, Tex Texas as 7875 787599-35 3504 04
USA USA Tel: el: 512 512 683 683 0100 0100
Para realizar comentarios a National Instruments sobre la documentación, consulte la página web de National Instruments Web ni . com/ i nf o e introduzca el código de información f eedback .
Más allá del flujo de datos
1
Ejercicios Ejercicio 1-1
Concepto: Comparación de colas con variables locales
Ejercicio 1-2
Concepto: Comparando diseños de estructura Event con diseños de sondeo.
LabVIEW Core 2 Manual de Ejercicios
© National Instruments
|
1-1
Lección 1
Más allá del flujo de datos
Ejercicio 1-1
ni.com
Concepto: Comparación de colas con variables locales
Objetivo En este ejercicio se ejecutará y examinará un VI de patrón de diseño productor/consumidor que transfiere datos generados por el bucle productor a cada bucle consumidor utilizando variables y colas.
Descripción Las secciones siguientes describen cómo el VI Queues vs Local Variables hace lo siguiente. •
Creación de una cola
•
Colas de datos que genera el bucle productor.
•
Extracción de datos en el bucle consumidor.
•
Espera a que la cola se vacíe antes de salir del VI.
•
Utiliza las variables locales para leer y mostrar datos del bucle productor.
|
1-2
1. Abra Queues vs Local Var i abl es. vi en el directorio \ LabVI EW Cor 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 figura 1-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.
LabVIEW Core 2 Manual de Ejercicios
© National Instruments
| 1-3
Lección 1
Más allá del flujo de datos
ni.com
5. Abra y examine el diagrama de bloques de este VI. Las siguientes secciones describen las partes de este diagrama de bloques con más detalle.
Figura 1-2. Diagrama de bloques del VI Queues vs Local Variables
|
1-4
Creación de una cola Crear la cola con el código que se muestra en la Figura 1-3. Este código se encuentra a la izquierda del bucle productor.
Figura 1-3. Creando la cola
1 2 3
1
Max queue size — Establece el número máximo de elementos que puede contener la cola.
2
La constante numérica Data Type — cableada a la entrada element data type de la función 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.
Introduccion en cola de datos que genera el bucle productor Figura 1-4. Poniendo en cola datos que el bucle productor genera
1
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.
LabVIEW Core 2 Manual de Ejercicios
© National Instruments
| 1-5
Lección 1
Más allá del flujo de datos
ni.com
|
1-6
Extracción de datos de la cola del bucle productor dentro de la cola del bucle consumidor Figura 1-5. Extracción de datos en el bucle consumidor
1
2
1
Dequeue Element — Elimina un elemento de la parte delantera de la cola y se envía el elemento de datos al “waveform chart” de la cola del bucle consumidor.
2
Get Queue Status — Indica cuántos elementos permanecen en la cola. Para procesar estos datos, debe ejecutar la cola del bucle consumidor más rápido que el bucle productor, o seguir procesando una vez que se haya detenido el bucle productor.
Espera hasta que se vacíe la cola Figura 1-6. Espera hasta que se vacíe la cola
1 5
2 4 3
1
While Loop — Espera a que la cola se vacíe antes de salir del VI. Haga referencia a este bucle While como Queue Wait Loop.
2
Get Queue Status — Retorna información acerca de el estado actual de la cola, como el número de datos que contiene actualmente.
3
Equal To 0? — Cableada a la condición de parada del Queue Wait Loop comprueba si la cola está vacía.
4
Release Queue — Libera y limpia las referencias de la cola.
5
Simple Error Handler — Reporta un error dado al final de la ejecución.
LabVIEW Core 2 Manual de Ejercicios
© National Instruments
| 1-7
Lección 1
Más 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 periódicamente los datos de la onda sinusoidal desde la misma variable local.
Figura 1-7. Local Variable Consumer Loop
1
1
Update Counters — Actualiza los contadores para muestras duplicadas o perdidas.
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 gráfico del Local Variable Consumer Loop y los resultados generados en el indicador Missing Samples o el indicador Duplicated Samples.
Asegúrese de que se selecciona Same as Producer Loop en Loop Speed y observe el gráfico del bucle productor y el gráfico del bucle Local Variable Consumer Loop. Puede ocurrir una condición de carrera a raíz de puntos omitidos o datos duplicados.
Lección 1
Más 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 número de elementos de la cola. Cuando el bucle Queue Consumer Loop se ejecuta más lentamente, la cola se llena rápidamente y el bucle productor debe esperar a que el bucle Queue Consumer Loop elimine los elementos. Cuando el bucle Queue Consumer Loop se ejecuta más rápidamente, la cola se vacía rápidamente 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 pérdida o duplicación de datos. 4. Cierre el VI. No guarde los cambios.
Fin del ejercicio 1-1
Ejercicio 1-2
Concepto: Comparando diseños de estructura Event con diseños de sondeo.
Objetivo Convertir una aplicación basada en sondeo en una aplicación basada en eventos
Descripción En primer lugar se observa el comportamiento de un VI de sondeo. A continuación, modifique el VI de sondeo para crear un VI más eficiente basado en eventos y observe los cambios en el comportamiento. Por último, añada diferentes tipos de eventos al VI. La tabla 1-1 enumera los eventos que se implementan en el VI UI Event Handler.
Tabla 1-1. Eventos de la interfaz de usuario Eventos
Descripción de eventos
“Stop”: Value Change
Detener el bucle While.
“Time Check”: Value Change
Muestra una marca de tiempo cuando se hace clic en el botón 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 ejecución haciendo clic en el botón cerrar de la ventana.
“Stop”: Mouse Enter
Produce un sonido cuando se mueve el cursor sobre el botón Stop.
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 \ LabVI EW Cor e 2\ Event s y abra el VI Polling.vi.
LabVIEW Core 2 Manual de Ejercicios
© National Instruments
|
1-11
Lección 1
Más 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 y seleccione Administrador de tareas desde el menú.
Haga clic en la pestaña 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 cómo 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 envía los datos a la estructura Case y con qué frecuencia el bucle While itera. 5. Detenga el VI y desactive “execution highlighting”
Modificación 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 añada 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 más 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 itereción y el terminal condicional. 6. Haga clic con el botón derecho en la estructura Event y seleccione Edit Events Handled by This Case en el menú contextual.
7. Configure el evento como en la figura 1-8.
Figura 1-8. Configuranto el evento “Stop”: Value Change Event
2
1
1
Haga clic en Stop en el panel de Event Sources.
2
Haga clic en Value Change en el panel de Events.
8. Haga clic en OK para cerrar el cuadro de diálogo.
LabVIEW Core 2 Manual de Ejercicios
© National Instruments
|
1-13
Lección 1
Más 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 figura 1-9.
Figura 1-9. Estructura Event con “Stop”: Value Change Event
1
1
NewVal event data — Redimensiona la lista de elementos de datos de eventos para que sólo una muestra aparezca. Haga clic en el elemento y seleccione NewVal.
Observando el comportamiento de un VI manejado por eventos 1. Ejecute el VI. 2. Tenga en cuenta que el indicador Iteración 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 iteración. La estructura Event está esperando un evento. 5. Deshabilite “execution highlighting” y vaya de vuelta al panel frontal. 6. Haga clic en el botón Stop para detener el VI. 7. Tenga en cuenta que el VI detiene la ejecución, aunque el botón Stop esté desconectado. 8. Observe que el botón Stop se mantiene presionado a pesar de que la acción mecánica se ajusta a Latch When Released. La razón de que el botón se mantenga presionado es porque el VI dejó de funcionar después de hacer clic en el botón.
9. Reinicie el botón Stop haciendo clic en él nuevamente. 10. Arrastre el terminal del botón Stop dentro del evento “Stop”: Value Change event, como en la figura 1-10.
Figura 1-10. “Evento Stop”: Value Change con un botón 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 botón se reinicia.
LabVIEW Core 2 Manual de Ejercicios
© National Instruments
|
1-15
Lección 1
Más allá del flujo de datos
ni.com
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 figura 1-11.
Haga clic con el botón derecho en la estructura Event y seleccione Add Event Case.
Figura 1-11. Estructura Event con evento “Time Check”: Value Change
1 2 3 3
4
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 función Get Date/Time In Seconds.
2. Ejecute el VI. 3. Haga clic en el botón 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-16
Adición de más eventos Notifier para el VI 1. Añadir un nuevo caso a la estructura de eventos Mouse Down como se muestra en la figura 1-12.
Figura 1-12. Estructura Event con el evento “Pane”: Mouse Down
1
2 3
1
En la ventana Edit Events, seleccione Panes»Pane en el panel Event Sources y seleccione Mouse»Mouse Down en el panel Events.
2
Coords event data — Haga clic en el event data node y seleccione Coords»All Elements.
3
Coords indicator — Haga clic con el botón derecho en la salida del elemento de datos del evento Coords y seleccione Create»Indicator en el menú contextual.
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 comportándose como antes.
4. Detenga el VI.
LabVIEW Core 2 Manual de Ejercicios
© National Instruments
|
1-17
Lección 1
Más allá del flujo de datos
ni.com
|
1-18
Agregar eventos de filtro para el VI 1. Añadir un nuevo caso a la estructura de eventos y crear un evento Panel Close? como se muestra en la figura 1-13.
Figura 1-13. Estructura Event con el evento “Panel Close?”
1 4
5
3
2
1
En la ventana Edit Events, seleccione 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 función Not y cablee la función 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”).
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 botón No, se cancela el evento y se retorna al VI. 5. Haga clic en el botón Yes para detener y cerrar el VI. 6. Detenga el VI si es necesario.
Reto 1. Si usted tiene una tarjeta de sonido, añadir un evento que produce un sonido cuando el cursor está sobre el botón Stop.
Consejo
Utilice Quick Drop para encontrar Beep. vi .
Fin del ejercicio 1-2
LabVIEW Core 2 Manual de Ejercicios
© National Instruments
|
1-19
Control de la interfaz de usuario
3
Ejercicios Ejercicio 3-1
Visualización de temperatura y límites
Ejercicio 3-2
Personalización de la Ventana del VI
Ejercicio 3-3
Uso de subVIs
LabVIEW Core 2 Manual de Ejercicios
© National Instruments
|
3-1
Lección 3
Control de la interfaz de usuario
Ejercicio 3-1
Visualización de temperatura y límites
Objetivo Use Nodos de Propiedad para cambiar las propiedades de los objetos del panel frontal programáticamente.
Escenario Complete un VI que registre la temperatura en un gráfico tipo “waveform chart”. Durante la ejecución, el VI realiza las siguientes tareas: •
Desactivar y activar los controles en el inicio y la finalización de la ejecución.
•
Configurar el valor x del gráfico tipo “chart” con el valor que define el usuario.
•
Borrar el gráfico tipo “waveform chart” para que inicialmente no contenga datos.
•
Reto: Cambiar el color de una curva si los datos superan cierto valor.
Diseño Se debe construir este VI en cuatro etapas, incluyendo un desafío. Parte 1 — Deshabilitar controles Parte 2 — Habilitar controles Parte 3 — Limpiar el gráfico Parte 4 — Desafío: Cambiar el color del contenido del gráfico
ni.com
|
3-2
Implementación Parte 1 — Deshabilitar controles 1. Abra el VI Temper at ur e Li mi t . vi situado en el directorio \ LabVI EW Cor 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 botón 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 botón Stop.
3. Modificar el diagrama de bloques como se muestra en la figura 3-2 para desactivar los controles cuando el VI se ejecuta.
LabVIEW Core 2 Manual de Ejercicios
© National Instruments
| 3-3
Lección 3
Control de la interfaz de usuario
ni.com
|
3-4
Figura 3-2. VI Temperature Limit — Deshabilitar controles desde el diagrama de bloques 4
1
2
3
5
1
Nodo de propiedad Delta t (ms) — Haga clic con el botón derecho en el control Delta t (ms) y seleccione Create»Property Node»Disabled. Haga clic con el botón 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 botón derecho en el control High Limit y seleccione Create»Property Node»Disabled.
3
Coloque el nodo de propiedad fuera del bucle While, para que pueda moverse dentro de “Start”: Value Change.
Haga clic con el botón derecho en el nodo de propiedad y seleccione Change All to Write.
Nodo de propiedad Temperature — En el caso Timeout de la estructura event, haga clic con el botón derecho en el indicador Temperature y seleccione Create» Property Node»X Scale» Offset and Multiplier»Multiplier.
Coloque el nodo de propiedad fuera del bucle While, para que pueda moverse dentro de “Start”: Value Change.
Haga clic con el botón 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 número de precisión doble.
5
Haga clic con el botón derecho en el nodo de propiedad de Delta t (ms) y seleccione Create»Constant, configúrelo a Disabled and Grayed Out.
Prueba 1. Ejecute el VI y luego haga clic en el botón Start Acquisition . Los controles Delta t (ms) y High Limit están dehabilitados y atenuados. 2. Detenga el VI. 3. Ejecute nuevamente el VI, haga clic en el botón Start Acquisition y note que los controles aún estás dehabilitados.
Parte 2 — Habilitar controles Se quieren deshabilitar los controles mientras el VI se ejecuta, sin embargo, se desea habilitarlos de nuevo la próxima vez que se ejecute el VI. 1. Modificar el diagrama de bloques como se muestra en la figura 3-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
2
1
Cree una copia de los nodos de propiedad de Delta t (ms) y High Limit y arrástrelos a la izquierda, fuera del bucle While.
2
Cree una constante para habilitar los controles.
LabVIEW Core 2 Manual de Ejercicios
© National Instruments
| 3-5
Lección 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 botón Start Acquisition. 2. Establezca diferentes valores para los controles y haga clic en el botón “Start Acquisition”. Tenga en cuenta que los datos que se muestran en el gráfico comienzan a partir de donde se detuvo la última vez que se ejecutó el VI.
Parte 3 — Limpiar el gráfico Se desea borrar el contenido del gráfico cada vez que ejecute el VI. 1. Modificar el diagrama de bloques como se muestra en la figura 3-4 para borrar los datos antiguos del gráfico cada vez que ejecute el VI. Figura 3-4. VI Temperature Limit — Eliminar los datos del gráfico desde el diagrama de bloques
1 2
1
Nodo de propiedad Temperature — Crear una copia del nodo de propiedad Temperature y arrastrarlo a la izquierda del bucle While.
2
Haga clic en el nuevo nodo de propiedad y seleccione History Data.
Haga clic con el botón derecho en la entrada History y seleccione Create»Constant. Esto crea un cluster con valores 0 para inicializar el gráfico de temperatura a 0 cuando el VI comienza a ejecutarse.
Prueba 1. Ejecute el VI, haga clic en el botón Start Acquisition y deje el VI ejecutarse unos segundos, luego haga clic en el botón Stop. 2. Ejecute el VI nuevamente. Observe que el gráfico está limpio antes de hacer clic en el botón Start Acquisition y que se escriben nuevos datos en este.
Parte 4 — Desafío: Cambiar el color del contenido del gráfico Modificar el VI para que la trama de datos en el gráfico cambie de color cuando se excede el límite máximo.
Fin del ejercicio 3-1
LabVIEW Core 2 Manual de Ejercicios
© National Instruments
| 3-7
Lección 3
Control de la interfaz de usuario
Ejercicio 3-2
ni.com
|
3-8
Personalización de la Ventana del VI
Objetivo Modificar los atributos de un VI usando Nodos de Propiedad y Nodos de Invocación.
Escenario Puede configurar las propiedades de aspecto de un VI estáticamente usando la página de propiedades del VI. Sin e mbargo, 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 menús
•
Esconder las barra de desplazamiento
•
Moverse al centro de la pantalla
•
Escribir datos a un archivo Excel
Diseño Propiedades Use las siguientes propiedades y métodos de la clase VI: •
ShowMenuBar — Cuando esta propiedad tiene un valor False, la barra de menús no se muestra en el VI.
Figura 3-5. Barra de menús del VI
•
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
Métodos A diferencia de las propiedades, un método tiene un efecto cada vez que lo llame. Por lo tanto, debe llamar a métodos sólo cuando desee realizar una acción. Por ejemplo, si llama al método Fp.Center usando cada iteración de un bucle, el VI se centra continuamente, impidiendo que lo mueva el usuario. Puede usar una estructura Case para controlar la llamada al método en una determinada iteración de un bucle. Use el siguiente método de la clase VI: •
Center: cada vez que llame a este método, el VI se mueve al centro de la pantalla.
Consejo
Use la ventana Context Help para ver descripciones de cada propiedad y método.
LabVIEW Core 2 Manual de Ejercicios
© National Instruments
| 3-9
Lección 3
Control de la interfaz de usuario
ni.com
|
3-10
Después 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 figura 3-7. Figura 3-7. Panel frontal del VI Temperature Limit con apariencia personalizada
Implementación Parte 1 — Configurar las propiedades de apariencia 1. Abra el VI “Temperature Limit.vi” situado en el directorio \ LabVI EW Cor e 2\ Temp Li mi t - Met hods . 2. Modifique el diagrama de bloques como en la figura 3-8 para ocultar las barras de desplazamiento, la barra de menús y la de herramientas y centrar el panel frontal cuando el VI se encuentre en ejecución.
Figura 3-8. VI Temperature Limit — Métodos del diagrama de bloques
2
1
1
3
4
Property Node — Haga clic con el botón derecho en el nodo de propiedad y seleccione Link to»Pane»Pane.
Haga clic con el botón derecho y seleccione Change All to Write.
Expanda el nodo para mostrar dos propiedades y configúrelas a Horizontal Scroll Bar Vi sibility y Vertical Scrollbar Visibility.
2
Constante Off While Running — Haga clic con el botón derecho en una de las entradas del nodo de propiedad Pane y seleccione Create»Constant.
3
Nodo de propiedad — Haga clic con el botón derecho en el nodo de propiedad y seleccione Select Class»VI Server»VI»VI.
4
Haga clic con el botón 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 Window»Show Menu Bar.
Haga clic en la propiedad inferior y seleccione Tool Bar»Visible.
Cuando se conecta una constante False para cada una de las propiedades, la barra de menús y barra de herramientas se ocultarán cuando el VI se ejecuta.
Nodo de Invocación — Haga clic en el método y seleccione Front Panel»Center. Usted debe cablear la referencia del nodo de propiedad antes de configurar este método.
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 división horizontal o barra de división vertical. Cada panel puede tener sus propias barras de desplazamiento.
LabVIEW Core 2 Manual de Ejercicios
© National Instruments
|
3-11
Lección 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 menús no se muestran, y que la ventana del panel frontal está centrada en la pantalla, cuando el VI se encuentra en ejecución. 3. Detenga el VI.
Parte 2 — Exportar datos Agregue un método para exportar datos del gráfico temperature a Excel. 1. Modificar el diagrama de bloques como se muestra en la figura 3-9 para exportar los datos mostrados en el gráfico Temperature a Excel. Figura 3-9. VI Temperature Limit — Diagrama de bloques para exportar a excel
1
1
Nodo de Invocación Temperature — Haga clic con el botón derecho en el indicador Temperature y seleccione Create»Invoke Node»Export Data to Excel.
2. Guarde el VI.
Prueba 1. Ejecute el VI. 2. Haga clic en Stop. Para que el método de exportar los datos a excel cree un archivo temportal de Excel con los datos del gráfico con la forma de onda. Vea los datos en el archivo de Excel. 3. Guarde y cierre el VI.
Fin del ejercicio 3-2
LabVIEW Core 2 Manual de Ejercicios
© National Instruments
|
3-13
Lección 3
Control de la interfaz de usuario
Ejercicio 3-3
ni.com
|
3-14
Uso de subVIs
Objetivo Use referencias de control para crear un subVI que modifique propiedades de gráficos 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 ejercicio 3-1 y en el ejercicio 3-2.
Implementación 1. Abra el VI “Temperature Limit.vi” desde el proyecto Temperature Limit situado en el directorio \ LabVI EWCor e 2\ Temp Li mi t - SubVI s . 2. El diagrama de bloques, como el de la figura 3-10 incluye código para: •
Ocultar las barras de desplazamiento mientras se ejecuta
•
Configurar propiedades de diálogos
•
Habilitar nuevamente los controles cuando se detiene el VI Figura 3-10. Temperature Limit — SubVI
LabVIEW Core 2 Manual de Ejercicios
© National Instruments
|
3-15
Lección 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 figura 3-11 describe los subVIs que creará y utilizará para hacer el VI Temperature Limit más modular y escalable. Figura 3-11. VI Temperature Limit — Diagrama de bloques 3
1
2
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.
3. Crear el subVI Set Scroll Bar State.
En el VI Temperature Limit, resalte el código mostrado en la figura 3-12 y seleccione Edit»Create SubVI. Figura 3-12. Destacando el código Scroll Bar State
4. Abra el subVI.
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 figura 3-13. Figura 3-13. Panel frontal del subVI Set Scroll Bar State 2
1
1
Indicador de salida Pane Ref — cree una copia del control Pane Ref. Haga clic con el botón 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.
LabVIEW Core 2 Manual de Ejercicios
© National Instruments
|
3-17
Lección 3
Control de la interfaz de usuario
ni.com
5. Modifique el diagrama de bloques del subVI Set Scroll Bar State como se muestra en la figura 3-14. Figura 3-14. Diagrama de bloques del subVI Set Scroll Bar State
6. Cablee la referencia y los cables de error a través del caso error en la estructura. 7. Cree un icono significativo para el subVI y guárdelo como Set Scrol l Bar St at e. vi en el directorio \ LabVI EW Cor e 2\ Temp Li mi t - SubVI . 8. Cree el subVI Set Dialog Properties. 9. En el VI Temperature Limit, resalte el código mostrado en la figura 3-15 y seleccione Edit»Create SubVI. Figura 3-15. Destacando el código Set Dialog Properties
|
3-18
10. Abra el subVI que acaba de crear y modifique el panel frontal como se muestra en la figura 3-16. Figura 3-16. Panel frontal del subVI Set Dialog Properties 2
1
1
Indicador de salida VI Ref — Cree una copia del control VI Ref. Haga clic con el botón 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.
LabVIEW Core 2 Manual de Ejercicios
© National Instruments
|
3-19
Lección 3
Control de la interfaz de usuario
ni.com
|
3-20
Figura 3-17. Diagrama de bloques del subVI Set Dialog Properties
1
1
Función Not — Invertir la lógica del botón Enable Dialog Properties cableándolo al nodo de propiedad para mostrar la barra de menús y barra de herramientas
11. Cablee la referencia y los cables de error a través del caso error en la estructura. 12. Cree un icono significativo para el subVI y guárdelo como Set Di al og Pr oper t i es. vi en el directorio \ LabVI EW Cor 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.
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 Figura 3-18. Figura 3-18. Diagrama de bloques completo de Temperature Limit
3
2 1
1
VI Server References — Cree referencias para el control Delta t (ms), el control High Limit, y el control botón Start.
Haga clic con el botón derecho en cada control y seleccione Create»Reference.
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.
Prueba 1. Ejecute el VI Temperature Limit y verifique que se comporta según lo esperado. 2. Guarde y cierre todos los VIs y el proyecto Temperature Limit .
Fin del ejercicio 3-3
LabVIEW Core 2 Manual de Ejercicios
© National Instruments
|
3-21