Discusiones sobre Productos NI

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

Visa Read Error -1073807252

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.



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 kudos
Mensaje 11 de 75
1.700 Vistas

El último mensaje era para aitorsp



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 kudos
Mensaje 12 de 75
1.690 Vistas

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:

 

Sum7bit.png

 

 

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.



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 kudos
Mensaje 13 de 75
1.687 Vistas

Hola Roberto:

 

abro un hilo titulado " Problema con sincronismo al recibir bytes " para comentarte lo del sincronismo

 

 

0 kudos
Mensaje 14 de 75
1.698 Vistas

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.

Descargar todos
0 kudos
Mensaje 15 de 75
1.688 Vistas

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, 

0 kudos
Mensaje 16 de 75
1.676 Vistas

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:

 

  • leer caracteres uno por uno en un loop
  • salir del loop al primer carácter >= 128 (bit7 on)
  • leer 5 caracteres más sin hacer nada: esto garantiza que el primer caracter que viene el la serial es el inicio de la trama.

 

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.



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 kudos
Mensaje 17 de 75
1.649 Vistas

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.

0 kudos
Mensaje 18 de 75
1.644 Vistas

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

0 kudos
Mensaje 19 de 75
1.635 Vistas

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.

---------------------------------------------------------
"Qod natura non dat, Salmantica non praestat"
---------------------------------------------------------
0 kudos
Mensaje 20 de 75
1.602 Vistas