Você está na página 1de 15

PADRÃO MODBUS

VISÃO GERAL

História
Criado em 1979 para comunicação entre controladores
da MODICON (Schneider).
Especificação aberta desde o inicio.
Fácil operação e manutenção.
Conseqüências
Padrão “de fato” ao ser adotado por vários
fornecedores.
Adotado em vários níveis de aplicações, inclusive
sistemas de supervisão.

Eng. Marcelo Saraiva Coelho

PADRÃO MODBUS
TIPOS DE PROTOCOLOS

Eng. Marcelo Saraiva Coelho

1
PADRÃO MODBUS
PROTOCOLO MODBUS PADRÃO

Escopo do Protocolo Topologia Física


Como o CLP solicita o acesso a outro Ponto a Ponto com RS-232.
dispositivo Barramento Mutiponto com RS-485.
Como este responderá Controle de Acesso ao Meio
Como os erros serão detectados e Protocolo Mestre-escravo.
informados.

Eng. Marcelo Saraiva Coelho

PADRÃO MODBUS
CONTEÚDO DA TRANSAÇÃO

Endereçamento (1 byte) Bytes de Dados

0 : Usado para “broadcast”. Informação adicionais


necessárias.
1 a 247 : Usados pelos escravos.
Endereços de memória
Código da Função (1 byte)
Quantidade de itens transmitidos
Estabelece a ação a ser efetuada.
Quantidade de bytes do campo
0 a 127 : Funções
Verificação de Erros (2 bytes)
128 a 255 : Informe de erro na
transmissão. LRC ou CRC

Eng. Marcelo Saraiva Coelho

2
PADRÃO MODBUS
CAMADA DE ENLACE

Modos de Transmissão
RTU: Cada byte contem dois dígitos hexadecimais.
ASCII: Cada byte contem um caractere ASCII entre 0 e 9, A a F.
Formação dos Quadros
Definição do inicio e fim da mensagem
RTU: Tempos de silêncio de 3,5 caracteres.
ASCII: Inicia com “:” e termina com “CR” e “LF”.
Conteúdo dos Quadros
Conjuntos de caracteres Hexadecimais de 00 a FF. [LSB ... MSB]
RTU ASCII

Eng. Marcelo Saraiva Coelho

PADRÃO MODBUS
MODELAGEM DOS DADOS

Eng. Marcelo Saraiva Coelho

3
PADRÃO MODBUS
TRANSAÇÃO MODBUS

A identificaç
identificação dos comandos (funç
(funções) de leitura e escrita são
diferentes de acordo com o tipo de dado a ser lido ou escrito.
• A função 1 efetua a leitura do estado das saídas discretas.

• A função 5 efetua a escrita de uma única saída discreta.

• A função 15 efetua a escrita de múltiplas saídas discretas.

• A função 2 efetua a leitura do estado das entradas discretas.

• A função 4 efetua a leitura dos valores das entradas analógicas.

• A função 3 efetua a leitura dos valores dos registradores de memória.

• A função 6 efetua a escrita de um valor em um registrador de memória.

• A função 16 efetua a escrita de múltiplos valores em registradores de memória.

Eng. Marcelo Saraiva Coelho

PADRÃO MODBUS
TRANSAÇÃO MODBUS

FUNÇ
FUNÇÃO 1 - Read Output Status (Leitura do estado das saí
saídas discretas)

Pergunta:
Esta função é usada para se obter o estado de um coil (bit), ou de vários coils

consecutivos de um Escravo. O campo de Dados deve ser preenchido com o endereço

inicial do coil, seguido pela quantidade de coils que se deseja saber o estado. A

quantidade máxima de coils permitida pelo software dos instrumentos é 30.

Eng. Marcelo Saraiva Coelho

4
PADRÃO MODBUS
TRANSAÇÃO MODBUS

FUNÇ
FUNÇÃO 1 - Read Output Status (Leitura do estado das saí
saídas discretas)

Pergunta:
A mensagem abaixo pede ao escravo de endereço 17 que retorne o estado dos

coils 19 ao 39 (21 coils ao todo)..

Eng. Marcelo Saraiva Coelho

PADRÃO MODBUS
TRANSAÇÃO MODBUS

FUNÇ
FUNÇÃO 1 - Read Output Status (Leitura do estado das saí
saídas discretas)

Resposta:
O campo de Dados deve conter o número de caracteres a serem enviados (sempre
relativo ao modo RTU), seguido dos caracteres com a resposta. A resposta deve ser
enviada de forma compactada. Cada coil deve corresponder a um bit. Cada conjunto de
8 coils deve formar um caracter. O bit menos significativo deve corresponder ao
endereço mais baixo. Quando o número de coils não for múltiplo de 8, os bits não
preenchidos devem conter 0.

Eng. Marcelo Saraiva Coelho

5
PADRÃO MODBUS
TRANSAÇÃO MODBUS

FUNÇ
FUNÇÃO 1 - Read Output Status (Leitura do estado das saí
saídas discretas)

Resposta:
A mensagem a seguir responde ao Mestre que os coils 20, 23, 24, 26, 28-30, 35,

36, 38 e 39 estão ativos. Os demais coils estão inativos.

Eng. Marcelo Saraiva Coelho

PADRÃO MODBUS
TRANSAÇÃO MODBUS

FUNÇ
FUNÇÃO 3 - Read Holding Register (Leitura dos valores dos registradores
de memó
memória) 4XXXX

Pergunta:
Estas funções são usadas para se obter o conteúdo de um ou vários registros

consecutivos de um Escravo. O campo de Dados deve ser preenchido com o endereço

inicial do registro, seguido pela quantidade de registros que se deseja saber o valor. A

quantidade máxima de registros permitida pelo software dos instrumentos é 15.

Eng. Marcelo Saraiva Coelho

6
PADRÃO MODBUS
TRANSAÇÃO MODBUS

FUNÇ
FUNÇÃO 3 - Read Holding Register (Leitura dos valores dos registradores
de memó
memória) 4XXXX

Pergunta:
A mensagem abaixo pede ao Escravo de endereço 17 que retorne o valor dos

registro 40096, 40097 e 40098 (3 registros ao todo).

Eng. Marcelo Saraiva Coelho

PADRÃO MODBUS
TRANSAÇÃO MODBUS

FUNÇ
FUNÇÃO 3 - Read Holding Register (Leitura dos valores dos registradores
de memó
memória) 4XXXX

Resposta:
O campo de Dados deve conter o número de caracteres a serem enviados

(sempre relativo ao modo RTU), seguido dos caracteres com a resposta.

Eng. Marcelo Saraiva Coelho

7
PADRÃO MODBUS
TRANSAÇÃO MODBUS

FUNÇ
FUNÇÃO 3 - Read Holding Register (Leitura dos valores dos registradores
de memó
memória) 4XXXX

Resposta:
A mensagem abaixo responde ao Mestre que o valor dos registros 40096; 40097 e
40098 valem 555, 0 e 100 respectivamente.

Eng. Marcelo Saraiva Coelho

PADRÃO MODBUS
TRANSAÇÃO MODBUS

FUNÇ
FUNÇÃO 16 - Preset Multiple Registers (Escrita de mú
múltiplos valores em
registradores de memó
memória.)

Pergunta:
Esta função é usada para se modificar o valor de um ou vários registros do Escravo ao
mesmo tempo. O campo de Dados deve ser preenchido com o endereço inicial do
conjunto de registros, seguido pela quantidade de registros a serem modificados, o
número de caracteres a serem enviados e os novos valores dos registros. A quantidade
máxima de registros permitida pelo software dos instrumentos é 15.

Eng. Marcelo Saraiva Coelho

8
PADRÃO MODBUS
TRANSAÇÃO MODBUS

FUNÇ
FUNÇÃO 16 - Preset Multiple Registers (Escrita de mú
múltiplos valores em
registradores de memó
memória.)

Pergunta:
A mensagem a seguir pede ao Escravo de endereço 17 que mude o valor do registro 96
para 10 e o valor do registro 97 para 258

Eng. Marcelo Saraiva Coelho

PADRÃO MODBUS
TRANSAÇÃO MODBUS

FUNÇ
FUNÇÃO 16 - Preset Multiple Registers (Escrita de mú
múltiplos valores em
registradores de memó
memória.)

Resposta:
O campo de Dados deve ser preenchido registros e a quantidade de registros
modificados.

Eng. Marcelo Saraiva Coelho

9
PADRÃO MODBUS
TRANSAÇÃO MODBUS

FUNÇ
FUNÇÃO 16 - Preset Multiple Registers (Escrita de mú
múltiplos valores em
registradores de memó
memória.)

Resposta:
Para o exemplo acima, o Escravo deve retornar a seguinte mensagem:

Eng. Marcelo Saraiva Coelho

PADRÃO MODBUS
TRANSAÇÃO MODBUS
EXERCÍ
EXERCÍCIO
Supondo um sistema integrado com CONTROLADOR + Microcomputador rodando
software supervisório, sendo que o CONTROLADOR utiliza o protocolo de comunicação
MODBUS/RTU, via RS232. O endereço de rede do CONTROLADOR é 23(10).

MONTE a estrutura (Frame) de comunicação completa, para uma leitura do valor do


endereço de memória 40011, 40013 e 40015 que são respectivamente os registros de
memória de um CONTROLADOR, correspondente a PV, MV e SP. Considerar que o
conteúdo do endereço de memória 40011 deste controlador esteja com o valor 43,6%,
endereço de memória 40013 esteja com o valor 20,2% e o endereço de memória 40015
esteja com o valor 65%.

Obs.: Os valores armazenados no controlador são iguais ao valor percentual multiplicado


por 10, ou seja 35,7% = 357;

Resposta:
Pergunta (Micro) Þ __ __ __ __ __ __ __ __ __ __ __

Resposta (CONTROLADOR) Þ __ __ __ __ __ __ __ __ __ __ __.

Eng. Marcelo Saraiva Coelho

10
PADRÃO MODBUS
TRANSAÇÃO MODBUS
EXERCÍ
EXERCÍCIO
Supondo um sistema integrado com CONTROLADOR + Microcomputador rodando
software supervisório, sendo que o CONTROLADOR utiliza o protocolo de comunicação
MODBUS/RTU, via RS232. O endereço de rede do CONTROLADOR é 23(10).

MONTE a estrutura (Frame) de comunicação completa, para a leitura do valor do


endereço de memória 00004, 00005 e 00007 que são respectivamente os coils do
CONTROLADOR, correspondente a modo AUTO/MAN, Estado do alarme 3 e estado do
alarme 4. Considerar que o conteúdo do endereço de memória 00004 deste controlador
esteja em MAN=1, endereço de memória 00005 esteja acionado e o endereço de
memória 00007 esteja desacionado

Resposta:
Pergunta (Micro) Þ __ __ __ __ __ __ __ __ __ __ __

Resposta (CONTROLADOR) Þ __ __ __ __ __ __ __ __ __ __ __.

Eng. Marcelo Saraiva Coelho

PADRÃO MODBUS
TRANSAÇÃO MODBUS

RELAÇ
RELAÇÃO DE COILS (bit’
(bit’s) E SEUS ENDERÇ
ENDERÇOS

DO CONTROLADOR PRESYS mod. DCY-


DCY-2050 LIGHT

Eng. Marcelo Saraiva Coelho

11
PADRÃO MODBUS
TRANSAÇÃO MODBUS

RELAÇ
RELAÇÃO DE REGISTROS E SEUS ENDERÇ
ENDERÇOS

DO CONTROLADOR PRESYS mod.DCY-


mod.DCY-2050 LIGHT

Eng. Marcelo Saraiva Coelho

PADRÃO MODBUS
TRANSAÇÃO MODBUS

O Mestre solicita uma leitura dos registradores 40108 a 40110 do elemento


escravo 06.
A mensagem especifica o endereço inicial como 0107 (006Bh)

Eng. Marcelo Saraiva Coelho

12
PADRÃO MODBUS
TRANSAÇÃO MODBUS

O escravo repete o código da função indicando uma resposta normal.


A quantidade de bytes especifica quantos itens estão sendo retornados.

Eng. Marcelo Saraiva Coelho

PADRÃO MODBUS
MODBUS/TCP

Lançado em 1999, foi o primeiro protocolo aberto a usar ethernet e TCP-IP.


Não distinção entre mestre e escravos ao usar a uma arquitetura cliente
servidor.
Conexões através da Porta 502.
Gateways disponíveis para o Modbus RTU

Encapsulamento TCP

Eng. Marcelo Saraiva Coelho

13
PADRÃO MODBUS
LIGAÇÃO ELÉTRICA DA COMUNICAÇÃO MODBUS
DOS CONTROLADORES PRESYS

Eng. Marcelo Saraiva Coelho

PADRÃO MODBUS
MÓDULOS OPCIONAIS PARA COMUNICAÇÃO DOS
CONTROLADORES PRESYS

Eng. Marcelo Saraiva Coelho

14
PADRÃO MODBUS
LIGAÇÃO ELÉTRICA DA COMUNICAÇÃO MODBUS
DOS CONTROLADORES PRESYS

Eng. Marcelo Saraiva Coelho

PADRÃO MODBUS
LIGAÇÃO ELÉTRICA DA REDE RS485
DOS CONTROLADORES PRESYS

Eng. Marcelo Saraiva Coelho

15