sábado, 16 de diciembre de 2017

Introduccion a LabVIEW

El objetivo de esta entrada es el de hacer una introduccion rapida y simple a LabVIEW. Yo utilizo el 2014, pero todas las versiones funcionan igual.

Una vez que el LabVIEW esta instalado, lo que hacemos es abrirlo. Una vez abierto, hacemos clic en File > New VI. Ahi se abren dos ventanas (o una, puede que depende de la version y luego hay que abrir la otra desde ahi). Para pasar de una ventana a otra (o abrir la otra en caso de que no se haya abierto), hay dos formas muy simples con el teclado. Una es pulsar ctrl+E. La otra, es pulsar ctrl+T. Os recomiendo probar ambas y que veais la diferencia vosotros.




Una de las ventanas se llama Front Panel. Aqui se colocan las entradas y las salidas y es la interfaz grafica que ve el usuario que esta utilizando el programa. La otra ventana es el Block Diagram. Esta es la parte donde se realiza realmente la programacion.


Para seguir explicando, voy a hacer rapidamente este ejercicio simple:


Para ello, vamos al Front Panel y, hacemos clic en el con el boton derecho del raton. Este boton magico nos sirve para todo en LabVIEW. Se abrira un menu como este.


A continuacion, en el apartado de Numeric, tenemos entradas y salidas numericas. Para este ejercicio, usaremos un "Numeric Control" y un "Numeric Indicator" (Control Numerico e Indicador Numerico, para los que no sepais ingles).


Si ahora vamos al Block Diagram, vemos que se nos han creado alli un par de cuadradillos la mar de chulos. Si nos fijamos en ellos, uno tiene un triangulillo a la izquierda y otro a la derecha. El de la entrada, lo tiene a la derecha, y el indicador lo tiene a izquierda. Si unimos la salida de uno con la entrada del otro (haciendo clic y arrastrando en desde una entrada hasta la salida), lo que hariamos seria representar el valor introducido en el indicador numerico, aunque eso no es lo que pretendemos.

Nota: si queremos cambiar los nombres de las variables, tenemos que hacer doble click en el nombre de la variable.

Lo siguiente que hacemos es hacer clic en los elementos que queremos introducir en el programa y colocarlos donde nos interese. En este caso, igual que en la imagen del propio enunciado. Para sumar, se hace con el "+", y para multiplicar, se hace con el "x". (Esto lo pongo por si acaso).


Para introducir una constante, vais a DBL Numeric Constant. Numeric Constant tambien valdria, aunque no es un dato del mismo tipo y es posible que de algun tipo de problema. Para saber cuando usar cada una, es recomendable fijarse en los colores.


NOTA IMPORTANTE: Si tenemos por ejemplo una constante y queremos otra igual, para no tener que hacerlo mediante este metodo porque puede resultar tedioso, lo que hay que hacer es pulsar ctrl y sin soltar el ctrl, haces clic con el boton izquierdo del raton y arrastras la constante (o lo que sea) hacia donde quieres tener la copia. Si, esto funciona con el ctrl+C y el ctrl+V, pero el problema es que cuando dentro de un poco os explique las variables locales, la unica forma de hacerlo es con el ctrl y arrastrar. Supongo que si leeis esto, tendreis curiosidad y comprobareis lo que pasa al hacerlo de las dos maneras.

Para cambiar el valor de una constante, basta con hacer doble clic sobre ella y escribir el valor que queremos que tenga.

Para ejecutar el programa, hay que hacer clic en "esa flecha loca" que hay en la parte superior izquierda de la ventana que tengais abierta. Yo os recomiendo ejecutar el programa desde el Front Panel, ya que a este nivel que estamos haciendo cosas, es la mejor opcion.


Y al ejecutar el programa, deberia funcionar sin problemas.

Para las Variables Locales:
-Para crear una variable local, hay que ir al Block Diagram, elegir la variable de la que queremos crear una variable, y hacer clic en ella con el boton derecho del raton. Despues, vamos a Create y luego a Local Variable. Entonces se nos creara una variable local.
-Para hacer que una variable sea de entrada o de salida (tal vez queramos escribir en ella o leer su valor), lo que hay que hacer es hacer clic en la variable con el boton derecho del raton, y hacer clic en "Change to Read".
Es posible que no llegue a usar las variables locales en ninguno de estos ejemplos, pero NO ES LO CORRECTO.

Para los COMENTARIOS: basta con hacer doble clic por donde quieras y comenzar a escribir. Se pueden hacer en cualquier parte del programa.

Para la AYUDA: pulsar ctrl+H y pasar el raton por encima del elemento que queremos consultar.

Hasta aqui la introduccion basica de LabVIEW. Seguire en cuanto pueda haciendo mas cosas algo mas complejas. Para cualquier duda, dejame un comentario por aqui y lo respondere en cuanto pueda.


Ejercicio 3:


Para este ejercicio, os explicare un par de cosas tambien basicas que aun no habia explicado anteriormente. En LabVIEW, hay principalmente 3 tipos de graficos. El Waveform Chart, el Wafeform Graph y el XY Graph.

El Waveform Chart es un tipo de grafico que recibe un dato y lo representa a la derecha de todos los datos anteriores que tenga (si es que tiene alguno).

El Wafeform Graph es un grafico que tu le das un conjunto de datos y al acabar, los representa todos.

El XY Graph es un grafico al que le das un conjunto de coordenadas (X y Y) y al acabar, representa todos los puntos.

En este ejercicio, el que vamos a utilizar es el Waveform Chart.

Los valores de entrada que vamos a usar en este ejercicio se encuentran en el apartado de Numeric, visible con el boton derecho. Esto solo se puede seleccionar desde el  Front Panel.

Para introducir las señales, yo personalmente no se por donde se encuentran exactamente, asi que se encuentran facilmente introduciendo "simulate signal" en el buscador, que se encuentra en la parte superior derecha de la pantalla. Para unir las señales, he hecho lo mismo, pero buscando el "merge signals".

Nota importante: En LabVIEW NO se pueden unir dos hilos asi, sin mas.

Para el bucle, lo que hay que hacer es hacer clic con el boton derecho, luego ir a Structures, y luego seleccionar la zona que queremos que este dentro del bucle. Para salir del bucle, hay que crear un boton de Stop. Este boton debe unirse al circulito rojo que se encuentra en la parte inferior derecha, dentro del bucle. Es posible que de algun tipo de error al conectar el boton, para solucionarlo, boton derecho sobre el boton (en el front panel), y luego "mechanical action" y seleccionar una que funcione mejor. Son 6, la del centro de abajo (Latch when released) funciona.

Para el delay, boton derecho > timing > while. Para decirle el tiempo, hay que crear una constante (en ms) y unirlo.

Nota: si la liamos y se nos queda pillado el programa por culpa del bucle (u otros motivos), hay un boton rojo redondito muy simpatico al lado de la flecha de ejecutar el programa, que nos sacara del apuro.


Ejercicio 4:


Este ejercicio, basicamente consiste en copiar el propio diagrama que hay ahi, no tiene mucho mas misterio. A la hora de introducir numeros complejos es bastante mas complicado de hacer. Yo lo he hecho con una estructura Case, comprobando en la entrada si la raiz es mayor o menor que 0. Si surgen dudas con esto, avisadme.

Ejercicio 5:

O sea, el tipico ejercicio del nivel de un tanque. Yo creo que ese indicador azul es tan solo para la gente que esta aprendiendo LabVIEW, ya que es el ejercicio mas tipico. Es un copia-pega de la imagen y ya, no tiene mas, aunque yo lo meto en un bucle while, para no tener que andar ejecutandolo constantemente.

Ejercicio 6:


Este ejercicio, en principio, puede parecer el mas complicado de todos hasta ahora, o eso pense yo, pero en realidad no. para crear una matriz, la forma de hacerlo normalmente suele ser una que no es la que yo voy a explicar. Por esa misma razon, LabVIEW da un Warning (se puede ver en la imagen anterior un punto rojo donde llegan los hilos a los operadores de las matrices). A mi manera no da ningun warning ^^

Front Panel: para sacar una matriz: boton derecho>real matriz

Block diagram: boton derecho>Mathematics>linear algebra. Ahi estan las operaciones, aunque hay que buscar bien entre todo lo que hay. No hace falta entrar en Matrix, esta en linear algebra!

Y se conecta todo y ya, no tiene mas dificultad.


Ejercicio 8:
De los ejercicios mas faciles que se pueden poner en LabVIEW, si no fuera por lo de la concurrencia.

Para añadir la concurrencia, lo que hay que hacer es hacer un programa normal, y luego, en el cuadrado que aparece cuando un hilo corta la entrada del bucle, hacer clic en el cuadrado y luego "add shift register". Yo os voy a dejar aqui una forma distinta de hacerlo que me parece bastante mas facil. es igual, pero con un bucle for:



Y ya esta, no tiene mas misterio. Para cualquier duda de lo que sea, dejadme un comentario por aqui y os lo resolvere.







No hay comentarios:

Publicar un comentario