Anda di halaman 1dari 292

REDES INDUSTRIAIS

Prof. Igarashi
REDES DE COMUNICAO DE DADOS
Exemplos de aplicao: Automao Industrial
REDES DE COMUNICAO DE DADOS
Exemplos de aplicao: Automao de Sistemas Eltricos
REDES DE COMUNICAO DE DADOS
Exemplos de aplicao: Automao Veicular
REDES DE COMUNICAO DE DADOS
Exemplos de aplicao: Automao da Aviao

Canal do Youtube:
REDES DE COMUNICAO DE DADOS
Exemplos de aplicao: Automao da Agricultura

Rastreamento:
CONCEITOS GERAIS DE REDES
DE COMUNICAO DE DADOS
Definio de Comunicao e de Protocolo de Comunicao
Pode-se definir como Comunicao o processo que envolve a transmisso e a
recepo de mensagens entre uma fonte emissora e um destinatrio receptor,
no qual as informaes so transmitidas atravs de um meio fsico (ar, fios
eltricos, etc.) atravs de recursos fsicos (som, luz, eletricidade, etc.) segundo
um conjunto de regras pr-determinadas. A este conjunto de regras pode-se dar
o nome de Protocolo de Comunicao.
REDES DE COMUNICAO DE DADOS
IoT (Internet of Things)
REDES DE COMUNICAO DE DADOS
Big Data
REDES DE COMUNICAO DE DADOS
Industria 4.0
REDES DE COMUNICAO DE DADOS
Cybersecurity
Conceitos gerais de redes de comunicao de dados

- Modelos de comunicao
- Topologia de rede
- Formatos de transmisso dos dados binrios
- Fluxo de dados
- Metodologias para a obteno de informaes
- Modalidades de endereamento
- Padres fsicos para a transmisso de dados
- Pirmide de automao
Conceitos gerais de redes de comunicao de dados

- Modelos de comunicao
- Topologia de rede
- Formatos de transmisso dos dados binrios
- Fluxo de dados
- Metodologias para a obteno de informaes
- Modalidades de endereamento
- Padres fsicos para a transmisso de dados
- Pirmide de automao
Modelos de comunicao

Refere-se a forma como os dispositivos se organizam para definir como sero


feitas as solicitaes e as respostas na rede.

Os principais modelos so:


- Mestre-escravo
- Multimestre
- Peer-to-peer
Mestre-escravo
Principais caractersticas:
- somente um dispositivo mestre na rede.
- demais dispositivos so escravos.
- os escravos somente respondem as solicitaes do mestre.
- no ocorrem colises no barramento de rede

Mestre

Escravo Escravo Escravo


A B C
Multimestre
Principais caractersticas:
- mais de um dispositivo pode ser definido como mestre na rede.
- demais dispositivos so escravos.
- os escravos somente respondem as solicitaes do mestre.
- mais de um mestre pode solicitar informaes, portanto, podem ocorrer
colises.

Mestre Mestre
A B

Escravo Escravo Escravo


A B C
Peer-to-peer (ponto a ponto)
Principais caractersticas:
- quaisquer dispositivos podem ser mestres ou escravos.
- antes da troca de informaes definido atravs de mensagens especficas um
par de dispositivos que iro trocar informaes.
- pode-se definir neste par de dispositivos quem ser o mestre e quem ser o
escravo.
- mais de um solicitante na rede, portanto, podem ocorrer colises.

Dispositivo Dispositivo
1 2

Dispositivo Dispositivo Dispositivo


3 4 5
Conexo
lgica
Conceitos gerais de redes de comunicao de dados

- Modelos de comunicao
- Topologia de rede
- Formatos de transmisso dos dados binrios
- Fluxo de dados
- Metodologias para a obteno de informaes
- Modalidades de endereamento
- Padres fsicos para a transmisso de dados
- Pirmide de automao
Topologia de rede

Refere-se a forma como os dispositivos esto fisicamente interligados.

Os principais modelos so:


- Barramento
- Anel
- Estrela
Barramento
Principais caractersticas:
- geralmente o meio fsico um par de fios que compartilhado por todos os
dispositivos da rede.
- quando se remove um dispositivo da rede ela continua operando.
- quando ocorrer um curto em qualquer ponto da rede toda a rede para.

Dispositivo Dispositivo
1 2

V(t)

Dispositivo Dispositivo Dispositivo


3 4 5
Anel
Principais caractersticas:
- geralmente utiliza um par de fios
- normalmente a informao circula em um determinado sentido.
- quando ocorrer um curto em um trecho da rede somente aquele trecho para.
- quando se remove um dispositivo da rede toda a rede para.

Dispositivo Dispositivo
1 2

Dispositivo
3
Estrela
Principais caractersticas:
- necessita de um dispositivo central (hub, switch) encarregado de replicar as
mensagens.
- caso um dos trechos de rede apresentar problemas somente o trecho para.
- caso ocorra um problema no dispositivo central todos os dispositivos a ele
conectados param.

Dispositivo Dispositivo
1 2

Dispositivo
central

Dispositivo Dispositivo
4 3
Hub Switch

Dispositivo Dispositivo Dispositivo Dispositivo


1 2 1 2

Hub Switch

Dispositivo Dispositivo Dispositivo Dispositivo


4 3 4 3
Conceitos gerais de redes de comunicao de dados

- Modelos de comunicao
- Topologia de rede
- Formatos de transmisso dos dados binrios
- Fluxo de dados
- Metodologias para a obteno de informaes
- Modalidades de endereamento
- Padres fsicos para a transmisso de dados
- Pirmide de automao
Formatos de transmisso dos dados binrios

Refere-se a forma de transmisso dos dados binrios no barramento de rede.

Os principais modelos so:


- Serial
- Paralelo
Serial
Os bits so transmitidos de forma sequencial, um a um.

Valor B4H = 1 0 1 1 0 1 0 0B

V(t)

1 0 1 1 0 1 0 0
t

Dispositivo Dispositivo
V(t)
1 2
Paralelo
Os bits so transmitidos simultaneamente atravs de vrias linhas de dados.

Valor B4H = 1 0 1 1 0 1 0 0B

1 V1(t)
0 V2(t)
1 V3(t)
1

Dispositivo 0 Dispositivo
1 1 ..... 2
0
0
Tabela comparativa

Serial Paralelo
Quantidade de fios Menor Maior
Velocidade Menor Maior
Custo Menor Maior
Distncia Maior Menor
Conceitos gerais de redes de comunicao de dados

- Modelos de comunicao
- Topologia de rede
- Formatos de transmisso dos dados binrios
- Fluxo de dados
- Metodologias para a obteno de informaes
- Modalidades de endereamento
- Padres fsicos para a transmisso de dados
- Pirmide de automao
Fluxo de dados

Refere-se a maneira como as solicitaes e as respostas podem transitar em


uma determinada rede.

Os principais modelos so:


- Simplex
- Half-duplex
- Full-duplex
Simplex
- As mensagens fluem na rede somente em um sentido.
- Maximiza o uso do canal de comunicao.
- No existe a possibilidade de confirmao de recepo da mensagem enviada.

mensagem

Dispositivo Dispositivo
1 2
Half-duplex
- As mensagens fluem em ambos os sentidos, mas no simultaneamente.
- Reduz o uso do canal de comunicao.
- Existe a possibilidade de confirmao de recepo da mensagem enviada.

solicitao
Dispositivo Dispositivo
1 2

resposta
Dispositivo Dispositivo
1 2
Full-duplex
- As mensagens fluem em ambos os sentidos, simultaneamente.
- Maximiza o uso do canal de comunicao.
- Existe a possibilidade de confirmao de recepo da mensagem enviada.

solicitao A
Dispositivo Dispositivo
1 2
solicitao B

resposta A
Dispositivo Dispositivo
1 2
resposta B
Conceitos gerais de redes de comunicao de dados

- Modelos de comunicao
- Topologia de rede
- Formatos de transmisso dos dados binrios
- Fluxo de dados
- Metodologias para a obteno de informaes
- Modalidades de endereamento
- Padres fsicos para a transmisso de dados
- Pirmide de automao
Metodologias para a obteno de informaes

Refere-se a maneira como as solicitaes e as respostas so realizadas para se


obter as informaes desejadas na rede.

Os principais modelos so:


- Pooling
- Token ring
- Intervalo de tempo constante
- Evento
Pooling
feita uma varredura (scan) com todos os dispositivos que se deseja obter
informaes.

M M

S1 S2 S3 S1 S2 S3

S1 S2 S3
Token ring
Utilizado para gerenciar o fluxo de informaes em redes na configurao em
anel atravs de mensagem token.

mensagem

A B A B

C C

A B

C
Intervalo de tempo constante
A cada intervalo de tempo programado previamente nos dispositivos uma
solicitao realizada.

Mestre Mestre
A B

Escravo Escravo Escravo


A B C
TA = 1s TB = 100ms TC = 300ms
Evento
O envio da mensagem ocorre quando acontecer um determinado evento
definido no dispositivo.
Configurao interessante para otimizao de trfego na rede.

Mestre

Escravo Escravo Escravo


A B C

evento
Evento
Exemplo de automao dos religadores de poste

supervisrio

subestao alimentador

religador religador

138KV 13,8KV
Transformador de poste, religador de poste e alimentador
Evento
Exemplo de automao dos religadores de poste

supervisrio

evento

subestao alimentador
Conceitos gerais de redes de comunicao de dados

- Modelos de comunicao
- Topologia de rede
- Formatos de transmisso dos dados binrios
- Fluxo de dados
- Metodologias para a obteno de informaes
- Modalidades de endereamento
- Padres fsicos para a transmisso de dados
- Pirmide de automao
Modalidades de endereamento

Geralmente, cada dispositivo da rede precisa ser identificado com um nmero


para que as mensagens possam ser encaminhadas para ele. Este nmero
chamado Endereo de Rede.

As modalidades de endereamento se referem a forma como as mensagens so


endereadas.

Os principais modelos so:


- Unicast
- Multicast
- Broadcast
Unicast
Nesta modalidade a mensagem endereada somente para um determinado
dispositivo.

Dispositivo Dispositivo
1 2

Dispositivo Dispositivo Dispositivo


3 4 5
Multicast
Nesta modalidade a mensagem endereada para um determinado grupo de
dispositivos.

Dispositivo Dispositivo
1 2

Dispositivo Dispositivo Dispositivo


3 4 5
Broadcast
Nesta modalidade a mensagem endereada para todos os dispositivos da
rede.

Dispositivo Dispositivo
1 2

Dispositivo Dispositivo Dispositivo


3 4 5
Endereamento Unicast, Multicast e Broadcast na
topologia de rede em barramento

Dispositivo Dispositivo
1 2

V(t)

Dispositivo Dispositivo Dispositivo


3 4 5
Conceitos gerais de redes de comunicao de dados

- Modelos de comunicao
- Topologia de rede
- Formatos de transmisso dos dados binrios
- Fluxo de dados
- Metodologias para a obteno de informaes
- Modalidades de endereamento
- Padres fsicos para a transmisso de dados
- Pirmide de automao
Padres fsicos para a transmisso de dados
Refere-se as caractersticas fsicas do meio no qual os dados so transmitidos.

Os principais modelos so:


- RS232
- RS485
- Fibra ptica
- Wireless
RS232
Principais caractersticas:
- Transmisso dos dados atravs de sinais eltricos.
- Nveis lgicos so implementados de forma inversa ao valor da tenso:
- nvel lgico 0 = +7V (aprox.)
- nvel lgico 1 = -7V (aprox.)
- Todos os sinais so referenciados a um terra em comum.
- Possui uma via para transmisso e uma via para recepo.
- Distncia mxima da ordem de algumas dezenas de metros.
RS232
Pinagem e conexo
RS232
Implementao
RS485
Principais caractersticas:
- Transmisso dos dados atravs de sinais eltricos.
- Os dados so transmitidos de forma diferencial.
- A mesma via pode ser utilizada tanto para transmisso quanto para recepo.
- Distncia mxima da ordem de algumas centenas de metros.
- At 32 dispositivos conectados num mesmo barramento
RS485
Transmisso diferencial dos dados

Voa: tenso entre A e terra


Vob: tenso entre B e terra
RS485
Interligao dos dispositivos na configurao barramento
RS485
Velocidade de transmisso x distncia
Fibra ptica
Principais caractersticas:
- Transmisso de dados atravs da propagao de um feixe de luz.
- A mesma via pode ser utilizada tanto para transmisso quanto para recepo.
- Distncia mxima da ordem de algumas centenas de metros.
- Atinge altas velocidades de comunicao.
- So mais imunes as interferncias eletromagnticas.
Luz
Modelos utilizados para anlise
- ptica fsica

- ptica eletromagntica
Luz
- ptica geomtrica
Fibras pticas
Princpio de funcionamento

Lei de Snell

sen ( i ) v1 n2
= =
sen ( r ) v2 n1
Fibras pticas
Princpio de funcionamento
Fibras pticas
Modelos de fibras pticas

ndice de refrao
Fibras pticas
Modelos de conectores
Introduo as Redes Sem Fio (Wireless)

Transmisso atravs de ondas de rdio


- Princpios bsicos de antena (ex: antena dipolo)
- Princpios bsicos de modulao (ex: AM-DSB-FC)
- Modulao digital
- Dispositivos: Router, Repetidor, Access Point
- Exemplos de protocolos para redes sem fio por ondas de rdio

Transmisso atravs de luz


- Padro Li-Fi
Princpios bsicos de antenas
Ondas eletromagnticas
James Clerk Maxwell
(1831 1879)
Princpios bsicos de antenas
Antena dipolo bsica

Comprimento = __c__ c = velocidade da luz (300 000 000 m/s)


de onda () f f = frequncia do sinal (Hertz)
Princpios bsicos de antenas
Comprimento da antena dipolo

Para um melhor
rendimento
L=
Princpios bsicos de antenas
Alguns modelos de antenas
Excitador
Diretores Refletor

Antena Dipolo Antena Yagi


Princpios bsicos de modulao
A modulao AM-DSB-FC

Porque modular um sinal?


Ex: comprimento da antena p/ transmisso sinal 20KHz
Princpios bsicos de modulao
A modulao AM-DSB-FC
(Amplitude Modulation Double Side Band Full Carrier)
Princpios bsicos de modulao
A modulao AM-DSB-FC
(Amplitude Modulation Double Side Band Full Carrier)
Princpios bsicos de modulao
A modulao AM-DSB-FC
(Amplitude Modulation Double Side Band Full Carrier)
Princpios bsicos de modulao
Outros tipos de modulao

AM-DSB-SC (Amplitude Modulation Double Side Band


Supressed Carrier)

AM-SSB (Amplitude Modulation Single Side Band)

FM (Frequency Modulation)

PM (Phase Modulation)
Princpios bsicos de modulao

Exerccio:

- Qual seria a distribuio espectral de um sinal de udio que


possui uma banda de 0Hz a 20KHz modulado em AM-DSB-FC
com uma portadora em 780KHz (rdio CBN)?

- Qual seria o comprimento aproximado de uma antena dipolo


1/2L utilizado para transmitir este sinal?
Modulao digital
Modulaes bsicas
Modulao digital
Modulaes bsicas

a) QPSK (Quadrature Phase Shift Keying)


b) QAM-16 (Quadrature Amplitude Modulation 16)
c) QAM-64 (Quadrature Amplitude Modulation 64)
Dispositivos
Router Repetidor Access Point

Router: Encaminha pacotes de dados entre redes de


computadores de nomes diferentes.

Repetidor: Repete uma determinada rede com as


mesmas caractersticas, inclusive o mesmo nome.

Access Point: Gera uma rede sem fio a partir de uma


rede com fio.
Protocolos para redes sem fio por ondas de rdio
Exemplos de protocolos

- IEEE 802.11 (Wi-Fi)

- Bluetooth

- Zigbee
Redes wireless atravs de luz O padro Li-Fi

Professor
Harald Hass
University of
Edinburgh (UK)
Implementao do Li-Fi
Anlise Li-Fi x Wi-Fi

- Fluxo de dados?

- Segurana?

- Velocidade?

- E se a luz apagar?
Conceitos gerais de redes de comunicao de dados

- Modelos de comunicao
- Topologia de rede
- Formatos de transmisso dos dados binrios
- Fluxo de dados
- Metodologias para a obteno de informaes
- Modalidades de endereamento
- Padres fsicos para a transmisso de dados
- Pirmide de automao
Pirmide da Automao
Pirmide da Automao
Ex: Automao do Sistema Eltrico Brasileiro
Sistema Integrado Nacional (SIN)
Operador Nacional do Sistema Eltrico (ONS)
REDES ANALGICAS
Redes analgicas

- Antes do surgimento da tecnologia digital j existia a necessidade de se


transmitir informao entre diferentes equipamentos
- No passado se transmitiam informaes atravs da variao proporcional de
uma grandeza eltrica (geralmente tenso ou corrente)
- Padres mais adotados:
- 0 a 20mV
- 0 a 20mA
- 4 a 20mA
Redes analgicas

Sensor CLP
I=?

Medido
100oC
R

Range: 0o a 200oC
Interface: 0 a 20mA
Exerccios
PROTOCOLOS DE
COMUNICAO DE DADOS
Introduo aos protocolos de comunicao de dados

- Protocolos de rede so regras pr-estabelecidas de uma determinada rede de


comunicao de dados para a troca de mensagens entre os dispositivos.

- Para esta introduo ser utilizado um protocolo mais simples, muito utilizado
em automao eltrica, que servir como base para compreender diversos
conceitos: o MODBUS-RTU.
Protocolo MODBUS-RTU

- Desenvolvido pela empresa MODICON na dcada de 70 inicialmente para uso


em seus CLPs.
- Atualmente a MODICON pertence a empresa Schneider Electric.
- Seus direitos foram transferidos para a Modbus Organization em 2004.
- um protocolo totalmente aberto (ou seja, o acesso a sua documentao
gratuito e o seu uso em equipamentos livre de taxa de licenciamento).
- um protocolo simples de ser implementado e possui grande versatilidade.
- Possibilidade de implementao em redes Ethernet (MODBUS over TCP/IP)

www.modbus.org
MODBUS-RTU
Classificao bsica de uma rede MODBUS-RTU
- Modelos de comunicao : Mestre, Multimestre e Peer-to-peer
- Topologia de rede: Barramento, Anel ou Estrela
- Formatos de transmisso dos dados binrios: Serial ou Paralelo
- Fluxo de dados: Simplex, Half-Duplex ou Full-Duplex
- Metodologias para a obteno de informaes: Pooling, Token-Ring ou Event
- Modalidades de endereamento : Unicast, Multicast ou Broadcast
- Padres fsicos para a transmisso: RS232, RS485, Fibra ptica ou Wireless

S1 S2 S3
MODBUS-RTU

Codificao dos dados


MODBUS-RTU
Como os dados so transmitidos serialmente: a codificao dos dados (bytes)

Frame
MODBUS-RTU

Conversor
USB/RS485

V(t)

Dispositivo Dispositivo Dispositivo


1 2 3
MODBUS-RTU
Como os dados so transmitidos serialmente: a codificao dos dados (bytes)

Start: star bit (nvel lgico 0).

bits de 1 a 8: dado (bit 1 o menos significativo, e o bit 8 o mais significativo).

Par: bit de paridade (par, mpar ou mark):


par: total de 1s entre o start e o stop bits um nmero par.
mpar: total de 1s entre o start e o stop bits um nmero mpar.
mark: bit sempre nvel lgico 1.
space: bit sempre nvel lgico 0.
none: bit de paridade no transmitido

Stop: stop bit (nvel lgico 1).


MODBUS-RTU
Como os dados so transmitidos serialmente: a codificao dos dados (bytes)
Bit 8 Bit 1

Exemplo: transmisso do valor 5CH = 0101 1100B com paridade mpar


Bit 1 Bit 8

Bits gerados: 0 0 0 1 1 1 0 1 0 1 1

V(t)

0
t
Caracter MODBUS-RTU
MODBUS-RTU
Como os dados so transmitidos serialmente: a codificao dos dados (bytes)

Frame
MODBUS-RTU
ex: valor 5CH
Conversor
USB/RS485

V(t)

Dispositivo Dispositivo Dispositivo


1 2 3

V(t)

1
0 0 0 1 1 1 0 1 0 1 1
0
t
MODBUS-RTU
Siglas de trs caracteres para identificao de paridade
1 caractere: quantidade de bits de dados transmitidos
2 caractere: lgica de paridade implementada
O -> odd (mpar)
E -> even (par)
M -> mark (sempre 1)
S -> space (sempre 0)
N -> none (sem paridade)
3 caractere: quantidade de stop bits

Ex: 8N1 -> 8 bits de dados, paridade none e 1 stop bit


7E2 -> 7 bits de dados, paridade par e 2 stop bits
Exerccios
MODBUS-RTU

Tempo de transmisso do frame


MODBUS-RTU
Tempo de transmisso do frame

- Velocidade informada em bits por segundo, ou seja, em bps.

- Exemplos de velocidades padro: 9600bps, 19200bps, 28800bps.

- Quando se utiliza K igual a 103, e no 1024, ou seja:

9,6Kbps = 9,6 x 103 = 9600bps


MODBUS-RTU
Tempo de transmisso do frame

Exemplo: clculo do tempo de transmisso do frame abaixo:


01H 03H 00H 00H 00H 02H 5AH 71H
admitindo:
- paridade par
- 1 stop bit
- velocidade de 9600bps

Qtde de bits em cada caracter: 1 stop + 8 dados + 1 parid + 1 stop = 11 bits


Qtde total de bits transmitidos: 8 caracteres x 11 bits = 88 bits
Tempo de transmisso: ( 1 / 9600 ) x 88 bits = 9,16ms
MODBUS-RTU
Tempo de transmisso e identificao de fim de frame
MODBUS-RTU
Taxa efetiva de transmisso

- Representa a ocupao do canal na transmisso efetiva da informao


- Pode ser calculado atravs da frmula:

Taxa efetiva = qtde de bits de dados x 100%


qtde total de bits transmitidos

Exemplo: calcular a taxa efetiva de transmisso para a transmisso de um nico


caracter MODBUS-RTU na configurao 8N2.
Exerccios
MODBUS-RTU

Tipos de variveis
Tipos de variveis

- Variveis so utilizadas para expressar o estado, ou o valor, de determinadas


grandezas do sistema.

- No MODBUS-RTU existem duas categorias de variveis:

* variveis tipo Register (Registro): representam grandezas de natureza


analgica. Ex: tenso de linha, carga do trafo, corrente de linha.

* variveis tipo Coil (Bobina): representam grandezas de natureza binria,


com dois estados. Ex: posio de contatos, indicao luminosa.
Variveis tipo Register

- Expressam grandezas de natureza analgica.

- Tamanho de 16 bits (nmero inteiro), portanto, faixa de valores de 0 a 65535.


ex: tenso de linha = 13800 V registro = 13800D = 35E8H

- Utilizao, por exemplo, de campo unit para expressar valores decimais. Este
campo informa quanto vale cada bit do registro.
ex: corrente de linha = 547,2 A admitindo campo unit = 0,1A
547,2 A = 5472 x 0,1A
portanto, registro = 5472D = 1560H
Variveis tipo Register

- So identificados dentro dos dispositivos atravs de um nmero de 16 bits,


chamado Endereo de Registro.

- Dispositivos MODBUS-RTU informam seus registros disponveis atravs de uma


Tabela de Registros.

Exemplo de tabela de registros:


Variveis tipo Coil

- Expressam grandezas de natureza binria.

- Tamanho de 1 bit (somente dois estados).

- Utilizao, por exemplo, de campo conveno para informar a conveno


adotada, ou seja, o que 0 significa e o que 1 significa.
ex: contato = fechado admitindo conveno: 0 = aberto / 1 = fechado
portanto, coil = 1
Variveis tipo Coil

- So identificados dentro dos dispositivos atravs de um nmero de 16 bits,


chamado Endereo de Coil.

- Dispositivos MODBUS-RTU informam seus coils disponveis atravs de uma


Tabela de Coils.

Exemplo de tabela de coils:


Mais exemplos de tabelas
MODBUS-RTU

Construo do frame
Construo do frame

- Tamanho mximo do frame: 256 bytes


- Composto por quatro campos: Slave Address, Function Code, Data e CRC
Construo do frame

Slave Address
- Nmero que identifica o endereo fsico do dispositivo slave na rede.
- Valor nico para cada dispositivo slave.
-Faixa de valores:
* 0 : Broadcast
* 1 a 247 : Endereos individuais dos slaves
* 248 a 255 : Reservados
Construo do frame

Function Code
- Nmero que identifica a funo a ser executada pelo slave.
- Exemplos de funes mais utilizadas:
* cdigo 3 : leitura de registro (read holding register)
* cdigo 6 : escrita de registro (write single register)
* cdigo 1 : leitura de coil (read coils)
* cdigo 5 : escrita de coil (write single coil)
Construo do frame

Data
- Dados (bytes) referentes a funo executada
Construo do frame

CRC
- Utilizado para checagem de integridade da mensagem
Construo do frame
Utilizando o simulador MODBUS-RTU

Solicitao

Resposta

Download no site: gigarashi.wordpress.com


Construo do frame
Configurao da interface serial dos dispositivos
Construo do frame
Exemplo de configurao da interface serial dos dispositivos
Construo do frame
Funo: Leitura de Registro (cdigo 03H)
Objetivo: Ler o valor de determinados registros de um determinado dispositivo
Sintaxe:
Solicitao Resposta
Byte Descrio Byte Descrio
1 End. Slave 1 End. Slave
2 Cdigo funo (03H) 2 Cdigo funo (03H)
3 End. Inicial (HI) 3 Contador de bytes dos registros
4 End. Inicial (LO) 4 Valor 1 registro (HI)
5 N de registros (HI) 5 Valor 1 registro (LO)
6 N de registros (LO) ... ...
7 CRC (LO) penlt. CRC (LO)
8 CRC (HI) ltimo CRC (HI)
Construo do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 ???
2 Cdigo funo (03H) 2 ???
3 End. Inicial (HI) 3 ???
4 End. Inicial (LO) 4 ???
5 N de registros (HI) 5 ???
6 N de registros (LO) 6 ???
7 CRC (LO) 7 ???
8 CRC (HI) 8 ???
Construo do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H endereo do slave
2 Cdigo funo (03H) 2 ???
3 End. Inicial (HI) 3 ???
4 End. Inicial (LO) 4 ???
5 N de registros (HI) 5 ???
6 N de registros (LO) 6 ???
7 CRC (LO) 7 ???
8 CRC (HI) 8 ???
Construo do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (03H) 2 03H cdigo da funo
3 End. Inicial (HI) 3 ???
4 End. Inicial (LO) 4 ???
5 N de registros (HI) 5 ???
6 N de registros (LO) 6 ???
7 CRC (LO) 7 ???
8 CRC (HI) 8 ???
Construo do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (03H) 2 03H
3 End. Inicial (HI) 3 00H endereo inicial 0000H
4 End. Inicial (LO) 4 00H
5 N de registros (HI) 5 ???
6 N de registros (LO) 6 ???
7 CRC (LO) 7 ???
8 CRC (HI) 8 ???
Construo do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (03H) 2 03H
3 End. Inicial (HI) 3 00H
4 End. Inicial (LO) 4 00H
5 N de registros (HI) 5 00H a partir do end. inicial 0000H
6 N de registros (LO) 6 02H ler 2 registros
7 CRC (LO) 7 ???
8 CRC (HI) 8 ???
Construo do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (03H) 2 03H
3 End. Inicial (HI) 3 00H
4 End. Inicial (LO) 4 00H
5 N de registros (HI) 5 00H
6 N de registros (LO) 6 02H
7 CRC (LO) 7 XXH CRC (ser explicado mais
8 CRC (HI) 8 XXH frente)
Construo do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Resposta Resposta esperada


Byte Descrio Byte Descrio
1 End. Slave 1 ???
2 Cdigo funo (03H) 2 ???
3 Contador de bytes dos registros 3 ???
4 Valor 1 registro (HI) 4 ???
5 Valor 1 registro (LO) 5 ???
... ... 6 ???
penlt. CRC (LO) 7 ???
ltimo CRC (HI) 8 ???
9 ???
Construo do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Resposta Resposta esperada


Byte Descrio Byte Descrio
1 End. Slave 1 01H endereo do slave
2 Cdigo funo (03H) 2 ???
3 Contador de bytes dos registros 3 ???
4 Valor 1 registro (HI) 4 ???
5 Valor 1 registro (LO) 5 ???
... ... 6 ???
penlt. CRC (LO) 7 ???
ltimo CRC (HI) 8 ???
9 ???
Construo do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Resposta Resposta esperada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (03H) 2 03H cdigo da funo
3 Contador de bytes dos registros 3 ???
4 Valor 1 registro (HI) 4 ???
5 Valor 1 registro (LO) 5 ???
... ... 6 ???
penlt. CRC (LO) 7 ???
ltimo CRC (HI) 8 ???
9 ???
Construo do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Resposta Resposta esperada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (03H) 2 03H
3 Contador de bytes dos registros 3 04H contador (2 regs = 4 bytes)
4 Valor 1 registro (HI) 4 ???
5 Valor 1 registro (LO) 5 ???
... ... 6 ???
penlt. CRC (LO) 7 ???
ltimo CRC (HI) 8 ???
9 ???
Construo do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Resposta Resposta esperada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (03H) 2 03H
3 Contador de bytes dos registros 3 04H
4 Valor 1 registro (HI) 4 00H valor do registro 0000H
5 Valor 1 registro (LO) 5 15H 21D = 0015H
... ... 6 ???
penlt. CRC (LO) 7 ???
ltimo CRC (HI) 8 ???
9 ???
Construo do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Resposta Resposta esperada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (03H) 2 03H
3 Contador de bytes dos registros 3 04H
4 Valor 1 registro (HI) 4 00H
5 Valor 1 registro (LO) 5 15H
... ... 6 00H valor do registro 0001H
penlt. CRC (LO) 7 25H 37D = 0025H
ltimo CRC (HI) 8 ???
9 ???
Construo do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Resposta Resposta esperada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (03H) 2 03H
3 Contador de bytes dos registros 3 04H
4 Valor 1 registro (HI) 4 00H
5 Valor 1 registro (LO) 5 15H
... ... 6 00H
penlt. CRC (LO) 7 25H
ltimo CRC (HI) 8 XXH CRC (ser explicado mais
9 XXH frente)
Construo do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Solicitao

Resposta

Portanto:
Solicitao: 01H 03H 00H 00H 00H 02H XXH XXH
Resposta: 01H 03H 04H 00H 15H 00H 25H XXH XXH
Construo do frame
Exerccio: Ler os valores dos set points programados nas funes 51, 50N e 51N.

Portanto:
Solicitao: ?????
Resposta: ?????
Construo do frame
Exerccio: Ler os valores dos set points programados nas funes 51, 50N e 51N.

Portanto:
Solicitao: 01H 03H 00H 21H 00H 03H XXH XXH
Resposta: 01H 03H 06H 00H 14H 00H 1EH 00H 0AH XXH XXH
Construo do frame
Funo: Escrita de Registro (cdigo 06H)
Objetivo: Alterar o valor de um registro de um determinado dispositivo
Sintaxe:
Solicitao Resposta
Byte Descrio Byte Descrio
1 End. Slave 1 End. Slave
2 Cdigo funo (06H) 2 Cdigo funo (06H)
3 End. registro (HI) 3 End. registro (HI)
4 End. registro (LO) 4 End. registro (LO)
5 Novo valor (HI) 5 Novo valor (HI)
6 Novo valor (LO) 6 Novo valor (LO)
7 CRC (LO) 7 CRC (LO)
8 CRC (HI) 8 CRC (HI)
Construo do frame
Exemplo: Alterar o valor do set point da funo 51 para 2,7A.

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 ???
2 Cdigo funo (06H) 2 ???
3 End. registro (HI) 3 ???
4 End. registro (LO) 4 ???
5 Novo valor (HI) 5 ???
6 Novo valor (LO) 6 ???
7 CRC (LO) 7 ???
8 CRC (HI) 8 ???
Construo do frame
Exemplo: Alterar o valor do set point da funo 51 para 2,7A.

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H endereo do slave
2 Cdigo funo (06H) 2 ???
3 End. registro (HI) 3 ???
4 End. registro (LO) 4 ???
5 Novo valor (HI) 5 ???
6 Novo valor (LO) 6 ???
7 CRC (LO) 7 ???
8 CRC (HI) 8 ???
Construo do frame
Exemplo: Alterar o valor do set point da funo 51 para 2,7A.

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (06H) 2 06H cdigo da funo
3 End. registro (HI) 3 ???
4 End. registro (LO) 4 ???
5 Novo valor (HI) 5 ???
6 Novo valor (LO) 6 ???
7 CRC (LO) 7 ???
8 CRC (HI) 8 ???
Construo do frame
Exemplo: Alterar o valor do set point da funo 51 para 2,7A.

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (06H) 2 06H
3 End. registro (HI) 3 00H endereo do registro
4 End. registro (LO) 4 21H
5 Novo valor (HI) 5 ???
6 Novo valor (LO) 6 ???
7 CRC (LO) 7 ???
8 CRC (HI) 8 ???
Construo do frame
Exemplo: Alterar o valor do set point da funo 51 para 2,7A.

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (06H) 2 06H
3 End. registro (HI) 3 00H
4 End. registro (LO) 4 21H
5 Novo valor (HI) 5 00H novo valor (27D = 001BH)
6 Novo valor (LO) 6 1BH
7 CRC (LO) 7 ???
8 CRC (HI) 8 ???
Construo do frame
Exemplo: Alterar o valor do set point da funo 51 para 2,7A.

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (06H) 2 06H
3 End. registro (HI) 3 00H
4 End. registro (LO) 4 21H
5 Novo valor (HI) 5 00H
6 Novo valor (LO) 6 1BH
7 CRC (LO) 7 XXH CRC (ser explicado
8 CRC (HI) 8 XXH mais frente)
Construo do frame
Exemplo: Alterar o valor do set point da funo 51 para 2,7A.

Resposta Resposta a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H idntica solicitao
2 Cdigo funo (06H) 2 06H
3 End. registro (HI) 3 00H
4 End. registro (LO) 4 21H
5 Novo valor (HI) 5 00H
6 Novo valor (LO) 6 1BH
7 CRC (LO) 7 XXH
8 CRC (HI) 8 XXH
Construo do frame
Exemplo: Alterar o valor do set point da funo 51 para 2,7A.

Solicitao

Resposta

Portanto:
Solicitao: 01H 06H 00H 21H 00H 1BH XXH XXH
Resposta: 01H 06H 00H 21H 00H 1BH XXH XXH
Construo do frame
Exerccio: Alterar o tempo da funo 51 para 8 s.

Portanto:
Solicitao: ?????
Resposta: ?????
Construo do frame
Exerccio: Alterar o tempo da funo 51 para 8 s.

Portanto:
Solicitao: 01H 06H 00H 30H 00H 08H XXH XXH
Resposta: 01H 06H 00H 30H 00H 08H XXH XXH
Construo do frame
Exemplo: Ler valor do set point da funo 50, alterar seu valor para 5,5A e ler novo valor.

Solicitao: 01H 03H 00H 20H 00H 01H XXH XXH leitura do valor atual = 5,0A
Resposta: 01H 03H 02H 00H 32H XXH XXH
Solicitao: 01H 06H 00H 20H 00H 37H XXH XXH alterar valor para 5,5A
Resposta: 01H 06H 00H 20H 00H 37H XXH XXH
Solicitao: 01H 03H 00H 20H 00H 01H XXH XXH leitura do novo valor = 5,5A
Resposta: 01H 03H 02H 00H 37H XXH XXH
Construo do frame
Funo: Leitura de Coil (cdigo 01H)
Objetivo: Ler o valor de determinados coils de um determinado dispositivo
Sintaxe:
Solicitao Resposta
Byte Descrio Byte Descrio
1 End. Slave 1 End. Slave
2 Cdigo funo (01H) 2 Cdigo funo (01H)
3 End. Inicial (HI) 3 Contador de bytes dos coils
4 End. Inicial (LO) 4 Valor dos coils
5 N de coils (HI) ... ...
6 N de coils (LO) penlt. CRC (LO)
7 CRC (LO) ltimo CRC (HI)
8 CRC (HI)
Construo do frame
Exemplo: Ler o status das funes 51 e 50N (se esto habilitadas ou no).

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 ???
2 Cdigo funo (01H) 2 ???
3 End. Inicial (HI) 3 ???
4 End. Inicial (LO) 4 ???
5 N de coils (HI) 5 ???
6 N de coils (LO) 6 ???
7 CRC (LO) 7 ???
8 CRC (HI) 8 ???
Construo do frame
Exemplo: Ler o status das funes 51 e 50N (se esto habilitadas ou no).

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H endereo do slave
2 Cdigo funo (01H) 2 ???
3 End. Inicial (HI) 3 ???
4 End. Inicial (LO) 4 ???
5 N de coils (HI) 5 ???
6 N de coils (LO) 6 ???
7 CRC (LO) 7 ???
8 CRC (HI) 8 ???
Construo do frame
Exemplo: Ler o status das funes 51 e 50N (se esto habilitadas ou no).

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (01H) 2 01H cdigo da funo
3 End. Inicial (HI) 3 ???
4 End. Inicial (LO) 4 ???
5 N de coils (HI) 5 ???
6 N de coils (LO) 6 ???
7 CRC (LO) 7 ???
8 CRC (HI) 8 ???
Construo do frame
Exemplo: Ler o status das funes 51 e 50N (se esto habilitadas ou no).

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (01H) 2 01H
3 End. Inicial (HI) 3 00H endereo inicial (0001H)
4 End. Inicial (LO) 4 01H
5 N de coils (HI) 5 ???
6 N de coils (LO) 6 ???
7 CRC (LO) 7 ???
8 CRC (HI) 8 ???
Construo do frame
Exemplo: Ler o status das funes 51 e 50N (se esto habilitadas ou no).

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (01H) 2 01H
3 End. Inicial (HI) 3 00H
4 End. Inicial (LO) 4 01H
5 N de coils (HI) 5 00H quantidade de coils para ler
6 N de coils (LO) 6 02H (02D = 0002H)
7 CRC (LO) 7 ???
8 CRC (HI) 8 ???
Construo do frame
Exemplo: Ler o status das funes 51 e 50N (se esto habilitadas ou no).

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (01H) 2 01H
3 End. Inicial (HI) 3 00H
4 End. Inicial (LO) 4 01H
5 N de coils (HI) 5 00H
6 N de coils (LO) 6 02H
7 CRC (LO) 7 XXH CRC ( ser explicado mais
8 CRC (HI) 8 XXH adiante)
Construo do frame
Exemplo: Ler o status das funes 51 e 50N (se esto habilitadas ou no).

Resposta Resposta a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 ???
2 Cdigo funo (01H) 2 ???
3 Contador de bytes dos coils 3 ???
4 Valor dos coils 4 ???
5 CRC (LO) 5 ???
6 CRC (HI) 6 ???
Construo do frame
Exemplo: Ler o status das funes 51 e 50N (se esto habilitadas ou no).

Resposta Resposta a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H endereo do slave
2 Cdigo funo (01H) 2 ???
3 Contador de bytes dos coils 3 ???
4 Valor dos coils 4 ???
5 CRC (LO) 5 ???
6 CRC (HI) 6 ???
Construo do frame
Exemplo: Ler o status das funes 51 e 50N (se esto habilitadas ou no).

Resposta Resposta a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (01H) 2 01H cdigo da funo
3 Contador de bytes dos coils 3 ???
4 Valor dos coils 4 ???
5 CRC (LO) 5 ???
6 CRC (HI) 6 ???
Construo do frame
Exemplo: Ler o status das funes 51 e 50N (se esto habilitadas ou no).

Resposta Resposta a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (01H) 2 01H
3 Contador de bytes dos coils 3 01H contador (2 bits 1 byte)
4 Valor dos coils 4 ???
5 CRC (LO) 5 ???
6 CRC (HI) 6 ???
Construo do frame
Exemplo: Ler o status das funes 51 e 50N (se esto habilitadas ou no).

Resposta Resposta a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
Coil 0002H Coil 0001H
2 Cdigo funo (01H) 2 01H
(No = 0) (Sim = 1)
3 Contador de bytes dos coils 3 01H
4 Valor dos coils 4 01H valor 01H = 0 0 0 0 0 0 0 1B
5 CRC (LO) 5 ???
Demais coils
6 CRC (HI) 6 ??? so zerados
Construo do frame
Exemplo: Ler o status das funes 51 e 50N (se esto habilitadas ou no).

Resposta Resposta a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (01H) 2 01H
3 Contador de bytes dos coils 3 01H
4 Valor dos coils 4 01H
5 CRC (LO) 5 XXH CRC (ser explicado mais
6 CRC (HI) 6 XXH adiante)
Construo do frame
Exemplo: Ler o status das funes 51 e 50N (se esto habilitadas ou no).

Solicitao

Resposta

Portanto:
Solicitao: 01H 01H 00H 01H 00H 02H XXH XXH
Resposta: 01H 01H 01H 01H XXH XXH
Construo do frame
Exerccio: Ler o status de todos os contatos.

Portanto:
Solicitao: ?????
Resposta: ?????
Construo do frame
Exerccio: Ler o status de todos os contatos.

Portanto:
Solicitao: 01H 01H 00H 10H 00H 03H XXH XXH
Resposta: 01H 01H 01H 01H XXH XXH
Construo do frame
Funo: Escrita de Coil (cdigo 05H)
Objetivo: Alterar o valor de um determinado coil de um determinado dispositivo
Sintaxe:
Solicitao Resposta
Byte Descrio Byte Descrio
1 End. Slave 1 End. Slave
2 Cdigo funo (05H) 2 Cdigo funo (05H)
3 End. coil (HI) 3 End. coil (HI)
4 End. coil (LO) 4 End. coil (LO)
5 Novo valor (0=00H / 1=FFH) 5 Novo valor (0=00H / 1=FFH)
6 00H 6 00H
7 CRC (LO) 7 CRC (LO)
8 CRC (HI) 8 CRC (HI)
Construo do frame
Exemplo: Habilitar a funo 50N.

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 ???
2 Cdigo funo (05H) 2 ???
3 End. coil (HI) 3 ???
4 End. coil (LO) 4 ???
5 Novo valor (0=00H / 1=FFH) 5 ???
6 00H 6 ???
7 CRC (LO) 7 ???
8 CRC (HI) 8 ???
Construo do frame
Exemplo: Habilitar a funo 50N.

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H endereo slave
2 Cdigo funo (05H) 2 ???
3 End. coil (HI) 3 ???
4 End. coil (LO) 4 ???
5 Novo valor (0=00H / 1=FFH) 5 ???
6 00H 6 ???
7 CRC (LO) 7 ???
8 CRC (HI) 8 ???
Construo do frame
Exemplo: Habilitar a funo 50N.

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (05H) 2 05H cdigo da funo
3 End. coil (HI) 3 ???
4 End. coil (LO) 4 ???
5 Novo valor (0=00H / 1=FFH) 5 ???
6 00H 6 ???
7 CRC (LO) 7 ???
8 CRC (HI) 8 ???
Construo do frame
Exemplo: Habilitar a funo 50N.

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (05H) 2 05H
3 End. coil (HI) 3 00H endereo do coil (0002H)
4 End. coil (LO) 4 02H
5 Novo valor (0=00H / 1=FFH) 5 ???
6 00H 6 ???
7 CRC (LO) 7 ???
8 CRC (HI) 8 ???
Construo do frame
Exemplo: Habilitar a funo 50N.

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (05H) 2 05H
3 End. coil (HI) 3 00H
4 End. coil (LO) 4 02H
5 Novo valor (0=00H / 1=FFH) 5 FFH coil = 1
6 00H 6 00H
7 CRC (LO) 7 ???
8 CRC (HI) 8 ???
Construo do frame
Exemplo: Habilitar a funo 50N.

Solicitao Solicitao a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo (05H) 2 05H
3 End. coil (HI) 3 00H
4 End. coil (LO) 4 02H
5 Novo valor (0=00H / 1=FFH) 5 FFH
6 00H 6 00H
7 CRC (LO) 7 XXH CRC (ser explicado mais
8 CRC (HI) 8 XXH adiante)
Construo do frame
Exemplo: Habilitar a funo 50N.

Resposta Resposta a ser enviada


Byte Descrio Byte Descrio
1 End. Slave 1 01H idem solicitao
2 Cdigo funo (05H) 2 05H
3 End. coil (HI) 3 00H
4 End. coil (LO) 4 02H
5 Novo valor (0=00H / 1=FFH) 5 FFH
6 00H 6 00H
7 CRC (LO) 7 XXH
8 CRC (HI) 8 XXH
Construo do frame
Exemplo: Habilitar a funo 50N.

Solicitao

Resposta

Portanto:
Solicitao: 01H 05H 00H 02H FFH 00H XXH XXH
Resposta: 01H 05H 00H 02H FFH 00H XXH XXH
Construo do frame
Exerccio: Ler o status de todas as funes (se esto habilitadas ou no), desabilitar a funo 51
e checar novamente os status das funes.

Solicitao: ??? Leitura do status de todas as funes


Resposta: ???
Solicitao: ??? Desabilitar a funo 51
Resposta: ???
Solicitao: ??? Checar status de todas as funes
Resposta: ???
Construo do frame
Exerccio: Ler o status de todas as funes (se esto habilitadas ou no), desabilitar a funo 51
e checar novamente os status das funes.

Solicitao: 01H 01H 00H 00H 00H 04H XXH XXH Leitura do status de todas as funes
Resposta: 01H 01H 01H 03H XXH XXH
Solicitao: 01H 05H 00H 01H 00H 00H XXH XXH Desabilitar a funo 51
Resposta: 01H 05H 00H 01H 00H 00H XXH XXH
Solicitao: 01H 01H 00H 00H 00H 04H XXH XXH Checar status de todas as funes
Resposta: 01H 01H 01H 01H XXH XXH
MODBUS-RTU

Confiabilidade do canal de
comunicao
Confiabilidade do canal de comunicao
Na prtica podem ocorrer diversos imprevistos que podem acarretar no mal
funcionamento da rede de comunicao de dados. Exemplos: rudo, elaborao
de comandos errados, etc.

importante, portanto, que o protocolo oferea recursos para que tais


imprevistos possam ser contornados para que a rede de comunicao de dados
possa continuar operante.

Os principais recursos que o MODBUS-RTU oferece so:

- Bit de paridade
- Confirmao de comando
- CRC
- Respostas de excesso
Bit de paridade
Testa a integridade dos bits do caracter (se selecionado paridade par ou mpar)
Bit 8 Bit 1

Exemplo: transmisso do valor 5CH = 0101 1100B com paridade mpar


Bit 1 Bit 8

Bits gerados: 0 0 0 1 1 1 0 1 0 1 1

V(t)

0
t
Caracter MODBUS-RTU
Confirmao de comando
Para toda solicitao existe uma resposta (mesmo se for uma rplica da solicitao)
que pode ser utilizada pelo mestre para testar a integridade do canal e para
assegurar que a solicitao foi executada.

Solicitao

Resposta
CRC
O CRC (Cyclical Redundancy Checking) um algoritmo de verificao que calcula
um valor de 16 bits a partir dos bytes que compem um frame MODBUS-RTU. Ele
utilizado para teste de integridade do frame recebido.

CRC calculado em funo dos bytes do frame

Frame: 01H 05H 00H 02H FFH 00H XXH XXH


CRC
Ex: transmisso do frame 01H 05H 00H 02H 00H 00H XXH XXH do mestre para o
Dispositivo A
CRC calculado pelo mestre em funo dos bytes do frame e
inserido no final do frame (nos bytes XXH)
CRC
Ex: transmisso do frame 01H 05H 00H 02H 00H 00H XXH XXH do mestre para o
Dispositivo A

Solicitao enviada pelo


mestre contendo o CRC
calculado

Solicitao
CRC
Ex: transmisso do frame 01H 05H 00H 02H 00H 00H XXH XXH do mestre para o
Dispositivo A

Dispositivo A recalcula o CRC


(com base nos bytes recebidos)
e compara com o CRC recebido

Se forem iguais o comando


interpretado normalmente.

Se forem diferentes o comando


recusado. O slave no envia
nenhuma resposta ao mestre.
Algoritmo para clculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH
Algoritmo para clculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH
Carregar CRC16 = FFFFH
Variveis:
CRC16 = FFFFH
Algoritmo para clculo do CRC
Exemplo: CRC do frame
1 byte 02H 03H 00H 00H 00H 01H XXH XXH

Variveis:
CRC16 = FFFFH CRC16 = FFFDH

CRC16 = FFFFH = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1B
1 byte = 02H = 0 0 0 0 0 0 1 0B XOR

CRC16 = FFFDH = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1B
Algoritmo para clculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH

Variveis:
CRC16 = FFFDH
N=0

Carregar N = 0
Algoritmo para clculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH

Variveis:
CRC16 = FFFDH CRC16 = 7FFEH
N=0
Carry = 1

CRC16 = FFFDH = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 B
.....
CRC16 = 7FFEH = 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0B

Inserir
zero
Algoritmo para clculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH

Variveis:
CRC16 = 7FFEH
N=0
Carry over Carry = 1
Algoritmo para clculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH

Variveis:
CRC16 = 7FFEH CRC16 = DFFDH
N=0
Carry = 1

CRC16 = 7FFEH = 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0B
POLY = A001H = 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1B XOR

CRC16 = DFFDH = 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1B
Algoritmo para clculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH

Variveis:
CRC16 = DFFDH
N=0 N=1
Carry = 1

Incrementar o valor de N
Algoritmo para clculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH

Variveis:
CRC16 = DFFDH
N=1
Carry = 1

N no maior que 7
Algoritmo para clculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH

Variveis:
CRC16 = DFFDH
N=1
Carry = 1

Portanto,esta parte do programa ser repetida 8 vezes


Algoritmo para clculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH

Variveis:
CRC16 = DFFDH
N=1
Prximo byte
Carry = 1

Verificado se o ltimo byte da mensagem.


Como ns temos ainda mais 5 bytes ele carrega o
prximo byte (03H) e executa o loop novamente
Algoritmo para clculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH

No final teremos o valor calculado para o CRC16

Para o frame exemplo o valor de CRC16 = 3984H

Este valor inserido no frame da seguinte forma:

84H 39H

02H 03H 00H 00H 00H 01H XXH XXH

Frame final: 02H 03H 00H 00H 00H 01H 84H 39H
Respostas de excesso
So utilizadas pelo slave para reportar ao master que houve um erro na composio da
mensagem recebida.

Sintaxe:
Resposta
Byte Descrio
1 End. Slave
2 Cdigo funo recebida OR 80H
3 Cdigo de excesso
01H: erro de funo
02H: erro de endereo
03H: erro de dados
04H: erro de execuo pelo servidor
4 CRC (LO)
5 CRC (HI)
Erro!
Esta funo no existe
Resposta de Excesso: Erro de Funo
Ex: num dispositivo com endereo fsico 01H e tabela de coils abaixo, executar funo 30H

Solicitao: 01H 30H 00H 00H 03H 00H XXH XXH


Resposta Resposta enviada
Byte Descrio Byte Descrio
1 End. Slave 1 ???
2 Cdigo funo recebida OR 80H 2 ???
3 Cdigo de excesso 3 ???
01H: erro de funo
02H: erro de endereo
03H: erro de dados
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
Erro!
Esta funo no existe
Resposta de Excesso: Erro de Funo
Ex: num dispositivo com endereo fsico 01H e tabela de coils abaixo, executar funo 30H

Solicitao: 01H 30H 00H 00H 03H 00H XXH XXH


Resposta Resposta enviada
Byte Descrio Byte Descrio
1 End. Slave 1 01H endereo slave
2 Cdigo funo recebida OR 80H 2 ???
3 Cdigo de excesso 3 ???
01H: erro de funo
02H: erro de endereo
03H: erro de dados
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
Erro!
Esta funo no existe
Resposta de Excesso: Erro de Funo
Ex: num dispositivo com endereo fsico 01H e tabela de coils abaixo, executar funo 30H

Solicitao: 01H 30H 00H 00H 03H 00H XXH XXH


Resposta Resposta enviada
Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo recebida OR 80H 2 B0H 30H OR 80H
3 Cdigo de excesso 3 ??? 0 0 1 1 0 0 0 0 30H
01H: erro de funo OR 1 0 0 0 0 0 0 0 80H
02H: erro de endereo
03H: erro de dados 1 0 1 1 0 0 0 0 B0H
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
Erro!
Esta funo no existe
Resposta de Excesso: Erro de Funo
Ex: num dispositivo com endereo fsico 01H e tabela de coils abaixo, executar funo 30H

Solicitao: 01H 30H 00H 00H 03H 00H XXH XXH


Resposta Resposta enviada
Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo recebida OR 80H 2 B0H
3 Cdigo de excesso 3 01H cdigo de erro
01H: erro de funo
02H: erro de endereo
03H: erro de dados
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
Erro!
Esta funo no existe
Resposta de Excesso: Erro de Funo
Ex: num dispositivo com endereo fsico 01H e tabela de coils abaixo, executar funo 30H

Solicitao: 01H 30H 00H 00H 03H 00H XXH XXH


Resposta Resposta enviada
Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo recebida OR 80H 2 B0H
3 Cdigo de excesso 3 01H
01H: erro de funo
02H: erro de endereo
03H: erro de dados
4 CRC (LO) 4 XXH CRC
5 CRC (HI) 5 XXH
Erro!
Esta funo no existe
Resposta de Excesso: Erro de Funo
Ex: num dispositivo com endereo fsico 01H e tabela de coils abaixo, executar funo 30H

Solicitao

Resposta

Portanto:
Solicitao: 01H 30H 00H 00H 03H 00H XXH XXH
Resposta: 01H B0H 01H XXH XXH
Erro!
Este endereo no existe
Resposta de Excesso: Erro de Endereo
Ex: num dispositivo com endereo fsico 01H e tabela de coils abaixo, zerar coil de endereo 0050H

Solicitao: 01H 05H 00H 50H 00H 00H XXH XXH


Resposta Resposta enviada
Byte Descrio Byte Descrio
1 End. Slave 1 ???
2 Cdigo funo recebida OR 80H 2 ???
3 Cdigo de excesso 3 ???
01H: erro de funo
02H: erro de endereo
03H: erro de dados
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
Erro!
Este endereo no existe
Resposta de Excesso: Erro de Endereo
Ex: num dispositivo com endereo fsico 01H e tabela de coils abaixo, zerar coil de endereo 0050H

Solicitao: 01H 05H 00H 50H 00H 00H XXH XXH


Resposta Resposta enviada
Byte Descrio Byte Descrio
1 End. Slave 1 01H endereo slave
2 Cdigo funo recebida OR 80H 2 ???
3 Cdigo de excesso 3 ???
01H: erro de funo
02H: erro de endereo
03H: erro de dados
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
Erro!
Este endereo no existe
Resposta de Excesso: Erro de Endereo
Ex: num dispositivo com endereo fsico 01H e tabela de coils abaixo, zerar coil de endereo 0050H

Solicitao: 01H 05H 00H 50H 00H 00H XXH XXH


Resposta Resposta enviada
Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo recebida OR 80H 2 85H 05H OR 80H
3 Cdigo de excesso 3 ??? 0 0 0 0 0 1 0 1 05H
01H: erro de funo OR 1 0 0 0 0 0 0 0 80H
02H: erro de endereo
03H: erro de dados 1 0 0 0 0 1 0 1 85H
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
Erro!
Este endereo no existe
Resposta de Excesso: Erro de Endereo
Ex: num dispositivo com endereo fsico 01H e tabela de coils abaixo, zerar coil de endereo 0050H

Solicitao: 01H 05H 00H 50H 00H 00H XXH XXH


Resposta Resposta enviada
Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo recebida OR 80H 2 85H
3 Cdigo de excesso 3 02H cdigo do erro
01H: erro de funo
02H: erro de endereo
03H: erro de dados
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
Erro!
Este endereo no existe
Resposta de Excesso: Erro de Endereo
Ex: num dispositivo com endereo fsico 01H e tabela de coils abaixo, zerar coil de endereo 0050H

Solicitao: 01H 05H 00H 50H 00H 00H XXH XXH


Resposta Resposta enviada
Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo recebida OR 80H 2 85H
3 Cdigo de excesso 3 02H
01H: erro de funo
02H: erro de endereo
03H: erro de dados
4 CRC (LO) 4 XXH CRC
5 CRC (HI) 5 XXH
Erro!
Este endereo no existe
Resposta de Excesso: Erro de Endereo
Ex: num dispositivo com endereo fsico 01H e tabela de coils abaixo, zerar coil de endereo 0050H

Solicitao

Resposta

Portanto:
Solicitao: 01H 05H 00H 50H 00H 00H XXH XXH
Resposta: 01H 85H 02H XXH XXH
Resposta de Excesso: Erro de Dados
Ex: num dispositivo com endereo fsico 01H e tabela de coils abaixo, habilitar a funo 50N

Solicitao: 01H 05H 00H 02H 01H 00H XXH XXH


Resposta Resposta enviada
Erro!
Byte Descrio Correto seria FFH Byte Descrio
1 End. Slave 1 ???
2 Cdigo funo recebida OR 80H 2 ???
3 Cdigo de excesso 3 ???
01H: erro de funo
02H: erro de endereo
03H: erro de dados
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
Resposta de Excesso: Erro de Dados
Ex: num dispositivo com endereo fsico 01H e tabela de coils abaixo, habilitar a funo 50N

Solicitao: 01H 05H 00H 02H 01H 00H XXH XXH


Resposta Resposta enviada
Erro!
Byte Descrio Correto seria FFH Byte Descrio
1 End. Slave 1 01H endereo slave
2 Cdigo funo recebida OR 80H 2 ???
3 Cdigo de excesso 3 ???
01H: erro de funo
02H: erro de endereo
03H: erro de dados
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
Resposta de Excesso: Erro de Dados
Ex: num dispositivo com endereo fsico 01H e tabela de coils abaixo, habilitar a funo 50N

Solicitao: 01H 05H 00H 02H 01H 00H XXH XXH


Resposta Resposta enviada
Erro!
Byte Descrio Correto seria FFH Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo recebida OR 80H 2 85H 05H OR 80H
3 Cdigo de excesso 3 ??? 0 0 0 0 0 1 0 1 05H
01H: erro de funo OR 1 0 0 0 0 0 0 0 80H
02H: erro de endereo
03H: erro de dados 1 0 0 0 0 1 0 1 85H
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
Resposta de Excesso: Erro de Dados
Ex: num dispositivo com endereo fsico 01H e tabela de coils abaixo, habilitar a funo 50N

Solicitao: 01H 05H 00H 02H 01H 00H XXH XXH


Resposta Resposta enviada
Erro!
Byte Descrio Correto seria FFH Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo recebida OR 80H 2 85H
3 Cdigo de excesso 3 03H cdigo de erro
01H: erro de funo
02H: erro de endereo
03H: erro de dados
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
Resposta de Excesso: Erro de Dados
Ex: num dispositivo com endereo fsico 01H e tabela de coils abaixo, habilitar a funo 50N

Solicitao: 01H 05H 00H 02H 01H 00H XXH XXH


Resposta Resposta enviada
Erro!
Byte Descrio Correto seria FFH Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo recebida OR 80H 2 85H
3 Cdigo de excesso 3 03H
01H: erro de funo
02H: erro de endereo
03H: erro de dados
4 CRC (LO) 4 XXH CRC
5 CRC (HI) 5 XXH
Resposta de Excesso: Erro de Dados
Ex: num dispositivo com endereo fsico 01H e tabela de coils abaixo, habilitar a funo 50N

Solicitao

Resposta

Portanto:
Solicitao: 01H 05H 00H 02H 01H 00H XXH XXH
Resposta: 01H 85H 03H XXH XXH
Resposta de Excesso: Erro de Execuo pelo Servidor
Ex: num dispositivo com endereo fsico 01H e tabela de coils abaixo, habilitar a funo 50N

Solicitao: 01H 05H 00H 02H FFH 00H XXH XXH (houve problemas em salvar o parmetro)
Resposta Resposta enviada
Byte Descrio Byte Descrio
1 End. Slave 1 01H
2 Cdigo funo recebida OR 80H 2 85H
3 Cdigo de excesso 3 04H
04H: erro de execuo pelo servidor
4 CRC (LO) 4 XXH CRC
5 CRC (HI) 5 XXH
Resposta de Excesso: Erro de Execuo pelo Servidor
Ex: num dispositivo com endereo fsico 01H e tabela de coils abaixo, habilitar a funo 50N

Solicitao

Resposta

Portanto:
Solicitao: 01H 05H 00H 02H FFH 00H XXH XXH
Resposta: 01H 85H 04H XXH XXH
Resposta de Excesso
Exemplo de fluxograma para tratamento do comando de escrita de coil recebido pelo slave
Exerccios
O Modelo Internet para redes de
comunicao de dados
Modelo Internet
- Internet um sistema global de redes de computadores que utilizam como base o
Modelo Internet de protocolos para interliga-los e prover servios de acessos a
esta rede para todo o mundo.

- O Modelo Internet comeou no final da dcada de 60, a partir da ARPANET, com o


objetivo de definir um protocolo para interligar computadores militares.
Modelo Internet
Pode ser considerado um modelo simplificado do Modelo ISO/OSI

Modelo ISO/OSI Modelo Internet


(7 camadas) (4 camadas)
Modelo Internet
Utiliza diversos protocolos, cada um com uma funo especfica
Protocolo Ethernet
- Definido pela IEEE 802.3

- Desenvolvido pela Xerox na dcada de 60.

- Nome fantasia para o protocolo CSMA/CD (Carrier Sense Multiple Access with
Collision Detection), derivado do conceito de ter luminfero (suposto meio de
propagao da luz)

- Velocidades mais usuais: 10Mbits/s e 100Mbits/s


Protocolo Ethernet
Localizao no Modelo Internet

Modelo ISO/OSI Modelo Internet


(7 camadas) (4 camadas)

Software
Ethernet

Hardware
Protocolo Ethernet
Conexes fsicas mais utilizadas
RJ45 Fibra ptica

Modelo ST

TX

RX

Modelo LC
Protocolo Ethernet
Codificao dos dados
- Codificao Manchester especificada pela IEEE 802.3, onde:
Bit 1: Comea com -V e termina com +V
Bit 0: Comea com +V e termina com V
-O sinal simtrico e sem componente DC, ou seja, possui rea positiva e
negativa iguais, o que permite seu acoplamento atravs de indutores/capacitores
Protocolo Ethernet
Endereo MAC
- Endereo fsico do dispositivo composto por 6 bytes, separados por dois pontos :

- Controlado pelo IEEE-AS (IEEE Standards Association)

- Os 3 primeiros bytes so denominados OUI (Organizationally Unique Identifier) e


so atribudos pelo IEEE-AS

- Os outros 3 bytes so atribudos pelo prprio fabricante

- O fabricante deve garantir que o MAC seja nico

-Exemplo de endereo MAC:

08 : 00: 02 : 04 : e8 : 6f (hexa)

IEEE-AS fabricante
Modelo Internet
Utiliza diversos protocolos, cada um com uma funo especfica
Protocolo IP
- Protocolo IP (Internet Protocol) definido pela RFC 791

- Utilizado para direcionar as mensagens ao seu destino

- No oferece garantia de que a mensagem foi recebida pelo destino

- Deve-se identificar a rede utilizando IP para evitar a interveno de outros ns


Protocolo IP
Endereo IP

- Endereo lgico formado por 4 bytes, representados separados por ponto .

- Trabalha em conjunto com a Mscara de Rede e o Endereo de Gateway para o


direcionamento das mensagens

- Gateway um dispositivo fsico responsvel por interligar redes

- Pode ser programado pelo usurio

- Exemplo de endereo IP:

194.168.0.1 (decimal)
Protocolo IP
Endereamento

A B X

switch
Rede switch
gateway gateway

C Y Z

Endereo IP do dispositivo

IP: 192.168.0.1 Mscara de subrede


MSK: 255.255.0.0
GW: 192.168.0.10
Endereo IP do gateway
Protocolo IP
Endereamento

A B X

switch
Rede switch
gateway gateway

Resultado da operao lgica AND entre


o IP e o MSK gera um nmero IP denominado
C IP de subrede que identifica a subrede ao
Y Z
qual o dispositivo esta conectado:

IP : 192.168.0.1
IP: 192.168.0.1
MSK: 255.255.0.0 MSK: 255.255.0.0 AND
GW: 192.168.0.10
IP subrede: 192.168.0.0
Protocolo IP
Endereamento

IP: 192.168.0.1 = 11000000 10101000 00000000 00000001


MSK: 255.255.0.0 = 11111111 11111111 00000000 00000000 AND

IP subrede = 11000000 10101000 00000000 00000000


(192.168.0.0)
192 168 0 0
IP: 192.168.0.2 IP: 192.168.0.3
Protocolo IP IP: 200.208.0.1
MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 192.168.0.10 Endereamento GW: 200.208.0.20

A B X

IP: 192.168.0.10 IP: 200.208.0.20


MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20

switch
Rede switch
gateway gateway

C Y Z

IP: 192.168.0.1 IP: 200.208.0.3 IP: 200.208.0.4


MSK: 255.255.0.0 IP subrede 200.208.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20 GW: 200.208.0.20
Exemplo: Mensagem C A :
IP: 192.168.0.2 IP: 192.168.0.3 IP: 200.208.0.1
MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 192.168.0.10 GW: 200.208.0.20

A B X

IP: 192.168.0.10 IP: 200.208.0.20


MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20

switch
Rede switch
gateway gateway

C Y Z

IP: 192.168.0.1 IP: 200.208.0.3 IP: 200.208.0.4


MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20 GW: 200.208.0.20
Exemplo: Mensagem C A :
IP: 192.168.0.2 IP: 192.168.0.3 IP: 200.208.0.1
MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 192.168.0.10 GW: 200.208.0.20

A B X

IP: 192.168.0.10 IP: 200.208.0.20


MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20

switch
Rede switch
gateway gateway

C Y Z
Antes de enviar mensagem C precisa
verificar se A pertence a mesma
IP: 192.168.0.1 subrede que ele IP: 200.208.0.3 IP: 200.208.0.4
MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20 GW: 200.208.0.20
C

IP: 192.168.0.1 = 11000000 10101000 00000000 00000001


MSK: 255.255.0.0 = 11111111 11111111 00000000 00000000 AND

IP subrede = 11000000 10101000 00000000 00000000


(192.168.0.0)
192 168 0 0

A IP de subrede iguais, portanto,


pertencem a mesma subrede

IP: 192.168.0.2 = 11000000 10101000 00000000 00000010


MSK: 255.255.0.0 = 11111111 11111111 00000000 00000000 AND

IP subrede = 11000000 10101000 00000000 00000000


(192.168.0.0)
192 168 0 0
Exemplo: Mensagem C A :
IP: 192.168.0.2 IP: 192.168.0.3 IP: 200.208.0.1
MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 192.168.0.10 GW: 200.208.0.20

A B X

IP: 192.168.0.10 IP: 200.208.0.20


MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20

switch
Rede switch
gateway gateway

C Y Z
C envia mensagem contendo:
IP origem: 192.168.0.1 [IP C]
IP: 192.168.0.1 IP destino: 192.168.0.2 [IP A] IP: 200.208.0.3 IP: 200.208.0.4
MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20 GW: 200.208.0.20
Exemplo: Mensagem Y C :
IP: 192.168.0.2 IP: 192.168.0.3 IP: 200.208.0.1
MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 192.168.0.10 GW: 200.208.0.20

A B X

IP: 192.168.0.10 IP: 200.208.0.20


MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20

switch
Rede switch
gateway gateway

C Y Z

IP: 192.168.0.1 IP: 200.208.0.3 IP: 200.208.0.4


MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20 GW: 200.208.0.20
Exemplo: Mensagem Y C :
IP: 192.168.0.2 IP: 192.168.0.3 IP: 200.208.0.1
MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 192.168.0.10 GW: 200.208.0.20

A B X

IP: 192.168.0.10 IP: 200.208.0.20


MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20

switch
Rede switch
gateway gateway

C Y Z
Antes de enviar mensagem Y precisa
verificar se C pertence a mesma
IP: 192.168.0.1 subrede que ele IP: 200.208.0.3 IP: 200.208.0.4
MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20 GW: 200.208.0.20
Y

IP: 200.208.0.3 = 11001000 11010000 00000000 00000001


MSK: 255.255.0.0 = 11111111 11111111 00000000 00000000 AND

IP subrede = 11001000 11010000 00000000 00000000


(200.208.0.0)
200 208 0 0

C IP de subrede diferentes, portanto,


no pertencem a mesma subrede

IP: 192.168.0.1 = 11000000 10101000 00000000 00000001


MSK: 255.255.0.0 = 11111111 11111111 00000000 00000000 AND

IP subrede = 11000000 10101000 00000000 00000000


(192.168.0.0)
192 168 0 0
Exemplo: Mensagem Y C :
IP: 192.168.0.2 IP: 192.168.0.3 IP: 200.208.0.1
MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 192.168.0.10 GW: 200.208.0.20

A B X

IP: 192.168.0.10 IP: 200.208.0.20


MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20

switch
Rede switch
gateway gateway

C Y envia mensagem contendo: Y Z


IP origem: 200.208.0.3 [IP Y]
IP destino: 200.208.0.20 [IP GW]

IP: 192.168.0.1 IP: 200.208.0.3 IP: 200.208.0.4


MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20 GW: 200.208.0.20
Exemplo: Mensagem Y C :
IP: 192.168.0.2 IP: 192.168.0.3 IP: 200.208.0.1
MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 192.168.0.10 GW: 200.208.0.20

A B X

IP: 192.168.0.10 IP: 200.208.0.20


MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20

switch
Rede switch
gateway gateway

C Y envia mensagem contendo: Y Z


IP origem: 200.208.0.3 [IP Y]
IP destino: 200.208.0.20 [IP GW]

IP: 192.168.0.1 Pergunta: Se o IP destino o IP GW IP: 200.208.0.3 IP: 200.208.0.4


MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10
como a mensagem chegar ao C
GW: 200.208.0.20 GW: 200.208.0.20
sem o IP C???
Modelo Internet
Utiliza diversos protocolos, cada um com uma funo especfica
Protocolo ARP
- Protocolo ARP (Address Resolution Protocol) definido pela RFC 826

- Responsvel pela traduo do endereo lgico (endereo IP) para o endereo fsico
(MAC address)

- necessrio se conhecer o endereo fsico de um dispositivo sempre que for enviar


uma mensagem para ele

- Para isto, antes de enviar a mensagem, o dispositivo envia uma mensagem


Broadcast (MAC address = ff : ff : ff : ff : ff : ff) perguntando qual o MAC address do
dispositivo com o IP destino
Exemplo: Mensagem Y C :
IP: 192.168.0.2 IP: 192.168.0.3 IP: 200.208.0.1
MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 192.168.0.10 GW: 200.208.0.20

A B X

IP: 192.168.0.10 IP: 200.208.0.20


MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20

switch
Rede switch
gateway gateway

C Y envia mensagem ARP broadcast Y Z


perguntando MAC address do IP C

IP: 192.168.0.1 IP: 200.208.0.3 IP: 200.208.0.4


MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20 GW: 200.208.0.20
Exemplo: Mensagem Y C :
IP: 192.168.0.2 IP: 192.168.0.3 IP: 200.208.0.1
MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 192.168.0.10 GW: 200.208.0.20

A B X

IP: 192.168.0.10 IP: 200.208.0.20


MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20

switch
Rede switch
gateway gateway

C C responde para Y informando Y Z


seu MAC address

IP: 192.168.0.1 IP: 200.208.0.3 IP: 200.208.0.4


MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20 GW: 200.208.0.20
Exemplo: Mensagem Y C :
IP: 192.168.0.2 IP: 192.168.0.3 IP: 200.208.0.1
MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 192.168.0.10 GW: 200.208.0.20

A B X

IP: 192.168.0.10 IP: 200.208.0.20


MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20

switch
Rede switch
gateway gateway

C Y envia mensagem contendo: Y Z


MAC origem: [MAC Y]
MAC destino: [MAC C]
IP origem: 200.208.0.3 [IP Y]
IP: 192.168.0.1 IP destino: 200.208.0.20 [IP GW]
IP: 200.208.0.3 IP: 200.208.0.4
MSK: 255.255.0.0 MSK: 255.255.0.0 MSK: 255.255.0.0
GW: 192.168.0.10 GW: 200.208.0.20 GW: 200.208.0.20
Protocolo IP
Programao dos parmetros IP, MSK e GW

Basicamente, pode ser feita de duas formas:

- Manualmente (mais comum nos dispositivos industriais)

- Automaticamente (atravs do sistema operacional em conjunto com protocolo


especfico)
Protocolo IP
Programao dos parmetros IP, MSK e GW

Importante: A escolha do valor do MSK um dos fatores que define a quantidade de


dispositivos que podem ser conectados a uma determinada subrede.

IP: 192.168.0.1 = 11000000 10101000 00000000 00000001


MSK: 255.255.0.0 = 11111111 11111111 00000000 00000000 AND

IP subrede = 11000000 10101000 00000000 00000000


(192.168.0.0)
192 168 0 0

Calc qtde de dispositivos


Modelo Internet
Utiliza diversos protocolos, cada um com uma funo especfica
Protocolo DHCP
- Protocolo DHCP (Dynamic Host Configuration Protocol) definido pela RFC 2131

- Responsvel por oferecer configurao dinmica de alguns dos parmetros de rede


dos dispositivos.

- Dentre estes parmetros se encontram o IP, MSK e GW.

- Para isto o dispositivo envia uma mensagem Broadcast perguntando para um


Servidor DHCP qual a configurao necessria para se conectar a subrede.

- Este servidor responde para o dispositivo estas configuraes e ele se ajusta


automaticamente.

Config de rede no Windows


Modelo Internet
Utiliza diversos protocolos, cada um com uma funo especfica
Protocolo TCP
- Protocolo TCP (Transmition Control Protocol) definido pela RFC 793

- Robustez do sistema: recuperao de dados perdidos, danificados, duplicados ou


fora de ordem

- Transferncia bsica de dados: recurso de fragmentao das mensagens

- Controle de fluxo: controle de dados aceitos e que faltam ser recebidos

- Multiplexao: mltiplas conexes simultneas (ports)

- Conexo lgica (sockets)


Protocolo TCP
Estabelecimento de conexo lgica (Three Way Handshake)

Estabelece o Nmero
de Sequncia Inicial
ISN (Initial Sequence
Number) gerado
randomicamente a
cada incio de conexo

ISN incrementado a cada


mensagem transmitida
Protocolo TCP
Sockets e Multiplexao

- Definido por uma par nmero de IP + nmero de Porta

- Permite o uso de diversos protocolos em uma mesma rede fsica

- Permite o acesso de diversos protocolos em um mesmo equipamento


Protocolo TCP
Sockets e Multiplexao
Porta: 20000 Porta: 20000 Porta: 502 Porta: 502

DNP3 DNP3 MODBUS MODBUS

TCP TCP TCP

IP: 192.168.0.1 IP: 192.168.0.5 IP: 192.168.0.3

Socket com Socket com


Porta: 20000 Porta: 502
IP orig: 192.168.0.1 IP orig: 192.168.0.3
IP dest: 192.168.0.5 IP dest: 192.168.0.5
Modelo Internet
Utiliza diversos protocolos, cada um com uma funo especfica
Protocolo ICMP
- Protocolo ICMP (Internet Control Message Protocol) definido pela RFC 792

- Oferece recursos para diagnstico de rede

- Principais comandos:

PING [endereo IP ou URL] testa conexo entre dois dispositivos


Protocolo ICMP
TRACERT [endereo IP ou URL] mostra a rota de conexo entre dois dispositivos
Encapsulamento e a pilha de
protocolos no Modelo Internet
Encapsulamento ???
Encapsulamento
Como o frame efetivamente construdo Tabela de Registros
End Descrio
0000H Corrente fase A
Ler a corrente da 0001H Corrente fase B
Modelo Internet
fase A 0002H Corrente fase C
(pilha com 4 camadas)

Aplicao MODBUS MODBUS


Transporte TCP TCP
Internet IP IP
Rede ETHERNET ETHERNET
MODBUS-RTU
Endereo do slave Cdigo da funo Dados da funo CRC

01H 03H 00H 00H 00H 01H XXH XXH

Tabela de Registros
End Descrio
0000H Corrente fase A
0001H Corrente fase B
0002H Corrente fase C
MODBUS over TCP/IP
Endereo do slave Cdigo da funo Dados da funo CRC

01H 03H 00H 00H 00H 01H XXH XXH

Tabela de Registros
End Descrio
0000H Corrente fase A
0001H Corrente fase B
0002H Corrente fase C
MODBUS over TCP/IP
Cabealho MBAP Cdigo da funo Dados da funo

Total:
7 bytes 03H 00H 00H 00H 01H 12 bytes

Tabela de Registros
End Descrio
0000H Corrente fase A
0001H Corrente fase B
0002H Corrente fase C
MODBUS over TCP/IP
Cabealho MBAP (Modbus Application Protocol)

Total: 7 bytes
Encapsulamento
Tabela de Registros
End Descrio
0000H Corrente fase A
Ler a corrente da 0001H Corrente fase B
fase A 0002H Corrente fase C
Nosso frame

12 bytes MODBUS MODBUS


TCP TCP
IP IP
ETHERNET ETHERNET
Cabealho do Protocolo TCP

Total:
20 bytes
(mnimo)
Cabealho do Protocolo TCP
Porta de destino: 502 = 0000 0001 1111 0110B

Total:
20 bytes
(mnimo)

Nmero ISN estabelecido no inicio da conexo Sequncia de bytes da camada superior


e incrementado a cada envio de nova mensagem
Encapsulamento
Tabela de Registros
End Descrio
0000H Corrente fase A
Ler a corrente da 0001H Corrente fase B
fase A 0002H Corrente fase C
Nosso frame

12 bytes MODBUS MODBUS


20 bytes 12 bytes TCP TCP
IP IP
ETHERNET ETHERNET
Cabealho do Protocolo IP

Total:
20 bytes
(mnimo)
Cabealho do Protocolo IP
20 bytes (IP) + 20 bytes (TCP) + 12 bytes (MODBUS) = 52 bytes

Total:
IP de origem
20 bytes
(mnimo)

IP de destino
Ex: 200.208.0.5 (decimal) = Sequncia de bytes da camada superior
= 1100 1000 . 1101 0000 . 0000 0000 . 0000 0101 (binrio)
Encapsulamento
Tabela de Registros
End Descrio
0000H Corrente fase A
Ler a corrente da 0001H Corrente fase B
fase A 0002H Corrente fase C
Nosso frame

12 bytes MODBUS MODBUS


20 bytes 12 bytes TCP TCP
20 bytes 20 bytes 12 bytes IP IP
ETHERNET ETHERNET
Cabealho do Protocolo Ethernet

Total:
22 bytes
(no incio)

Total:
4 bytes
(no fim)
Cabealho do Protocolo Ethernet

MAC destino
Ex: 0c : 0f : 75 : 00 : 00 : 0a
Total:
22 bytes
(no incio) MAC origem

Bytes utilizados
no clculo do FCS
Sequncia de bytes da camada superior

Total:
4 bytes
Frame Check Sequence = CRC de 4 bytes
(no fim)
Encapsulamento
Tabela de Registros
End Descrio
0000H Corrente fase A
Ler a corrente da 0001H Corrente fase B
fase A 0002H Corrente fase C
Nosso frame

12 bytes MODBUS MODBUS


20 bytes 12 bytes TCP TCP
20 bytes 20 bytes 12 bytes IP IP
22 bytes 20 bytes 20 bytes 12 bytes 4 bytes ETHERNET ETHERNET

Total = 78 bytes
Anlise da pilha de protocolos no
Modelo Internet
Wireshark
- Conhecido anteriormente como Ethereal

- Software livre amplamente utilizado para anlise e soluo de problemas para


diversos tipos de protocolos de rede

- Download e informaes no site:

www.wireshark.org
Wireshark
Tabela de Registros
End Descrio
0000H Corrente fase A
Ler a corrente da 0001H Corrente fase B
fase A 0002H Corrente fase C
Nosso frame

12 bytes MODBUS MODBUS


20 bytes 12 bytes TCP TCP
20 bytes 20 bytes 12 bytes IP IP
22 bytes 20 bytes 20 bytes 12 bytes 4 bytes ETHERNET ETHERNET
IP: 192.168.1.44 IP: 192.168.1.152

Desktop com software Wireshark


monitorando a placa de rede
Tela do software Wireshark
Frames
capturados
Tela do software Wireshark
Selecionando
o 18 frame
capturado
(MODBUS
over TCP/IP)...

... aparece
neste campo
a sua anlise
detalhada
Tela do software Wireshark

... e neste
campo
os bytes
efetivamente
enviados
Tarefa 1

Abra o arquivo modbus.pcap e analise o comando MODBUS over TCP/IP enviado na


linha 18, respondendo:

a) Qual a funo MODBUS executada? (leitura de registro, escrita de coil, etc...)

b) Qual(is) endereos de coil, ou registro, esto sendo acessados? O que est sendo
feito?

c) Em qual linha est o comando de resposta desta solicitao? Esta resposta foi
executada corretamente?
Tela do software Wireshark

Selecionando
um protocolo
especfico
(ex: MODBUS)
aparece sua
anlise
detalhada

... e so
destacados
em azul os
seus bytes
no frame 03H 00H 00H 00H 01H Ler corrente da fase A
Tarefa 2

Descubra qual o endereo IP do micro do seu colega ao lado e realize a seguinte


anlise:

a) Envie o comando ping para este micro e monitore os frames gerados atravs do
Wireshark. Descubra, por exemplo, qual o endereo MAC do micro do seu colega.

b) Envie o comando tracert para este micro e monitore os frames gerados atravs do
Wireshark. Descubra, por exemplo, se existem roteadores/gateways no caminho.

Anda mungkin juga menyukai