Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lvcore2 Coursemanual Spasample PDF
Lvcore2 Coursemanual Spasample PDF
Manual de Curso
tra
Versión del software actual 2011
Edición de Agosto 2011
Número de parte 325292C-0116
Manual de Curso LabVIEW Core 2
Copyright
es
© 1993–2011 National Instruments Corporation. Todos los derechos reservados.
En virtud de las leyes de copyright y de protección de los derechos de autor, esta publicación no puede reproducirse ni transmitirse
en ninguna forma, electrónica o mecánica, incluidas las fotocopias, grabación, 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 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 sólo podrá utilizarse para reproducir material
que pueda reproducir conforme a los términos de cualquier licencia aplicable u otra restricción legal.
For components used in USI (Xerces C++, ICU, HDF5, b64, Stingray, and STLport), the following copyright stipulations apply. For a
listing of the conditions and disclaimers, refer to either the USICopyrights.chm or the Copyrights topic in your software.
Xerces C++. This product includes software that was developed by the Apache Software Foundation (http://www.apache.org/).
Copyright 1999 The Apache Software Foundation. All rights reserved.
Mu
ICU. Copyright 1995–2009 International Business Machines Corporation and others. All rights reserved.
HDF5. NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities
Copyright 1998, 1999, 2000, 2001, 2003 by the Board of Trustees of the University of Illinois. All rights reserved.
b64. Copyright © 2004–2006, Matthew Wilson and Synesis Software. All Rights Reserved.
Stingray. This software includes Stingray software developed by the Rogue Wave Software division of Quovadx, Inc.
Copyright 1995–2006, Quovadx, Inc. All Rights Reserved.
STLport. Copyright 1999–2003 Boris Fomitchev
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 página ni.com/trademarks
para información sobre otras marcas de National Instruments.
The mark LabWindows is used under a license from Microsoft Corporation. Windows is a registered trademark of Microsoft
Corporation in the United States and other countries. Otros nombres de productos y de empresas mencionados aquí son marcas o
nombres comerciales de sus respectivas empresas.
Los miembros del National Instruments Alliance Partner Program son entidades comerciales independientes de National Instruments
y no tienen relación de agencia, asociación ni empresa conjunta con National Instruments.
Patentes
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 patents.txt en el soporte del mismo, o el Aviso sobre las Patentes de
National Instruments (National Instruments Patent Notice) en ni.com/patents.
tra
es
Mu
Soporte
Información del producto y soporte técnico mundial
ni.com
Oficinas internacionales
Visite ni.com/niglobal 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 North Mopac Expressway Austin, Texas 78759-3504 USA Tel: 512 683 0100
Para obtener información adicional de soporte, consulte el apéndice Información Adicional y Recursos. Para realizar comentarios a
National Instruments sobre la documentación, consulte la página web de National Instruments Web ni.com/info e introduzca
el código de información feedback.
Contenido
tra
F. Convenciones del curso ........................................................................................viii
Lección 1
Técnicas de diseño típicas
A. Patrones de diseño ................................................................................................1-2
B. Patrones de diseño de un solo bucle .....................................................................1-3
C. Patrones de diseño de bucles múltiples.................................................................1-8
D. Temporizar un patrón de diseño ...........................................................................1-12
Lección 2
Técnicas de sincronización
es A. Notificadores.........................................................................................................2-2
B. Colas .....................................................................................................................2-3
Lección 3
Programación de eventos
A. Eventos..................................................................................................................3-2
B. Programación orientada a eventos ........................................................................3-3
C. Advertencias y recomendaciones..........................................................................3-12
D. Patrones de diseño basados en eventos.................................................................3-12
Mu
Lección 4
Gestión de errores
A. Importancia de la gestión de errores .....................................................................4-2
B. Detección e informe de errores .............................................................................4-2
C. Errores y advertencias...........................................................................................4-3
D. Rangos de códigos de error...................................................................................4-5
E. Gestores de errores................................................................................................4-5
Lección 5
Control de la interfaz de usuario
A. Nodos de Propiedad ..............................................................................................5-2
B. Nodos de Invocación ............................................................................................5-4
C. Arquitectura del VI Server....................................................................................5-5
D. Referencias de control ..........................................................................................5-6
Lección 6
Técnicas de E/S de fichero
A. Formatos de archivo..............................................................................................6-2
B. Archivos binarios ..................................................................................................6-5
C. Archivos TDMS....................................................................................................6-12
Lección 7
Mejora de un VI existente
tra
A. Refactorización de código heredado.....................................................................7-2
B. Problemas típicos de la refactorización ................................................................7-4
C. Comparación de VIs .............................................................................................7-7
Lección 8
Creación y distribución de aplicaciones
A. Preparación de los archivos ..................................................................................8-2
B. Crear especificaciones ..........................................................................................8-3
C. Construcción de la aplicación y el instalador .......................................................8-5
Apéndice A
es
Información Adicional y Recursos
Glosario
Mu
tra
LabVIEW, puede utilizar VI Server para acceder a las propiedades y
métodos de objetos del panel frontal. Esta lección explica el VI Server,
Nodos de Propiedad, referencias de control y Nodos de Invocación.
Temas
A. Nodos de Propiedad
B. Nodos de Invocación
C. Arquitectura del VI Server
D. Referencias de control
es
Mu
A. Nodos de Propiedad
Los Nodos de Propiedad acceden a las propiedades de un objeto. En algunas
aplicaciones quizá desee modificar programáticamente el aspecto de objetos
del panel frontal como respuesta a ciertas entradas. Por ejemplo, si un
usuario introduce una contraseña no válida, quizá desee que parpadee un
LED rojo. Otro ejemplo es cambiar el color de un trazo en un gráfico tipo
“chart”. Cuando los puntos de datos superan cierto valor, quizá desee
mostrar un trazo rojo en lugar de uno verde. Los Nodos de Propiedad
tra
permiten realizar estas modificaciones programáticamente. También puede
usar Nodos de Propiedad para cambiar el tamaño de objetos de paneles,
ocultar partes del panel frontal, añadir cursores a gráficos, etc.
tra
el nodo y seleccione Change All to Write en el menú contextual. Si una
propiedad es de sólo lectura, Change to Write se atenuará en el menú
contextual. Si la flechita de dirección del Nodo de Propiedad apunta a la
derecha, está obteniendo el valor de la propiedad. Si la flechita de dirección
del Nodo de Propiedad apunta a la izquierda, está configurando el valor de
la propiedad. Si el Nodo de Propiedad de la figura 5-1 se configura en Read,
cuando se ejecute producirá un valor True si el control es visible o False si
es invisible.
Consejo Algunas propiedades son de sólo lectura, como la propiedad Label, o de sólo
escritura, como la propiedad Value (Signaling).
es
Para añadir terminales al nodo, haga clic con el botón derecho en la zona
blanca del nodo y seleccione Add Element en el menú contextual o use la
herramienta de posicionamiento para cambiar el tamaño del nodo. A
continuación, puede asociar cada terminal Property Node con otra
propiedad desde su menú contextual.
Consejo Los Nodos de Propiedad ejecutan cada terminal en orden de arriba a abajo.
Sin embargo, puede acceder a los elementos del cluster como propiedades
individuales, como en la figura 5-2.
tra
Figura 5-2. Propiedades que usan clusters
B. Nodos de Invocación
Los Nodos de Invocación acceden a los métodos de un objeto.
Métodos de ejemplo
Un ejemplo de método común a todos los controles es Reinitialize to
Default. Use este método para reinicializar un control a su valor
predeterminado en algún punto del VI. La clase VI tiene un método similar
llamado Reinitialize All to Default.
tra
Figura 5-3. Nodo de Invocación para el método Export Image
Los objetos pueden tener métodos y propiedades. Los métodos realizan una
operación, como reinicializar el objeto a su valor predeterminado. Las
propiedades son los atributos de un objeto. Las propiedades de un objeto
pueden ser su tamaño, color, visibilidad, etc.
Clases de control
Los objetos del panel frontal de LabVIEW heredan propiedades y métodos
de una clase. Cuando crea un control Stop, es un objeto de la clase booleana
y tiene propiedades y métodos asociados con esa clase, como en la
figura 5-4.
Control Class
Control
Example Property: Visible
tra
Example Method: Reinitialize to Default
Stop Object
Stop
Visible: Yes
Reinitialize to Default: No
Boolean Text: Stop
D. Referencias de control
Un Nodo de Propiedad creado desde el objeto del panel frontal o el terminal
del diagrama de bloques es un Nodo de Propiedad vinculado
implícitamente. Esto significa que el Nodo de Propiedad está vinculado al
objeto del panel frontal. ¿Qué ocurre si usted debe colocar los Property
Nodes en un subVI? Entonces los objetos ya no se encuentran en el panel
frontal del VI que contiene los Property Nodes. En este caso, necesita un
Nodo de Propiedad explícitamente vinculado. Un Nodo de Propiedad
explícitamente vinculado se crea cableando una referencia a un Nodo de
Propiedad genérico.
tra
Como en la figura 5-5, el modo más sencillo de crear Nodos de Propiedad
explícitamente vinculados es completar los siguientes pasos:
1. Cree el VI.
2. Seleccione la parte del diagrama de bloques que se encuentre en el
subVI, como se muestra en la primera parte de la figura 5-5.
3. Seleccione Edit»Create SubVI. LabVIEW crea automáticamente las
referencias de control necesarias para el subVI.
4. Personalice y guarde el subVI. Como puede ver en la segunda parte de
la figura 5-5, el subVI usa el icono predeterminado.
es
Objetos seleccionados para crear el subVI Edit»Create SubVI utilizado
Figura 5-5. Uso de Edit»Create SubVI para crear referencias de control
Mu
La figura 5-6 muestra el subVI creado. Observe que los controles Control
Refnum del panel frontal se han creado y conectado a un Nodo de Propiedad
del diagrama de bloques.
Panel frontal del subVI creado Diagrama de bloques del subVI creado
Figura 5-6. SubVI creado usando Edit»Create SubVI
Nota Una estrella roja en el control Control Reference indica que el refnum es de tipo
estricto. Consulte la sección Strictly Typed and Weakly Typed Control Refnums del tema
Controlling Front Panel Objects de la Ayuda de LabVIEW para obtener información
adicional acerca de referencias de control de tipo débil y estricto.
tra
bloques y seleccione Create»Reference en el menú contextual.
1 2
1 VI principal 2 SubVI
Figura 5-7. Referencias de control
tra
Observe el aspecto del Nodo de Propiedad en el diagrama de bloques. No
puede seleccionar una propiedad en un Nodo de Propiedad genérico hasta
que se elija la clase. La clase se elige cableando una referencia al Nodo de
Propiedad. Éste es un ejemplo de un Nodo de Propiedad explícitamente
vinculado. No se vincula a un control hasta que el VI se esté ejecutando y se
pase una referencia al Nodo de Propiedad. La ventaja de este tipo de Nodo
de Propiedad es su naturaleza genérica. Como no tiene vínculo explícito a
un control, puede reutilizarse para varios controles. El Nodo de Propiedad
genérico está disponible en la paleta de Funciones.
Sin embargo, puede especificar una clase más específica para el refnum para
que el subVI sea más restrictivo. Por ejemplo, puede seleccionar Digital
como la clase. Así, el subVI sólo podrá aceptar referencias a controles
Mu
numéricos de la clase Digital. Si selecciona una clase más genérica para un
refnum de control, permitirá que acepte un rango de objetos mayor, pero
limitará las propiedades disponibles a las que se aplican a todos los objetos
que pueda aceptar el Nodo de Propiedad.
Para seleccionar una clase específica de control, haga clic con el botón
derecho en el control y seleccione Select VI Server Class»Generic»
GObject»Control en el menú contextual. A continuación, seleccione la
clase concreta de control.
Complete los siguientes pasos para crear una nueva propiedad o método
utilizando la ventana Class Browser.
1. Seleccione View»Class Browser para mostrar la ventana Class
Browser.
tra
es
2. En el menú desplegable de la librería Object, seleccione una librería.
Mu
3. Seleccione una clase en el menú desplegable Class. Use los siguientes
botones para navegar por las clases.
• Haga clic en el botón Select View para alternar entre una vista
alfabética y una vista jerárquica de los elementos del menú
desplegable Class y la lista Properties and Methods.
• Haga clic en el botón Search para lanzar el cuadro de diálogo Class
Browser Search.
4. En la lista Properties and Methods de la ventana Class Browser,
seleccione una propiedad o método. La propiedad o método que
seleccione aparecerá en el cuadro Selected property or method.
5. Haga clic en el botón Create o Create Write para añadir un nodo con
la propiedad o método seleccionados al cursor del ratón y añadir el nodo
al diagrama de bloques. El botón Create crea una propiedad para lectura
o un método. Este botón se atenúa cuando selecciona una propiedad de
sólo escritura. Para crear una propiedad para escritura, haga clic en el
botón Create Write. Este botón se atenúa cuando selecciona un método
o una propiedad de sólo lectura. También puede arrastrar una propiedad
o método desde la lista Properties and Methods directamente al
diagrama de bloques.
6. Repita los pasos 2 al 5 para otras propiedades o métodos que desee crear
y añadir al diagrama de bloques.
tra
Para practicar los conceptos de esta sección, complete el Ejercicio 5-3.
es
Mu
Autorrevisión: Cuestionario
1. Para cada uno de estos elementos, determine si funcionan en una clase
VI o en una clase Control.
• Format and Precision
• Blinking
• Reinitialize to Default Value
tra
• Show Tool Bar
Autorrevisión: Respuestas
1. Para cada uno de estos elementos, determine si funcionan en una clase
VI o en una clase Control.
• Formato y Precisión: Control
• Blinking: Control
• Reinicializar al valor por defecto: Control
tra
• Mostrar la barra de herramientas: VI
Notas
tra
es
Mu