Discusiones sobre Productos NI

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

grafica y array

¡Resuelto!
Ir a solución

Hola a todos, estoy intentando generar una grafica con datos recibidos por un PIC16F886 a traves del puerto RS232, cada vez que pulso el boton ADC el pic me envia una cadena de tipo decimal con el valor que quiero mostrar en una grafica, de momento me lo manda correctamente lo que pasa es que no debo hacer bien la conversion de string decimal a numero ya que solo se queda con la parte entera, no coje los decimales, es decir si me manda 6.45 en la grafica me aparece solo 6 y asi con todos los valores. Tambien me quiero guardar esos datos recibidos en un array para luego visualizarlos con excel, el tema de verlo en excel ya lo he conseguido lo que pasa es que no debo hacer bien el bucle for ya que me guarda el mismo dato en todas las celdas del arreglo. Adjunto el vi por si me podeis ayudar.

Gracias.

0 kudos
Mensaje 1 de 11
5.887 Vistas

Hola.

 

Vamos por partes: respecto a lo de la conversión de la string a numero, cuida el simbolo separador. Parece que el pic te envia . nosotros usamos ,

Si es el caso, en la vi de conversion hay un boleano que debes poner a false para que use el punto como separador.

 

En cuanto a los valores excel, haces un for para crear un array de 15 valores iguales.

Lo que debes hacer es crear un array y usar un shift register para añadir cada valor nuevo y convertirlo despues a  excel. Esto en el caso de que leas un solo valor de cada vez. Si no lo ves claro y solo lees un valor de cada vez, corrige lo del punto decimal y vuleve a poner el programa para modificarlo.

 

 

Obviamente, como no tengo el PIC el programa no funciona, pero creo que puedes ir modificando lo que te dije.

 

Saludos.

Alipio.

---------------------------------------------------------
"Qod natura non dat, Salmantica non praestat"
---------------------------------------------------------
0 kudos
Mensaje 2 de 11
5.880 Vistas

Muchas gracias Alipio, he puesto la constante false en la conversion y ya funciona pefectamente, ya ves, mira que estube rato mirando la ayuda y no conseguia hacer que funcione, seguro que no esto no se me olvida, respecto a lo del array, he estado mirando en la ayuda como crear los shift registers, pone que es para transferir un valor a la siguiente iteracion del bucle,  he estado probando y no se el dato que leo del puerto lo meto en el shift register y luego del otro shift lo meto en el array, no consigo que funcione.  Gracias de nuevo.

0 kudos
Mensaje 3 de 11
5.867 Vistas

Hola.

En los ejemplos de Labview tienes alguno sobre el uso de los shift register y feedbacknode.

 

Te envio tu programa modificado para el uso de feddback node, que debe añadir al array cada nuevo dato que se va generando.

Observa que a la izquierda del while tienes la inicializacion del array.

 

Mira a ver si te funciona así.

 

Saludos.

Alipio.

---------------------------------------------------------
"Qod natura non dat, Salmantica non praestat"
---------------------------------------------------------
0 kudos
Mensaje 4 de 11
5.859 Vistas

De nuevo muchas gracias, el programa funciona perfectamente

0 kudos
Mensaje 5 de 11
5.829 Vistas

Si no es mucho abusar tengo en el programa ahora los dos array que guardan perfectamente los datos, ahora lo que quiero es que me cree un archivo txt para mostrarlo al final de la adquisicion de datos, he conseguido hacerlo  para que me muestre un array, pero no consigo para que me muestre en el mismo fichero de texto una columna para un array y otra columna para el otro array. Te adjunto el VI de la estructura que crea el archivo de txt y ademas adjunto el programa completo por si a alguien le sirve, este programa manda comandos por Rs232 al pic y el pic segun el comando recibido devuelve un valor o no.

 

Gracias.

Descargar todos
0 kudos
Mensaje 6 de 11
5.826 Vistas

Hola.

 

No entiendo por qué conviertes los numeros a I32 ya que lo que haces es truncar los decimales.

 

Te adjunto un ejemplo de como convertir el array numerico a array de strings y de como presentarlo en forma de tabla, que es una manera elegante de presentar los resultados en pantalla. Tambien puedes ver como se convierte a fichero txt de dos columnas para guardarlo como texto y poder verlo con cuaquier editor. En este caso puedes inicializar la string con la cabecea de las columnas.

 

En ambos casos se pueden hacer muchas cosas para mejorar la presentacion.

 

Saludos.

Alipio.

---------------------------------------------------------
"Qod natura non dat, Salmantica non praestat"
---------------------------------------------------------
0 kudos
Mensaje 7 de 11
5.814 Vistas

Hola Alipio gracias de nuevo por tu magnifica ayuda, pero estoy teniendo problemas para utilizar este vi. Mi problema es que cuando sustituyo en el bucle for la generacion aleatoria de numeros por mis dos arrays no consigo que se muestren correctamente, ya que me aparece en el mismo valor en la columna tension y temperatura, he estado jugando un poco con lo que me pasaste y he hecho este archivo que crea dos arrays de forma aleatoria(como hiciste en tu archivo), los puedo borrar y luego al pasarlo a texto me ocurre el mismo problema que se repite el valor en las dos columnas.

Gracias.

 

 

0 kudos
Mensaje 8 de 11
5.790 Vistas
Solución
Aceptado por el autor del tema ferorts

Hola.

 

Observa que sobra el for puesto que ya tienes los arrays de 150 valores que quieres presentar..

Mira tambien la forma de borrar un array.

 

Saludos.

Alipio

---------------------------------------------------------
"Qod natura non dat, Salmantica non praestat"
---------------------------------------------------------
0 kudos
Mensaje 9 de 11
5.782 Vistas

Gracias de nuevo, ahora si que consigo mostrar correctamente los valores, respecto a borrar los arrays lo habia hecho de otra forma que me estaba dando problemas ya que no siempre se borraban. Como tu lo has puesto esta perfecto. Gracias.

 

0 kudos
Mensaje 10 de 11
5.770 Vistas