el 07-08-2011 06:05 PM
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.
¡Resuelto! Ir a solución.
el 07-09-2011 04:03 AM
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.
el 07-09-2011 04:11 PM
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.
07-10-2011 03:25 AM - editado 07-10-2011 03:27 AM
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.
el 07-14-2011 10:15 AM
De nuevo muchas gracias, el programa funciona perfectamente
el 07-14-2011 10:23 AM
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.
el 07-15-2011 04:15 AM
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.
el 07-18-2011 11:42 AM
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.
el 07-19-2011 03:36 AM
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
el 07-20-2011 09:53 AM
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.