Apunte Labview.pdf 5

August 14, 2017 | Author: leofrancoquique | Category: Computer Terminal, Window (Computing), Array Data Structure, Computer Program, Technology
Share Embed Donate


Short Description

exelente...

Description

Introducción a LabVIEW Universidad Tecnológica Nacional Facultad Regional Córdoba Departamento de Electrónica y Area de Física

Rolando Ariel Ricón

04/2001

Prólogo 2 ____________________________________________________________________________________________________________

Prólogo Hace unos meses, gente del Departamento de Electrónica de la Universidad Tecnológica Nacional Facultad Regional Córdoba, me consultaron sobre la posibilidad de dictar un curso básico de LabVIEW para alumnos. Tiempo después, me involucré en la tarea de preparar un apunte sencillo, de lectura rápida y con orientación práctica. El apunte está formado por temas bien definidos, de forma tal, que su consulta sea rápida y efectiva. Donde corresponda, se incluyen trabajos prácticos (TP) y prácticas de laboratorio (Lab). Recomiendo, consultar los manuales de LabVIEW, disponibles en www.ni.com/manuals y la amplia bibliografía escrita en inglés en su gran mayoría, para profundizar las bases vertidas en este apunte. También, recomiendo hacer las prácticas con LabVIEW 5 o superior, sea la versión de evaluación, que National Instruments distribuye gratuitamente, la versión estudiantil, o la profesional. Para acceder gratuitamente a la versión de evaluación ir a www.ni.com/labview Para comprar la versión estudiantil ir a www.prenticehall.com o www.amazon.com Para comprar la versión full o la profesional ir a www.ni.com/catalog Las instituciones educativas como las Universidades, pueden consultar y comprar a un precio muy inferior, la versión académica de LabVIEW en www.ni.com/academic. National Instrument, también ofrece, a precios muy reducidos, kits para aplicaciones educativas especialmente orientados a los laboratorios de las Universidades; para más info ver www.ni.com/academic/edu_cpsk.htm Agradeceré cualquier crítica y/o sugerencia que el lector pueda hacer sobre el apunte y el curso dictado a: [email protected]

Córdoba, abril de 2001

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 3 ____________________________________________________________________________________________________________

Temario: •

Qué es LabVIEW? (1)



Qué es G? (2) - filosofía - comparación con la programación por sentencias



Qué es un IV? (3) - distintas partes - comparación con un instrumento real



Pantalla (4) - herramientas - controles - indicadores - menues descolgables - TPs



Diagrama (5) - herramientas - íconos - cableado - librerías - menues descolgables - TPs



Construcción y depurado de IVs (6) - distintas técnicas - TPs



Estructuras (7) - For Loop - Case - Secuence - Formula Node - TPs



Arrays y Clusters (8) - diferencias entre ellos - formas de uso - TPs



Charts y Graphs (9) - distintos tipos - TPs



Adquisición de datos (10) - configuración de las placas NI

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 4 ____________________________________________________________________________________________________________



I/O de señales digitales TPs

Avance de otros temas (11) - GPIB - RS232 - LPT - VI Server - RDA - DataSockets - Internet - Procesamiento de señales

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 5 ____________________________________________________________________________________________________________

Qué es LabVIEW?

1

LabVIEW (Laboratory Virtual Instrument Engineering Workbench) es un lenguaje de programación gráfica (G), de características sobresalientes debido a su flexibilidad, facilidad de uso y constante evolución, creado por la empresa National Instruments, www.ni.com. LabVIEW nace como un lenguaje de programación bajo DOS, para la conexión de instrumentos de medición a una computadora personal en la década del ochenta. En la actualidad LabVIEW, tiene una orientación hacia la instrumentación, el control y el procesamiento de señales. La potencia y bajos precios de las PCs de la actualidad, unida a LabVIEW, resulta una herramienta ideal para los estudiantes y profesionales de las ciencias y la ingeniería.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 6 ____________________________________________________________________________________________________________

2

Qué es G?

Tradicionalmente los lenguajes de programación fueron por sentencias. Es decir, palabras que invocaban una rutina determinada. Un conjunto de rutinas hacen un programa. La principal desventaja de esta forma de programación, es la lentitud en la escritura y la dificultad de depurar los programas. Por el contrario, programar con un lenguaje gráfico (G) como LabVIEW, tiene la ventaja de que las rutinas están representadas con íconos. Estos íconos, están agrupados en librerías temáticas que hacen fácil y rápida su ubicación. Por esta razón, la depuración de los programas es visual y por lo tanto rápida. B . - W h ile L o o p

A .- F o r L o o p

A .- R a n d o m

B .- R a n d o m N u m b e rs

N u m b e rs

10 ro w

250

C o lu m n j

E le m e n t i

e n a b le in d e x in g

R ow i 250

100

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 7 ____________________________________________________________________________________________________________

3

Qué es un IV?

La vida diaria nos pone en contacto con objetos materiales que tienen una presencia real. Es decir que podemos interactuar con ellos por medio de la voz o nuestras manos. Tales objetos pueden ser instrumentos de medición o cualquier otro tipo de máquinas. A estos instrumentos o máquinas los vamos a llamar instrumentos reales (IR). Sin embargo, es posible crear instrumentos o máquinas virtuales (IV). Es decir, que no tendrán una presencia física real, sino que lo harán a través de una computadora. Desde el punto de vista de la funcionalidad, estos IV pueden ser tan parecidos a los IR como se desee, todo depende del grado de refinamiento del programa. El gráfico muestra la pantalla o frente de un osciloscopio virtual sencillo. 4 .0 0 3 .0 0 2 .0 0 1 .0 0

TRIGGER

0 .0 0 -1 .0 0

Source

-2 .0 0

Slope

Level 0

-3 .0 0

CH B EXT

-4 .0 0 0 .0 0 0

0 .0 1 0

PROGRAM CONTROL

M O R E IN F O . .. [ F 5 ]

0 .0 2 0

0 .0 3 0

0 .0 4 0

0 .0 5 0

-

+

POSITION

CHANNEL A

POS NEG

Time Base 1 0 m s / d iv

Volts/Div 1 V / D IV

B S T O P [F 4 ]

A &B

5 m s / d iv

2 0 m s / d iv

.5 V / D IV

2 V / D IV

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 8 ____________________________________________________________________________________________________________

El gráfico que sigue muestra parte del diagrama del IV ántes mostrado.

T ru e Level

0 .0

.. 0

S e le c t C h a n n e l Level

S o u rc e

CH AN N E L A & B S o u rc e

2

0

S lo p e

0

D is a b le d

N o . P o in ts

F a ls e E x t T rig g e r. D is a b le T rig g e r

2000

O p tio n s D is a b le d S lo p e 2

2 .. D is a b le d L e v e l

2 0 m s / D iv

T im e B a s e 4

0 .1

0 .0 0 2 0 5

.. 0

0 .0 0 0 2

0

0 .0 2

X R ange

C h a n g e S c a le . 5 V o lts / D iv V o lts / D iv

-2 2

500 Y R ange

0 .5

Mirando los gráficos se puede sacar una primera conclución. Los IV están formados por dos partes. La Pantalla (Front Panel) o interfaz usuario, donde se encuentran los controles e indicadores, y el Diagrama (Block Diagram) o programa, donde están los íconos que representan a los controles, indicadores, rutinas de procesamiento de señales, y estructuras de programación como un lazo For-Loop. Como en cualquier otro lenguaje de programación, existen entradas y salidas de datos. En LabVIEW las entradas pueden ser el mouse, un archivo, un control (ej un potenciómetro), una comunicación con un dispositivo externo, etc. Las salidas pueden ser, un indicador (ej un led), un archivo, una impresora, dispositivo externo de comunicación, etc.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 9 ____________________________________________________________________________________________________________

Pantalla

4

Antes de entrar en los detalles de la pantalla (Front Panel) o interfaz de usuario, vamos a reconocer otros elementos que aparecen cuando se carga LabVIEW. Cuando el proceso de carga finaliza, deberá aparecer una pantalla similar a la mostrada.

Los controles mostrados son los siguientes: New VI: abre un nuevo IV Open VI: abre un IV existente Solution Wizard: ayuda en la configuración de distintos elementos Search Examples: muestra una buena cantidad de ejemplos agrupados por temas LabVIEW Tutorial: conceptos básicos de LabVIEW con presentación multimedial Exit: salir de LabVIEW Esta pantalla de inicio aparecerá siempre al momento de carga y cierre de LabVIEW. Si se aprieta el botón New VI, aparecerá lo siguiente:

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 10 ____________________________________________________________________________________________________________

La ventana en gris es la pantalla o interfaz usuario, y la ventana en blanco es donde se harán los diagramas o programas. Teniendo activa la pantalla, descolgar el menú Windows>Show Controls Palette. En esta paleta flotante están todos los controles posibles según el tipo de versión de LabVIEW que se tenga instalado.

numérico

string Array and Cluster

boolenao gráficos List and ring path Active X

decorados Internet Toolkit

De modo similar, y desde la pantalla o el diagrama, descolgar el menú Windows>Show Tools Palette. En esta paleta flotante se encuentran todas las herramientas posibles, que sirven para la pantalla como para el diagrama. Estas herramientas hacen a la construcción de los IV.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 11 ____________________________________________________________________________________________________________

Operar / Cambiar valor

Posicionar / Agrandar / Seleccionar Editar Texto

Cableador Abre el menú de un objeto Activa / Desactiva Interrupción

Testeador de Datos

Desplaza el contenido de la ventana activa

Obtener Color

Coloreador

Como en el caso anterior, y desde el diagrama, descolgar el menú Windows>Show Functions Palette. En esta paleta flotante se encuentran todas las herramientas posibles para usar en los diagramas. numéricas

booleanas

estructuras

cluster

arrays

Tiempo y diálogo

string comparación

Adquisición de datos

comunicaciones Instrumentación I/O

Avanzadas

Análisis Drivers para instrumentos

Para simulación Para control

GMath Internet Toolkit

Sonido

Por último, observar los controles que hay debajo de los menúes descolgables. Advertir que son levemente diferentes los de la pantalla a los del diagrama. Estos controles forman la barra de herramientas, (Front Panel Toolbar) para la pantalla y (Block Diagram Toolbar) para el diagrama. Estas herramientas hacen al funcionamiento y depuración de los IV.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 12 ____________________________________________________________________________________________________________

detener

pausa

Configuración del texto

ejecutar Ejecutar continuamente

Herramientas para la distribución de los controles e indicadores

Herramientas para depuración

Otros aspectos a tener en cuenta son los menúes de los indicadores y los objetos. Dependiendo del tipo de indicador o control será el menú que se despliegue. El gráfico muestra dos controles diferentes con menúes diferentes:

También se debe observar que los menúes en algunos objetos pueden ser jerárquicos, como en el caso que se muestra:

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 13 ____________________________________________________________________________________________________________

Se muestra, las propiedades de un indicador (Waform Chart), que dispone de tres modos de funcionamiento (Strip Chart, Scope Chart y Sweep Chart), cada uno de ellos presenta la misma información pero de manera distinta. LabVIEW dispone de cinco indicadores del tipo Graph, Ellos son: Waveform Chart, Waveform Graph, XY Graph, Intensity Chart e Intensity Graph. El gráfico muestra su ubicación.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 14 ____________________________________________________________________________________________________________

Para hacer gráficos con pares de coordenadas Para mostrar información con distintas intensidades de colores

Otra librería de controles e indicadores es la que se muestra: En la primer fila se observa controles e indicadores digitales. En la segunda, controles con indicador del tipo deslizante y un indicador de nivel.

Para cuando los datos se muestran de a uno

En la tercera, controles deslizantes horizontales y un indicador de temperatura.

Para mostrar los datos todos de una vez

En la cuarta, dos controles en forma de potenciómetro circular y dos indicadores analógicos. Por último indicadores y control por intensidad de colores.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 15 ____________________________________________________________________________________________________________

Una librería sencilla es: Aquí no hace falta mayor explicación, por tratarse de llaves, check boxes, y leds de distinto tipo.

La siguiente es una librería útil para selección. Estos objetos son útiles para hacer selección de opciones. Por ejemplo, se necesita seleccionar entre una señal Senoidal, Triangular y Cuadrada. Los dos últimos de la primer fila, permiten hacer la selección por medio de dibujos. Es decir que en vez del texto, aparecerá el dibujo de una senoide, una triangular y una cuadrada, de a una por vez. Al dibujo hay que importarlo de Paint por ejemplo. Los de la segunda fila son menúes de texto descolgables.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 16 ____________________________________________________________________________________________________________

Los Indicadores de Array y Cluster permiten manipular datos de una misma naturaleza (Array) o de distinta naturaleza (Cluster).

Los controles e indicadores String, manejan letras y caracteres especiales. Se usan para el caso de pretender que aparezca escrito en un indicador una frase como Volt.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 17 ____________________________________________________________________________________________________________

Estas son herramientas para el manipuleo de archivos entre otras cosas.

Estas herramientas sirven para mejorar la presentación de las pantallas o interfaz usuario. Como se trata de elementos decorativos solamente, no poseen un elemento de conexión en el diagrama o programa.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 18 ____________________________________________________________________________________________________________

TP 4-1: Hacer una pantalla que contenga un interruptor, un led, un potenciómetro, un indicador numérico y una ventana gráfica.

Observar el correlato que hay entre los controles e indicadores en la pantalla y los terminales que corresponden a cada uno de los citados. Si se mira con detenimiento estos terminales, se verá que los controles tienen terminales con borde grueso, y los indicadores con borde fino. ________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 19 ____________________________________________________________________________________________________________

Además, dependiendo del tipo de dato que maneja cada control e indicador, será el color del terminal correspondiente. Esta regla, se extiende no sólo a los controles e indicadores, sino también a los íconos que procesan los datos; por ej, una suma. En el siguiente capítulo, se dará una tabla con todos los tipos de terminales y colores que existen en LabVIEW, y al hacer ejemplos se aclarará lo dicho. TP 4-2: Llevar el cursor sobre cada uno de los controles e indicadores usados, hacer click con el botón derecho (CBD) y observar los diferentes menúes descolgables que aparecen. Sacar conclusiones. Intentar cambiarles los colores y los tamaños. Para cambiar el color de los elementos en pantalla, usar la herramienta pincel que se encuentra en la paleta flotante. Para cambiar el tamaño de los elementos, llevar el cursor puntero a una esquina del elemento, se verá que éste cambia de forma a una escuadra de 90 grados, arrastrar hasta la posición deseada. Experimentar con el resto.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 20 ____________________________________________________________________________________________________________

Diagrama

5

Por ser LabVIEW un lenguaje de programación gráfico, en los diagramas se puede "ver" el funcionamiento de los programas. Como se dejó aclarado en el capítulo 4, cada elemento que se coloca en la pantalla, tiene su contraparte en el diagrama. Es decir, que el elemento o dibujo es la interfaz usuario, y el terminal asociado es la conexión de ese elemento con el resto del programa. Los gráficos siguientes muestran los posibles terminales a usar en los diagramas en LabVIEW.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 21 ____________________________________________________________________________________________________________

Los terminales en naranja corresponden a entrada o salida de números decimales, incluyendo los complejos. Los terminales en azul corresponden a entrada o salida de números enteros, incluyendo un terminal especial llamado Enumerated Type. Los terminales en verde corresponden a entrada o salida de datos booleanos, es decir verdadero (T) o falso (F). Los terminales en violeta corresponden a entrada o salida de caracteres alfabéticos y símbolos. Por último están los terminales Array, que corresponden a vectores y matrices de cualquier tipo de información. Esto quiere decir, que dichos vectores y matrices pueden manejar datos booleanos, decimales, enteros, complejos y alfabéticos. Existen otros tipos de terminales que los veremos más adelante. Cabe aclarar que en LabVIEW 6i, existen algunos terminales diferentes en aspecto pero de funciones similares a la anteriores versiones. Como tema importante, queda por explicar la forma de conectar los distintos íconos en el diagrama. Lo haremos a través de un ejemplo: ________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 22 ____________________________________________________________________________________________________________

TP 5-1: Hacer un IV que simule la entrada de datos de una termocupla y los muestre en un gráfico chart.

La forma de lograr este IV es la siguiente: 1- Desde la pantalla se llama al Waform Chart. Se hace (CBD) > Graph > Waform Chart. 2- Luego se continúa con el termómetro. Se hace (CBD) > Numeric > Thermometer. 3- Le sigue una perilla que sirve para seleccionar gardos Fahrenheit o Centígrados. Se hace (CBD) > Booleans > Horizontal Slide Switch. 4- Por último, se selecciona (CBD) > Booleans > Labelled Square Buttom. 5- Se procede a distribuir los elementos en la pantalla del modo conveniente. ________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 23 ____________________________________________________________________________________________________________

6- Parados en el diagrama, se hace (CBD) > Structures > While Loop. 7- Se lo estira de modo de poder colocar todos los terminales en su interior. Para hacerlo se hace un primer (CBI) que fijará el extremo superior izquierdo, luego se estira hasta la posición buscada y se hace nuevamente (CBI). 8- Se llama al ícono que simulará la adquisición de datos de una termocupla. Se hace, (CBD) > Tutorial > Digital Thermometer.vi. 9- Se ordena los íconos. 10- Para el conexionado de los mismos, se debe cambiar el cursor al modo wire, como primera medida; al llevar el mismo cerca de un ícono o terminal, éstos comenzarán a titilar, y en el caso de los íconos, dejarán ver sus terminales de conexionado y al mismo tiempo el nombre del terminal del conexionado con fondo en amarillo. Se hace (CBI) y sin soltarlo se lo arrastra hasta el terminal deseado, allí se hace nuevamente (CBI). El procedimiento se aplica para todo tipo de conexionado.

11- Advertir, que se dispone de dos elementos que muestran la misma información, por lo tanto pueden estar cableados entre sí. 12- Finalmente, apretar el botón que contiene la flecha para poner en marcha el programa. Luego detenerlo con el botón Stop. 13- LabVIEW dispone de herramientas para retrasar la ejecución de un programa en forma controlada. Hacer activo el diagrama, luego (CBD) > Time & Dialog y buscar el ícono adecuado que logre un retraso de 500 ms. Consejo: ir a Help en la ventana del diagrama, seleccionar Show Help y llevar el cursor sobre algún ícono; experimentar.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 24 ____________________________________________________________________________________________________________

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 25 ____________________________________________________________________________________________________________

14- para colocar el número 500 hacer (CBD) > Numeric > Numeric Constant. Antes de cablearlo, se debe colocar la cantidad deseada. Si no se lo hace en el momento, se lo puede hacer luego, pero se debe cambiar el cursor a Operate Value (mano). 15- Si se desea cambiar el tamaño, color y tipo de letra usada en la pantalla o en el Label de los elementos, cambiar el cursor a Edit Text y haciendo (CBI) sobre el texto deseado ir a la barra de herramientas como se muestra. Observar que el texto seleccionado queda en modo invertido.

16- También se puede aplicar el mismo método a los números de los indicadores y controles. Experimentar, cambiando la altura, tipo y color de los números del indicador de temperatura. 17- Es posible cambiar el color del fondo y el borde del indicador citado, usando la herramienta Set Color (pincel), experimentar. 18- Usando la misma herramienta, llevarla al cuadro Plot 0 (Legend), posicionar el ícono (pincel) sobre el trazo de color blanco y hacer (CBD), experimentar. 19- Debajo de la ventana hay una paleta con botones: el primero a la izquierda es para hacer que la escala de la abcisa sea autorango. A su vez posee un pequeño botón para trabarlo. El botón inmediato inferior sirve para la misma causa pero en ordenadas. 20- Los dos botones a la derecha denominados x.xx, y.yy sirven para elegir el formato, presición y otras opciones según el tipo de ventana usada. 21- Los restantes son: distintos tipos de zoom, cursor y una mano (Pan) para el desplazamiento de los gráficos dentro de la ventana.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 26 ____________________________________________________________________________________________________________

TP 5-2: Hacer lo necesario para que la ventana muestre a colores diferentes dos límites de temperatura, uno superior y otro inferior, de forma tal que si el valor adquirido está fuera de los rangos seteados por el usuario, se encienda una lámpara color rojo para indicar sobre temperatura y una celeste para indicar baja temperatura.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 27 ____________________________________________________________________________________________________________

1- primera observación que se hace. Al momento de ejecutar el IV, la flecha del botón Ejecutar (Run) cambia de forma. 2- Los nuevos elementos incorporados son las perillas para setear los límites superior e inferior, los leds de alarma y se estiró la ventana de leyendas (leyend), cambiar el cursor a herramienta editar texto (Edit Text) para poder hacerlo. 3- Para llamar a las perillas se hace CBD >Numeric > Knob. Como son dos, se repite el paso anterior. 4- Al momento de llamarlos, conviene colocarles el nombre para poder distinguirlos. 5- Para llamar a los comparadores, primero se debe ir al diagrama y allí se hace CBD > Functions > Comparison > Greater or Equal?, para uno de ellos y CBD > Functions > Comparison > Less or Equal?, para el otro. 6- Volver a la pantalla y hacer CBD > Controls > Booleans > Square Led, repetir el paso anterior para llamar a otro led. 7- Ahora en el diagrama, separar los indicadores del chart y del termómetro. 8- Hacer CBD > Functions > Cluster > Bundle, luego estirarlo de forma que tenga tres entradas. En el capítulo Arrays y Clusters se verá en detalle características del Cluster llamado, por el momento diremos que es el elemento que nos permite colocar en una misma ventana (Waform Chart) varios gráficos. 9- Cablear de la forma mostrada. 10- Por último, cuando se desea que un control arranque con una cantidad determinada o que un control booleano sea verdadero al momento de correr el IV, hay que pararse sobre el

control en cuestión y hacer CBD > Data Operations > Make Current Value Default. TP 5-3 Se pretende que el sistema desarrollado en el TP anterior, pueda adquirir los datos a intervalos variables y controlado por el usuario desde la pantalla. Consejo: buscar un control variable y remplazarlo por la constante que actualmente tiene. ________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 28 ____________________________________________________________________________________________________________

Construcción y Depurado de IVs

6

En este capítulo se intentará dar algunos consejos prácticos para la construcción y el depurado de los IVs. Lo primero que se debe saber es qué hará el IV. Este primer paso es fundamental porque en LabVIEW suele ser engorroso modificar IV ya realizados, sobre todo si son complejos. Éste, quizás sea uno de los pocos puntos débiles que posee LabVIEW. Luego se debe saber el modo de construirlo, es decir, una idea aproximada de lo que se hará. Se comienza colocando los controles e indicadores más importantes. Si fuesen muchos, conviene ubicarlos adecuadamente y hacer lo propio en el diagrama, pensando el sentido en el que fluye la información. Si los terminales son muchos, conviene comenzar a conectarlos, esto hará más claro el panorama. De todas formas, se debe pensar en un IV de menor a mayor, de modo de poder ir probando lo que se va colocando, sin perder de vista el objetivo final.

El diagrama mostrado corresponde a un IV que lee y escribe datos digitales en un PPI. Hay tres íconos que realizan el manejo de los puertos, observar que en todos ellos, la información que necesitan les ingresa por la izquierda y sale por la derecha. Todos los íconos en LabVIEW están hechos con la misma filosofía, entonces se puede decir que el flujo de información en un diagrama es de izquierda a derecha. El ícono configurador de puerto necesita el número de dispositivo, el canal y el modo de configurar el puerto, esto es, como entrada o salida. Estos datos pasan al ícono que escribe en el puerto anteriormente especificado y luego al que lee del mismo, mostrando el resultado en un grupo de ocho leds. A pesar de ser un IV sencillo, está correctamente etiquetado. ________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 29 ____________________________________________________________________________________________________________

Se debe tratar de hacer la costumbre de etiquetar los controles e indicadores y también estructuras como el lazo While Loop mostrado. Esta técnica resulta invaluable en IV más complicados Volvamos a la pantalla y supongamos que tenemos algunos elementos no alineados como los controles que se muestran .

Para modificar de forma eficiente el defecto, se debe encerrar los elementos de forma que queden líneas de trazo corto moviéndose alrededor de los elementos seleccionados. Luego subir a la barra de herramientas Alinear Objetos (Aling Objets) y seleccionar la opción que ordena en forma vertical y alineada al centro.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 30 ____________________________________________________________________________________________________________

El resto de las opciones se deducen con facilidad. También hay herramientas para distribuir objetos y para llevarlos al frente o al fondo.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 31 ____________________________________________________________________________________________________________

Para hacer esto último, se debe seleccionar el elemento deseado y marcar la opción, por ejemplo Move to Back. Veamos ahora algunas herramientas para el depurado de los IVs. Una forma de saber qué hace el IV es usar la opción Marcar Ejecución (Highlight Execution).

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 32 ____________________________________________________________________________________________________________

Para que tenga efecto, se debe primero ejecutar el IV. El mismo nos muestra el sentido del flujo de información, y una característica fundamental en LabVIEW, el procesamiento en paralelo. Se ha tomado una instantánea; el control F/C entregó su valor al ícono de temperatura, el cual se ve en video invertido por estar procesándose en ese momento el dato en su interior. Por la tanto a la salida del mismo, el cable cambia a color negro y trazos discontinuos, indicando que no posee información todavía. En el caso de los controles de límite, el trazo de sus cables es normal porque ellos ya entregaron al dato. Sin embargo el Cluster se muestra borroso, porque a su entrada llegaron solamente dos datos de los tres, y por lo tanto no habilita la salida. Por este motivo el terminal Chart también está borroso. Una situación similar se ve en el terminal Temp, en los comparadores y terminales de los leds. ________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 33 ____________________________________________________________________________________________________________

Esta característica de LabVIEW, lo convierte en un lenguaje de programación confiable, ya que el IV hará exactamente lo que estamos viendo, y por ser su método de programación por conexión de elementos, es muy intuitivo. Existen otras herramientas útiles al depurado.

Básicamente se las utiliza con IV dentro de otros IV, llamados SubIV. Para poder usarlas se debe apretar el botón Pause.

TP 6-1 En el IV realizado, usar la opción Highlight Execution y observar el modo de desplazamiento de los datos. Pararse sobre el cable que sale de uno de los controladores de límite, hacer CBD y elegir Probe. Un tema importante son los SubIV, es decir IVs que funcionan dentro de otros IVs. Esto es lo más parecido a las subrutinas, en los lenguajes de programación por sentencias. Volvamos a nuestro ejemplo anterior. Sobre el ícono de adquisición de temperatura hacer doble click botón izquierdo (DCBI), aparecerá el siguiente IV

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 34 ____________________________________________________________________________________________________________

Es decir que el ícono sobre el que se hizo click, es otro IV llamado Digital Thermometer.vi, a su vez dentro del mismo se ve que hay otro IV que realiza la lectura de tensión de algún dispositivo externo. De este modo se puede ir ingresando a niveles más profundos del programa.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 35 ____________________________________________________________________________________________________________

Generación de SubIV Existen dos formas básicas de hacer SubIV. La primera es hacer un IV del modo corriente como se lo explicó anteriormente, grabarlo con un determinado nombre, y luego usarlo en otros IV como si fuese una subrutina en un lenguaje por sentencias. Este caso se explicó con un ejemplo en el tema pasado. La segunda forma, es hacer un SubIV a partir de un IV ya hecho. Se tiene el siguiente IV que calcula la impedancia de un circuito RLC serie.

Para generar un IV en forma automática a partir del IV mostrado, se procede como sigue.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 36 ____________________________________________________________________________________________________________

Observando el diagrama, se encuentran cuatro controles y tres indicadores. El resto de los elementos, son nodos de cálculo y una constante. Se busca encapsular dichos nodos y la constante en un SubIV. 1- pararse en el diagrama 2- encerrar con la herramienta Seleccionar (Position/Size/Select) todos los elementos del diagrama menos los controles e indicadores. 3- Ir al menú Edit en el diagrama, y seleccionar Create SubVI

El resultado debe ser como el mostrado. Se ha creado un nuevo ícono. Hacer DCBI sobre el mismo, observar la pantalla y el diagrama. Sacar conclusiones. Paso seguido, se debe grabar el nuevo IV. Prestar atención, al nombre asignado momentáneamente por LabVIEW (Untitled 1 (SubVI)). Es buena práctica, luego de grabar el SubIV, diseñar el gráfico que identificará al ícono. Para ello, ir a la pantalla, pararse sobre el ícono ubicado en el extremo superior derecho, hacer CBD > Edit Icon. Incluir el gráfico y texto necesario, grabar y salir. El nuevo diseño tuvo que ser actualizado.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 37 ____________________________________________________________________________________________________________

Estructuras

7

Las estructuras deciden el flujo de datos en un IV. Nos introduciremos en cinco estructuras fundamentales: For Loop, While Loop, Secuence, Case y Formula Node. For Loop El For Loop es la estructura más conocida por todos. Se trata de un lazo For similar al de Basic.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 38 ____________________________________________________________________________________________________________

Para lograrlo se hace en el diagrama CBD > Functions > Structures > For Loop. En el lugar elegido se hace CBI y se estira hasta la ubicación buscada con otro CBI. Se llama a una constante y se la conecta del modo mostrado. Ese número indica la cantidad de iteraciones que realizará el lazo, partiendo siempre de la iteración número cero. Eso significa que el terminal que indica la iteración momentánea (i), valdrá como máximo 9. Luego se hace CBD > Functions > Numeric > Trigonometric > Function > Sine. Se coloca en la pantalla un Waform Graph y se conecta en el diagrama del modo mostrado. Por último se puede colocar un contador instantáneo de iteraciones como se muestra. Shift Register Los Registros de Desplazamiento o Shift Register son una característica muy útil del lazo For Loop, permiten guardar en forma momentánea un dato de cualquier tipo, y ser usado en un lazo posterior.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 39 ____________________________________________________________________________________________________________

En el lazo A la suma es 0+0, 0+1, 0+2, 0+3, 0+4 = 4. En el lazo B la suma es 0+0, 0+1, 1+2, 3+3, 6+4 = 10. Los registros de desplazamiento pueden no inicializarse, en tal caso, la primera vez que se ejecuta, tomará el valor cero, pero si el lazo citado se vuelve a ejecutar en otro momento del programa, el primer valor que tomará, será el último que quedó de la última vez que se ejecutó el lazo. Por esta razón es recomendable inicializar siempre los registros de desplazamiento. También es posible acceder a valores anteriores en un historial.

La forma de agregar salidas anteriores del registro de desplazamiento es hacer sobre la flecha izquierda del registro CBD > Add Element tantas veces como datos anteriores se quieran ver. Observar que los tres elementos izquierdos del registro están inicializados; esto se debe a que en LabVIEW se inicializan todos los registro o ninguno.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 40 ____________________________________________________________________________________________________________

While Loop La estructura Repetir Mientras (While Loop) es lo más parecido a While Do de otros lenguajes por sentencias. Posee características similares al lazo For Loop, pero con la diferencia de que no necesita definirse una cantidad de iteraciones, ya que las hace hasta que se produce algún tipo de interrupción.

Al hacer correr el IV se observa una gran diferencia con respecto al For Loop, la función seno se continúa adquiriendo mientras el IV funciona. El único modo de detener el lazo es apretando la tecla stop. Si no se conectase ninguna llave al terminal de interrupción, el lazo se ejecutará una vez solamente. Shift Register Ver For Loop.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 41 ____________________________________________________________________________________________________________

Case Lo más parecido a Case Structure es la sentencia If...Then....Else de los lenguajes de programación por sentencias. Nuevamente, el mejor modo de explicarlo es con un ejemplo.

Se trata de un IV que genera una función seno y una coseno, seleccionables por medio de un botón del tipo booleano llamado selector en el ejemplo. Se hace en el diagrama CBD > Functions > Structures > Case, y se trabaja del mismo modo que en las dos estructuras ya explicadas. A primera vista da la impresión que es capaz de seleccionar solo dos casos posibles. Sin embargo, puede seleccionar muchos del modo siguiente.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 42 ____________________________________________________________________________________________________________

En el ejemplo anteriormente hecho, reemplazar el botón selector por una perilla selectora. Hacer sobre el botón mencionado CBD > Replace > Numeric > Knob. Ahora y sobre el mismo hacer CBD > Text Labels. Aparecen solamente dos cantidades (min y max), escribir en la primera SENO y Enter, hacer sobre la pantallita que aparece en la parte inferior de la perilla, CBD > Add Item After y escribir COSENO, luego seleccionar (max) que ya estaba escrita y con la herramienta Edit Text sobrescribir TANGENTE.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 43 ____________________________________________________________________________________________________________

Secuence

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 44 ____________________________________________________________________________________________________________

Se trata de una estructura similar al Case, pero con la diferencia fundamental de no poder seleccionarse una opción deseada. En Secuence, los distintos cuadros se suceden en forma ordenada e irremediable. Esta estructura es lo más parecido a una película. Observar que no hay una sentencia parecida en los lenguajes convencionales. Sin embargo, éstos son por naturaleza una secuencia de sentencias que generan un control de flujo del programa. En los lenguajes como LabVIEW, el control del programa es dependiente de los datos, ya que un nodo u operación como una suma, se realiza solamente cuando la totalidad de sus entradas tienen dato. Es decir, que ésta es la forma que tiene un programador para diagramar un IV y luego controlar su funcionamiento. Cuando esta técnica no es suficiente para asegurar un funcionamiento determinado de un IV, se recurre a la estructura Secuence. El terminal local de Secuence, es el elemento que permite la transferencia de datos de un cuadro a otro. Hay que tener en cuenta, que un dato generado en el cuadro 2 por ejemplo, pasará al cuadro 3 o a otro como el 5, pero nunca podrá aparecer en el cuadro 0 ó el cuadro 1, sencillamente porque la ejecución de Secuence, comienza por el cuadro 0. Este terminal local, tiene una flecha indicando el sentido de los datos. De modo que en el cuadro en el que se genera el dato, la flecha es hacia fuera, indicando que sale el dato hacia otro cuadro. Y por lo tanto, en los cuadros donde la flecha es hacia adentro, el dato puede ingresar. Si en una secuencia de 5 cuadros, en el segundo se produce una salida de datos hacia un terminal indicador que está fuera de la estructura Secuence, el dato no estará disponible hasta que los cinco cuadros se hayan ejecutado.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 45 ____________________________________________________________________________________________________________

Formula Node LabVIEW posee un tipo de estructura, llamado Formula Node, adecuada para tratar con ecuaciones, del mismo modo que se lo hace en los lenguajes por sentencias. Veamos un ejemplo:

El IV anterior, calcula por medio de un polinomio, el ajuste necesario para un termocupla tipo K (según el National Bureau of Standards Thermocouple Tables). ________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 46 ____________________________________________________________________________________________________________

El procedimiento se hizo del modo convencional en LabVIEW, es decir, usando programación gráfica, y en el mismo diagrama, con una estructura Formula Node. En ambos casos, se obtuvo el mismo resulado (*) como era de esperar. Pero queda claro, que el método más práctico, es la aplicación de la estructura Formula Node. Se debe observar, que las variables de salida, están con borde grueso y las de entrada con borde fino. Para poder agragar las variables hacer sobre el borde de la estructura CBD > Add Input o CBD > Add Output según corresponda. (*) El método propuesto, comete un error de ±1 °C para un polinomio de n=9. Para más datos ver The Temperature Handbook, Omega Engineering Inc, 1995. Para conocer los operadores y las funciones permitidas en Formula Node, hacer sobre la estructura CBD > Online Help > Formula Node Functions and Operators. Algunos Problemas al Cablear Estructuras Los siguientes son problemas comunes en el cableado de las estructuras vistas. • • • • •

Asignar más de un valor al terminal local de Secuence. Intentar sacar más de un dato al mismo terminal ubicado fuera de la estructura Secuence. No cablear todas las salidas de datos en estructuras Case. Superponer la salida de datos por el mismo lugar (tunel) en estructuras Case. Cablear detrás de una estructura, en vez de hacerlo a través de ella.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 47 ____________________________________________________________________________________________________________

Arrays y Clusters

8

Trabajar con Arrays es lo más parecido a trabajar con matrices. Un Array puede ser de 1D, 2D o nD. Sus elementos pueden ser números enteros, decimales, complejos, booleanos, caracteres (strings), pero todos deben ser del mismo tipo en el mismo array. No puede haber elementos del array que sean otros arrays, charts y graphs. La cantidad de elementos que puede tener un array es variable y ajustable. Cada dimensión de un array puede tener hasta 231 elementos, dependiendo de la memoria disponible. Los arrays pueden ser controles o indicadores.

En este ejemplo, se muestra un control array con 13 elementos, cuyos valores aparecen en un gráfico chart. ________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 48 ____________________________________________________________________________________________________________

Para lograrlo hacer sobre la pantalla CBD > Array & Cluster > Array. Luego CBD > Numeric > Digital Control y colocarlo dentro del espacio grande del control array. Estirar el array hacia abajo para generar espacio. Con la herramienta operar (mano) asignarle valores. Colocar el resto de los elementos como se muestra en el diagrama. Antes de ejecutar el IV asignar al extremo derecho de la abcisa el valor 12, de forma que muestre solamente 13 valores.

Un detalle importante es cambiar la forma en que ingresan los datos al lazo for loop. Para verlo, parase sobre el túnel en el lazo for loop y hacer CBD > Enable Indexing. Los datos ingresarán de a uno por vez, pero se debe observar que si la cantidad de datos es menor a la cantidad de iteraciones del lazo for loop, no se ejecutarán todas las iteraciones. Por el contrario, si se hace CBD > Disable Indexing, pasarán todos los datos de una sola vez.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 49 ____________________________________________________________________________________________________________

Observar que en este segundo caso los corchetes del terminal control en el diagrama, son más gruesos. Por tratarse de un array 2D hay dos índices. El de más arriba para las filas, y el otro para columnas. Es posible crear arrays por medio de lazos for loops; en este caso son indicadores.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 50 ____________________________________________________________________________________________________________

En este caso, se genera un array con cinco elementos proporcionados por un generador. Observar que el indicador array muestra el espacio vacío para un sexto elemento. Para el caso mostrado el túnel debe tener habilitado el indexado. Si así no fuera se mostrará rota la flecha del botón Run, queriendo decir que hay que colocar un indicador numérico en vez de un array porque saldrá solamente el último dato generado.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 51 ____________________________________________________________________________________________________________

Para crear un array 2D se colocan dos lazos for loop anidados.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 52 ____________________________________________________________________________________________________________

Funciones Array LabVIEW posee una librería con numerosas funciones para operar con arrays. • • •





Array Size: determina la cantidad de elementos. Index Array: permite la extracción de un elemento en particular. Initilize Array: esto es lo más parecido a definir una matriz en un leguaje por sentencias. Se puede usar para asignar memoria en Shift Register de un lazo for loop o while loop. Built Array: sirve para encadenar un array detrás de otro, para asignar elementos sueltos a un array o para formar un array de n dimensión a partir de otros arrays. Array Subset: extrae un array de otro array.

Hay otras funciones para manipular arrays, pero las presentadas son las más usadas. Polimorfismo Es la habilidad que poseen algunas funciones como Add, Multiply y Divide para aceptar en sus entradas datos de diferentes dimensiones y tipos. Por ejemplo, la suma de dos constantes da otra constante, la suma de una constante y un array de 1D da la suma de cada uno de los elementos del array con la constante, la suma de dos arrays de 1D da otro array cuyos elementos son la suma de cada uno de los elementos de los anteriores. En este último caso, si uno de los array es de menor tamaño, el array resultante tendrá el largo del menor de los arrays sumados.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 53 ____________________________________________________________________________________________________________

Clusters Son otra forma de agrupar o juntar datos. Pero la diferencia con arrays es que los datos pueden ser de distinto tipo. Además, para extraer un dato no hace falta usar un índice, ya que es posible desempacarlos (unbundling) todos a la vez o uno solo. Otra diferencia, es que los arrays son de tamaño variable, y los clusters son de tamaño fijo. Una similitud, es que ambos tienen controles o indicadores, es decir que un cluster no puede tener en su interior ambos al mismo tiempo. Recordar que los arrays tienen una limitación importante, no se pueden hacer arrays de otros arrays, de charts y de graphs; pero los clusters sí permiten juntar números decimales, complejos, booleanos, también strings, charts, graphs, arrays, y también otros clusters. Cuando se cablea un cluster, se debe tener la precaución de que los indicadores sean del mismo tipo de datos que van saliendo y en el mismo orden, también del mismo número de elementos.

Se muestra un cluster, con sus componentes en el interior. En el diagrama aparece el terminal de color rosado que representa a el cluster. Aquí se evidencia la ventaja de usar cluster y no elementos por separado. El uso de clusters evita el mayor cableado y por lo tanto simplifica los diagramas. A los elementos que ingresan al cluster se les asigna un número de posición, es decir, al primero el número uno, al segundo el número dos y así sucesivamente. Este orden es necesario para saber en qué orden saldrán los datos. Se muestra el orden en el que ingresaron los controles al cluster.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 54 ____________________________________________________________________________________________________________

Para lograrlo hacer sobre el borde del cluster CBD > Cluster Order.

Se muestra el orden asignado por LabVIEW según como fueron ingresados los controles. Es posible asignar otro orden al mostrado. Para hacerlo, colocar la posición deseada en el espacio donde dice Click to set to, y luego hacer CBI sobre el número con fondo negro del control o indicador seleccionado. Este procedimiento se puede repetir con los otros. Una vez terminado el nuevo orden apretar OK. Si se desea volver al orden original se debe apretar la tecla con cruz. Si se llega a sacar un control, LabVIEW vuelve a ordenar los que quedan. Recordar que en este orden aparecerán los datos en el terminal de salida del cluster. Funciones Al igual que con los arrays, los clusters tienen funciones para operar con ellos.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 55 ____________________________________________________________________________________________________________

Bundle La función Bundle junto a la función Unbundle, son dos de las más usadas con clusters. La función bundle permite juntar en un solo terminal varios datos de forma conveniente y compacta.

Se ve en el diagrama que el primer dato es un número decimal que representa el comienzo del gráfico. Luego sigue el paso de los datos, y por último un array de datos. De la misma forma salen los datos hacia el waveform graph. ________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 56 ____________________________________________________________________________________________________________

El siguiente IV muestra un cluster como elemento de ingreso a una función bundle.

El cluster de entrada está seteado como control, y el de salida como indicator. El resultado es que si se mueve un control en el cluster de entrada, el movimiento se reproduce en el de salida. Es posible reemplazar algunos controles del cluster entrada por otro control externo al cluster.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 57 ____________________________________________________________________________________________________________

Unbundle Es una función inversa a bundle, se usa para extraer los datos

El cluster usado en el ejemplo anterior, se ingresa a la función unbundle, hacer en el diagrama CBD > Cluster > Unbundle, una vez conectado, esta función muestra su contenido si se estira el ícono tantas veces como elementos contenga. Llegado este paso, se conecta a la salida, los indicadores que pueden ser indicators o controls funcionando como indicators. Para lograrlo hacer sobre cada terminal CBD > Change to Indicator.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 58 ____________________________________________________________________________________________________________

Anexo: Arrays y Clusters Un array es un conjunto de elementos ordenados como vector o matriz. Los arrays pueden ser de controles o indicadores, es decir que en su interior se podrán colocar controladores de un mismo tipo (por ejemplo booleanos) o indicadores de un mismo tipo, pero no se pueden poner controladores e indicadores al mismo tiempo en el mismo array aunque sean del mismo tipo. De igual forma que un vector o matriz, los arrays tienen índices para identificar a cada uno de sus elementos. El array mostrado es de 1D y posee solamente dos elementos. El elemento más cercano al índice, corresponde al número de índice o posición que se muestra en el control de índice. Para este ejemplo el número 5.92 tiene la posición cero y el 3.78 tiene la posición uno en el vector mostrado.

0

5 .9 2 3 .7 8 2 .8 6 2 .8 6 2 .8 6 2 .8 6

Para habilitar más elementos en un array basta con hacer CBI en el último de los elementos para habilitar al resto.

2 .8 6 2 .8 6

Para poder ver e ingresar mayor cantidad de elementos al vector, simplemente pararse en uno de los extremos del array con la herramienta Edit y estirar al array todo lo necesario. 0

5 .9 2 3 .7 8 2 .8 6

3 .7 8

2 .8 6 2 .8 6 2 .8 6 2 .8 6 2 .8 6

Para este ejemplo, se dispone del array antes mostrado y su diagrama correspondiente. Cuando se lo ejecuta, el array entrega todos sus datos de una sola vez, pero ingresan al lazo de a uno por vez porque el auto indexado es activo por defecto en el lazo For Loop. El indicador mostrará primero al número 5.92 y luego al 3.78. el lazo For Loop se ejecuta solamente dos veces, luego se ejecutará por segunda vez el lazo While Loop y se repetirá el procedimiento anterior. Si se desabilita el autoindexado, es decir se pretende que ingresen todos los datos de una sola vez, el cable que está dentro del lazo For Loop y conecta al terminal del indicador, se romperá, indicando que no es posible mostrar dos datos a la vez con ese tipo de indicador. ________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 59 ____________________________________________________________________________________________________________

Si se pretendiera mostrar los datos de una sola vez, es decir con el autoindexado desabilitado, se deberá cambiar de indicador, como el que se muestra en el siguiente ejemplo. A r r a y C o n t r o la d o r

En la pantalla se reemplazó el indicador digital, por un array conteniendo indicadores digitales del mismo tipo. Cualquier cambio que se haga en el array controlador aparecerá en el array indicador.

0

5 .9 2

A r r a y I n d ic a d o r

0

5 .9 2

3 .7 8

3 .7 8

2 .8 6

0 .0 0

2 .8 6

0 .0 0

2 .8 6

0 .0 0

2 .8 6

0 .0 0

2 .8 6

0 .0 0

2 .8 6

0 .0 0

El tipo de terminal cambió con 5 respecto al del indicador. Se desabilitó el auto indexado, por ese A rra y I n d ic a d o r A rra y C o n t ro la d o r motivo ingresa al lazo un cable de trazo grueso. Para este caso sí es necesario colocar la cantidad de iteraciones que realizará el lazo porque los datos ingreasan de una sola vez. Para el caso mostrado, ingresarán cinco veces en forma sucesiva e ininterrumpida, y por lo tanto se resfrescará el array indicador cinco veces sucesivas. Luego se ejecutará nuevamente el lazo While Loop y se repetirá cinco veces el lazo For Loop nuevamente y así sucesivamente. Queda claro, que para esta aplicación, el lazo For Loop se debería ejecutar una sola vez y no cinco. El ejemplo siguiente es similar al anterior pero para datos booleanos. A r r a y C o n t r o la d o r A r r a y I n d ic a d o r B o o le a n o B o o le a n o

5

0 ON

0 A rra y C o n t ro la d o r

O FF

B o o le a n o

A rra y In d ic a d o r B o o le a n o

ON

O FF

O FF

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 60 ____________________________________________________________________________________________________________

El siguiente ejemplo es un array de string.

0

A r r a y C o n t r o la d o r

A r r a y I n d ic a d o r

d e

d e

S t r in g s

0

pepe

S t r in g s

3

pepe

m a rí a

m a rí a

jo s é

jo s é

A rra y C o n t ro la d o r d e S t rin g s

A rra y I n d ic a d o r d e S trin g s

El autoindexado no se usa porque el elemento indicador es un array, pero si fuera un indicador de string, los mostraría en forma sucesiva. Lo mismo vale para el caso de datos booleanos. Los ejemplos que se muestran a continuación, se diferencian de los anteriores porque se colocó el array controlador en el interior del lazo y el array indicador fuera del mismo. 1

1

A rra y In d ic a d o r

A rra y C o n t ro la d o r

A rra y I n d ic a d o r

B o o le a n o

B o o le a n o

A rra y C o n t ro la d o r

En estos tres últimos casos el autoindexado no se puede utilizar porque el array es un conjunto de datos qure salen del mismo todos a la vez. Si se necesitara usar autoindexado, se deberá colocar un indicador digital, o un indicador booleano, o un indicador string según sea el caso.

1

A rra y C o n tro la d o r

A rra y I n d ic a d o r

d e S trin g s

d e S trin g s

Si se tuviera en el interior del lazo For Loop un generador de constantes como puede ser un generador randómico, saldría el último dato generado por la última iteración del lazo For Loop.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 61 ____________________________________________________________________________________________________________

El array mostrado es de 2D, lo que significa que posee 0 0 .0 0 2 .0 0 3 .0 0 -1 . 0 0 0 .0 0 0 .0 0 filas y columnas como en el 0 1 .0 0 0 .0 0 5 .0 0 1 0 .0 0 0 .0 0 0 .0 0 caso de una matriz. Y al igual que en una matriz, se necesitan dos índices para identificar a un elemento de la misma. El primer índice indica el número de fila más cercano al mismo. El segundo índice indica el número de columna más cercano al mismo. En algunas situaciones no se dispone de espacio para mostrar todos los elementos de una matriz al mismo tiempo. Entonces se achica el espacio 1 5 .0 0 visible del array y se observan los elementos de a uno por medio de los 2 controladores de índice. El array de la derecha es el mismo que el de más arriba, pero muestra sus elementos de a uno por vez. 2 D

a rra y

2 D

Desde el punto de vista de la graficación, un vector o array de 1D se ve como un conjunto de puntos cuyos valores se representan en el eje de ordenadas, espaciados equidistantemente uno de los otros sobre el eje de abcisas.

1 D

0

a rra y

g ra p h

5 .0 0

6 .0

-3 . 0 0

4 .0

2 .0 0

a rra y

2 .0

0 .0 0 -1 . 0 0

0 .0

0 .0 0

-2 .0

0 .0 0

-4 .0 -1

0 .0 0

0

0 .0 0

1

2

3

4

5

P lo t 0

0 .0 0

Por tratarse de un graph, el autoindexado debe estar desabilitado. En este caso, ingresa al lazo For Loop quince veces seguidas la misma información, luego se ejecuta el lazo While Loop y se repite nuevamente el lazo For Loop, y así sucesivamente.

15

1 D a rra y

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 62 ____________________________________________________________________________________________________________

Para el caso de arrays de 2D, la graficación es similar con la diferencia que se dispone de más filas que para el caso de 1D (una fila solamente). 2 D

La primer fila de la matriz está representada por cuadrados, y la segunda por cruces.

0 0

a rra y

0 .0 0

2 .0 0

3 .0 0

-1 . 0 0

0 .0 0

0 .0 0

1 .0 0

0 .0 0

5 .0 0

1 0 .0 0

0 .0 0

0 .0 0

g ra p h

1 1 .0

7 .5 15 5 .0 2 .5 2 D a rra y

0 .0 -2 . 0 -1

4 P lo t 0 P lo t 1

Por tratarse de un array de 2D, el cable representativo del mismo cambió a un doble trazo fino contínuo. Observar también, que aumentó el espesor del trazo de los corchetes en ambos array. Si se dispusiera de una matriz con mayor cantidad de filas, aparecerán en la ventana graph, mayor cantidad de trazos. Para el caso mostrado se dispone de una matriz de cuatro filas, por lo tanto habrá cuatro conjuntos de datos o sea cuatro trazos diferentes.

2 D

0 0

a rra y

0 .0 0

2 .0 0

3 .0 0

-1 .0 0

0 .0 0

1 .0 0

0 .0 0

5 .0 0

1 0 .0 0

0 .0 0

3 .0 0

-4 .0 0

2 .0 0

7 .0 0

0 .0 0

-6 . 0 0

5 .0 0

-1 . 0 0

0 .0 0

0 .0 0

0 .0 0

0 .0 0

0 .0 0

0 .0 0

0 .0 0

g ra p h

1 1 .0

1 e r F ila 2 d a F ila

5 .0

3 e r F ila

15

4 ta F ila

0 .0

2 D a rra y

-5 .0 -7 .0 -1

4

Observar el diagrama, es el mismo que para el caso anterior.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 63 ____________________________________________________________________________________________________________

Charts y Graphs

9

LabVIEW ofrece dos tipos de herramientas gráficas. Charts y Graphs. Los charts se usan cuando los datos van ingresando al chart mientras se ejecuta el IV. En cambio los graphs se usan cuando se dispone de la totalidad de los datos y se los presenta todos a la vez. Por ejemplo, en la adquisición de señales biomédicas y presentación de las mismas en tiempo real, se usará un chart. Pero si la aplicación es un procesamiento de los datos luego de ser adquiridos, se usará un graph.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 64 ____________________________________________________________________________________________________________

El ejemplo anterior es un ejemplo claro de la versatilidad de LabVIEW a la hora de graficar. En ambos casos, se trata de charts, sin embargo el primero recibe una sola fuente de datos, a diferencia del segundo que recibe dos. Para poder hacerlo, se debe usar la función bundle para empaquetar la información y el chart se encarga de acomodarlos.

El ícono wave genera datos en forma secuenciada, pero éstos salen todos juntos cuando finaliza el lazo for loop, de modo que es apropiado usar un waveform graph. En el primer caso es directo, y en el segundo se usa un bundle para indicar el comienzo del gráfico y el paso usado. Observar las diferencias en las abcisas.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 65 ____________________________________________________________________________________________________________

El ejemplo anterior muestra el modo de graficar más de una señal. ¿ Cuál es la diferencia entre ellos ?

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 66 ____________________________________________________________________________________________________________

Observar el graph 1, lo sucedido, y determinar el método que se usó para lograrlo. Repasar array. Waveform Graph es ideal para graficar funciones de una sola variable y cuyos datos están uniformemente espaciados.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 67 ____________________________________________________________________________________________________________

Si lo que se busca es graficar puntos no uniformemente espaciados, o funciones multivaluadas, entonces XY Graph es la herramienta adecuada.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 68 ____________________________________________________________________________________________________________

Adquisición de Datos

10

Un proceso de adquisición de datos es eso mismo, un proceso. Los sensores, convierten las variables físicas en señales eléctricas (tensión o corriente). En la mayoría de los casos, las señales provenientes de estos sensores son de poca amplitud y traen consigo un gran ruido eléctrico. De modo que es necesario amplificar y filtrar. Este trabajo lo hacen los Acondicionadores de Señal. La señal acondicionada, es ingresada a una placa de adquisición de datos, que en la mayoría de los casos va colocada en un slot (ISA o PCI) de la PC. Estas placas poseen conversores, memoria, triggers y en algunos casos micro procesadores o procesadores de señales digitales, que permiten convertir la señal ingresada en palabras digitales. Por lo general, estas palabras, ingresan a la memoria de la PC a modo de depósito, para luego ser usadas por el software de aplicación (en este caso LabVIEW). LabVIEW posee numerosas herramientas para adquirir datos de placas que National Instruments fabrica, pero también posee la capacidad de adquirir de puertos serie o paralelo. Más recientemente, LabVIEW obtuvo la capacidad de leer y escribir datos por medio de redes como Internet.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 69 ____________________________________________________________________________________________________________

Las herramientas más fáciles de usar son las digitales.

Como se observa existen muchas herramientas para manipular datos digitales.

En LabVIEW no hay íconos especiales para puertos paralelos, ya que los mostrados permiten acceder a cualquier puerto de la máquina. Puerto Número 0 1 3 .... 8 10 11 12 ....

Tipo de Puerto COM1 COM2 COM4 ......... COM9 LPT1 LPT2 LPT3 ......

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 70 ____________________________________________________________________________________________________________

Para poder realizar un IV que permita la entrada y salida de datos digitales, lo primero que se debe hacer es instalar la placa digital. Lo vamos a hacer para la PC-DIO-24 de National Instruments. Parados en Windows ir a Inicio > Configuración > Panel de Control > Agregar Nuevo Hardware.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 71 ____________________________________________________________________________________________________________

El intervalo de direcciones y la interrupción mostrada son asignadas por Windows. Si se deseara trabajar sin interrupciones o asignar una nueva dirección a la placa, se debe proceder como se indica más adelante bajo el título Reasignación de Direcciones.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 72 ____________________________________________________________________________________________________________

Continuando con el proceso de instalación de la placa, deberá verse lo siguiente:

Si todavía no se instaló la placa, es el momento de hacerlo. Caso contrario seleccionar NO. El procedimiento realizado, es útil a los ojos de Windows pero no de LabVIEW. Para que LabVIEW pueda reconocer la placa, se debe hacer Inicio > Programas > National Instruments DAQ > NI-DAQ Configuration Utility.

Ahora sí LabVIEW detectó nuevo hardware. En rigor de la verdad, lo que detectó LabVIEW es el driver instalado de la PC-DIO-24, pero no necesariamente la placa. Al apretar SI se ve.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 73 ____________________________________________________________________________________________________________

En LabVIEW, a las placas instaladas que pueden ser varias, se les asigna un número para identificarlas. También se muestra los recursos asignados por Windows a la placa.

Para este tipo de dispositivo no existe ningún tipo de dispositivo.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 74 ____________________________________________________________________________________________________________

El Utilitario de Configuración muestra que efectivamente ha quedado configurado el dispositivo. En dicha pantalla, apretar el botón que dice Run Test Panel. Si todo está bien, y no da ningún error, podrá escribir y leer en la pantalla anterior. Reasignación de Direcciones Si por alguna causa, se desea cambiar la dirección asignada por Windows a la placa, cambiar el número de interrupción o quitarla, se debe hacer.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 75 ____________________________________________________________________________________________________________

Inicio > Configuración > Sistema.

Apretar Propiedades. En la panatalla de propiedades se observan los datos ya conocidos, en Configuración basada en:, cambiarla según lo buscado. Luego, apretar Cambiar configuración, y buscar un intervalo de direcciones que produzca conflictos con otros dispositivos.

no

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 76 ____________________________________________________________________________________________________________

La PC-DIO-24, es una placa que posee un PPI 8255 como principal componente, integrados de direccionamiento, un buffer para proteger el bus de datos de la PC, un DIP Switch para seleccionar la dirección asiganda por Windows y un Junper para seleccionar el IRQ. Cabe aclarar, que existe un modelo de PC-DIO-24 que es Plug & Play, y por lo tanto no trae los dos últimos componentes mencionados. El siguiente ejemplo se encuentra en C:\Program Files\National Instruments\LabVIEW \Examples\daq\digital\ digio.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 77 ____________________________________________________________________________________________________________

Para programar un PPI lo primero que se hace es configurar sus puertos. De modo que el primer ícono es el Port Config, en el mismo se coloca el número de dispositivo (1 en este caso), con el control digital channel se selecciona el canal A, B o C (0, 1 o 2) del PPI. Y por último se selecciona las líneas como entrada o salida. El ícono que le sigue es el Port Write, que escribe el número que posee el índice i del lazo while loop. A posteriori, se ejecuta el ícono Port Read, que lee el dato escrito con anterioridad y lo muestra en un cluster formado por leds. Es muy instructivo investigar el modo de funcionamiento de los otros IVs que se encuentran en la misma librería.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 78 ____________________________________________________________________________________________________________

Avance de Otros Temas

11

GPIB Es un protocolo de comunicación ampliamente difundido en la instrumentación. LabVIEW posee una paleta principal para usar con instrumentos que disponen de un puerto GPIB.

LabVIEW ofrece dos paletas secundarias, una bajo la norma IEEE 488 del año 1975 y otra más reciente llamada IEEE 488.2. Los fabricantes de instrumentos que disponen de puertos GPIB, ofrecen gratuitamente los drivers para ser usados con LabVIEW, y de esa forma permitirle al usuario desarrollar aplicaciones para sus instrumentos. Se pueden encontrar ejemplos hechos en la subcarpeta examples\instr\smplgpib.llb. RS232 y LPT Ya fueron comentados en el capítulo anterior. Actualmente muchos instrumentos disponen de puertos serie para control y/o exportación de datos. Se pueden encontrar ejemplos en examples\instr\smplserl.llb. VI Server Se debe tener instalado el Internet Toolkit. En la barra de menúes ir a Project > Internet Toolkit > Start HTTP Server. Se ejecutará un IV que se comporta como un verdadero servidor web.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 79 ____________________________________________________________________________________________________________

LabVIEW dispone de muchas herramientas para trabajar en internet, y hasta es posible realizar páginas Web aplicadas al control y a la instrumentación. Por ejemplo, ver y/o controlar IV a través de internet. RDA y Data Sockets Dos herramientas extremadamente potentes para el control y adquisición de datos a través de redes. A partir de la versión 5.1 de LabVIEW se incorporaron en el paquete básico. Procesamiento de Datos El paquete básico de LabVIEW, dispone de un buen grupo de herramientas para el procesamiento de señales de todo tipo.

National Instruments vende en forma separada distintos Toolkist para el procesamiento de señales, como el Sound and Vibration Toolset y el Signal Processing Toolset. El grupo de Toolkits que se ofrecen para usar con LabVIEW es muy amplio y escapa al alcance de este apunte. Para más info ver www.ni.com./catalog.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

Prólogo 80 ____________________________________________________________________________________________________________

Bibliografía • • • • • • • • • • •

The Measurement and Automation Catalog 2001, National Instruments Co, 2001. LabVIEW Data Aquisition Basics Manual, National Instruments Co, 1997. LabVIEW User Manual, National Instruments Co, 2000. LabVIEW Measurements Manual, National Instruments Co, 2000. Learning With LabVIEW, Robert H. Bishop, Addison Wesley Longman Inc, 1999. LabVIEW 3.1 Student Edition User Guide, Lisa Wells, Prentice Hall Inc, 1995. LabVIEW For Everyone, Lisa Wells y Jeffrey Travis, Prentice Hall Inc, 1997. LabVIEW Programación Gráfica Para El Control De Instrumentación, Antonio Mánuel Lázaro, Paraninfo, 1997. The Temperature Handbook, Omega Engineering Inc, 1995. Termocuple Reference Tables Based on the ITS 90, Omega Engineering Inc, 1993.

________________________________________________________________________________________ Introducción a LabVIEW - Rolando Ariel Ricón – [email protected]

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF