el 06-11-2013 02:30 AM
Lo que me pasó es que por algun motivo perdía la sincronización y puesto que simplemente confiaba en el número de caracteres nunca podía vilver sincronizado: lo resolví testeando siempre las caracteristicas del mensaje por descargar (inicio y longitud) y quitando los que no son completos. Por esto sugiero testear el código de inicio mensaje: se puede adquirir siempre y acumular en un buffer, descargando los mensaje mientras los reconoces y eliminando los mensajes incompletos si los hay.
el 06-11-2013 03:30 AM
El último mensaje era para aitorsp
el 06-11-2013 03:39 AM
Por lo que veo la cupla está bien en el while como la has puesto. Para la velocidad deberías poner algo semejante a esto para los bytes 4 y 5:
Para la cupla hay otro método más simple que el mío en la página 2 del pdf que has ligado: ¿has probado realizarlo por tí solo? Si logras individuar el primer byte, el método va bien.
el 06-11-2013 03:54 AM
Hola Roberto:
abro un hilo titulado " Problema con sincronismo al recibir bytes " para comentarte lo del sincronismo
el 06-11-2013 12:19 PM
buen dia , tengo de la siguiente manera armado el vi. lo que no se es como identificar cada cadena que estoy recibiendo, si me pudiera decir como acomodarla y como saber cual es cada byte , se lo agradecería bastante, le muestro unas capturas para que vea los resultados que obtuve, pero no creo que estén bien, entonces necesito saber que cadenas estoy recibiendo, muchas gracias.
Me será de mucha ultilidad descifrar que cadenas recibir y lo mas importantes cuales, para empezar a hacer las operaciones como las puso.
Pero me es dificil identificar cada cadena de Bytes.
el 06-11-2013 02:46 PM
mi pregunta es, como tratar las 3 primeras cadenas de bytes, para obtener los datos del torque y poder maniobrar con ellos, y mi segunda duda es , como saber cual es el 4 y el 5 byte, para hacer operaciones y obtener los rpm, ya por ultimo como obtener el torque. He visto los ejemplos que me ha mandado, pero si me pudiera decir como tratar cada grupo de byes, lo agradecería bastante,
el 06-12-2013 01:22 AM
Hola tesla
hoy estoy fuera de la oficina por lo que no puedo proporcionarte algun código; sin embargo puedo darte alguna sugerencia.
Lo que necesitas es detectar el inicio del mensaje para que todo se sincronize. Por esto puedes añadir antes del while todo una lectura de la serial echa de esta manera:
A partir de eso, en el while debes leer siempre 6 caracteres y no más, para mantener el síncrono con la trama. Si haces así la detectión de valores tal y como está en tu código está bien. (aunque, bueno, podría hacerse de manera más simple siguiendo la página 2 de las especificaciones como te sugerí anteriormente. ¿lo has intentado?).
Pero antes que todo debes limpiar tu código: mirando por ejemplo a la secuencia de los vis de la serial se encuentran iconos pegados uno a otro e hilos que se confunden entre sí; esto no v bien: ¡dentro de poco tú mismo no entenderás qué dato va de un vi a otro! Ponle órden a tu código: un poco de tiempo ahora hace las cosas más claras para siempre.
el 06-12-2013 07:32 AM
gracias roberto, pero mi gran problema es que a la hora de recibir los datos, al parecer hay mucho ruido y los bits cambian muy rapido de valor, sin yo manipular el sensor de par , por eso preguntaba como hacer las operaciones con los bytes, las he realizado bien?, porfavor se que debo intentar mas, pero estoy completamente perdido en el tema, una disculpa de antemano, y gracias por toda la ayuda, me vendria bien un diagrama, esperare lo que sea, muchas gracias.
el 06-12-2013 07:58 AM
respecto a lo de que si he intentado lo de la pag 2 del pdf, lo he hecho pero sin tener exito, a la hora de multiplicar cada bye por las constantes creo que no lo estoy haciendo bien, 😞 , gracias de antemano, y me seria de gran ayuda una explicación paso a paso, soy principiante y me cuesta. Gracias
el 06-13-2013 02:18 AM
Hola.
Perdonad que interrumpa.
Seria conveniente saber si la transmsion de datos es continua o hay tiempo discreto entre tramas, si afectaria al resultado usar datos de 2 tramas contiguas y si seria adecuado procesar solo una trama de cada dos. Con estos datos, se podria diseñar un sistema bastante robusto.
Saludos.
Alipio.