loga

ModBus
Big-Endian Little-Endian


H-1115
H-1115
 horímetro parcial, totalizador e registro contador de eventos.


HC-1180

HC-1180
ModBus RTU Horímetro, Contador de Eventos, Datalogger, Calendário. Para gerenciamento de máquinas, manutenção programada, controle de qualidade da ferramenta, etc.

H-1144

H-1144
Poupando espaço e simplificando a leitura diária:
Horímetro Quádruplo. Faz tomadas indivuduais para cada canal ou  uma só leitura dos quatro horímetros.
Três registros para cada horímetro, parcial, total e contador de eventos on/off do horímetro.


No protocolo ModBus os dados são codificados em Big-Endian.

Endianness; Endian; Big Endian; Little Endian. Vamos dissecar esses termos.

Tradução direta: Endianness ser refere a extremidade. Endian uma redução de Endianess.

Little Endian e Big Endian :

  • Os bytes são guardados por ordem crescente do seu “peso numérico” em endereços sucessivos da memória (extremidade menor primeiro ou little-endian).

  • Os bytes são guardados por ordem decrescente do seu “peso numérico” em endereços sucessivos da memória (extremidade maior primeiro ou big-endian).

Exemplo com um inteiro com dois bytes:

Quando em little-endian, olhando para os endereços da memória, o byte de menor ordem (LSB) estará no menor endereço de memória e o byte de maior ordem no maior endereço da memória.

Seja o número 1234 decimal ou 0x04D2 em hexa, armazenado no endereço 3 e 4 da memória.

memoria

Importante: A ordem nunca muda em um byte. Note que 04 e D2 não são alterados em cada byte, pois é natural dos humanos escreverem em big-endian. O que importa aqui somente quando estamos com estruturas de dados com mais de um byte.

Outro exemplo: 12 34 56 78 quatro bytes little-endian, ao mudar a ordem para big-endian ficará 78 56 34 12. Cada byte (exemplo 12), a ordem big-endian é mantida.

Muitos protocolos de comunicação usam big-endian para ordenação dos bytes de dados.

Não confundir: no protocolo ModBus, a ordem na qual os dados são transmitidos serialmente.

Quando as mensagens são transmitidas no padrão Modbus serial, cada caractere ou byte é enviado na ordem da esquerda para a direita, ou seja, LSB (least significant bit) … MSB (most significant bit).

Modbus RTU sem paridade:11 bits iniciando a transmissão do dado pelo bit 1 LSB

Isto não tem nada a ver com a ordem dos dados Big-Endian acima descrito.

Sobre endereços Modbus:
/artigos/ModBus_dificuldades_com_enderecos.html

Bibliografia

1- Modicon Modbus Protocol Reference Guide, AEG, PIMBUS-PI–MBUS–300 Rev. J, March 1996 [Modicon 1996]

2- MODBUS APPLICATION PROTOCOL SPECIFICATION V1.1b3 April 26, 2012

Críticas e correções enviar para:
educa@rodelta.com.br

Este artigo pode ser copiado em seu todo ou em parte para qualquer finalidade desde que cite sua origem.