martes, 24 de enero de 2012

Crear gráfica a partir de tabla en acces

Hola a todos, en esta entrada vamos a realizar un proyecto que combina labiew y acces, de tal manera que nosotros, crearemos una tabla de datos en acces, concretamente tratará sobre temperaturas y tiempos en los que se tomaron, una vez  creada la tabla, labview se encargará de leer dichos datos anteriormente colocados y hacer una pequeña gráfica con ellos, así como también mostrarnos en 2 indicadores cual son el mayor y el menor valor de temperatura.
El proceso inicial es sencillo, como bien os he dicho lo primero que haremos será crear una tabla en acces para seguidamente “vincularla” a nuestro VI.
El primer paso será abrir un archivo de acces y darle a “crear” en la barra superior y seleccionar “tabla”, una vez le demos ya podremos ir rellenando los campos que deseamos. Como vamos a utilizar dos, temperatura  y fecha, habrá que seleccionar como tipo de datos, “fecha y hora” para la hora y “numérico” para la temperatura. Como os enseño en la imagen.







Una vez rellenemso la tabla debería salirnos algo más o menos así. Es importante recordar que la extensión de éste archivo debe ser “.mdb”.




Una vez tengamos creada la tabla de acces será el momento de “vincular” o “sincronizar” labview con acces, como os dije al principio, para eso lo que haremos será crear un archivo con extensión ”udl”, el cual seleccionaremos desde labview y sincronizaremos.
Para crearlo desde la main, iremos a “Tools” y le daremos a “create data link”, como os pongo en la imagen.









Después nos saldrá una ventana en la que deberemos elegir el tipo de proveedor, elegiremos el “Microsoft jet”. Y le daremos a siguiente.





Cuando le demos, nos habrá cambiado de pestaña a “conexión”, será en “selección de base de datos donde busquemos nuestra base creada. La seleccionaremos, le daremos a aceptar y automáticamente nos creará el archivo con extensión udl que necesitamos para sincronizar, después saldrá una ventana que nos dice donde queremos guardar link, entonces ahí seleccionaremos el archivo de extensión udl. Y listo.

Ahora pasaremos a intentar explicar de manera general el funcionamiento de nuestro VI, aquí os presento como sería el front panel y el diagrama.






Consta de una parte gráfica, así como también un conjunto de filas y de columnas, éstas contienen una serie de indicadores que nos servirán para ver qué es lo que exactamente leyó nuestro Vi en el archivo de acces.
Si os fijáis también, en la parte inferior hay 3 indicadores, éstos nos muestran el número de “tomas” que ha hecho, así como la temperatura máxima y mínima de todas ellas.




Ahora explicaremos el VI:
Como siempre lo primero que haremos será abrir el recurso y claro, también debemos poner la ruta del archivo que deseamos leer, como os pongo a continuación.





Primero utilizamos  dos “builds paths” primero para meter la ruta y luego para crear una sola salida, que será la que irá conectado a la apertura del recurso.
Lo que vamos a hacer ahora será leer los datos de nuestra tabla, pero es importante tener en cuenta que hay que hacer una pequeña transformación, los datos de la tabla se conocen como “variant”, debemos transformarlos en un array de 2d.

En esta parte del VI hago la transformación.






Después lo que hacemos es unir ambos arrays, tanto el de tiempo como el de temperatura en 1 solo, y sacamos de él un indicador, de tal manera se quedarán “concatenados”.




Esta grafica la vamos a crear con un for que acumule los datos que conformarán la gráfica. Para acertar en el número de veces que necesitamos que se repita el ciclo, necesita saber el número de tomas de temperatura que se hacen.
Cojo lo que es el array y, de lo que se acaba de leer, simplemente selecciono el número de tomas del array obtenido, es decir, el Vi lee 14, luego cojo los 14 números.

Tras esto nos vamos a meter en el bucle de for que he creado.

Aquí si os fijáis hay un pequeño cuadrado explicativo, lo que pretendo hacer en este bucle de for es simplemente “filtrar” toda la información que no necesito, reduciéndolo todo a 2 datos, tanto la temperatura en valor numérico como la fecha  en valor numérico. Si os fijáis tan solo salen dos líneas del for, estos son los valores a los que me refiero.







Y aquí, como os dije, saque simplemente dos valores, que serán los que confeccionen la gráfica. Utilizo una función “bundle” para unir ambos valores. Y tan solo me falta crear un gráfico y unirlo, obviamente luego lo configuro desde el front panel, así como el cursor y demás cosas.


 




Así como también utilizo un elemento que lo que hace es de un array de elementos, en este caso valores numéricos, saca la medida mayor y la menor. Aquí os muestro la imagen.





Como veis una vez metemos el array por un sitio, a la salida solo tenemos que conectar dos indicadores y ya está.

Por último cierro el recurso con la función “close” metida dentro de un flat sequence.

Ya estaría nuestro proyecto finalizado, espero que os sirva, un saludo!

No hay comentarios:

Publicar un comentario