Download - AULA 4 - MODBUS SLIDES.pdf
1
PADRÃO MODBUSVISÃO GERAL
História
Criado em 1979 para comunicação entre controladores
da MODICON (Schneider).
E ifi ã b t d d i i iEspecificaçã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
Eng. Marcelo Saraiva Coelho
sistemas de supervisão.
PADRÃO MODBUSTIPOS DE PROTOCOLOS
Eng. Marcelo Saraiva Coelho
2
PADRÃO MODBUSPROTOCOLO MODBUS PADRÃO
Escopo do Protocolo
Como o CLP solicita o acesso a outro dispositivo
á
Topologia Física
Ponto a Ponto com RS-232.
Barramento Mutiponto com RS-485.Como este responderá
Como os erros serão detectados e informados.
Controle de Acesso ao Meio
Protocolo Mestre-escravo.
Eng. Marcelo Saraiva Coelho
PADRÃO MODBUSCONTEÚDO DA TRANSAÇÃO
Endereçamento (1 byte)
0 : Usado para “broadcast”.
Bytes de Dados
Informação adicionais 0 Usado pa a oadcas
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.
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
Eng. Marcelo Saraiva Coelho
transmissão.
3
PADRÃO MODBUSCAMADA 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.
F ã d Q dFormaçã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]
Eng. Marcelo Saraiva Coelho
RTU ASCII
PADRÃO MODBUSMODELAGEM DOS DADOS
Eng. Marcelo Saraiva Coelho
4
PADRÃO MODBUSTRANSAÇÃO MODBUS
A identificação dos comandos (funções) de leitura e escrita são A identificação dos comandos (funçõ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.
Eng. Marcelo Saraiva Coelho
• 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 MODBUSTRANSAÇÃO MODBUS
FUNÇÃO 1 FUNÇÃO 1 -- Read Output Status (Leitura do estado das saídas discretas)Read Output Status (Leitura do estado das saídas discretas)
Pergunta:Esta função é usada para se obter o estado de um coil (bit) ou de vários coilsEsta 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
5
PADRÃO MODBUSTRANSAÇÃO MODBUS
FUNÇÃO 1 FUNÇÃO 1 -- Read Output Status (Leitura do estado das saídas discretas)Read Output Status (Leitura do estado das saídas discretas)
Pergunta:A mensagem abaixo pede ao escravo de endereço 17 que retorne o estado dosA 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 MODBUSTRANSAÇÃO MODBUS
FUNÇÃO 1 FUNÇÃO 1 -- Read Output Status (Leitura do estado das saídas discretas)Read Output Status (Leitura do estado das saídas discretas)
Resposta:O campo de Dados deve conter o número de caracteres a serem enviados (sempre 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
6
PADRÃO MODBUSTRANSAÇÃO MODBUS
FUNÇÃO 1 FUNÇÃO 1 -- Read Output Status (Leitura do estado das saídas discretas)Read Output Status (Leitura do estado das saídas discretas)
Resposta:A mensagem a seguir responde ao Mestre que os coils 20 23 24 26 28 30 35A 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 MODBUSTRANSAÇÃO MODBUS
FUNÇÃO 3 FUNÇÃO 3 -- Read Holding Register (Leitura dos valores dos registradores Read Holding Register (Leitura dos valores dos registradores de memória) 4XXXXde memória) 4XXXX
Pergunta:gEstas 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
7
PADRÃO MODBUSTRANSAÇÃO MODBUS
FUNÇÃO 3 FUNÇÃO 3 -- Read HoldingRead Holding Register (Leitura dos valores dos registradores Register (Leitura dos valores dos registradores de memória) 4XXXXde memória) 4XXXX
Pergunta:gA 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 MODBUSTRANSAÇÃO MODBUS
FUNÇÃO 3 FUNÇÃO 3 -- Read Holding Register (Leitura dos valores dos registradores Read Holding Register (Leitura dos valores dos registradores de memória) 4XXXXde memória) 4XXXX
Resposta:pO 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
8
PADRÃO MODBUSTRANSAÇÃO MODBUS
FUNÇÃO 3 FUNÇÃO 3 -- Read Holding Register (Leitura dos valores dos registradores Read Holding Register (Leitura dos valores dos registradores de memória) 4XXXXde memória) 4XXXX
Resposta:pA 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 MODBUSTRANSAÇÃO MODBUS
FUNÇÃO 16 FUNÇÃO 16 -- Preset Multiple Registers (Escrita de múltiplos valores em Preset Multiple Registers (Escrita de múltiplos valores em registradores de memória.)registradores de memória.)
Pergunta:gEsta 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
9
PADRÃO MODBUSTRANSAÇÃO MODBUS
FUNÇÃO 16 FUNÇÃO 16 -- Preset Multiple Registers (Escrita de múltiplos valores em Preset Multiple Registers (Escrita de múltiplos valores em registradores de memória.)registradores de memória.)
Pergunta:gA 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 MODBUSTRANSAÇÃO MODBUS
FUNÇÃO 16 FUNÇÃO 16 -- Preset Multiple Registers (Escrita de múltiplos valores em Preset Multiple Registers (Escrita de múltiplos valores em registradores de memória.)registradores de memória.)
Resposta:pO campo de Dados deve ser preenchido registros e a quantidade de registros
modificados.
Eng. Marcelo Saraiva Coelho
10
PADRÃO MODBUSTRANSAÇÃO MODBUS
FUNÇÃO 16 FUNÇÃO 16 -- Preset Multiple Registers (Escrita de múltiplos valores em Preset Multiple Registers (Escrita de múltiplos valores em registradores de memória.)registradores de memória.)
Resposta:pPara o exemplo acima, o Escravo deve retornar a seguinte mensagem:
Eng. Marcelo Saraiva Coelho
PADRÃO MODBUSTRANSAÇÃO MODBUS
EXERCÍCIOEXERCÍ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 10 j 35 7% 357
Eng. Marcelo Saraiva Coelho
por 10, ou seja 35,7% = 357;
Resposta:Pergunta (Micro) Þ __ __ __ __ __ __ __ __ __ __ __
Resposta (CONTROLADOR) Þ __ __ __ __ __ __ __ __ __ __ __.
11
PADRÃO MODBUSTRANSAÇÃO MODBUS
EXERCÍCIOEXERCÍ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:
Eng. Marcelo Saraiva Coelho
Pergunta (Micro) Þ __ __ __ __ __ __ __ __ __ __ __
Resposta (CONTROLADOR) Þ __ __ __ __ __ __ __ __ __ __ __.
PADRÃO MODBUSTRANSAÇÃO MODBUS
RELAÇÃO DE COILS (bit’s) E SEUS ENDERÇOS RELAÇÃO DE COILS (bit’s) E SEUS ENDERÇOS
DO CONTROLADOR PRESYS mod. DCYDO CONTROLADOR PRESYS mod. DCY--2050 LIGHT2050 LIGHT
Eng. Marcelo Saraiva Coelho
12
PADRÃO MODBUSTRANSAÇÃO MODBUS
RELAÇÃO DE REGISTROS E SEUS ENDERÇOS RELAÇÃO DE REGISTROS E SEUS ENDERÇOS
DO CONTROLADOR PRESYS mod.DCYDO CONTROLADOR PRESYS mod.DCY--2050 LIGHT2050 LIGHT
Eng. Marcelo Saraiva Coelho
PADRÃO MODBUSTRANSAÇÃ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
13
PADRÃO MODBUSTRANSAÇÃ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 MODBUSMODBUS/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 502Conexões através da Porta 502.
Gateways disponíveis para o Modbus RTU
Encapsulamento TCP
Eng. Marcelo Saraiva Coelho
14
PADRÃO MODBUSLIGAÇÃO ELÉTRICA DA COMUNICAÇÃO MODBUS
DOS CONTROLADORES PRESYS
Eng. Marcelo Saraiva Coelho
PADRÃO MODBUSMÓDULOS OPCIONAIS PARA COMUNICAÇÃO DOS
CONTROLADORES PRESYS
Eng. Marcelo Saraiva Coelho
15
PADRÃO MODBUSLIGAÇÃ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
16
PADRÃO MODBUS
PRÁTICA DE LABORATÓRIO MODBUS
Eng. Marcelo Saraiva Coelho
PADRÃO MODBUS
PRÁTICA DE LABORATÓRIO MODBUS
Eng. Marcelo Saraiva Coelho
17
PADRÃO MODBUS
PRÁTICA DE LABORATÓRIO MODBUS
Eng. Marcelo Saraiva Coelho
PADRÃO MODBUS
PRÁTICA DE LABORATÓRIO MODBUS
Eng. Marcelo Saraiva Coelho
18
PADRÃO MODBUS
PRÁTICA DE LABORATÓRIO MODBUS
PACOTE ENVIADO PELO MICROCOMPUTADOR
TEÓRICO (ITEM 1) REAL DO SUPERVISÓRIO (VISUALIZADO NO LOGWIN)
Leitura do endereço de
memória 40001, 40003
e 40005
__ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __
Leitura do endereço de
memória 00001, 00005
e 00006
__ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __
Eng. Marcelo Saraiva Coelho
Escrita do endereço de
memória 40003 e 40004
__ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __
PADRÃO MODBUS
PRÁTICA DE LABORATÓRIO MODBUS
RESPOSTA DO CONTROLADOR
TEÓRICO (ITEM 1) REAL DO SUPERVISÓRIO (VISUALIZADO NO LOGWIN)
Leitura do endereço de
memória 40001, 40003
e 40005
__ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __
Leitura do endereço de
memória 00001, 00005
e 00006
__ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __
Eng. Marcelo Saraiva Coelho
e 00006
Escrita do endereço de
memória 40003 e 40004
__ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __
19
PADRÃO MODBUS
PRÁTICA DE LABORATÓRIO MODBUSCONCLUSÃO DE LABORATÓRIOCONCLUSÃO DE LABORATÓRIO
Os relatórios de conclusão do Laboratório MODBUS devem conter no mínimo os seguintes itens:
A ó i d P di t d l b tó i t b l (T ó i R l i li d A cópia do Procedimento usado no laboratório com as tabelas (Teórica e Real-visualizada no LOGWIN) preenchidas .
Caso as colunas teórico e real da tabela PACOTE ENVIADO PELO MICROCOMPUTADOR estejam iguais, explicar as estruturas das mensagens com a maior quantidade possível de detalhes. Caso as colunas teórico e real da tabela PACOTE ENVIADO PELO MICROCOMPUTADOR estejam diferentes, explicar o motivo da diferença e também se haverá algum problema na comunicação entre o computador e o controlador devido esta diferença.
Eng. Marcelo Saraiva Coelho
diferença.
Caso as colunas teórico e real da tabela RESPOSTA DO CONTROLADOR estejam iguais, explicar as estruturas das mensagens com a maior quantidade possível de detalhes. Caso as colunas teórico e real da tabela PACOTE ENVIADO PELO MICROCOMPUTADOR estejam diferentes, explicar o motivo da diferença e também se haverá algum problema na comunicação entre o computador e o controlador devido esta diferença.
PADRÃO MODBUS
PRÁTICA DE LABORATÓRIO MODBUS
CONCLUSÃO DE LABORATÓRIOCONCLUSÃO DE LABORATÓRIO
Analisar o manual de comunicação MODBUS para controlador PRESYS DCY-2050 Light e responder as seguintes questões:
• Na página 35 do manual é mostrado a lista de registros para comunicação MODBUS. Qual o endereço MODBUS (por exemplo: 40001 ou 30001 ou 40018, etc.) correspondente ao valor do SP Local do controlador?
• Quando o valor do SP local ajustado no display for 35,7% qual o valor armazenado no registro correspondente?
• Na página 39 do manual é mostrado a lista de coils para comunicação MODBUS. Qual o endereço MODBUS (por exemplo: 00001 ou 10001 ou 10018, etc.) correspondente ao
Eng. Marcelo Saraiva Coelho
n r ço MODB S (por mp o ou ou 8, tc.) corr spon nt ao modo de operação da malha de controle do controlador?
• Quando o valor do modo de operação da malha de controle for AUTOMÄTICO, qual o valor armazenado no coil correspondente?
20
PADRÃO MODBUS
PRÁTICA DE LABORATÓRIO MODBUS
CONCLUSÃO DE LABORATÓRIOCONCLUSÃO DE LABORATÓRIO
• Na página 10 do manual é mostrado o formato das mensagens MODBUS/RTU. Qual o número de caracteres do campo “Dados” em uma mensagem de resposta do controlador, supondo que o mestre MODBUS solicitou a leitura do valor de 3 registros de memória (Função 3)? Consultar a página 11 e 12 do manual
• No laboratório, utilizamos comunicação via interface RS232. Caso necessitemos montar uma rede de controladores ligados a um computador o que devemos instalar nos controladores (consultar as páginas 3 a 4 do manual)?
• Considerando que o computador somente possui interface RS232 (com1 ou com2), para satisfazer a situação proposta na questão anterior, qual o nome do
Eng. Marcelo Saraiva Coelho
equipamento/dispositivo que deve ser utilizado conectado ao computador, para que a ligação correta seja realizada? Além do nome deste equipamento/dispositivo, pesquise na internet um deste equipamento/dispositivo e descreva no mínimo: modêlo, fabricante e suas características principais.
PADRÃO MODBUS
PRÁTICA DE LABORATÓRIO MODBUS
CONCLUSÃO DE LABORATÓRIOCONCLUSÃO DE LABORATÓRIO
Obs.: Será avaliado:
Apresentação do relatório;p ç ;
Conteúdo;
Capacidade de relatar os conhecimentos abordados na experiência.
Respostas e pesquisa.
Eng. Marcelo Saraiva Coelho