¿Cómo Interpreto los Registros de Modbus Escritos en Valor Hexadecimal?



Software Primario:
Versión de Software Primario: 8.0
Versión de Software Primario Corregido: N/A
Software Secundario: Lookout

Problema:
Cuento con un dispositivo que se comunica a través del protocolo Modbus. El manual para este dispositivo me da los registros en formato hexadecimal. LabVIEW y Lookout utilizan el formato decimal para las direcciones de los registros. He probado convertirlos simplemente de hexadecimal a decimal, pero parece que no funciona.


Solución:
El esquema del direccionamiento del protocolo Modbus contiene varios rangos. Por ejemplo, está el rango de los 30000 y el rango de los 40000. Cada rango contiene direcciones crudas tal como diferentes tipos de dato (algunos son Booleanos pero otros son números de 16 dígitos). Para convertir registros con dirección en hexadecimal a su equivalente en decimal, primero debe averiguar en que rango de direcciones se supone deben estar. Luego convertir el hexadecimal a decimal y combinarlo con el rango. Revise el ejemplo al final para el controlador G7 Yasawa.

El manual para el controlador G7 Yasawa dice que utilice la dirección 05Ah para direccionar un registro de configuración. Resulta que el G7 utiliza el rango 40000 (lectura/escritura 16 bits). Si convierte el 5Ah a decimal obtiene 90. Combine este valor con el rango y obtendrá la dirección 40090. Escriba o lea este registro para controlar el registro de configuración en el G7 a través de Modbus.

Ligas Relacionadas:
[External Link] Conversion between Hex and Decimal
Developer Zone Tutorial: Getting started with Modbus in Lookout

Archivos Adjuntos:





Día del Reporte: 04/27/2006
Última Actualización: 05/04/2009
Identificación del Documento: 3WQB83XJ