Cada parte tiene un menú contextual a través del cual se pueden importar/exportar imágenes. Las partes pueden mostrar diferentes gráficos en diferentes momentos. Por ejemplo, un control booleano tiene cuatro gráficos diferentes: estado FALSE, estado TRUE, estado Switch When Released y estado Latch When Released (mientras está presionado el botón). Cuando existe la opción de tener varios gráficos, el menú contextual tendrá la opción Picture Item para seleccionar uno de ellos.
Figura 1-12. Manejo de los elementos que componen un control.
Cuando se coloca un control personalizado en un Panel Frontal no existe ningún vínculo entre el fichero donde el control está definido (*.ctl) y sus instancias empleadas en cada VI donde es usado, se trata de copias independientes. Si una instancia se modifica no afecta al resto.
Las definiciones de tipos y definiciones de tipos estrictos (Type Def. y Strict Type Def.) se usan para enlazar todas las instancias de un control o indicador a un mismo fichero *.ctl. De esta forma, al modificar el fichero se modifican todas las instancias. Se puede elegir el tipo cuando se crea el control mediante una lista desplegable en la barra de herramientas junto al botón Edit/Customize Mode.
Las Type Definitions definen el tipo de datos de un control. Cuando el tipo de datos cambia, todos los controles asociados a él también cambian. En el menú contextual de una instancia se puede seleccionar Auto-Update from Type Def. para desactivar la actualización automática.
Un Strict Type Definition hace que todas las instancias sean iguales, no sólo el tipo de datos sino también en características como el rango, tamaño, color, etc. De esta forma, si se modifica la definición se actualizarían todas las instancias. Desde el menú contextual se puede eliminar el enlace entre la instancia y la definición.
1.2.3. Funciones
Esta paleta es la que se muestra al trabajar sobre el Diagrama de Bloques; con ella se puede acceder a las diferentes funciones, subVI y estructuras disponibles.
Figura 1-13. Paleta de funciones.
Al igual que con el menú de controles, en éste también hay varios submenús que se dividen dependiendo de la aplicación. Las funciones más usadas son las del submenú Programming.
El primero de los submenús de Programming es Structures. Contiene elementos que son equivalentes a las instrucciones de control de los lenguajes convencionales, es decir, son los bucles como WHILE o FOR y la estructura condicional CASE además de otras. Más adelante se dedica un capítulo completo a las estructuras.
Figura 1-14. Paleta de estructuras.
Los siguientes menús de Programming se dividen atendiendo al tipo de datos. Están los datos simples, como los numéricos, booleanos y strings (texto); además de los compuestos, como los clusters y arrays. Cada uno de estos menús tiene funciones para trabajar con esos datos.
Figura 1-15. Paletas de tipos de datos numéricos, booleanos y texto.
Los datos numéricos se dividen en enteros, de coma flotante y complejos, y dentro de cada uno puede haber distintos tamaños. Se puede cambiar de unos a otros mediante el menú contextual > Representation. Si se aplican dos números, por ejemplo un entero y otro flotante a una función, ésta cambiará automáticamente el tipo de los datos (coercion) para que así se pueda operar con ellos. Los booleanos únicamente pueden tener dos valores: Verdadero (TRUE) o Falso (FALSE), por esto son los apropiados para crear botones.
Los tipos de datos compuestos están, como su nombre indica, formados por otros datos, por lo que no se puede hablar simplemente de arrays sino que se debe decir array de números, array de booleanos, etc. Los arrays, también llamados arreglos, son listas ordenadas de valores, mientras que los cluster son un conjunto desordenado de otros datos y son equivalentes a los STRUCT
del lenguaje C. Para indicar de qué están compuestos los datos, basta con arrastrar constantes de otros tipos de datos en el interior de los arrays o clusters.
Figura 1-16. Paletas de datos tipo arrays y clusters.
En la figura 1-17 pueden verse varios datos de cada uno de los distintos tipos vistos hasta ahora. En la parte izquierda se representan como controles, en el centro como constantes y en la derecha como indicadores. Obsérvese el sentido de la flecha blanca en el lateral de los controles e indicadores. Ésta sirve para diferenciarlos: si apunta hacia afuera será un control (lectura de datos), y si apunta hacia dentro será un indicador (escritura de datos). Además, el color del control será indicativo del tipo de datos al que corresponde. En el capítulo 3 se estudiarán los tipos de datos en detalle.
Mediante el menú contextual puede accederse a diferentes opciones. Así para los numéricos se puede elegir su formato de representación; para los strings, la forma en que se visualizarán (normal, contraseña, hexadecimal, etc.). En los arrays se les pueden añadir dimensiones, etc.
Figura 1-17. Diferentes tipos de datos.
Al igual que con los controles, el método para usar las funciones y los VI de la paleta de funciones es ‘arrastrar y colocar’. La diferencia entre una función y un VI es que las funciones son objetos con una funcionalidad fija y sin Panel Frontal, mientras que los VI son programas hechos en LabVIEW por National Instruments u otros programadores que sí tienen Panel Frontal. Se puede acceder a un VI haciendo doble clic sobre él. Los VI disponibles están en librerías dentro del directorio %directorio de instalación de LabVIEW%\vi.lib.
Las funciones y VI generalmente operarán sobre una o varias entradas y proporcionarán una o más salidas. A las entradas se les conectará un dato del tipo requerido que puede provenir de un control, una constante o una salida de otro VI o función y a su salida se podrá conectar un indicador o una entrada de algún VI o función.
Figura 1-18. Función And.
1.2.4. Personalización de los menús
Las paletas de controles y de funciones pueden personalizarse y también se pueden añadir nuevos menús basados en VI creados por uno mismo o por otros programadores.
Cuando se crean menús nuevos, por convención, los VI y controles se guardan en %directorio de instalación de LabVIEW%\user.lib y los nuevos menús deben crearse dentro del submenú User Libraries y User Controls.
Para modificar el aspecto de las paletas hay que ir a Tools > Advanced > Edit Palette Set (Figura 1-19). Al hacerlo se abren las dos paletas principales y se puede navegar por ellas de forma normal, pero no se pueden arrastrar los VI y controles al Diagrama de Bloques y al Panel Frontal, sino que en cada VI y submenú aparece un menú desplegable con una serie de opciones que permiten añadir nuevos menús y VI, modificar iconos, hacer que cuando se usen no se añada el VI como subVI sino su código (Place VI Contents), etc.