Você está na página 1de 4

Modbus é um protocolo de comunicação de dados utilizado em sistemas de automação

industrial. Criado na década de 1970 pela Modicon. É um dos mais antigos protocolos
utilizados em redes de Controladores lógicos programáveis (PLC) para aquisição de
sinais de instrumentos e comandar actuadores. A Modicon (atualmente parte do grupo
Schneider Electric) colocou as especificações e normas que definem o Modbus em
domínio público. Por esta razão é utilizado em milhares de equipamentos existentes e é
uma das soluções de rede mais baratas a serem utilizadas em automação industrial.

Índice
[esconder]

• 1 Características técnicas
• 2 Comandos do MODBUS
• 3 Variações
o 3.1 Modbus RTU
o 3.2 Modbus ASCII

• 4 Ligações externas

[editar] Características técnicas


O modbus utiliza o RS-232, RS-485 ou Ethernet como meio físico. O mecanismo de
controle de acesso é mestre-escravo. A estação mestre (geralmente um PLC) envia
mensagens solicitando dos escravos que enviem os dados lidos pela instrumentação ou
envia sinais a serem escritos nas saídas para o controle dos atuadores. O protocolo
possui comandos para envio de dados discretos (entradas e saídas digitais) ou numéricos
(entradas e saídas analógicas).

A imagem acima mostra um exemplo de rede Modbus com um mestre (PLC) e três
escravos (módulos de entradas e saídas, ou simplesmente E/S). Em cada ciclo de
comunicação, o PLC lê e escreve valores em cada um dos escravos. Como o sistema de
controle de acesso é do tipo mestre-escravo, nenhum dos módulos escravos inicia
comunicação a não ser para responder às solicitações do mestre.
Basicamente, uma comunicação em Modbus obedece a um frame que contém o
endereço do escravo, o comando a ser executado, uma quantidade variável de dados
complementares e uma verificação de consistência de dados (CRC).

Exemplo-1: Se o PLC precisa ler as 10 primeiras entradas analógicas (do endereço 0000
ao 0009) no módulo 2. Para isso é preciso utilizar o comando de leitura de múltiplos
registros analógicos (comando 3). O frame de comunicação utilizado é mostrado abaixo
(os endereços são mostrados em sistema hexadecimal):

endereço comando end. dos registros quant. de registros CRC


02 03 03 00 00 0A 2 caracteres

A resposta do escravo seria um frame semelhante composto das seguintes partes: O


endereço do escravo, o número do comando, os dez valores solicitados e um verificador
de erros (CRC). Em caso de erros de resposta (por exemplo um dos endereços
solicitados não existe) o escravo responde com um código de erro.

A resposta para a pergunta acima seria a seguinte:

Mais antes uma pequena recordação!

Para se enterder este frame de resposta, antes precisamos saber corretamente o que é um
byte.

Cada palavra tem as seguintes formas, - bit, - nible, - byte e - word.

Segue abaixo uma tabela representação de cada formato.

Bit Nible Byte Word


1 = 4 bits = 8 bits = 16 bits

Agora que ja sabemos o que é byte podemos então decifrar o frame da rede modbus.

Exemplo-2: Reposta da pergunta citada no exemplo-1.

RX 02 03 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 (xx xx CRC)

O primeiro byte(02) é o nó do escravo; O segundo byte(03) é a função utilizada para


leitura, sendo essa um Holding Register; O terceiro byte é a quantidades de endereços a
qual o Slave(escravo) esta enviando ao Master, sendo que a cada 2 bytes se forma uma
Word que significa uma palavra de 16 bit, por isso este frame tem 14 = 20 bytes que é =
10 word ou 10 palavras de 16 bits que tem seu range minimo de -32768 ate 32767.
Com isso entendemos que o Slave(Escravo) respondeu 10 endereços a ao master e todos
com o valor zero.

[editar] Comandos do MODBUS


Os principais comandos do Modbus são mostrados na tabela abaixo:

código do
descrição
comando
01 Lê um número variável1 de saídas digitais (bobinas)
02 Lê um número variável1 de entradas digitais
Lê um número variável1 de registros retentivos (saídas analógicas ou
03
memórias)
04 Lê um número variável1 de registros de entrada (entradas analógicas)
05 Força uma única bobina (altera o estado de uma saída digital)
06 Preset de um único registro (altera o estado de uma saída analógica)
07 Lê exceções2 (registros de erro)
08 Várias funções de diagnóstico
15 Força uma quantidade variável1 de bobinas (saídas digitais)
16 Preset de uma quantidade variável1 de registros (saídas analógicas)
1
A quantidade de variáveis a ler é definida no frame de solicitação
2
Oito bits previamente configurados. Não é necessário fornecer parâmetros de
endereçamento com este comando pois o escravo vai enviar sempre os oito bits pré
configurados.

Para alguns comandos de diagnóstico, tais como reinício de comunicação, reset do


módulo ou sincronização de relógio, podem ser utilizados comunicações do tipo
broadcast, ou seja, destinada a todos os escravos simultaneamente.

[editar] Variações
Em redes seriais baseadas em RS-485 ou RS-232 o Modbus pode ter duas variações:
RTU e ASCII.

[editar] Modbus RTU

Neste modo os dados são transmitidos em formato binário de oito bits, permitindo a
compactação dos dados em pequenos pacotes. RTU é a sigla inglesa para Remote
Terminal Unit. No modo RTU, os endereços e valores podem ser representados em
formato binário. Números inteiros variando entre -32768 e 32767 podem ser
representados por 2 bytes. O mesmo número precisaria de quatro caracteres ASCII para
ser representado (em hexadecimal).

[editar] Modbus 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.

Modbus/TCP - Aqui os dados são encapsulados em formato binário em frames TCP


para a utilização do meio físico Ethernet (IEEE 802.3). Quando o Modbus/TCP é
utilizado, o mecanismo de controle de acesso é o CSMA-CD (Próprio da rede Ethernet)
e as estações utilizam o modelo cliente-servidor.

Modbus Plus - 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.

Você também pode gostar