Modbus
vsvasconcelos@gmail.com
@vsvasconcelos
MODBUS SERIAL
1
1970's – Modicon (Schneider)
Especificação Aberta
Protocolo Mestre/Escravo
Modbus
Serial
(Padrão)
Mono Mestre
Até 247 Escravos
Mestre sempre inicia a comunicação
Escravos nunca respondem sem requisição do Mestre
Escravos não falam entre si
Rev-2
Modelo de Comunicação
2
Modbus Serial
Comunicação Mestre/Escravo - Unicast
3
Modbus Serial
Comunicação Mestre/Escravo - Broadcast
4
5
Modbus Serial
1 ~ 247
Escravos
0 -> Broadcast
Endereçamento
Não necessita
Mestre
Modbus Serial
ASCII
Modos
Transmissão
RTU
6
Modbus Serial
7
Envia 2 caracteres ASCII p/ cada palavra de dados enviada
Modbus
ASCII
Tolera “grande” intervalo entre os dados enviados (~1 seg)
Quantidade de bit's por palavra: 10
- 1 Start bit, 7 bit's dados, 2 stop bit's
- 1 Start bit, 7 bit's dados, paridade par, 1 stop bit's
- 1 Start bit, 7 bit's dados, paridade impar, 1 stop bit's
Frame
TABELA ASCII
8
Modbus Serial
Envia 1 caracteres em HEX p/ cada
Palavra de dados enviada
Melhor utilização da comunicação
Modbus
RTU
Não Tolera “grande” intervalo entre os dados enviados
(< 1,5 tamanho da palavra)
Quantidade de bit's por palavra: 11
- 1 Start bit, 8 bit's dados, 2 stop bit's
- 1 Start bit, 8 bit's dados, paridade par, 1 stop bit's
- 1 Start bit, 8 bit's dados, paridade impar, 1 stop bit's
Frame
9
Modbus Serial
Modbus
RTU
Tinicio ≥ 3,5 tamanho palavra
(silêncio)
Exemplo:
Determinar o tempo TInicio para uma taxa de transmissão de 19,2 kbps.
Resp.:
Palavra RTU = 11 bits.
Tempo (palavra) = 11 bits/19,2 kbs
Tempo (palavra) = 572,9 us
∴ Tinicio ≥ 3,5*572,9 us ~ 2 ms
10
Modbus Serial
Funções Modbus
Modbus
RTU
11
Modbus Serial
12
13
Modbus Serial
Cyclical Redundancy Checking - CRC
P(x) = x16+x15 +x2 + 1
Modbus
RTU
http://www.lammertbies.nl/comm/info/