Eng. Marcelo Saraiva Coelho
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.
PADRÃO MODBUS
TIPOS DE PROTOCOLOS
Eng. Marcelo Saraiva Coelho
PROTOCOLO MODBUS PADRÃO
Escopo do Protocolo
Como o CLP solicita o acesso a outro dispositivo
Como este responderá
Como os erros serão detectados e informados.
Topologia Física
Ponto a Ponto com RS-232.
Barramento Mutiponto com RS-485.
Controle de Acesso ao Meio
Protocolo Mestre-escravo.
PADRÃO MODBUS CONTEÚDO DA TRANSAÇÃO
Endereçamento (1 byte) 0 : Usado para “broadcast”.
1 a 247 : Usados pelos escravos.
Código da Função (1 byte) Estabelece a ação a ser efetuada.
0 a 127 : Funções
128 a 255 : Informe de erro na
Bytes de Dados
Informação adicionais necessárias.
Endereços de memória
Quantidade de itens transmitidos
Quantidade de bytes do campo
Verificação de Erros (2 bytes)
Eng. Marcelo Saraiva Coelho
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
PADRÃO MODBUS
MODELAGEM DOS DADOS
Eng. Marcelo Saraiva Coelho
TRANSAÇÃO MODBUS A identifica
A identificaç ção dos comandos (fun ão dos comandos (funç ções) de leitura e escrita são ões) de leitura e escrita são diferentes de acordo com o tipo de dado a ser lido ou escrito 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.
PADRÃO MODBUS TRANSAÇÃO MODBUS
FUN FUNÇ ÇÃO 1 ÃO 1 - - Read Read Output Status (Leitura do estado das saí Output Status (Leitura do estado das sa ídas discretas) 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
TRANSAÇÃO MODBUS FUN
FUNÇ ÇÃO 1 ÃO 1 - - Read Read Output Status (Leitura do estado das saí Output Status (Leitura do estado das sa ídas discretas) 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)..
PADRÃO MODBUS TRANSAÇÃO MODBUS
FUN FUNÇ ÇÃO 1 ÃO 1 - - Read Read Output Status (Leitura do estado das saí Output Status (Leitura do estado das sa ídas discretas) 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
TRANSAÇÃO MODBUS FUN
FUNÇ ÇÃO 1 ÃO 1 - - Read Read Output Status (Leitura do estado das saí Output Status (Leitura do estado das sa ídas discretas) 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.
PADRÃO MODBUS TRANSAÇÃO MODBUS
FUNÇ FUN ÇÃO 3 ÃO 3 - - Read Read Holding Holding Register Register (Leitura dos valores dos registradores (Leitura dos valores dos registradores de mem
de memó ória) 4XXXX 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
TRANSAÇÃO MODBUS FUN
FUNÇ ÇÃO 3 ÃO 3 - - Read Read Holding Holding Register Register (Leitura dos valores dos registradores (Leitura dos valores dos registradores de mem
de memó ória) 4XXXX 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).
PADRÃO MODBUS TRANSAÇÃO MODBUS
FUNÇ FUN ÇÃO 3 ÃO 3 - - Read Read Holding Holding Register Register (Leitura dos valores dos registradores (Leitura dos valores dos registradores de mem
de memó ória) 4XXXX 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
TRANSAÇÃO MODBUS FUN
FUNÇ ÇÃO 3 ÃO 3 - - Read Read Holding Holding Register Register (Leitura dos valores dos registradores (Leitura dos valores dos registradores de mem
de memó ória) 4XXXX ria) 4XXXX Resposta:
A mensagem abaixo responde ao Mestre que o valor dos registros 40096; 40097 e 40098 valem 555, 0 e 100 respectivamente.
PADRÃO MODBUS TRANSAÇÃO MODBUS
FUN FUNÇ ÇÃO 16 ÃO 16 - - Preset Preset Multiple Multiple Registers Registers (Escrita de m (Escrita de mú últiplos valores em ltiplos valores em registradores de mem
registradores de memó ória.) 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
TRANSAÇÃO MODBUS FUN
FUNÇ ÇÃO 16 ÃO 16 - - Preset Preset Multiple Multiple Registers Registers (Escrita de m (Escrita de mú últiplos valores em ltiplos valores em registradores de mem
registradores de memó ória.) 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
PADRÃO MODBUS TRANSAÇÃO MODBUS
FUN FUNÇ ÇÃO 16 ÃO 16 - - Preset Preset Multiple Multiple Registers Registers (Escrita de m (Escrita de mú últiplos valores em ltiplos valores em registradores de mem
registradores de memó ória.) ria.) Resposta:
O campo de Dados deve ser preenchido registros e a quantidade de registros modificados.
Eng. Marcelo Saraiva Coelho
TRANSAÇÃO MODBUS FUN
FUNÇ ÇÃO 16 ÃO 16 - - Preset Preset Multiple Multiple Registers Registers (Escrita de m (Escrita de mú últiplos valores em ltiplos valores em registradores de mem
registradores de memó ória.) ria.) Resposta:
Para o exemplo acima, o Escravo deve retornar a seguinte mensagem:
PADRÃO MODBUS TRANSAÇÃO MODBUS
EXERC EXERCÍ ÍCIO 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).
MONTEa 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%.