Convierta Hexadecimal a Decimal o ASCII en LabVIEW

Actualizado el Nov 12, 2020

Ambiente

Software

  • LabVIEW

  • En LabVIEW, ¿cómo convierto un valor hexadecimal a un valor decimal? Actualmente, estoy tratando de utilizar la función Scan Value, pero no estoy seguro de qué necesito para conectarme.
  • 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, envía su correspondiente representación hexadecimal 4C. ¿Cómo puedo convertir programáticamente esta representación hexadecimal en su representación ASCII correspondiente en LabVIEW? ¿Qué sucede si necesito enviar información al instrumento en hexadecimal?

Conversión de hexadecimal a decimal

  1. Para convertir la cadena hexadecimal a su representación decimal, utilice la función de valor de exploración . Esta función se encuentra en la paleta de funciones en Programación »Cadena» Conversión de cadena / número .
  2. Haga clic derecho en la terminal de entrada de cadena de este VI y seleccione Crear »Control. Esto generará una cadena constante.
  3. Haga clic derecho en el terminal de entrada de cadena de formato de este VI y seleccione Crear »Constante. Para especificar el formato hexadecimal, ingrese% x en esta constante.
  4. Haga clic derecho en la terminal de entrada predeterminada (0dbl) de este VI y seleccione Crear »Constante. Cambie la representación de esta constante a Integer. Para hacer esto, haga clic derecho en la constante y seleccione Representación. Luego, seleccione el número entero correspondiente que funcione mejor para el rango de valores que necesita. El rango de valores para cada tipo de datos se describe en la Tabla de tipos de datos numéricos .
  5. Haga clic derecho en el terminal de salida de valor de este VI y seleccione Create »Indicator
  6. A continuación, se muestra un ejemplo del resultado final mediante estos pasos:

Conversión de hexadecimal a ASCII

  1. Para convertir una cadena hexadecimal en una cadena ASCII, primero debe convertir la cadena hexadecimal a su representación decimal utilizando la función Scan Value. Primero complete los pasos 1-5 en la subsección Conversión de hexadecimal a decimal anterior.
  2. A continuación, puede convertir la representación decimal a su cadena ASCII equivalente utilizando la función Type Cast , que se encuentra en la paleta de funciones en Matemáticas »Numérico» Manipulación de datos .
  3. Conecte el cable conectado al indicador decimal al terminal de entrada x .
  4. Haga clic con el botón derecho en el terminal de salida * (tipo *) & x de la función Type Cast y seleccione Crear »Indicador.
  5. A continuación, se muestra un ejemplo del resultado final mediante estos pasos:

Conversión de ASCII a hexadecimal

  1. Para convertir la cadena ASCII a su representación hexadecimal, use la función Número a cadena hexadecimal . Esta función se encuentra en la paleta de funciones en Programación »Cadena» Conversión de cadena / número .
  2. Haga clic con el botón derecho en el interminal de salida de cadena entera hexadecimal de este VI y seleccione Crear »Indicador.
  3. Coloque la función Type Cast en el diagrama de bloques. Este VI se encuentra en la paleta de funciones en Matemáticas »Numérico» Manipulación de datos .
  4. Conecte una constante numérica de valor 0 al terminal de tipo de la función Type Cast.
  5. Haga clic en el terminal de salida * (tipo *) & x de la función Type Cast y conéctelo al terminal de entrada numérica de la función Number to Hexadecimal String.
  6. Conecte una constante de cadena en el terminal x de la función Type Cast.
  7. A continuación, se muestra un ejemplo del resultado final mediante estos pasos:

    Información Adicional

    La entrada de cadena hexadecimal para los VI anteriores tiene el formato FF, no 0xFF. El 0x es la convención para indicar que un número se basa en hexadecimal en lugar de decimal. Una cadena hexademica estándar no lleva este indicador y debe eliminarse antes de que se pueda 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 cadena de búsqueda / división con un carácter de búsqueda de x antes de que la cadena se pase al VI Scan Value.