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: 

Casting string de salida TCP Read a entero de 4 Bytes

Hola,

 

soy nuevo en el foro y en el uso de LabView y es posible que esté preguntando alguna obviedad o algo resuelto previamente, aunque no he encontrado algún topic que me sirva.
Tengo desarrollada una aplicación en Python de tipo cliente - servidor que se conecta con una NI myRIO para ésta filtre los datos. Utilizo TCP y la conexión es exitosa entre ambos módulos de la aplicación. Ahora quiero filtrar los datos, y por lo tanto, para ello necesito acceder al contenido obtenido por los módulos TCP Read que implementa LabView. Mi problema es el siguiente:

Como cabecera para los mensajes de mi aplicación, envío paquetes de tamaño fijo, 24 bytes. Quiero leer el número codificado en 4 bytes situado entre las posiciones 15 y 19 de dicho mensaje (0-23). Cuando recibo dicha cabecera, utilizo el módulo de String Subset con offset 15 y longitud 4, y posteriormente realizo un Type Casting a U32, pero el valor que obtengo no es el que debería. No puedo más que pensar que, o bien no estoy realizando bien la extracción del dato, o bien no estoy realizando bien el casting, pues el dato, tras haberlo "leído" mal en el paso intermedio (myRIO) es bien interpretado en el cliente final de Python, extraído en esa misma posición, y decodificando con 4 Bytes. Espero haberme explicado bien. Adjunto un esquema básico de lo que estoy tratando de hacer.

Esquema.png

0 kudos
Mensaje 1 de 1
3.642 Vistas