Kitabı oku: «Programación gráfica para ingenieros», sayfa 2

Yazı tipi:

1.5 Barra de Herramientas (Toolbar)

Bajo la barra de menús se sitúa la barra de herramientas, que incluye una serie de botones para editar o ejecutar los VIs. Tal como se ilustra en la Figura 1.4, esta barra se muestra con más o menos opciones dependiendo de si estamos en modo de ejecución o de edición. Además, en el diagrama de bloques se dispone de algunas opciones adicionales. La función de los distintos botones es la siguiente:


Figura 1.4. Barra de herramientas del panel frontal: (a) en modo edición (Edit), (b) en modo ejecución (Run).


Run. Ejecuta el VI. Si la flecha aparece rota, es porque el VI tiene errores y al pinchar sobre ella muestra la lista de errores, su ubicación y descripción
Run continuously. Ejecuta indefinidamente los VIs hasta que se pulsa el botón de abortar o el de pausa.
Abort Execution. Aborta la ejecución del VI. No es recomendable utilizarlo, pues podrían quedar operaciones pendientes que hiciesen inestable el sistema.
Pause. Hace una pausa en la ejecución del VI, quedando resaltado en el diagrama de bloques el punto en el que se ha parado.

El primer botón sirve para configurar el texto (fuente, tamaño, estilo, color, etc.). El resto de botones permiten alinear, distribuir, redimensionar y ordenar los objetos seleccionados.


Help. Muestra una ventana Context Help (menú de contexto) con una ayuda resumida sobre el elemento que se haya seleccionado con el cursor.


Figura 1-5. Barra de herramientas del diagrama de bloques: (a) en modo edición (Edit), (b) en modo ejecución (Run).


Highlight Execution. Presenta una ejecución animada del diagrama de bloques.
Retain Wire Values. Retiene los valores de los hilos.
Step Into, Step Over y Step Out. Permiten ejecutar el programa paso a paso. Step Into abre y muestra la ejecución de los subVIs, Step Over los ejecuta sin abrirlos y Step Out finaliza la ejecución del nodo actual y después hace una pausa. Por ejemplo, en un bucle For de 100 repeticiones, ejecutaría todas las repeticiones y pasaría a pausa en el siguiente nodo.

1.6 Paletas de controles, funciones y herramientas

La paleta de controles (Controls) sólo está disponible en el panel frontal, y permite colocar sobre él los controles e indicadores (véase la Figura 1.6).


Figura 1.6. Paleta de controles (visible en el panel frontal).

La paleta de controles se puede desplegar: (1) seleccionando el menú View » Controls Palette o (2) haciendo clic con el botón derecho del ratón en el espacio de trabajo o en cualquier área abierta del panel frontal. Para que desaparezca la paleta de controles hay que hacer clic fuera de la paleta. También es posible fijarla pulsando el clip () de la esquina superior izquierda.

La paleta de funciones (Functions) sólo está disponible en el diagrama de bloques (véase la Figura 1.7). Se puede desplegar: (1) seleccionando el menú View » Functions Palette o (2) haciendo clic con el botón derecho del ratón en el espacio de trabajo o en cualquier área abierta del diagrama de bloques. Para que desaparezca hay que hacer clic fuera de la paleta. También es posible fijarla pulsando el clip () de la esquina superior izquierda.


Figura 1.7. Paleta de funciones (visible en el diagrama de bloques).

La paleta de herramientas dispone de 11 botones utilizados para operar y modificar objetos en el panel frontal y en el diagrama de bloques (véase la Figura 1.8). Por defecto, LabVIEW activa el cambio automático de herramienta. Si la paleta está oculta se puede mostrar mediante la opción de menú View » Tools Palette. A continuación se muestran las funciones de cada uno de sus botones:


Automatic Tool Selection. Selecciona una herramienta de forma automática dependiendo del objeto o parte del objeto sobre la que se sitúe el cursor.
Operate Value. La herramienta de operación sirve para cambiar valores o para seleccionar texto de un control.
Position/Size/Select. Selecciona, mueve y redimensiona objetos.
Edit Text. Crea y edita textos.
Connect Wire. Enlaza objetos en el diagrama de bloques.
Object Shortcut Menu. Despliega el mismo menú que si pulsamos el botón derecho del ratón sobre el objeto.
Scroll Window. Desplaza la pantalla.
Set/Clear Breakpoint. Permite establecer o quitar puntos de ruptura en el diagrama de bloques.
Probe Data. Crea una ventana flotante que muestra el valor que circula por el cable.
Get Color. Captura el color que tienen objetos, texto u otros elementos.
Set Color. Colorea un elemento. Tiene un color principal y otro de fondo, pudiendo seleccionarse de forma independiente.


Figura 1.8. Paleta de herramientas.

2. Diseño y creación de una aplicación Instrumento Virtual
2.1 Introducción

En este capítulo se describen los pasos necesarios para la creación de aplicaciones, denominadas Instrumentos Virtuales (VI, Virtual Instrument) en el entorno de programación gráfico LabVIEW.

2.2 Creación de un VI

La programación en LabVIEW se realiza en el diagrama de bloques, mientras que en el panel frontal se presenta la interfaz con el usuario de la aplicación, donde se encuentran las entradas y salidas.

Cuando en el panel frontal se crea un control para la entrada de datos o un indicador para la salida de datos, en el diagrama de bloques aparecen sus respectivos terminales. Estos terminales dan acceso a los objetos del panel frontal, permitiendo operar con ellos mediante las herramientas de la paleta de funciones y generar el código de ejecución asociado en el diagrama de bloques.

Cada terminal contiene información útil del objeto asociado en el panel frontal. Por ejemplo, el color y los símbolos indican el tipo de dato. Los números de punto flotante son representados con terminales anaranjados con un acrónimo que indica su precisión (DBL para double, SGL para single, y EXT para extended). Los terminales booleanos se dibujan en color verde con el acrónimo TF.

Tal como se muestra en la Figura 2.1, los terminales de los controles tienen una flecha en el lado derecho y un borde grueso. Los indicadores tienen una flecha en el lado izquierdo y un borde fino.


Figura 2.1. Indicador numérico (Thermometer) y control booleano (Boolean) en el panel frontal (izquierda) y sus terminales asociados en el diagrama de bloques (derecha).

Como regla general, deben cablearse los terminales del mismo tipo: anaranjados con anaranjados, verdes con verdes, etc. También es posible conectar terminales de tipos compatibles, por ejemplo, LabVIEW permite conectar un terminal azul (correspondiente a un valor entero) a un terminal anaranjado (valor fraccional). En estos casos se produce una conversión automática al tipo de destino (por ejemplo, un truncamiento de los decimales si el destino es un terminal entero).

Además de los terminales del panel frontal, el diagrama de bloques contiene funciones (algebraicas, booleanas, etc.). Cada función puede tener múltiples terminales de entradas y salidas, cuya conexión constituirá una parte muy importante de la programación en LabVIEW.

Al realizar el cableado, cada cable tendrá un único origen, generalmente un control, pero puede derivarse hacia varios indicadores o funciones.

En el ejemplo de la Figura 2.2, el VI toma datos de A y B y pasa los valores a una función de adición y a una función de resta. Los resultados son mostrados en los indicadores de la derecha.


Figura 2.2. Panel frontal y diagrama de bloques de un VI para la suma y resta de dos variables.

Para la realización del cableado en el diagrama de bloques deben tenerse en cuenta las siguientes consideraciones:

 Cuando se utilice la herramienta de cableado, el cable se ubicará en el extremo superior del icono .

 Durante el movimiento de la herramienta de cableado sobre las funciones, aparece una viñeta amarilla que indica el nombre del terminal al que se está conectando:

 Para obtener más ayuda sobre los terminales, haga clic en la función con el botón derecho del ratón y seleccione Visible Items (Objetos Visibles) » Terminals (Terminales). Aparecerá un dibujo con los terminales de conexión de la función. Los colores corresponden a los tipos de datos utilizados por los terminales del panel frontal.

 Para obtener una ayuda adicional, seleccione Help » Show Context Help (Mostrar Ayuda Contextual), o presione Ctrl+H. Al mover el ratón sobre una función, esta ventana mostrará la función, terminales, y una breve descripción.

 Si el cableado no sigue un trazado correcto, haga clic derecho en el cable que se desea arreglar y escoja la opción de Clean Up Wire (Limpieza del Cable) para que automáticamente el cable haga su ruta de nuevo.

2.3 Flujo de Datos (Dataflow)

La ejecución de un VI en LabVIEW sigue un modelo de flujo de datos. Cada nodo del diagrama de bloques se ejecuta cuando están disponibles todas sus entradas. Cuando un nodo completa la ejecución, suministra datos a sus terminales de salida y pasa los datos de salida al siguiente nodo en la trayectoria del flujo de datos. Visual Basic, C++, JAVA y otros lenguajes de programación basados en texto, siguen un modelo de control de flujo de la ejecución de un programa. En flujo de control, el orden secuencial de los elementos del programa determina el orden de ejecución.

El diagrama de bloques de la izquierda de la Figura 2.3, suma dos números y luego resta 50 al resultado de la suma. En este caso, el diagrama de bloques se ejecuta de izquierda a derecha, no porque los objetos estén puestos en ese orden, sino porque una de las entradas de la función de resta no es válida hasta que la función de suma o adición haya terminado su ejecución y pasado los datos a la función de resta. Recuerde que un nodo se ejecuta solamente cuando tiene datos disponibles en todos sus terminales de entrada, y suministra datos a sus terminales de salidas solamente cuando termina su ejecución.

En el código de la derecha, ¿Cuál será el segmento que se ejecutará primero: la suma, el número aleatorio o la función de división? Como las entradas a las funciones de suma y división están disponibles al mismo tiempo, y la función de número aleatorio no tiene entradas, no se puede saber. Cuando se pretenda que un segmento del código se ejecute antes que otro, y no exista dependencia de datos entre las funciones, hay que utilizar una estructura de Secuencia para forzar el orden de la ejecución.


Figura 2.3. Ejemplo de flujo de datos con LabVIEW.

2.4 SubVIs

Un SubVI es un VI que puede ser utilizado dentro de otro VI. Corresponde a una subrutina en lenguajes de programación basados en texto. La utilización de subVIs ayuda a gestionar de manera más eficiente cambios en los programas y a eliminar errores del diagrama de bloques. Además, simplifica los esquemas de cableado mejorando su comprensión.

Un SubVI, debe disponer de su propio icono y terminales de conexión. Del mismo modo que los terminales de un control o de un indicador pueden ser vistos como un icono o como un simple terminal en el diagrama de bloques, los subVIs pueden ser vistos como un icono, un nodo expandible o un nodo expandido (véase la Figura 2.4). Las diferentes vistas dependen de la preferencia del usuario, pero la funcionalidad del subVI no cambia.


Figura 2.4. Diferentes vistas de un subVI.

Cada VI muestra un icono en la esquina superior derecha de las ventanas del panel frontal y del diagrama de bloques. El icono es la representación grafica del VI, y puede contener texto, imágenes, o una combinación de ambos. Si se utiliza un VI como subVI, el icono identifica el subVI en el diagrama de bloques del VI en el que se inserta.

El conector muestra los terminales disponibles para la transferencia de datos hacia y desde el subVI. Hay varios patrones de conectores que se pueden elegir haciendo clic-derecho sobre el conector y seleccionando el patrón del menú de patrones. Posteriormente, se asignan los controles e indicadores del panel frontal al terminal del conector, como veremos mas adelante.

El diagrama de bloques mostrado en la Figura 2.5 contiene cuatro subVIs. Para ver el panel frontal de un subVI basta con hacer doble clic sobre el subVI. También se puede ver la jerarquía de los subVIs dentro de un VI principal en el menú View » VI Hierarchy.


Figura 2.5. SubVIs en el diagrama de bloques.

Los pasos para crear un subVI son los siguientes:

a) Crear el icono

Para reemplazar los iconos predeterminados por otros personalizados, se debe hacer clic-derecho sobre el icono de la esquina superior derecha del panel frontal o del diagrama de bloques y seleccionar Edit Icon del menú de emergente, o bien, haciendo doble clic en el icono. También se puede acceder desde el menú File » VI Properties, seleccionando General en el menú Category de la ventana emergente, y haciendo clic en el botón de editar (Edit Icon). Con las herramientas del lado izquierdo de la ventana de diálogo del Icon Editor se llevará a cabo el diseño del icono en el área de edición. En la parte derecha aparece la imagen del icono en el tamaño que se mostrará (véase la Figura 2.6).

También se puede arrastrar un gráfico desde cualquier archivo y colocarlo en la esquina superior derecha del panel frontal o del diagrama de bloque. LabVIEW convierte el gráfico a un icono de 32 × 32 píxeles.


Figura 2.6. Ventana de diálogo del editor de iconos (Icon Editor).

b) Crear el conector

Para utilizar un VI como un subVI, es necesario crear un conector. El conector es un conjunto de terminales que corresponden a los controles y a los indicadores de ese VI, similar a la lista de parámetros de una función basada en un lenguaje de programación de texto. En el conector se definen los terminales de entrada y de salida asociados al icono del subVI, que serán utilizados para realizar el cableado dentro del VI al que se incorpore.

Las conexiones se definen asignando un control o un indicador del panel frontal a cada uno de los terminales del conector. Para definir un conector, se hace un clic-derecho sobre el icono del panel frontal y se selecciona Show Connector del menú emergente (véase la Figura 2.7).


Figura 2.7. Mostrar conectores (Show Connector).

El conector substituye al icono (véase la Figura 2.8). Cada rectángulo del conector representa un terminal, al que se le asignará una entrada o salida. El número de terminales que LabVIEW muestra en el conector depende del número de controles e indicadores en el panel frontal (se puede seleccionar en Patterns del menú emergente). El panel frontal tiene cuatro controles y un indicador, así que LabVIEW muestra cuatro terminales de entradas y una terminal de salida en el conector.

c) Asignar terminales

El siguiente paso consiste en definir las conexiones, asignando un control o indicador del panel frontal a cada uno de los terminales del conector. Cuando se hacen los vínculos, las entradas deben colocarse a la izquierda (controles) y las salidas a la derecha (indicadores). Para asignar un terminal a un control o indicador del panel frontal, se selecciona un terminal del conector y, seguidamente, se selecciona el control o indicador del panel frontal que se desea asignar a la terminal (véase la Figura 2.8). El terminal cambiará de color para indicar el tipo de datos del control. Cuando estén todos los terminales seleccionados, se debe hacer clic en un área abierta del panel frontal.


Figura 2.8. Asignación de terminales.

d) Guardar el VI

Tras realizar las asignaciones de los terminales, se debe guardar el VI. Existen varias maneras de organizar los subVIs. La más común es organizarlos por aplicación. En este caso, todos los VIs para una aplicación en particular se guardan en el mismo directorio o dentro de un archivo de librería de VI. La utilización de un archivo de librería permite transportar una aplicación entera dentro de un solo archivo.

Para guardar un VI dentro de una librería se debe seleccionar en el menú File » Save As … (salvar como). En el cuadro de diálogo, presione New VI Library (nueva librería de VI), esto permitirá nombrar la librería, y después guardar el VI en ella. Para agregar otros VIs, simplemente hay que hacer un doble-clic en el archivo .llb del cuadro de diálogo Save y dar un nombre al VI.

e) Insertar un subVI dentro de otro VI

Después de construir un VI y crear su icono y conector, podemos utilizarlo como un subVI. Para colocar un subVI en el diagrama de bloques, seleccionamos Functions » Select VI (véase la Figura 2.9). Seleccionaremos con un doble-clic el VI que deseamos utilizar como subVI y lo colocaremos en el diagrama de bloques.

También se puede colocar un VI abierto en el diagrama de bloques de otro VI abierto, simplemente arrastrando el icono desde el VI que se desea utilizar como subVI hasta el diagrama de bloques del otro VI.


Figura 2.9. Inserción de un subVI en otro VI.

Türler ve etiketler

Yaş sınırı:
0+
Hacim:
398 s. 298 illüstrasyon
ISBN:
9788426720665
Yayıncı:
Telif hakkı:
Bookwire
İndirme biçimi:
Metin
Средний рейтинг 0 на основе 0 оценок