10-Escribir/Leer ACCESS+Gráfica.



En este proyecto vamos a trabajar con ACCESS desde LabVIEW.

Vamos a escribir en una tabla ACCESS una serie de valores de temperaturas y unas horas, leeremos la tabla y en función de los datos haremos una gráfica .

Para llevar un orden y facilitar las cosas crearemos una nueva carpeta donde introduciremos todo.

Dentro de esta carpeta daremos clic derecho del ratón y crearemos una nueva base de datos ACCESS.



La pondremos el nombre que queramos, yo la he llamado “temperatura”.

Dentro de este nuevo documento crearemos una nueva tabla, yo la he llamado “TEMPERATURA”.




En el interior de esta tabla vamos a nombrar la columna “TEMPERATURA” y la columna “HORA”.




Una vez hecho esto ya tenemos preparada nuestra base de datos y podemos ir a LabVIEW.

Lo primero que hacemos al abrir el VI es crear un archivo .UDL que contendrá la ruta de nuestra base de datos, para hacer esto vamos a “ Tools/Create Data Link..”.




Seleccionamos “Microsoft Jet 4.0 OLE DB Provider” y damos a siguiente.



En la siguiente ventana seleccionamos la ruta de nuestra base de datos y damos a aceptar.




Guardamos el .UDL y listo.





Ya hemos enlazado nuestro VI con la base de datos , ahora ya podemos comenzar a trabajar con ella.

A la izquierda del diagrama de bloques he puesto todos los controles e indicadores para llevar un orden.




Procedemos a crear los controles a través de los cuales introduciremos la fecha/hora y la temperatura.

Para crear los controles de tiempo vamos a “Programming/Timing/Time stamp Constant” y creamos una constante de tiempo, la cual convertiremos en control clicando el botón derecho del ratón y seleccionando “Change to control”.


Una vez creado el control, daremos “Ctrl+C” (copiar)  y “Crtl+V” (pegar) sobre el y haremos 10 controles de tiempo.

Seguidamente vamos a “Programming/Numeric/Numeric Constant” y hacemos el mismo proceso, la cambiamos a control y ponemos 10.

De esta forma tendremos ya los controles para introducir la hora y las temperaturas.



Ahora vamos a “Conectivity/Database”  y nos aparecerán las herramientas para trabajar con la base de datos.



Seleccionamos la herramienta “Open Conection”.




Creamos una constante en su pin “connection information” y ponemos la ruta del .UDL que hemos creado anteriormente.





Lo próximo que vamos a hacer va a ser vaciar la tabla “TEMPERATURA” dado que si tiene datos anteriores y no lo hacemos escribirá seguido de ellos, no encima.

Para hacer esto utilizamos la función “Delete Data”.




En su pin “table” ponemos “TEMPERATURA” que es el nombre que he dado a la tabla, en el pin “condition” ponemos “WHERE 1” que quiere decir siempre.


Seguidamente procedemos a introducir los datos con la herramienta “Insert Data”, la cual pondremos 10 veces para introducir cada uno de los datos.





A su pin “data” conectaremos un cluster para poder introducir la fecha/hora por un lado y la temperatura por otro.




Su pin “table” lo conectamos a la constante anteriormente utilizada “TEMPERATURA” y el pin “columns” a una constante array donde aparecerá “TEMPERATURA” y “HORA”.








Lo hacemos con cada uno de los controles.




Hemos terminado así la función de escritura, vamos a empezar a leer.

Utilizamos las herramientas “Execute Query" y “ Fetch recordset data” para posicionarnos en la columna  y sacar su contenido respectivamente.

Después de “Fetch recordset data” utilizamos la herramienta “Free object” para finalizar la lectura de la tabla. Hacemos todo esto dos veces para leer la columna “TEMPERATURA” y la columna "HORA".

La constante de “Excecute Query” será “Select TEMPERATURA FROM TEMPERATURA” que  significa que cogeremos la columna “TEMPERATURA” de la tabla “TEMPERATURA” y “Select HORA FROM TEMPERATURA” que significa que cogeremos la columna “HORA” de la tabla “TEMPERATURA”.



Utilizamos la función “Variant To Data” para convertir los datos que nos da “Fech recordset” a Array.



Ahora vamos a un  bucle “For loop” de 10 ciclos para sacar los 10 datos, dentro de este for utilizamos las funciones “Reshape Array “ e  “ Index Array” para ir sacando los valores, después lo convertimos en número para poder utilizarlo en la gráfica con “Fract/Exp String to Number”.

En la parte de la fecha y hora tenemos que hacer algo más dado que tenemos que desechar la fecha, los minutos y los segundos y extraer las horas para poder hacer la gráfica, para ello buscamos el espacio existente entre la fecha y la hora “20/01/2012(espacio)3:14:21” y cogemos lo que está después del espacio, de esta forma al convertirlo a número se quedará solo con la hora, en este ejemplo el “3”.

Esto lo hacemos con la herramienta “ Search/Split String ” .



Para finalizar creamos un “While Loop” con un retardo de 50ms y utilizamos la herramienta “Build XY Graph” para construir la gráfica y mostrarla con un indicador.

También añadimos un pulsador botón de Stop.




                                      VIDEO DEL PROGRAMA.

                                   


                                                DESCARGA VI.