Você está na página 1de 48

Rede MODBUS

07.03.2023 23:57:42 Prof. Murilo Parreira Leal, M.Sc.


Rede MODBUS – Introdução
❑ A rede MODBUS é uma rede relativamente simples, desenvolvida
com o objetivo de permitir a interligação de dispositivos de
controle, como controladores programáveis e computadores,
normalmente do tipo PC
❑ O protocolo MODBUS é uma estrutura de mensagem aberta
desenvolvida pela Modicon na década de 70. A Modicon foi
posteriormente adquirida pela Schneider Electric e os direitos
sobre o protocolo foram liberados pela Organização MODBUS:
www.modbus.org
❑ A Schneider ajudou no desenvolvimento de uma organização de
usuários e desenvolvedores independente chamada MODBUS–IDA
(sem fins lucrativos) que agrupa usuários e fornecedores de
dispositivos de automação
❑ A rede MODBUS está direcionada para a comunicação entre
equipamentos de controle
❑ Este protocolo define um conjunto de mensagens que permitem
ler e escrever em variáveis remotas (bits/words de memória
interna, linha de entrada e saída)
07.03.2023 23:57:43 Prof. Murilo Parreira Leal, M.Sc.
Rede MODBUS ASCII e RTU – Características

❑ Devicebus
❑ Até 32 dispositivos, contando com o mestre da rede
❑ Sistema de Comunicação Mestre/Escravo
❑ Comprimento máximo de 1200 metros (soma de todas
derivações). Possui dois resistores de terminação cada um
com 120 Ω
❑ Cabo Par - trançado com 2 fios e uma blindagem,
trafegando sinal e alimentação
❑ Compatibilidade entre diversos fabricantes
❑ Entradas Digitais (ED) e Saídas Digitais (SD)
❑ Entradas Analógicas (EA)

07.03.2023 23:57:43 Prof. Murilo Parreira Leal, M.Sc.


Rede MODBUS – RS-232

07.03.2023 23:57:44 Prof. Murilo Parreira Leal, M.Sc.


Rede MODBUS – RS-232

07.03.2023 23:57:44 Prof. Murilo Parreira Leal, M.Sc.


Rede MODBUS – RS-232

❑ Ligações ponto-a-ponto

07.03.2023 23:57:44 Prof. Murilo Parreira Leal, M.Sc.


Rede MODBUS – RS-485

07.03.2023 23:57:44 Prof. Murilo Parreira Leal, M.Sc.


Rede MODBUS – RS-485

❑ Ligações multiponto

07.03.2023 23:57:44 Prof. Murilo Parreira Leal, M.Sc.


Rede MODBUS – RS-485
❑ Ligações multiponto

07.03.2023 23:57:44 Prof. Murilo Parreira Leal, M.Sc.


Rede MODBUS
❑ Ferramentas de diagnósticos para o sinal elétrico:
✓ Osciloscópios da Fluke: 125 e 225c

07.03.2023 23:57:44 Prof. Murilo Parreira Leal, M.Sc.


Rede MODBUS
❑ Ferramentas de diagnósticos para o sinal elétrico:
✓ Osciloscópios da Fluke: 125 e 225c

07.03.2023 23:57:44
Rede MODBUS
❑ Topologias:

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Tipos de redes MODBUS
❑ Na especificação do protocolo estão definidos quatro modos de
transmissão:
✓ MODBUS ASCII (American Code For Information Interchange)
✓ MODBUS RTU (Remote Terminal Unit)
✓ MODBUS TCP/IP (Ethernet)
✓ MODBUS Plus (RS-485)

❑ Os modos definem a forma como são transmitidos os bytes da


mensagem, e como a informação será empacotada na mensagem
(ou desempacotada). 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

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Tipos de redes MODBUS

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Tipos de redes MODBUS

❑ Redes MODBUS Seriais: São utilizadas para comunicação


dos CLPs com os dispositivos de entrada e saída de dados,
instrumentos eletrônicos inteligentes (IEDs), como relés de
proteção, controladores de processo, atuadores de válvulas,
transdutores de energia e etc.
✓ O meio físico pode ser RS-232 ou RS-485. Podem ter
duas variações:
o ASCII: Transmite os dados codificados em caracteres
ASCII de sete bits. Apesar de gerar mensagens
legíveis por pessoas este modo consome mais
recursos da rede
o RTU: Neste modo os dados são transmitidos em
formato binário de oito bits permitindo a
compactação dos dados em pequenos pacotes

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Tipos de redes MODBUS

❑ Redes MODBUS TCP/IP: São utilizadas para comunicação


entre sistemas de supervisão e CLP. Também utilizado
entre instrumentos de chão de fábrica e CLP (switches)
✓ O protocolo MODBUS é encapsulado no protocolo TCP/IP
e transmitido através de redes padrão Ethernet (IEEE
802.3) utilizando redes e switches comuns
✓ O mecanismo de controle de acesso é o CSMA-
CD (próprio da rede Ethernet) e as estações utilizam o
modelo cliente-servidor (não é Mestre/Escravo)
✓ O comprimento dos cabos pode variar de 100 m até 200
m dependendo do tipo utilizado (possibilidade da
aplicação ou não de Fibras-Óticas) e das condições de
instalação do mesmo (switches, backbone, internet, etc)
✓ O padrão Ethernet no protocolo Modbus possui algumas
variações, podendo chegar a 100 Mbps ou até 10 Gbps

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Tipos de redes MODBUS

❑ Redes MODBUS Plus: São utilizadas para comunicação


entre controladores lógicos programáveis, módulos de E/S,
chaves de partida eletrônica de motores, interfaces homem
máquina etc.

✓ O meio físico é o RS-485 com taxas de transmissão de 1


Mbps, controle de acesso ao meio por HDLC (High Level
Data Link Control)

✓ Versão que possui vários recursos adicionais de


roteamento, diagnóstico, endereçamento e consistência
de dados. Esta versão ainda é mantida sob domínio da
Schneider Electric e só pode ser implantada sob licença
deste fabricante.

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Tipos de redes MODBUS
❑ 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:

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Ligações Elétricas

❑ Abaixo se encontra um exemplo deste tipo rede com


interface RS-232/RS-485 e alguns instrumentos.
✓ Ex.: Daisy Chain

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Endereçamento MODBUS

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Endereçamento MODBUS
Endereçamento MODBUS

❑ No quadro anterior:

1) _a/m: Saída Digital Endereço 00016


2) _mv: Registrador de Memória Endereço 40041
3) _pv: Entrada Analógica Endereço 30001
4) _sp: Registrador de Memória Endereço 40005
5) _gc: Registrador de Memória Endereço 40013
6) _ti: Registrador de Memória Endereço 40017
7) _res: Saída Digital Endereço 00015

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Endereçamento MODBUS
Endereçamento MODBUS em um CLP
Endereçamento MODBUS em um CLP

Escrita

Endereço 10

Leitura

Endereço 32
Configuração Rede MODBUS

Se o meio
for Ethernet
Configuração Rede MODBUS

RS 232 RS 485

Prof. Murilo Parreira Leal, M.Sc.


Simulador Mestre MODBUS – MODSCAN
Simulador Escravo MODBUS – MODSIM
Diagnóstico da conexão física usando MODSCAN/MODSIM
Rede 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
❑ Quadro de mensagens no protocolo MODBUS:

07.03.2023 23:57:45
Endereços
❑ O Mestre abre uma transação MODBUS por vez, de uma das seguintes
formas:
✓ Unicast: O Mestre envia mensagem para um único escravo
✓ Broadcast: O Mestre envia mensagem para todos escravos. Nesse
caso não há resposta dos escravos
❑ O protocolo MODBUS possui 256 endereços onde:
✓ 0 - (Zero): é o endereço de Broadcast.
✓ 1 até 247: Endereços disponíveis para os escravos (apenas 31
escravos por rede)
✓ 248 até 255: Endereços reservados
❑ O mestre não possui endereço, somente os escravos devem possuir
endereço definido
❑ A comunicação serial sempre é iniciada pelo Mestre
❑ Nenhum nó escravo transmite dados sem receber uma solicitação do
Mestre
❑ Os escravos não se comunicam entre si
07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.
Código da Função
❑ Utilizado pelo mestre para especificar 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:
Código da
Descrição
funçã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 erros internos
11 Obter o contador de eventos
12 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
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 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“ (3A ou 0011 1010)

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Modo de Transmissão ASCII
❑ A codificação do Protocolo MODBUS no modo de transmissão ASCII
é: Hexadecimal, caracteres ASCII 0-9, A-F, um caractere
hexadecimal contido em cada caractere ASCII da mensagem
❑ O formato para cada byte em modo ASCII é (bits por byte):
✓ 1 bit de início (START)
✓ 7 bits de dados (bit menos significativo primeiro)
✓ 1 bit para paridade par / ímpar, ou sem bit de paridade
✓ 1 bit de parada (STOP) com uso de paridade ou 2 bits 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)

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Modo de Transmissão RTU
❑ No protocolo MODBUS (modo de transmissão 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

❑ 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

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Modo de Transmissão RTU
❑ O formato para cada byte em modo RTU é (bits por byte):
✓ 1 bit de início (START)
✓ 8 bits de dados (bits mais significativos primeiro = Big-
Endian )
✓ 1 bit para paridade par / ímpar, ou sem bit de paridade
✓ 1 bit de parada (STOP) com uso de paridade ou 2 bits
sem paridade

❑ Observação – Os dados e o CRC possuem formatos


diferentes:
✓ CRC: Little-Endian – Menos significativos primeiro
✓ Dados: Big-Endian – Mais significativos primeiro (mais
parecido com nosso hábito dos números mais à esquerda
serem os mais significativos)

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Modo de Transmissão RTU
❑ 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 0,573
ms para taxas de comunicação acima de 19200 bits/s e 9 ms para
a taxa de 1200 bits/s
❑ O campo de checagem de erros é baseado no método CRC
(Cyclical Redundancy Checking)

07.03.2023 23:57:43 Prof. Murilo Parreira Leal, M.Sc.


Modo de Transmissão 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)

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Modo de Transmissão TCP

❑ 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

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Exemplo - Modo de Transmissão RTU
❑ Exemplo requisição do mestre:
✓ Endereço do escravo (69): 45H
✓ Função MODBUS (leitura registradores = 3): 03H
✓ Registrador inicial a ser lido (10): 00H 0AH (Em Big Endian)
✓ Número total de registradores (1): 00H 01H (Em Big Endian)
✓ Checksum gerado (CRC) (19627 = 4CABH): ABH 4CH (Em Little Endian)

❑ Exemplo resposta do escravo:


✓ Endereço do escravo (69): 45H
✓ Função MODBUS (resposta de leitura registradores = 3): 03H
✓ Número de bytes de dados (3): 03H
✓ Dados: 07H 1CH E5H: 466149 (Em Big Endian)
✓ Checksum gerado (CRC) (62264 = F338H): 38H F3H (Em Little Endian)

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Exemplo - Modo de Transmissão ASCII
❑ Exemplo: Transmitir os valores de três registros analógicos
consecutivos (sem a parte de endereçamento, código de função,
número de registros ou bytes, stop bit, start bit ou bit de paridade):
✓ Valores: 11 03 00 6B 00 03
✓ CRC gerado (ASCII): Valores hexadecimais 37, 45, 0D e 0A,
correspondentes aos caracteres 7 E CR LF (Tabela ASCII abaixo)

✓ CRC gerado (RTU): 76 87

❑ Codificação parcial MODBUS ASCII:


✓ : 1 1 0 3 0 0 6 B 0 0 0 3 CR LF 7 E
✓ 3A 31 31 30 33 30 30 36 42 30 30 30 33 0D 0A 37 45
❑ Codificação parcial MODBUS RTU:
✓ 11 03 00 6B 00 03 87 76
07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.
Validação da rede

1. Inspeção Visual (desenergizado)


✓ Conformidade com documentação ou projeto
✓ Contatos frouxos
✓ Conexão do shield do cabos (deve ser aterrado apenas
de um lado do cabo)

2. Teste estático (desenergizado)


✓ Teste do cabo em loop (características padronizadas)
✓ Conexão do shield do cabos

3. Teste dinâmico (energizado)


✓ Simulador de mestre
✓ Osciloscópio ou Analisador de Rede

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Exemplo de aplicação MODBUS

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Exemplo de aplicação MODBUS

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Exemplo de aplicação MODBUS

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Exemplo de aplicação MODBUS

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.


Exemplo de aplicação MODBUS

GATEWAY PROFIBUS DP / MODBUS

07.03.2023 23:57:45 Prof. Murilo Parreira Leal, M.Sc.

Você também pode gostar