Você está na página 1de 19

07/11/23, 07:53 Modbus: fundamentos e aplicações -Saiba mais sobre o Protocolo Modbus

FAVORITAR

 07/04/2014

 Carlos Márcio Freitas

 30 Comentários

Protocolo Modbus: Fundamentos e Aplicações

ÍNDICE DE CONTEÚDO

 Sobre o Protocolo Modbus


 Modos de transmissão
 Endereços
 Código da Função
 Modo de transmissão ASCII
 Modbus – Modo de transmissão RTU (Remote Terminal Unit)
 Modbus TCP
 Referências

Este post faz parte da série Protocolo Modbus. Leia também os outros posts da série:
Protocolo Modbus: Fundamentos e Aplicações

Protocolo Modbus: Exemplos e Simuladores

https://embarcados.com.br/protocolo-modbus/ 1/19
07/11/23, 07:53 Modbus: fundamentos e aplicações -Saiba mais sobre o Protocolo Modbus

O protocolo Modbus é uma estrutura de mensagem aberta desenvolvida pela Modicon  na década de 70, utilizada para
comunicação entre dispositivos mestre-escravo / cliente-servidor. A Modicon foi posteriormente adquirida pela Schneider e
os direitos sobre o protocolo foram liberados pela Organização Modbus. Muitos equipamentos industriais utilizam o
Modbus como protocolo de comunicação, e graças às suas características, este protocolo também tem sido utilizado em
uma vasta gama de aplicações como:

Instrumentos e equipamentos de laboratório;

Automação residencial;

Automação de navios.

Sobre o Protocolo Modbus


O Modbus é um dos protocolos mais utilizados em automação industrial, graças à sua simplicidade e facilidade de
implementação, podendo ser utilizado em diversos padrões de meio físico, como:

-- publicidade --

RS-232;

RS-485;

Ethernet TCP/IP (MODBUS TCP).

A velocidade de comunicação varia em cada um desses padrões, bem como o comprimento máximo da rede e o número
máximo de dispositivos conectados.

O padrão RS-232 (Recommendad Standart-232) ou EIA-232 (Electronic Industries Alliance-232) é utilizado apenas em
comunicações do tipo ponto a ponto, ou seja, só admite dois dispositivos na rede, que no caso do protocolo Modbus
representa o mestre e 1 escravo. A velocidade máxima desse padrão está em torno de 115Kbps, mas em alguns casos
podem ser encontradas taxas um pouco maiores, a distância máxima entre os dispositivos da rede está em torno de 30m.

O padrão RS-485 (Recommendad Standart-485) ou EIA-485 (Electronic Industries Alliance-485) é muito utilizado na
indústria e sem dúvida é um dos padrões mais utilizados pelo protocolo Modbus. Esse padrão permite trabalhar com taxas
de comunicação que podem chegar a 12Mbps e em alguns casos até 50Mbps, vale lembrar que quanto maior o
comprimento da rede menor será a velocidade de comunicação, a distância máxima da rede está em torno de 1200m, e o
número máximo de dispositivos no barramento da rede é de 32.

Figura 1 – RS485 para protocolo Modbus

O padrão Ethernet no protocolo Modbus possui algumas variações, podendo chegar a 100Mbps ou até 10Gbps. A distância
máxima pode variar de 100m até próximo de 200m dependendo do tipo de cabo utilizado e das condições de instalação do

https://embarcados.com.br/protocolo-modbus/ 2/19
07/11/23, 07:53 Modbus: fundamentos e aplicações -Saiba mais sobre o Protocolo Modbus

mesmo.

Figura 2 – Uso do padrão Ethernet no Protocolo Modbus

Em alguns casos é possível utilizar redes em fibra ótica, fato que permite alcançar distâncias maiores e melhores taxas de
comunicação, bem como utilizar comunicação wireless.

Em uma próxima oportunidade irei abordar o assunto de padrões físicos com mais detalhes. É importante não confundir
protocolo de comunicação com padrões físicos. Alguns protocolos possuem seu padrão físico definido como é o caso da
rede ASI e da rede CAN, sendo que nesses casos o padrão físico é definido junto ao protocolo e não é possível alterá-lo.

Na figura abaixo vemos um exemplo de rede com o protocolo Modbus, com um gateway fazendo a conexão entre os dois
tipos de Modbus, o serial em RS-485 e o TCP/IP em ethernet. No mercado ainda existe a opção do gateway Modbus
wireless. O mestre da rede, que nesse caso é um CLP (Controlador Lógico Programável) envia e recebe dados dos
escravos, que são posteriormente um inversor de frequência, uma IHM (Interface Homem Máquina), um controlador de
temperatura e uma interface de I/O remota Modbus.

Figura 3 – Exemplo de rede com o protocolo Modbus

A estação mestre inicia a comunicação solicitando que os escravos enviem seus dados. Os escravos, por sua vez, recebem
a requisição do mestre e retornam os dados solicitados. Os dados transmitidos podem ser discretos ou numéricos, ou seja,
é possível enviar valores numéricos como temperatura e pressão ou enviar um bit para ligar e desligar um motor. Na figura
a seguir podemos observar como é constituído o quadro de mensagens no protocolo Modbus.

https://embarcados.com.br/protocolo-modbus/ 3/19
07/11/23, 07:53 Modbus: fundamentos e aplicações -Saiba mais sobre o Protocolo Modbus

Figura 4 – Quadro de mensagens para Protocolo Modbus

Ao utilizar o meio físico Ethernet o protocolo MODBUS opera com o mecanismo de controle de acesso CSMA-CD, que é
próprio da rede Ethernet, com mensagens no modelo cliente-servidor.

Modos de transmissão
Na especificação do protocolo Modbus estão definidos dois modos de transmissão:

ASCII;

RTU.

Os modos definem a forma como são transmitidos os bytes da mensagem, e como a informação da mensagem será
empacotada na mensagem e descompactada. Não é possível utilizar os dois modos de transmissão na mesma rede. O
modo de transmissão pode ser selecionado com outros parâmetros da porta de comunicação serial, mas existem
equipamentos que não permitem essa seleção, pois possuem modo de transmissão fixo, como por exemplo alguns CLP’s e
inversores de frequência que utilizam o modo RTU por padrão.

Endereços
Ao todo o protocolo Modbus possui 256 endereços onde:

0 – (Zero) é o endereço de Broadcast, quando o mestre envia uma mensagem para o endereço zero, todos os
escravos recebem a mensagem;

1 até 247 -Endereços disponíveis para os escravos;

248 até 255 Endereços reservados.

O mestre não possui endereço, somente os escravos devem possuir endereço definido.

Código da Função

https://embarcados.com.br/protocolo-modbus/ 4/19
07/11/23, 07:53 Modbus: fundamentos e aplicações -Saiba mais sobre o Protocolo Modbus

É onde o mestre especifica o tipo de serviço ou função solicitada ao escravo (leitura, escrita, etc). No protocolo Modbus,
cada função é utilizada para acessar um tipo específico de dado.

Tabela1: funções no Protocolo Modbus

Código da função Descrição

1 Leitura de bloco de bits do tipo coil(saída discreta).

2 Leitura de bloco de bits do tipo entradas discretas.

3 Leitura de bloco de registradores do tipo holding.

4 Leitura de bloco de registradores do tipo input.

5 Escrita em um único bit do tipo coil(saída discreta).

6 Escrita em um único registrador do tipo holding.

7 Ler o conteúdo de 8 estados de exceção.

8 Prover uma série de testes para verificação da comunicação e erro internos.

11 Modbus: Obter o contador de eventos.

12 Modbus: Obter um relatório de eventos.

15 Escrita em bloco de bits do tipo coil(saída discreta).

16 Escrita em bloco de registradores do tipo holding.

17 Ler algumas informações do dispositivo.

20 Ler informações de um arquivo.

21 Escrever informações em um arquivo.

22 Modificar o conteúdo de registradores de espera através de operações lógicas.

23 Combina ler e escrever em registradores numa única transação.

24 Ler o conteúdo da fila FIFO de registradores.

https://embarcados.com.br/protocolo-modbus/ 5/19
07/11/23, 07:53 Modbus: fundamentos e aplicações -Saiba mais sobre o Protocolo Modbus

43 Identificação do modelo do dispositivo.

Modo de transmissão ASCII


Quando os equipamentos são configurados para se comunicarem em uma rede Modbus usando ASCII (American Standard
Code for Information Interchange), cada byte em uma mensagem é enviado como dois caracteres ASCII. Apesar de gerar
mensagens legíveis pela tabela ASCII esse modo consome mais recursos da rede. A principal vantagem dessa modalidade
é que permite que os intervalos de tempo sejam cerca de um segundo para correr entre os caracteres sem causar erro.

Os dispositivos monitoram constantemente a rede para o início de uma mensagem. Quando uma mensagem é iniciada
pelo mestre, todos os dispositivos da rede decodificam o campo de endereço para determinar qual escravo deve receber a
mensagem. O inicio de uma mensagem é reconhecido pelo caractere (:) “dois pontos”.

O formato para cada byte em modo ASCII é:

Codificação do sistema: Hexadecimal, caracteres ASCII 0-9, A-F, um caractere hexadecimal contido em cada
caractere ASCII da mensagem;

Bits por Byte:

1 bit de início

7 bits de dados, bit menos significativo primeiro


1 bit para paridade par / ímpar, ou sem bit de paridade
1 bit de parada, se a paridade é usado; 2 bits se sem paridade

16 bits Campo Erro check : Longitudinal Redundancy Check (LRC)

Intervalos de até um segundo podem decorrer entre caracteres dentro da mensagem. Se ocorrer um intervalo maior, o
dispositivo receptor assume que ocorreu um erro. O campo de checagem de erros é baseado no método LRC (Longitudinal
Redundancy Check).

Modbus – Modo de transmissão RTU (Remote Terminal Unit)


No modo RTU (Remote Terminal Unit), cada mensagem de 8 bits contém dois caracteres hexadecimais de 4 bits. A
principal vantagem desse modo é que sua maior densidade de caracteres permite um melhor processamento de dados do
que o modo ASCII para o mesmo baudrate (velocidade de comunicação). Cada mensagem deve ser transmitida em um
fluxo contínuo de caracteres.

https://embarcados.com.br/protocolo-modbus/ 6/19
07/11/23, 07:53 Modbus: fundamentos e aplicações -Saiba mais sobre o Protocolo Modbus
Figura: RTU Modbus

No modo RTU não existe um caractere específico que indique o início ou o fim de um telegrama. A indicação de quando
uma nova mensagem começa ou quando ela termina é feita pela ausência de transmissão de dados na rede, por um tempo
mínimo de 3,5 vezes o tempo de transmissão de um byte de dados. Sendo assim, caso um telegrama tenha iniciado após a
decorrência desse tempo mínimo, os elementos da rede irão assumir que o primeiro caractere recebido representa o início
de um novo telegrama. E da mesma forma, os elementos da rede irão assumir que o telegrama chegou ao fim quando,
recebidos os bytes do telegrama, este tempo decorra novamente.

Se durante a transmissão de um telegrama o tempo entre os bytes for maior que este tempo mínimo, o telegrama será
considerado inválido, pois o controlador irá descartar os bytes já recebidos e montará um novo telegrama com os bytes que
estiverem sendo transmitidos. O tempo para transmitir uma palavra do quadro varia de 573us para taxas de comunicação
acima de 19200bits/s e 9 ms para a taxa de 1200bits/s.

O campo de checagem de erros é baseado no método CRC (Cyclical Redundancy Checking).

Modbus TCP
Modbus TCP é uma implementação do protocolo Modbus baseado em TCP/IP. Utiliza a pilha TCP/IP para comunicação e
adiciona ao quadro Modbus um cabeçalho específico chamado MBAP (MODBUS Application Protocol). O modelo de
mensagem Modbus TCP/IP fica da seguinte forma:

O cabeçalho MBAP tem tamanho de 7 bytes, e é composto pelos seguintes campos:

Transaction identifier: usado para identificação da resposta para a transação (2 bytes);

Protocol identifier: 0 (zero) indica Modbus (2 bytes);

Length: contagem de todos os próximos bytes (2 bytes);

Unit identifier: utilizado para identificar o escravo remoto em uma rede Modbus RTU (1 byte).

Modbus TCP não acrescenta ao quadro um campo de checagem de erros, entretanto o frame ethernet já utiliza CRC-32
tornando desnecessário outro campo de checagem. O cliente Modbus TCP deve iniciar uma conexão TCP com o servidor a
fim de enviar as requisições. A porta TCP 502 é a porta padrão para conexão com servidores Modbus TCP.

O vídeo abaixo é muito interessante, e apresenta as características do protocolo Modbus serial e TCP. Apesar de estar em
inglês, o vídeo é de fácil compreensão.

https://embarcados.com.br/protocolo-modbus/ 7/19
07/11/23, 07:53 Modbus: fundamentos e aplicações -Saiba mais sobre o Protocolo Modbus

No próximo artigo veremos exemplos que utilizam protocolo Modbus, além de conhecer simuladores desse protocolo de
comunicação.

Referências
Modbus.org – link 

Outros artigos da série


Protocolo Modbus: Exemplos e
Simuladores >>

-- publicidade --

-- publicidade --

https://embarcados.com.br/protocolo-modbus/ 8/19
07/11/23, 07:53 Modbus: fundamentos e aplicações -Saiba mais sobre o Protocolo Modbus

Participe da Academia STM32H7

WEBINARS

https://embarcados.com.br/protocolo-modbus/ 9/19
07/11/23, 07:53 Modbus: fundamentos e aplicações -Saiba mais sobre o Protocolo Modbus

Webinar: Como uma solução IoT baseada em Android Automotive pode ajudar a reduzir os acidentes de
trânsito no Brasil?

Webinar: Novidades do Zephyr RTOS

-- publicidade --

https://embarcados.com.br/protocolo-modbus/ 10/19
07/11/23, 07:53 Modbus: fundamentos e aplicações -Saiba mais sobre o Protocolo Modbus

LEIA TAMBÉM

Integração de Matter e SoM: Uma Revolução para a Casa Inteligente

https://embarcados.com.br/protocolo-modbus/ 11/19
07/11/23, 07:53 Modbus: fundamentos e aplicações -Saiba mais sobre o Protocolo Modbus

Pré-Processamento Dos Dados

Franzininho C0: Nova placa brasileira baseada no STM32C0

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

FAZER PARTE

https://embarcados.com.br/protocolo-modbus/ 12/19
07/11/23, 07:53 Modbus: fundamentos e aplicações -Saiba mais sobre o Protocolo Modbus

Carlos Márcio Freitas


16 posts
Engenheiro eletricista trabalha a 13 anos com sistemas microprocessados para automação industrial
e eletrônica automotiva (com certificação ASE), atualmente trabalha com automação na industria de
óleo e gás.

Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional .

   

 Software, Hardware, Comunicações  Iniciante

Home » Hardware » Protocolo Modbus: Fundamentos e Aplicações

COMENTÁRIOS:

30 COMENTÁRIOS   recentes 

Emerson Araujo

28/02/2018 02:38

Boa noite,

Gostaria de entender como funciona a integração do ModBus com ferramentas de


monitoramento TCP/IP como o Zabbix.

Ronaldo

08/02/2018 14:40

Ola Carlos, Gostaria de utilizar o Arduino ou Msp430G2553 (texas) para implementar


transdutores de pressão que funcionem em uma rede modbus RTU. Ja utilizei a saida serial
tanto do arduino e Msp 430G2553 para me comunicar com um PC via Hiperterminal. Apenas
enviava mensagem pro PC e lia de volta pela saida serial e Hiperterminall do pc. O que preciso
fazer com que meu arduino ou Msp430G2553 opere no padrao RS485 numa rede rede ModBus?
O projeto do trandutor de pressao no Arduino ou MSp430G com a serial ativa eu sei fazer, mas
como isso poderia virar um produto com… Leia mais »

1

https://embarcados.com.br/protocolo-modbus/ 13/19
07/11/23, 07:53 Modbus: fundamentos e aplicações -Saiba mais sobre o Protocolo Modbus

Carlos Márcio Freitas Autor

 Reply to Ronaldo 09/02/2018 16:21

Boa tarde Ronaldo,

Para conectar um microcontrolador na rede RS-485 com Modbus é necessário um CI conversor de


dados TTL para RS-485 como o MAX485ESA, além disso o software deve conter a biblioteca
Modbus serial.

Inclusive esse CI pode ser encontrado no mercado em uma pequena placa de circuito já pronta
para ser utilizada no Arduino. A biblioteca pode ser encontrada facilmente na internet.

Esse artigo pode ajudar na questão do programa e da biblioteca Modbus no caso do Arduino.
https://embarcados.com.br/arduino-e-scadabr/

Um abraço

Tec Mecatônica

11/08/2015 21:12

Qual crítica pode se tecer


quanto ao funcionamento do Modbus TCP/IP ?

Robert Argolo

18/05/2015 17:52

Parabéns, ajudou muito no meu PFC de eletrônica, voltado área industrial.

Rafael Campos Las Heras

08/04/2014 19:00

Parabéns, só senti a falta de o meio RS-422, tbm muito usado em entornos industrais com
grande ruido.

Carlos Márcio Freitas

 Reply to Rafael Campos Las Heras 08/04/2014 23:06

Olá Rafael, de fato não citamos o RS-422, o foco desse post foi mais o protocolo, mas em breve
faremos um post mais detalhado sobre os padrões físicos, e assim poderemos comparar as
características e aplicações de cada um deles.

Obrigado pelo comentário.


Um abraço.

Rafael Gebert

 Reply to Rafael Campos Las Heras 30/09/2015 10:23

O RS-422 é um hardware diferencial full-duplex que posse ser feito com dois CIs RS-485 (um no tx
e outro no rx)…


1

https://embarcados.com.br/protocolo-modbus/ 14/19
07/11/23, 07:53 Modbus: fundamentos e aplicações -Saiba mais sobre o Protocolo Modbus

Alexandre Wagner de Castro

07/04/2014 13:52

Grande Márcio, o interesse é grande no uso destes protocolos faço uso em alguns
equipamentos com variadores/inversores de frequência.
Abrç Alexandre “Turbomaq”

Carlos Márcio Freitas


 Reply to Alexandre Wagner de Castro 07/04/2014 22:51

Olá Alexandre.

O inversor de frequência é um equipamento fantástico, ainda mais quando se pode operar com
comando remoto por rede Modbus.

Obrigado pelo comentário.

Um grande abraço.

Henrique Persico Rossi

07/04/2014 09:21

Parabéns pelo artigo Carlos!

Já usei esse protocolo para fazer interface com inversores de frequência, usando RS485. Como
o você mencionou no post, existem muitas aplicações para uso do Modbus e é relativamente
fácil de ser implementado.

Alguém mais tem usado esse protocolo? Em quais aplicações?

Abraços,
Henrique

Carlos Márcio Freitas

 Reply to Henrique Persico Rossi 07/04/2014 12:07

Obrigado pelo comentário Henrique, sem dúvida o Modbus é um excelente protocolo, e a


quantidade de equipamentos que o utilizam é enorme. No próximo post veremos alguns
simuladores de Modbus muito úteis, além de alguns exemplos de aplicação.

Um grande abraço.

Charles Roberto

17/08/2017 20:37

Boa noite Carlos


A rede de inversores Schneider tem protocolo Modbus rtu que já vem padrão
Tentamos controlar os inversores pela rede mais só apresenta falhas,com 1 inversor só
funciona muito bem.
Quando aumento quantidade fica muito ruim .
Até separamos em 2 canais onde 

https://embarcados.com.br/protocolo-modbus/ 15/19
07/11/23, 07:53 Modbus: fundamentos e aplicações -Saiba mais sobre o Protocolo Modbus
1-inversores da vacon
2-schneider
Mesmo assim cai muito
Testei com modscan na cara de cada inversor e percebi quando aumento a quantidade e
distância ferra toda rede.
Sabe de algum software para gerenciar esse tipo de rede .
Ou recomenda trocar o protocolo para Modbus TCP/IP

1
Adriano Michelon

13/03/2017 11:58

Bom dia!

Preciso muito aprender o protocolo

Gabriel Carneiro

18/01/2017 18:07

Boa tarde Carlos, recentemente instalamos uma central de alarme em nossa empresa, e a
solução foi aplicada com o o gateway ModBus TCP, temos ferramentas de monitoramento de
vários sensores espalhados nos outros ativos sendo utilizadas, que dão suporte ao ModBus
TCP como por exemplo o Zabbix e o StruxureWare Data Center Expert(Schneider/APC), a dúvida
é: Funciona bem para monitoramento em tempo real dos sensores e estado dos alarmes? Grato

Carlos Márcio Freitas

 Reply to Gabriel Carneiro 01/03/2017 12:24

Provavelmente deve funcionar bem, mas dependendo do modelo do gateway pode ocorrer alguns
problemas, pois nem todos são compatíveis, tenho boas experiencias com o lantronix,
http://www.lantronix.com, recomendo fazer os testes com vários modelos.
Um abraço.

Emerson Araujo

 Reply to Gabriel Carneiro 28/02/2018 02:36

Boa tarde Gabriel,


Preciso monitorar uma maquina na fabrica da empresa onde trabalho, como fizeram a integração
do modbus com o zabbix ?

Carregar mais comentários

Os comentários estão desativados.

TALVEZ VOCÊ GOSTE: 

https://embarcados.com.br/protocolo-modbus/ 16/19
07/11/23, 07:53 Modbus: fundamentos e aplicações -Saiba mais sobre o Protocolo Modbus

O que é firmware?
 10/01/2023  Fábio Souza

Algoritmos: Resolução de Exercícios Parte 3


 03/03/2021  Elaine Cecília Gatto

https://embarcados.com.br/protocolo-modbus/ 17/19
07/11/23, 07:53 Modbus: fundamentos e aplicações -Saiba mais sobre o Protocolo Modbus

Algoritmos: Resolução dos Exercícios Parte 1


 01/03/2021  Elaine Cecília Gatto

SÉRIES

ULWOS – Multitarefa no RL78

Controlador VGA

Monitoramento de água com IoT

Trazendo o mundo real para dentro do processador

Sistemas Operacionais de Tempo Real

A arte de especificar e encontrar componentes

Projetos de desenvolvimento: Antes de começar

Boas práticas para o desenvolvimento de software

GNU ARM Cross-toolchain

Shape The World

Ver todas as séries 

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.
https://embarcados.com.br/protocolo-modbus/ 18/19
07/11/23, 07:53 Modbus: fundamentos e aplicações -Saiba mais sobre o Protocolo Modbus

Seu e-mail

Concordo com o Termo de Uso e Política de Privacidade do Embarcados *

CADASTRAR E-MAIL

INSTITUCIONAL

O Embarcados

Seja Colaborador

Contato

NAS REDES

    

COMUNIDADE

Oportunidades

Sites e Blogs

LEGAL

Legal

Politica de Privacidade

Politica de Governança

Política de Cookies

Termos de Uso

© Embarcados – Todos os direitos reservados. Termos de Uso.

Desenvolvido por

https://embarcados.com.br/protocolo-modbus/ 19/19

Você também pode gostar