Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Labview - Apuntes - Fundamentos De Programación, Apuntes de Programación de Ordenadores

Apuntes del curso universitario de Fundamentos de Programación sobre Labview - En este apartado se discuten los aspectos necesarios para familiarizarse con el uso de LabVIEW, incluyendo las ventanas Panel y Diagram, menús de LabVIEW y la ventana de jerarquía

Tipo: Apuntes

2011/2012

Subido el 25/09/2012

pedrito46
pedrito46 🇪🇸

4.4

(186)

63 documentos

1 / 45

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
docsity.com
1
PROGRAMA DE INSTRUMENTACIÓN VIRTUAL LABVIEW
USO DE LabVIEW
En este apartado se discuten los aspectos necesarios para familiarizarse con el uso de LabVIEW,
incluyendo las ventanas Panel y Diagram, menús de LabVIEW y la ventana de jerarquía.
Asimismo se discuten otros aspectos necesarios como el uso de los modos edit y run;
creación de objetos; herramientas y obtención de ayuda.
Ventanas Panel y Diagram
Cada VI tiene dos ventanas separadas, pero relacionadas entre sí. La ventana Panel contiene el
panel frontal de nuestro Vi. La ventana Diagram es aquella en la cual se construye el diagrama
de bloques. Se puede conmutar entre ambas pantallas con el comando Show Panel/Show
Diagram (Mostrar Panel/Mostrar Diagrama) de¡ menú Windows (Ventanas). Usando los
comandos Tile (literalmente "baldosas"; podemos traducir por Parcelas), dentro de ese mismo
menú, podemos posicionar las ventanas Panel y Diagram una al lado de la otra o una encima de
la otra.
Menús de LabVIEW
La programación en LabVIEW obliga a utilizar con frecuencia los diferentes menús. La barra de
menús de la parte superior de la ventana de un Vi contiene diversos menús pul¡-down
(desplegables). Cuando hacemos clic sobre un ítem o elemento de esta barra, aparece un menú
por debajo de ella. Dicho menú contiene elementos comunes a otras aplicaciones Windows,
como Open (Abrir), Save (Guardar) y Paste (Pegar), y muchas otras particulares de LabVIEW.
La siguiente figura muestra la barra de menús para la versión 3.1 cuando la ventana Panel está
activa. El menú Functions reemplaza al Controis cuando la ventana Diagram está abierta.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d

Vista previa parcial del texto

¡Descarga Labview - Apuntes - Fundamentos De Programación y más Apuntes en PDF de Programación de Ordenadores solo en Docsity!

PROGRAMA DE INSTRUMENTACIÓN VIRTUAL LABVIEW

USO DE LabVIEW

En este apartado se discuten los aspectos necesarios para familiarizarse con el uso de LabVIEW, incluyendo las ventanas Panel y Diagram, menús de LabVIEW y la ventana de jerarquía.

Asimismo se discuten otros aspectos necesarios como el uso de los modos edit y run; creación de objetos; herramientas y obtención de ayuda.

Ventanas Panel y Diagram

Cada VI tiene dos ventanas separadas, pero relacionadas entre sí. La ventana Panel contiene el panel frontal de nuestro Vi. La ventana Diagram es aquella en la cual se construye el diagrama de bloques. Se puede conmutar entre ambas pantallas con el comando Show Panel/Show Diagram (Mostrar Panel/Mostrar Diagrama) de¡ menú Windows (Ventanas). Usando los comandos Tile (literalmente "baldosas"; podemos traducir por Parcelas), dentro de ese mismo menú, podemos posicionar las ventanas Panel y Diagram una al lado de la otra o una encima de la otra.

Menús de LabVIEW

La programación en LabVIEW obliga a utilizar con frecuencia los diferentes menús. La barra de menús de la parte superior de la ventana de un Vi contiene diversos menús pul¡-down (desplegables). Cuando hacemos clic sobre un ítem o elemento de esta barra, aparece un menú por debajo de ella. Dicho menú contiene elementos comunes a otras aplicaciones Windows, como Open (Abrir), Save (Guardar) y Paste (Pegar), y muchas otras particulares de LabVIEW.

La siguiente figura muestra la barra de menús para la versión 3.1 cuando la ventana Panel está activa. El menú Functions reemplaza al Controis cuando la ventana Diagram está abierta.

File (Archivo) Sus opciones se usan básicamente para abrir, cerrar, guardar imprimir Vis.

Edit (Edición) Se usa principalmente para organizar el panel frontal y el diagrama de bloques y establecer nuestras preferencias.

Operate (Función) Sus comandos sirven para ejecutar el Vi.

Controls (Controles) Con este menú, podemos añadir controles e indicadores al panel frontal. Cada opción dentro de este menú visualiza una paleta con los controles e indicadores para esa opción. El menú Controis sólo está disponible cuando la ventana Panel está activa.

El menú de LabVIEW que utilizaremos con más frecuencia es el menú pop-up (emergente) de objetos, al cual accedemos situando el cursor sobre el objeto en cuestión y pulsando el botón derecho de¡ ratón. Si la pulsación se hace sobre un espacio vacío, el menú que se obtendrá vendrá en función de la herramienta seleccionada.

Uso de los modos EDIT (Edición) y RUN (Ejecución)

Podernos crear o cambiar un VI cuando éste está en el modo Edit. En él, las herramientas de edición se habilitan en la paleta de¡ modo Edit, por debajo de la barra de¡ menú de ventana,

como se indica a continuación:

Cuando estamos listos para probar nuestro VI, hacemos clic sobre el botón de modo Q o seleccionamos Change to Run Mode (Cambio al Modo de Ejecución) desde el menú Operate. Haciendo esto compilamos el Vi y lo ponemos en el modo Run. En este punto podemos disponer de las opciones de depuración, ejecución de¡ VI, diferentes modos de ejecución, impresión de datos, etc.

Si lo que queremos es ejecutar el Vi desde el modo Edit sin pasar al modo Run, hemos de hacer clic sobre la flecha de ejecución. Si fuese necesario, LabVIEW compilaría primero el VI, después conmuta al modo Run, ejecuta el Vi y vuelve al modo Edit una vez que el Vi se ha ejecutado.

Éste es uno de los puntos que ha sufrido una mayor modificación en la versión Los iconos correspondientes a estos modos se indican a continuación:

Se puede observar que es aquí donde aparece el tratamiento de los diferentes tipos de letras (en la versión 3.1 lo hacíamos con Text) y la alineación y distribución de objetos. Así mismo vemos que no aparece ninguna herramienta. En la nueva versión se han independizado pasando a tener una ventana propia, a la cual accedemos con Show Tools Palette (Mostrar paleta de herramientas) del menú Windows.

Otro aspecto a destacar es el botón Pause (pausa) IM. Al hacer clic en él se para la ejecución del VI y vamos al diagrama de bloques, parpadeando la siguiente secuencia que se ejecutará.

Creación de objetos

Para elaborar el panel frontal hemos de situar sobre él los objetos deseados mediante su selección desde el menú Controls. Creamos objetos sobre el diagrama de bloques seleccionándolos desde el menú Functions. Por ejemplo, si queremos crear un knob o botón rotatorio sobre el panel frontal, primero 'hemos de seleccionarlo desde la paleta Numeric (Numérico) del menú Controls, como se indica en la siguiente figura 2.2.

El objeto aparecerá en la ventana Panel con un rectángulo negro o gris que representa una etiqueta de identificación o Label. Si queremos usarla en ese mismo momento, introduciremos el texto desde el teclado. Después de haberío hecho, cualquiera de las siguientes acciones completa la entrada:

Por ejemplo, si no hubiésemos introducido texto en la etiqueta del control anterior, ésta habría desaparecido al hacer clic en cualquier otro lado. Para volver A visualizarla tendríamos que obtener el menú pop-up de ese control y seleccionar Label de¡ menú Show (figura 2.4).

En la versión 4.0 el proceso en sí es el mismo. La única diferencia es que no tenemos los menús Controis y Functions en la barra superior, sino que son ventanas flotantes que podemos tener visibles o no. Si no lo están, utilizaremos la opción Show Controls Palette (Mostrar paleta de controles) o Show Functions Palette (Mostrar paleta de funciones) del menú Windows. Una vez visibles actuaremos tal y como se ha indicado para la versión 3. l.

Otra opción es hacer clic con el botón derecho de¡ ratón en cualquier área libre de la pantalla: Aparecerá el menú Controls o Functions según estemos en la ventana Panel o Diagrarn, respectivamente.

HERRAMIENTAS DE LabVIEW

Una herramienta es un modo de funcionamiento especial del ratón. Las usamos para llevar a cabo funciones específicas de edición o ejecución.

 La herramienta Operating (Funcionamiento) maneja los controles de¡ panel frontal (y los indicadores en el modo Edit). Es la única herramienta disponible en el modo Run.  La herramienta Positioning 1 (Situación) selecciona, mueve y redimensiona objetos.

 · La herramienta Labeling [A (Etiquetado) crea y edita textos.

 ·La herramienta Wiring ¡'Y 1 (Cableado) enlaza objetos del diagrama de bloques y asigna a los terminales del conector del Vi los controles e indicadores del panel frontal.

 ·La herramienta Coloring (Coloración) colorea diversos objetos y los fondos.

Se puede cambiar de herramienta haciendo lo siguiente:

·Clic sobre el icono de la herramienta que queremos. ·Usando la tecla TAB para seleccionar la siguiente herramienta.

·Pulsando la tecla SPACE para cambiar entre la herramienta Operatíng y Positioning cuando la ventana Panel está activa, y entre las herramientas Wiring y Positioning cuando la ventana Diagram es la activa.

La versión 4.0 implementa nuevas herramientas y cambia el nombre de las ya existentes:

 · Operate Value (Valor Operativo) H. Misma función que Operating.

Position/Size/Select (SituaciónTamaño / Selección') M. Realiza la misma función que Positioninq.

Edit Text (Edición de Texto) Misma función que Labeling.

Los tipos de datos booleanos son enteros de 16 bits. El bit más significativo contiene el valor Booleano. Si el bit 15 se pone a 1, entonces el valor del control o indicador es true (verdadero); por el contrario, si este bit 15 vale 0, el valor de la variable booleana será false (falso).

Numéricos: Hay diferentes tipos

Extended (naranja)

Según el modelo de ordenador que estemos utilizando los números de coma flotante con precisión extendida presentan el siguiente formato:

Macintosh: 96 bits (formato precisión extendida MC68881 - MC68882) Windows: 80 bits (formato precisión extendida 80287) Sun: Formato 128 bits HP-UX: Son almacenados como los números en coma flotante de doble precisión.

Double (naranja)

Los números en coma flotante de doble precisión cumplen con el formato de doble precisión IEEE de 64 bits. Es el valor por defecto de LabVIEW.

Single (naranja) Los números en coma flotante de precisión simple cumplen con el formato de precisión simple IEEE de 32 bits.

Long lnteger (azul) Los números enteros largos tienen un formato de 32 bits, con o sin signo.

Word lnteger (azul) Estos números tienen un formato de 16 bits, con o sin signo.

Byte lnteger (azul)

Tienen un formato de 8 bits, con o sin signo.

Unsigned Long (azul) Entero largo sin signo. Unsigned Word (azul) Palabra sin signo. Unsigned Byte (azul) Byte sin signo. Complex Extended (naranja)Número complejo con precisión extendida. Complex Double (naranja) Complejo con precisión doble. Complex Single (naranja) Complejo con precisión simple.

Arrays (depende del tipo de datos que contenga) LabVIEW almacena el tamaño de cada dimensión de un array como long integer seguido por el dato. El ejemplo que sigue muestra un array unidimensional con números en coma flotante de precisión simple. Los números decimales a la izquierda presentan el desplazamiento donde empieza cada array en la posición de memoria.

Handies Un handie es un puntero que apunta a un bloque de memoria relocalizable. Un handie sólo apunta a datos definidos por el usuario. LabVIEW no reconoce qué es lo que hay en ese bloque de memoria. Es especialmente útil para pasar un bloque de datos por referencia entre nodos de interficie de código (Code Interface Nodes o CiNs).

Paths (verde oscuro)

LabVIEW almacena las componentes tipo y número de un path en palabras enteras, seguidas inmediatamente por las componentes de¡ path. El tipo de path es 0 para un path absoluto y 1 para un path relativo. Cualquier otro valor indicaría que el path no es válido. Cada componente del path es una cadena Pascal (P- string), en la cual el primer byte es la longitud de la P-string (sin incluir el byte de longitud).

Clusters (marrón o rosa) Un cluster almacena diferentes tipos de datos de acuerdo a las siguientes normas: Los datos escalares se almacenan directamente en el cluster; los arrays, strings, handies y paths se almacenan indirectamente. El cluster almacena un handie que apunta al área de memoria en la que LabVIEW ha almacenado realmente los datos.

Para conectar terminales se usa la herramienta Wiring (cableado).

PROGRAMACIÓN ESTRUCTURAL A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número determinado de veces, o que éstas se repitan mientras se cumplan ciertas condiciones. También puede ocurrir que queramos ejecutar una u otra sentencia dependiendo de las condiciones fijadas o simplemente forzar que unas se ejecuten siempre antes que otras.

Para ello LabVIEW dispone de cuatro estructuras fácilmente diferenciables por su apariencia y disponibles en la opción Structures de¡ menú Function de la ventana Diagram:

ESTRUCTURAS ITERATIVAS: FOR LOOP Y WHILE LOOP

FORLOOP

Usaremos For Loop cuando queramos que una operación se repita un número determinado de veces. Su equivalente en lenguaje convencional es:

For i = 0 to N- Ejecuta subdiagrama

Al colocar un For Loop en la ventana Diagram observamos que tiene asociados dos terminales:

1.- Terminar contador: Contiene el número de veces que se ejecutará el subdiagrama creado en el interior de la estructura. El valor del contador se fijará externamente (ver también Arrays en el capítulo 6).

2.- Termina¡ de iteración: Indica el número de veces que se ha ejecutado la estructura: Cero durante la primera iteración, uno duretnte la segunda y así hasta N-1.

Ambos terminales son accesibles desde el interior de la estructura, es decir, sus valores podrán formar parte del subdiagrama pero en ningún caso se podrán modificar.

2.- Terminal de iteración: Indica el número de veces que se ha ejecutado el bucle y que, como mínimo, siempre será una (¡=O).

Al hacer pop-up tanto en el For Loop como en el Whíle Loop se despliega el siguiente menú: (La versión 4.0 presenta además la opción de Ayuda en Línea u Online Help).

 · Show Label: Oculta o visualiza la etiqueta de identificación de¡ Loop y, si no existe, permite ponerla.

 · Description: Permite añadir comentarios.

 · Replace: Cambia el For Loop o el While Loop por cualquier otra función de la paleta Structs & Constants.

 · Remove Loop: Borra la estructura While o For pero sin eliminar el subdiagrama de su interior.

Add Shift Register: Añade los shift register (registros de desplazamiento).

REGISTROS DE DESPLAZAMIENTO

Los registros de desplazamiento o shift register son variables locales, disponibles tanto en el For Loop como en el While Loop, que permiten transferir los valores de¡ final de una iteración al principio de la siguiente.

Inicialmente shift register tiene un par de terminales colocados a ambos lados de¡ Loop; el terminal de la derecha almacena el valor final de la iteración hasta que una nueva hace que este valor se desplace al terminal de la izquierda, quedando en el de la derecha el nuevo valor. Un mismo registro de, desplazamiento puede tener más de un terminal en el lado izquierdo; para añadirlo escogeremos la opción Add Element (añadir elemento) de¡ menú pop-up. Cuantos más terminales tengamos en el lado izquierdo más valores de iteraciones anteriores podremos almacenar.

El menú pop-up tiene otros dos comandos:

 Remove element: Borra un terminal de¡ lado izquierdo siempre y cuando el registro de desplazamiento tenga asociado más de uno.

 Remove Al¡: Borra todo el registro de desplazamiento, tanto los termínales de la izquierda como el de la derecha.

Un mismo Loop puede tener varios registros de desplazamientos siendo conveniente inicializarlos, para que los terminales de la izquierda tengan el valor deseado cuando se produzca la primera iteración. Shift register puede trabajar con cualquier tipo de datos siempre y cuando los datos que se conecten a cada terminal sean de¡ mismo tipo.

Al finalizar la ejecución de todas las iteraciones el último valor quedará en el terminal de la derecha; uniéndolo a un indicador de¡ mismo tipo de dato fuera de¡ Loop podremos obtener su valor.

La estructura Case consta de un termina¡ llamado selector y un conjunto de subdiagramas, cada uno de los cuales está dentro de un case o suceso y etiquetado por un identificador del mismo tipo que el selector; éste será booleano o numérico. Si se conecta un valor booleano al selector, la estructura tendrá dos Case: False y True. Pero si se conecta un valor numérico la estructura

podrá tener hasta 214 Case.

En este caso la estructura Case engloba dos sentencias diferentes de otros lenguajes convencionales:

1.- lf condición true then ejecutar case true else ejecutar case false 2.- Case selector of l:ejecutar case 1; n:ejecutar case n end

Case no cuenta con los registros de desplazamiento de las estructuras iterativas pero sí podemos crear los túneles para sacar o introducir datos. Si un case o suceso proporciona un dato de salida a una determinada variable será necesario que todos los demás también lo hagan; si no ocurre de esta manera será imposible ejecutar el programa.

SEQUENCE

Esta estructura no tiene su homóloga en los diferentes lenguajes convencionales, ya que en éstos las sentencias se ejecutan en el orden de aparición pero, como ya sabemos, en LabVIEW una función se ejecuta cuando tiene disponible todos los datos de entrada. Se produce de esta manera una dependencia de datos que hace que la función que recibe un dato directa o indirectamente de otra se ejecute siempre después, creándose un flujo de programa.

Pero existen ocasiones en que esta dependencia de datos no existe y es necesario que un subdiagrama se ejecute antes que otro; es en estos casos cuando usaremos la estructura Sequence para forzar un determinado flujo de datos. Cada subdiagrama estará contenido en un frame o