11.2.4 Codificación de datos
Modbus utiliza una representación 'big-endian' para direcciones y elementos de datos.
Esto significa que cuando se transmite una cantidad númerica mayor de un byte, el byte
MÁS importante se envía primero. A continuación se describen los diferentes tipos de
codificación y se muestra como se codifican los datos en el paquete Modbus/TCP. La
mayoría de los drivers cliente extraen los datos del paquete en el formato correcto para
su uso/visualización en el entorno cliente.
Binario
Un elemento binario se representa como un solo bit dentro de una palabra de datos.
Todos los datos binarios se empaquetan en palabras de datos de 16 bits a las que se
accede utilizando FC3, por lo que un registro individual contiene 16 bits de datos
binarios, cada uno con un significado específico.
Ejemplo (valor decimal): 43,605
Valor (Hex)
0xAA55
(101010100101)
Palabra de 16 bits (corta)
Se transmite un elemento de palabra de 16 bits con el byte MÁS importante primero.
FC3 lee elementos de 16 bits a la vez; por lo que cada uno de esos elementos de datos
encajará en un registro que se lea.
Ejemplo (valor decimal): 4,660
Valor (Hex)
0x1234
Palabra de 32 bits (int)
Se transmite un elemento de palabra de 32 bits con el byte MÁS importante primero,
después el siguiente MÁS importante, hasta que se transmitan todos los bytes. FC3 lee
elementos de 16 bits a la vez; por lo que se requieren dos registros para leer cada
elemento de datos de 32 bits.
Ejemplo (valor decimal): 305,419,896
Valor (Hex)
0x12345678
Primer registro
0xAA
(10101010)
Primer registro
0x12
Primer registro
1º
2º
0x12
0x34
Protocolo Modbus
Segundo registro
0x55
(01010101)
Segundo registro
0x34
Segundo registro
1º
2º
0x56
0x78
Página 149