Discusiones sobre Productos NI

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

Caracter a numerico

¡Resuelto!
Ir a solución

Soy nuevo en el foro espero puedan ayudarme.

tengo un sensor  de Micro epilson   el cual  mide temperatura , tiene un modo de comunicacion  Burstmode en el cual se encuentra configurado actualmente.

http://www.micro-epsilon.com/download/manuals/man--thermoMETER-CSmicro--en.pdf

Donde de acuerdo a  la hoja de datos proporciona por ellos 

 me envia 2 Bytescomo ientificador siendo estos AAAA (estos en hexadecimal) + 2 bytes de mi temperatura ( en hexadecimal.)

ejemplo:example burstmode.PNG

SIn embargo al recibir obtengo lo siguiente.

 

LECTURA CS2W.PNG

 

 

Al convertirlo a hexadeciaml haciendo clic derecho sobre el indicdor  "BUFFER ASCII" -->  HEX DISPLAY

Me lo representa dela siguiente forma 

AAAA 04CE AAAA 04CE 

 

LECTURA CS2W EN HEXADECIAMAL.PNG

 

 

Que son los valores que realmente debería de leer en un inicio de ejecución del  programa.

El problema esta en  sacar  todas las "AAAA"  seguido de convertir, los  2 bytes restantes en un numero. Para poder realizar la operación de conversión de temperatura. Quedando estancado al no poder realizar la conversión de un caracter asciii a numeric lo cual debería ser relativamente fácil.

Al utilizar las funciones de match paterm no me reconoce el valor "AAAA" , aun sacando todas las "AAAA" con la función String Subset, debería de poder convertidas con un Hexadecimal string to number sin embargo cualquier valor leído es "o", aun pasando directamente los valores leído en el  Puerto Serial 

Anexo mi programa  Espero puedan ayudarme

0 kudos
Mensaje 1 de 3
4.572 Vistas
Solución
Aceptado por lostman200

En tu código estás asumiendo que la cadena recibida contiene la representación en hexa de los valores, como si el equipo transmitiera el mensaje "AAAA 04CE": esto no corresponde a la documentación (por ejemplo, es claro que el ecabezamiento no es la cadena "AAAA" -4 caracteres- sino que son dos caracteres solamente).

 

Lo que recibes es una cadena de bytes que debes interpretar directamente desde el formato binario (binary string). Puedes hacer algo así:

conversion.png



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?
Mensaje 2 de 3
4.556 Vistas

 

 

Muchas gracias me ha sido de mucha ayuda, he implementado tu codigo . y el resultado es lo siguiente.

 

CSmini2W funcionando.PNG

De nuevo gracias por la ayuda proporcionada.

0 kudos
Mensaje 3 de 3
4.545 Vistas