el 11-09-2011 10:17 AM
cordial saludo
estoy adquiriendo datos de una báscula, la cual los envia en formado hexadecimal.
por ejemplo si la báscula esta pesando una masa de 145g me envia los siguientes datos (0x00, 0x45, 0x01) como pueden ver me envia los datos en desorden, el dato 0x00 me indica el signo, el dato 0x45 indican el bit 2y 3 del dato real y el 0x01 me indica el bit 1 del dato real...necesito saber como puedo visualizar el 145 y poderlo graficar
muchas gracias
11-09-2011 12:44 PM - editado 11-09-2011 12:48 PM
Hola Fercho2315
Tengo algunas dudas sobre la báscula que mencionas.
En primer lugar, no tengo claro eso del signo. Una báscula una vez tarada a 0 solo puede pesar en positivo.
Otra cosa sería que usase ese byte para indicar alguna condición de error.
En segundo lugar, 145 g (decimal) no codifica como 0x45 0x01 salvo que use algun sistema en el que el valor binario tendria que ser convertido al valor ASCII corespondiente o multiplicarlo por su peso en el lugar que ocupa para procesarlo, caso en el que la báscula estaria limitada a 9,999 Kg.
En tercer lugar, convertir 0x45 (8 bits) a 2 bits del dato real como dices tu ...no lo veo claro.
Luego si quieres ayuda seria conveniente:
1. Poner datos reales capturados de la bascula para diferentes medidas.
2. Modelo del aparato por si usa sistemas propietarios sin documentar.
3. Programa de Labview que adquiere los datos.
Y veremos de ayudarte.
Saludos.
Alipio.
el 11-09-2011 12:50 PM
Hola Fercho,
En primer lugar, la data no está exactamente en formato hexadecimal, ya que en formato hexadecimal 145 se representa como 0x91, y cuando haces referencia a los bits 1, 2 y 3, tampoco es correcto hablar de bits sino de los digitos.
Teniendo claro que un byte son 8 bits y esta formado por dos nibbles de 4 bits cada uno, lo que tenemos es que tu data se recibe en 3 bytes, donde el primer byte indica el signo 0x00 positivo y falta que definas si el valor para negativo es 0x01 o 0xFF o cual, el segundo byte trae en cada nibble los dos digitos menos significativos, y el ultimo byte los digitos mas significativos.
Aquí esta mi solución a tu problema:
Saludos Cordiales,
el 11-10-2011 10:52 AM
amigos muchas gracias por su pronta respuesta, les adjunto la hoja de datos de la balanza que estoy utilizando donde se explica claramente como envìa los datos
muchas gracias por su valiosa colaboraciòn
el 11-10-2011 10:54 AM
amigos adjunt la hoja de datos de la balanza donde se muestra con claridad la forma en que envìa los datos, y como les comente anteriormente necesito saber la forma en que los puedo graficar
el 11-10-2011 01:18 PM
Hola,
En la especificación hablas de 12 bytes pero el ejemplo es solo de 4 bytes, asi que quede en las mismas.
Para graficar puedes tomar los datos que vas convirtiendo y mandandolos a un Graph Chart.
Saludos Cordiales,
11-10-2011 01:21 PM - editado 11-10-2011 01:26 PM
luis muchas gracias por su pronta respuesta.....quizás yo estaba equivocado, me gustaria que tuviera encuenta los datos de la balanza en el archivo que adjunte.
luis en estos momentos yo estoy usando uno de los ejemplos q trae labview para adquisicion de datos y lo que pasa es que lo que puedo visualizar es una cadena de caracteres de la siguiente forma 0x00 0x01 0x45 para el caso en que la báscula este pesando una masa de 145gramos, lo que necesito es poder visualizar unicamente el 145 y poderlo graficar
muchas gracias por su valiosa ayuda
el 11-10-2011 02:06 PM
Hola Fercho,
En ejemplo que subi antes te indica como tomar los bytes y convertirlos al numero, puedes subir tu VI de aquision para abrirlo en la version de LabVIEW 2009 y ver si esta coherente y ayudarte a integrarlo con la solución que te deje.
Saludos Cordiales,