LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

graficar datos de base de datos

Solved!
Go to solution
Hola. 
Estoy realizando tres consultas a una base de datos almacenada en PostgreSQL. estoy utilizando un cluster para graficar la potencia U1 vrs Tiempo, Potencia U2 vrs Tiempo, todo en un mismo gráfico. Cuando le agrego en el eje "y" una tercera Potencia (Potencia U3), el cluster no me lo permite y me da error. Adjunto una imagen para referencia y el VI q estoy utilizando
¿qué podrá ser?
Download All
0 Kudos
Message 1 of 6
(3,627 Views)

Que tal Pablo A,

 

Me llama la atención que tengas 3 Vis en paralelo para hacer consultas, lo estás haciendo incorrectamente, un solo query bien estructurado te sirve para traer información de la base de datos, ejemplo:

 

La tabla "Mediciones" donde 4 de sus columnas son "Fecha", "Temperatura", "Presion", "Volumen" que son las columnas que te interesa graficar, entonces el query correspondiente para obtener todos los registros que correspondan a esos campos en la tabla sería:

 

 

SELECT Fecha, Temperatura, Presion, Volumen FROM Mediciones

 

Ese query te regresa un Variant con los datos de las 4 columnas, después necesitas descomponer el variant para utilizar esa información.

 

En cuanto a la gráfica XY, más tarde te agrego un ejemplo.

 

Que tengas buen día.

 

 

 

Arturo Gómez | Applications Engineering
Certified LabVIEW Associated Developer

National Instruments Latin America
01-800-010-0793
ni.com/support
0 Kudos
Message 2 of 6
(3,602 Views)

Pablo A,

 

Esta es la liga para que bajes el ejemplo que te hice sobre Multiplot XY Graph.

 

http://decibel.ni.com/content/docs/DOC-5129

 

 

Que tengas buen día.

Arturo Gómez | Applications Engineering
Certified LabVIEW Associated Developer

National Instruments Latin America
01-800-010-0793
ni.com/support
0 Kudos
Message 3 of 6
(3,596 Views)
El problema es que no puedo hacer esa consulta como dices porque en una misma columna (tagname) se están almacenando todos los nombres de las variables: llámese potencia U1, Potencia U2, Potencia U3, Caudad U1, Caudal U2 y Caudal U3. Te adjunto un printscreen de lo que almacena esa columna.
0 Kudos
Message 4 of 6
(3,590 Views)
Solution
Accepted by topic author Pablo A

Hola Pablo A,

 

Ya veo, el problema es que definiste mal tu tabla, tenías que haber definido distintas tablas, por ejemplo las tablas Caudal y Potencia, en la imagen no vienen los nombres de las columnas, pero por ejemplo la tabla Caudal podría contener las columnas ID_C, Tipo_C, Medicion_C, Fecha_C y así para la tabla Potencia. De esta forma, podrías hacer un query multitabla, ejemplo:

 

SELECT Caudal.Medicion_C, Potencia.Medicion_P FROM Caudal, Potencia WHERE Caudal.Tipo_C = 'Caudal U3' AND Potencia.Tipo_P = 'Potencia U3'

 

Con ese query obtienes todas las mediciones de Caudal U3 y Potencia U3.

 

Una vez más te recomiendo adentrarte más en la teoría de bases de datos. Existe una gran bibliografía al respecto, donde algunos de los temas tienen que ver con la estructura de una base, reglas para definir las tablas, restricciones, etc. Todo esto con el fin de garantizar la integridad de la base.

 

Si no deseas corregir tu base, en última instancia te recomiendo que los queries los realices de forma secuencial y no en paralelo, valga la redundancia, para cuidar la integridad de la base.

 

Nota: Te funcionó el ejemplo del multiplot ??

 

 

Que tengas un buen día.

Arturo Gómez | Applications Engineering
Certified LabVIEW Associated Developer

National Instruments Latin America
01-800-010-0793
ni.com/support
0 Kudos
Message 5 of 6
(3,576 Views)

Hola, el VI de multiplot me funcionó, muchas gracias.

 

Y arreglé un poco mi VI para que no haga las consultas en paralelo.

 

Excelente tu ayuda, te felicito. Gracias.

 

Te tengo otra pregunta. Voy a cerrar este Subject y te explico en el que tiene el subject "SQL server connection information".

0 Kudos
Message 6 of 6
(3,554 Views)