¿Cómo pasar de hexadecimal a ASCII y viceversa en LabVIEW?

Actualizado el Jan 6, 2020

Reportado en

Software

  • LabVIEW Full
  • LabVIEW Base

Detalles del problema

Me estoy comunicando con un instrumento que envía información en forma de valores hexadecimales. Por ejemplo, en lugar de enviar la letra L, devuelve su correspondiente representación hexadecimal 4C. ¿Cómo puedo convertir esta representación hexadecimal mediante programación en su representación ASCII correspondiente en LabVIEW? ¿Qué sucede si necesito enviar información al instrumento en formato hexadecimal?

Solución

Convertir a ASCII desde Hexadecimal

Para convertir una cadena hexadecimal en una cadena ASCII, primero debe convertir la cadena hexadecimal a su representación decimal mediante la función Scan Value, que se encuentra en el functions palette en Programming »String» String/Number Conversion. Luego, puede convertir la representación decimal a su cadena ASCII equivalente utilizando la función Type Cast, que se encuentra en el Functions Palette en Mathematics »Numeric» Data Manipulation.

Convertir a hexadecimal desde ASCII

Para convertir una cadena ASCII en una cadena hexadecimal, primero debe convertir la cadena ASCII a su representación decimal utilizando la función Type Cast, que se encuentra en el functions palette en Mathematics »Numeric» Data Manipulation . Luego, puede convertir la representación decimal a su cadena hexadecimal equivalente mediante la función Number to Hexadecimal String, que se encuentra en el functions palette en Programming »String» String/Number Conversion.

Información adicional

La entrada de la cadena hexadecimal para los siguientes VIs tiene la forma FF not 0xFF. El 0x es la convención para indicar que un número está basado en hexadecimal en lugar de estar basado en decimal. Una cadena hexadímica estándar no lleva este indicador, y debe eliminarse antes de poder traducir el valor. Este comportamiento es idéntico a la cadena hexadecimal al número VI y se espera. Si tiene cadenas que tienen el formato 0xFF, puede usar un VI de Search/Slipt String con un carácter de búsqueda de x antes de que la cadena pase al Scan Value VI.