aula modbus

15

Click here to load reader

Upload: blytz

Post on 21-Jun-2015

336 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: AULA MODBUS

1

PADRÃO MODBUS

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

Eng. Marcelo Saraiva Coelho

TIPOS DE PROTOCOLOS

Page 2: AULA MODBUS

2

PADRÃO MODBUS

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

Eng. Marcelo Saraiva Coelho

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 transmissão.

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)

LRC ou CRC

Page 3: AULA MODBUS

3

PADRÃO MODBUS

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

Eng. Marcelo Saraiva Coelho

MODELAGEM DOS DADOS

Page 4: AULA MODBUS

4

PADRÃO MODBUS

Eng. Marcelo Saraiva Coelho

TRANSAÇÃO MODBUS

A identificaA 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 escritodiferentes 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

Eng. Marcelo Saraiva Coelho

TRANSAÇÃO MODBUS

FUNFUNÇÇÃO 1 ÃO 1 -- ReadRead Output Status (Leitura do estado das saOutput 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.

Page 5: AULA MODBUS

5

PADRÃO MODBUS

Eng. Marcelo Saraiva Coelho

TRANSAÇÃO MODBUS

FUNFUNÇÇÃO 1 ÃO 1 -- ReadRead Output Status (Leitura do estado das saOutput 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

Eng. Marcelo Saraiva Coelho

TRANSAÇÃO MODBUS

FUNFUNÇÇÃO 1 ÃO 1 -- ReadRead Output Status (Leitura do estado das saOutput 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.

Page 6: AULA MODBUS

6

PADRÃO MODBUS

Eng. Marcelo Saraiva Coelho

TRANSAÇÃO MODBUS

FUNFUNÇÇÃO 1 ÃO 1 -- ReadRead Output Status (Leitura do estado das saOutput 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

Eng. Marcelo Saraiva Coelho

TRANSAÇÃO MODBUS

FUNFUNÇÇÃO 3 ÃO 3 -- ReadRead Holding Holding RegisterRegister (Leitura dos valores dos registradores (Leitura dos valores dos registradores de memde memóória) 4XXXXria) 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.

Page 7: AULA MODBUS

7

PADRÃO MODBUS

Eng. Marcelo Saraiva Coelho

TRANSAÇÃO MODBUS

FUNFUNÇÇÃO 3 ÃO 3 -- ReadRead HoldingHolding RegisterRegister (Leitura dos valores dos registradores (Leitura dos valores dos registradores de memde memóória) 4XXXXria) 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

Eng. Marcelo Saraiva Coelho

TRANSAÇÃO MODBUS

FUNFUNÇÇÃO 3 ÃO 3 -- ReadRead Holding Holding RegisterRegister (Leitura dos valores dos registradores (Leitura dos valores dos registradores de memde memóória) 4XXXXria) 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.

Page 8: AULA MODBUS

8

PADRÃO MODBUS

Eng. Marcelo Saraiva Coelho

TRANSAÇÃO MODBUS

FUNFUNÇÇÃO 3 ÃO 3 -- ReadRead Holding Holding RegisterRegister (Leitura dos valores dos registradores (Leitura dos valores dos registradores de memde memóória) 4XXXXria) 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

Eng. Marcelo Saraiva Coelho

TRANSAÇÃO MODBUS

FUNFUNÇÇÃO 16 ÃO 16 -- PresetPreset MultipleMultiple RegistersRegisters (Escrita de m(Escrita de múúltiplos valores em ltiplos valores em registradores de memregistradores 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.

Page 9: AULA MODBUS

9

PADRÃO MODBUS

Eng. Marcelo Saraiva Coelho

TRANSAÇÃO MODBUS

FUNFUNÇÇÃO 16 ÃO 16 -- PresetPreset MultipleMultiple RegistersRegisters (Escrita de m(Escrita de múúltiplos valores em ltiplos valores em registradores de memregistradores 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

Eng. Marcelo Saraiva Coelho

TRANSAÇÃO MODBUS

FUNFUNÇÇÃO 16 ÃO 16 -- PresetPreset MultipleMultiple RegistersRegisters (Escrita de m(Escrita de múúltiplos valores em ltiplos valores em registradores de memregistradores de memóória.)ria.)

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

modificados.

Page 10: AULA MODBUS

10

PADRÃO MODBUS

Eng. Marcelo Saraiva Coelho

TRANSAÇÃO MODBUS

FUNFUNÇÇÃO 16 ÃO 16 -- PresetPreset MultipleMultiple RegistersRegisters (Escrita de m(Escrita de múúltiplos valores em ltiplos valores em registradores de memregistradores de memóória.)ria.)

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

PADRÃO MODBUS

Eng. Marcelo Saraiva Coelho

TRANSAÇÃO MODBUS

EXERCEXERCÍÍCIOCIO

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 dememó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 40015esteja 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) Þ __ __ __ __ __ __ __ __ __ __ __.

Page 11: AULA MODBUS

11

PADRÃO MODBUS

Eng. Marcelo Saraiva Coelho

TRANSAÇÃO MODBUS

EXERCEXERCÍÍCIOCIO

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) Þ __ __ __ __ __ __ __ __ __ __ __.

PADRÃO MODBUS

Eng. Marcelo Saraiva Coelho

TRANSAÇÃO MODBUS

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

DO CONTROLADOR PRESYS mod. DCYDO CONTROLADOR PRESYS mod. DCY--2050 LIGHT2050 LIGHT

Page 12: AULA MODBUS

12

PADRÃO MODBUS

Eng. Marcelo Saraiva Coelho

TRANSAÇÃO MODBUS

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

DO CONTROLADOR PRESYS DO CONTROLADOR PRESYS mod.DCYmod.DCY--2050 LIGHT2050 LIGHT

PADRÃO MODBUS

Eng. Marcelo Saraiva Coelho

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)

Page 13: AULA MODBUS

13

PADRÃO MODBUS

Eng. Marcelo Saraiva Coelho

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.

PADRÃO MODBUS

Eng. Marcelo Saraiva Coelho

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

Page 14: AULA MODBUS

14

PADRÃO MODBUS

Eng. Marcelo Saraiva Coelho

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

PADRÃO MODBUS

Eng. Marcelo Saraiva Coelho

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

Page 15: AULA MODBUS

15

PADRÃO MODBUS

Eng. Marcelo Saraiva Coelho

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

PADRÃO MODBUS

Eng. Marcelo Saraiva Coelho

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