Sei sulla pagina 1di 11

CEFET-RN / Curso Superior de Tecnologia em Automao Industrial / Redes Industriais Aula 04

Viso Geral dos Protocolos Modbus


Histria
Criado em 1979 para comunicao entre controladores
da MODICON (Schneider).
Especificao aberta desde o inicio.
Fcil operao e manuteno.

Conseqncias
Padro de fato ao ser adotado por vrios
fornecedores.
Adotado em vrios nveis de aplicaes, inclusive
sistemas de superviso.

1. Modicon, hoje Schneider Electric, introduziu o protocolo Modbus no


mercado em 1979. A Schneider ajudou no desenvolvimento de uma
organizao de usurios e desenvolvedores independentes chamada
ModbusIDA.
2. Modbus-IDA uma organizao com fins no lucrativos agrupando
usurios e fornecedores de dispositivos de automao que visam a
adoo do pacote de protocolos Modbus e a evoluo da arquitetura de
endereamento para sistemas de automao distribudos em vrios
segmentos de mercado.
3. Modbus-IDA fornece a infra estrutura para obter e compartilhar
informao sobre os protocolos, suas aplicaes e a certificao de
dispositivos visando simplificar a implementao pelos usurios.

CEFET-RN / Curso Superior de Tecnologia em Automao Industrial / Redes Industriais Aula 04

Tipos de Protocolos Modbus


Ethernet Modbus (TCP/IP)

Gateway

Modbus Plus

Gateway

Modbus

1. O MODBUS TCP/IP usado para comunicao entre sistemas de


superviso e controladores lgicos programveis. O protocolo Modbus
encapsulado no protocolo TCP/IP e transmitido atravs de redes padro
ethernet com controle de acesso ao meio por CSMA/CD.
2. O MODBUS PLUS usado para comunicao entre si de controladores
lgicos programveis, mdulos de E/S, chaves de partida eletrnica de
motores, interfaces homem mquina etc. O meio fsico o RS-485 com
taxas de transmisso de 1 Mbps, controle de acesso ao meio por HDLC
(High Level Data Link Control).
3. O MODBUS PADRO usado para comunicao dos CLPs com os
dispositivos de entrada e sada de dados, instrumentos eletrnic os
inteligentes (IEDs) como rels de proteo, controladores de processo,
atuadores de vlvulas, transdutores de energia e etc. o meio fs ico o
RS-232 ou RS-485 em conjunto com o protocolo mestre-escravo.

CEFET-RN / Curso Superior de Tecnologia em Automao Industrial / Redes Industriais Aula 04

Modbus e o Modelo OSI

1. O protocolo MODBUS PADRO pode ser enquadrado na camada de


aplicao do modelo OSI.
2. Os protocolos MODBUS so usados associados com outros protocolos
da camada de enlace e camada fsica (RS-232, RS-485 e Ethernet).
3. Ele define uma estrutura de mensagens de comunicao usadas
para transferir dados discretos e analgicos entre dispositivos
microprocessados com deteco e informao de erros de transmisso.

CEFET-RN / Curso Superior de Tecnologia em Automao Industrial / Redes Industriais Aula 04

Protocolo Modbus Padro


Escopo do Protocolo
Como o CLP solicita o acesso a outro dispositivo
Como este responder
Como os erros sero detectados e informados.

Topologia Fsica
Ponto a Ponto com RS-232.
Barramento Mutiponto com RS-485.

Controle de Acesso ao Meio


Protocolo Mestre-escravo.

1. Durante a comunicao em uma rede Modbus, o protocolo determina


como o dispositivo conhecer seu endereo, como reconhecer uma
mensagem endereada para ele, como determinar o tipo de ao a ser
tomada e como extrair o dado ou outra informao qualquer contida na
mensagem. Se uma resposta necessria, como o dispositivo
construir uma mensagem e a enviar.
2. O mestre pode enderear mensagens para um escravo individual ou
enviar mensagens para todos (broadcast). Os escravos retornam um a
mensagem somente para as consultas endereadas especificamente
para ele. As mensagens broadcast no geram respostas.

CEFET-RN / Curso Superior de Tecnologia em Automao Industrial / Redes Industriais Aula 04

Transaes entre dispositivos

Endereo

Mensagem de
solicitao do mestre

Cdigo da Funo

Cdigo da Funo
Bytes de Dados
(Oito bits)
Verificao de Erro

Endereo

Mensagem de
resposta do escravo

Bytes de Dados
(Oito bits)
Verificao de Erro

1. Na mensagem de consulta, o cdigo de funo informa ao


dispositivo escravo com o respectivo endereo, qual a ao a ser
executada. Os bytes de dados contm informaes para o escravo, por
exemplo, qual o registrador inicial e a quantidade de registros a serem
lidos. O campo de verificao de erro permite ao escravo validar os
dados recebidos.
2. Na mensagem de resposta, o cdigo de funo repetido de volta
para o mestre. Os bytes de dados contm os dados coletados pelo
escravo ou o seu estado. Se um erro ocorre, o cdigo de funo
modificado para indicar que a resposta uma resposta de erro e os
byte de dados contm um cdigo que descrever o erro. A verificao
de erro permite o mestre validar os dados recebidos.

CEFET-RN / Curso Superior de Tecnologia em Automao Industrial / Redes Industriais Aula 04

Contedo da Transao
Endereamento (1 byte)
0
: Usado para broadcast.
1 a 247
: Usados pelos escravos.

Cdigo da Funo (1 byte)


Estabelece a ao a ser efetuada.
0 a 127
: Funes
128 a 255
: Informe de erro na transmisso.

Bytes de Dados
Informao adicionais necessrias.
Endereos de memria
Quantidade de itens transmitidos
Quantidade de bytes do campo

Verificao de Erros (2 bytes)


LRC ou CRC

1. A verificao de erro efetuada opcionalmente pela paridade de


cada byte transmitido e obrigatoriamente pelo mtodo LRC ou CRC
sobre toda a mensagem. O LRC descarta os caracteres de inicio e fim
de mensagem. O CRC descarta os bits de inicio, paridade e parada de
cada byte.
2. O dispositivo mestre espera uma resposta por um determinado tempo
antes de abortar uma transao (timeout).
3. O tempo deve ser longo o suficiente para permitir a resposta de
qualquer escravo. Se ocorre um erro de transmisso, o escravo no
construir a resposta para o mestre. Ser detectado um timeout e o
mestre tomar as providncias programadas.

CEFET-RN / Curso Superior de Tecnologia em Automao Industrial / Redes Industriais Aula 04

Camada de Enlace
Modos de Transmisso
RTU: Cada byte contem dois dgitos hexadecimais.
ASCII: Cada byte contem um caractere ASCII entre 0 e 9, A a F.

Formao dos Quadros


Definio do inicio e fim da mensagem
RTU:
Tempos de silncio de 3,5 caracteres.
ASCII:
Inicia com : e termina com CR e LF.

Contedo dos Quadros


Conjuntos de caracteres Hexadecimais de 00 a FF. [LSB ... MSB]
RTU
ASCII
START 1 2 3 4 5 6 7 8 PAR STOP

START 1 2 3 4 5 6 7 PAR STOP

START 1 2 3 4 5 6 7 8 STOP STOP

START 1 2 3 4 5 6 7 STOP STOP

1. Algumas caractersticas do protocolo Modbus so fixas, como o


formato da mensagem, funes disponveis e tratamento de erros de
comunicao
2. Outras caractersticas so selecionveis como o meio de transmisso,
velocidade, timeout, bits de parada e paridade e o modo de
transmisso (RTU os ASCII).
3. A seleo do modo de transmisso define como os dados sero
codificados.
Exemplo: Transmisso do endereo 3Bh
RTU:
0011 1011
ASCII:
3 = 33h
B = 42h
0011 0011
0100 0010
4. Nos protocolos MODBUS Plus e TCP/IP as mensagens so colocadas
em frames, no sendo necessrio a definio do modo de transmisso,
usando sempre o modo RTU.
5. O modo ASCII permite intervalos de tempo de at um segundo entre
os caracteres sem provocar erros, mas sua mensagem tpica tem um
tamanho duas vezes maior que a mensagem equivalente usando o
modo RTU.
6. O modo RTU transmite a informao com um menor nmero de bits,
mas a mensagem deve ter todos os seus caracteres enviados em uma
seqncia contnua.
7. O modo RTU tambm chamado de ModBus-B ou Modbus Binario e
o modo preferencial.

CEFET-RN / Curso Superior de Tecnologia em Automao Industrial / Redes Industriais Aula 04

Modelagem de Dados
Endereos dos
Registradores
0XXXX

1XXXX

3XXXX

4XXXX

Memria
Comandos
Dispositivo
Leitura Escrita
Solenides
1
5,15
Sadas Discretas
Entradas
Digitais

N/D

Entradas
Analgicas

N/D

Registradores
de Memria

6,16

1. Todo dispositivo em uma rede Modbus deve ter a sua memria dividida em
registradores de 16 bits numerados conforme o modelo apresentado.
2. A diviso baseada na estrutura de memria de um CLP:

Sadas discretas para os atuadores ON-OFF utilizam um bit. Cada


registrador comporta 16 sadas.

Entradas discretas para os sensores ON-OFF utilizam um bit. Cada


registrador comporta 16 entradas.

Entradas analgicas utilizam registradores de 16 bits para os valores


obtidos por conversores A/D a partir dos sinais dos sensores
analgicos.

Registradores de Memria com 16 bits para os valores utilizados


internamente no CLP.

3. A identificao dos comandos (funes) de leitura e escrita so diferentes de


acordo com o tipo de dado a ser lido ou escrito.

A funo 1 efetua a leitura do estado das sadas discretas.

A funo 5 efetua a escrita de uma nica sada discreta.

A funo 15 efetua a escrita de mltiplas sadas discretas.

A funo 2 efetua a leitura do estado das entradas discretas.

A funo 4 efetua a leitura dos valores das entradas analgicas.

A funo 3 efetua a leitura dos valores dos registradores de memria.

A funo 6 efetua a escrita de um valor em um registrador de


memria.

A funo 16 efetua a escrita de mltiplos valores em registradores de


memria.

CEFET-RN / Curso Superior de Tecnologia em Automao Industrial / Redes Industriais Aula 04

Exemplo de Transao Modbus


O Mestre solicita uma leitura dos registradores 40108 a
40110 do elemento escravo 06.
A mensagem especifica o endereo inicial como 0107
(006Bh)
Solicitao
Nome do Campo Exemplo(HEX) ASCII
:
Cabealho
Endereo
06
0 6
Cdigo da Funo
03
0 3
End. Inicial HI
00
0 0
End. Inicial LO
6B
6 B
N Registros HI
00
0 0
N Registros LO
03
0 3
Verificao de Erro
LRC (2)
Trailer
LR CF
Total de Bytes
17

RTU
Nenhum
0000 0110
0000 0011
0000 0000
0110 1011
0000 0000
0000 0011
CRC(2)
Nenhum
8

1. O primeiro registrador o 40001, mas endereado como 0.


Portanto se precisamos da informao do endereo 40108, devemos
enderea-lo como 107, que transformado em hexadecimal ser 6B.
2. Os registradores utilizam 16 bits para codificar a informao. Estes 16
bits so enviados em dois bytes separados (HIGH BYTE e LOW BYTE).

CEFET-RN / Curso Superior de Tecnologia em Automao Industrial / Redes Industriais Aula 04

Exemplo de Transao Modbus


O escravo repete o cdigo da funo indicando uma
resposta normal.
A quantidade de bytes especifica quantos itens esto
Resposta
sendo retornados.
Nome do Campo Exemplo(HEX) ASCII
Cabealho
:
Endereo
06
0 6
Cdigo da Funo
03
0 3
Quantidade bytes
06
0 6
Dado HI
02
0 2
Dado LO
2B
2 B
Dado HI
00
0 0
Dado LO
00
0 0
Dado HI
00
0 0
Dado LO
63
6 3
Verificao de Erro
LRC (2)
Trailer
CR LF
Total de Bytes
23

RTU
Nenhum
0000 0110
0000 0011
0000 0110
0000 0010
0010 1011
0000 0000
0000 0000
0000 0000
0110 0011
CRC(2)
Nenhum
11

1. O valor 63h enviado como um byte no modo RTU (0110 0011).


2. O mesmo valor enviado no modo ASCII necessita de dois bytes, mas
so contabilizados como apenas um.
6 (011 0110) e 3 (011 0011).
3. As respostas indicam:
Registro 40108: 02 2Bh
Registro 40109: 00 00h
Registro 40110: 00 63h

= 555
=0
= 99

10

CEFET-RN / Curso Superior de Tecnologia em Automao Industrial / Redes Industriais Aula 04

Modbus/TCP
Lanado em 1999, foi o primeiro protocolo aberto a
usar ethernet e TCP-IP.
No distino entre mestre e escravos ao usar a uma
arquitetura cliente servidor.
Conexes atravs da Porta 502.
Gateways disponveis para o Modbus RTU

Encapsulamento TCP
Endereo

Cabealho

Funo

Dados

Checksum

Dados

1. Desde que no h diferenas entre mestre e escravo, qualquer n com


uma porta TCP pode acessar qualquer outro n, possibilitando a
implementao de comunicao ponto-a-ponto entre os antigos
escravos.
2. A mensagem encapsulada em um pacote TCP/IP. Os comandos so
enviados por um cliente usando uma mensagem TCP/IP para a porta
502 de um servidor, que responde com o dado desejado encapsulado
em um pacote TCP/IP.
3. O encapsulamento TCP no modificou a estrutura bsica da
mensagem original do Modbus. As diferenas esto na interpretao do
endereo e na verificao de erro.
4. No endereamento, o campo do endereo do escravo foi substitudo
por um nico byte chamado de Identificador nico que pode ser usado
para comunicao via dispositivos como gateways e briges que usam
um nico endereo IP para integrar vrios dispositivos.
5. No so usados os campos CRC ou LRC para verificao de erro. So
usados os mecanismos semelhantes do j existentes do TCP/IP e
protocolo Ethernet.
6. Ao usar pacotes TCP/IP, o modbus/TCP permite acesso remoto via a
estrutura das redes corporativas e mesmo a Internet, o que pode ser
uma vantagem e um risco. LAN e internet permitem operaes
remotas, mas requer que salvaguardas sejam usadas para prevenir
acesso no autorizado.
7. O Modbus/TCP tem sido criticado por usar o tedioso protocolo TCP
com suas interminveis confirmaes para iniciar uma sesso e verificar
a integridade dos pacotes enviados.
8. Os crticos tambm chamam a ateno para a impossibilidade de
priorizao de mensagens, excesso de trfego devido a impossibilidade
de broadcasts e pelo indeterminismo.

11

Potrebbero piacerti anche