From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Graficar datos desde RS232 (serial)

Hola, buen dia

 

Estamos realizando unas mediciones mediante un sensor de concentracion de gases que se comunica a la computadora mediante puerto serial. Sin embargo, hemos estado teniendo problemas para separar las mediciones del sensor para que sea posible graficarlas y analizarlas.

 

Anexo viene un ejemplo de las mediciones que me arroja el sensor(cada nueva medicion empieza donde esta 3, Disabled, (y la hora y fecha)... etc.). No se si alguien pueda ayudarme a entender como realizarlo

 

Una disculpa si es una pregunta que ya se ha realizado o si es una pregunta muy basica

 

Saludos

0 kudos
Mensaje 1 de 12
6.296 Vistas

Hola DanielRamos,

 

Si quieres hacer la gráfica mientras se van adquiriendo datos desde el puerto; utilizando los VI's de VISA puedes manejar este tipo de adquisicion de datos por medio de Labview, teniendo en cuenta el protocolo de comunicacion que utiliza el sensor puedes descomponer la información que estas leyendo y asi manipularla con el fin de hacer lo que quieras (graficarla, analisis...)

 

http://www.ni.com/white-paper/7907/es/

 

O lo que se ocupa es gráficar los datos que se almacenan en ese archivo de texto?

 

0 kudos
Mensaje 2 de 12
6.291 Vistas

 

Pues mi pregunta va orientada a como descomponer esa informacion que se va leyendo (osea por ej pasarla a un array de tipo numerico para poder manipularla).. 

 

Al final lo que se guarda en el archivo de texto es lo mismo que manda el sensor asi que graficar eso seria lo mismo pero no en "tiempo real"

 

 

0 kudos
Mensaje 3 de 12
6.286 Vistas

Quizas este ejemplo de pueda ayudar. Utilizando el "String to Byte Arrayt" puedes tratar la salida del VISA Read como un arreglo de bytes y luego utilizar distintos VI's que para tu proposito

0 kudos
Mensaje 4 de 12
6.283 Vistas

 

Mmm no estoy seguro que eso funcione pq al final el string to byte solo da el entero correspondiente en codigo ascii no? 

0 kudos
Mensaje 5 de 12
6.276 Vistas

Que tipo de dato esperas en las lecturas del buffer?

0 kudos
Mensaje 6 de 12
6.270 Vistas

 

Pues como se puede ver en .txt son flotantes.. algo asi como por ej "1.3780e+02"

0 kudos
Mensaje 7 de 12
6.268 Vistas

Ok, lo que pasa es que del VISA Read  siempre saldrá un string (lectura del buffer), por medio del protocolo de comunicación que utilice tu sensor es posible tomar ese string y descomponerlo para obtener la información que desees, no sé si utiliza protocolo MODBUS o son puras instrucciones hexadecimales por eso te preguntaba que es lo que esperas en ese buffer, ocupas el manual del sensor con el fin de que podamos interpretar de forma correcta ese string. 

 

Puedes poner un ejemplo?, de una instrucción que se envie al puerto y la respuesta que se espera del mismo.

Y también, podrías poner el código que utilizas para adquirir esas señales y guardarlas en el .txt por favor.

 

0 kudos
Mensaje 8 de 12
6.259 Vistas

Si es el caso de que el string está compuesto solamente por el valor flotante, lo que puedes usar es lo siguiente

0 kudos
Mensaje 9 de 12
6.258 Vistas

 

En realidad el sensor no espera ninguna instruccion para empezar a mandar datos, si se conecta por puerto serial (como esta) solo empieza la toma de datos y los manda a travez del puerto de forma continua a una frecuencia de 1Hz. El sensor es un analizador de gas por Espectroscopía de absorción láser, y con el tomamos lecturas de bioxido de carbono y metano (tmb toma muestras de vapor de agua y las desviaciones estandar de esas mediciones (eso es lo que se ve en el .txt

 

 

0 kudos
Mensaje 10 de 12
6.228 Vistas