Você está na página 1de 301

REDES INDUSTRIAIS

Prof. Igarashi
REDES DE COMUNICAÇÃO DE DADOS
Exemplos de aplicação: Automação Industrial

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


REDES DE COMUNICAÇÃO DE DADOS
Exemplos de aplicação: Automação de Sistemas Elétricos

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


REDES DE COMUNICAÇÃO DE DADOS
Exemplos de aplicação: Automação Veicular

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


REDES DE COMUNICAÇÃO DE DADOS
Exemplos de aplicação: Automação da Aviação

Canal do Youtube:

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


REDES DE COMUNICAÇÃO DE DADOS
Exemplos de aplicação: Automação da Agricultura

Rastreamento: ¨Transformar o campo em fábrica¨


José Carlos Bueno (Gerente)
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
CONCEITOS GERAIS DE REDES
DE COMUNICAÇÃO DE DADOS

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Definição de Comunicação e de Protocolo de Comunicação
Pode-se definir como Comunicação o processo que envolve a transmissão e a
recepção de mensagens entre uma fonte emissora e um destinatário receptor,
no qual as informações são transmitidas através de um meio físico (ar, fios
elétricos, etc.) através de recursos físicos (som, luz, eletricidade, etc.) segundo
um conjunto de regras pré-determinadas. A este conjunto de regras pode-se dar
o nome de Protocolo de Comunicação.

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


REDES DE COMUNICAÇÃO DE DADOS
IoT (Internet of Things)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


REDES DE COMUNICAÇÃO DE DADOS
Big Data e Computação Cognitiva

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


REDES DE COMUNICAÇÃO DE DADOS
Industria 4.0

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


REDES DE COMUNICAÇÃO DE DADOS
Cybersecurity

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Conceitos gerais de redes de comunicação de dados

- Modelos de comunicação
- Topologia de rede
- Formatos de transmissão dos dados binários
- Fluxo de dados
- Metodologias para a obtenção de informações
- Modalidades de endereçamento
- Padrões físicos para a transmissão de dados
- Pirâmide de automação

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Conceitos gerais de redes de comunicação de dados

- Modelos de comunicação
- Topologia de rede
- Formatos de transmissão dos dados binários
- Fluxo de dados
- Metodologias para a obtenção de informações
- Modalidades de endereçamento
- Padrões físicos para a transmissão de dados
- Pirâmide de automação

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Modelos de comunicação

Refere-se a forma como os dispositivos se organizam para definir como serão


feitas as solicitações e as respostas na rede.

Os principais modelos são:


- Mestre-escravo
- Multimestre
- Peer-to-peer

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Mestre-escravo
Principais características:
- somente um dispositivo mestre na rede.
- demais dispositivos são escravos.
- os escravos somente respondem as solicitações do mestre.
- não ocorrem colisões no barramento de rede

Mestre

Escravo Escravo Escravo


A B C

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Multimestre
Principais características:
- mais de um dispositivo pode ser definido como mestre na rede.
- demais dispositivos são escravos.
- os escravos somente respondem as solicitações do mestre.
- mais de um mestre pode solicitar informações, portanto, podem ocorrer
colisões.

Mestre Mestre
A B

Escravo Escravo Escravo


A B C

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Peer-to-peer (ponto a ponto)
Principais características:
- quaisquer dispositivos podem ser mestres ou escravos.
- antes da troca de informações é definido através de mensagens específicas um
par de dispositivos que irão trocar informações.
- 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 colisões.

Dispositivo Dispositivo
1 2

Dispositivo Dispositivo Dispositivo


3 4 5
Conexão
lógica

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Conceitos gerais de redes de comunicação de dados

- Modelos de comunicação
- Topologia de rede
- Formatos de transmissão dos dados binários
- Fluxo de dados
- Metodologias para a obtenção de informações
- Modalidades de endereçamento
- Padrões físicos para a transmissão de dados
- Pirâmide de automação

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Topologia de rede

Refere-se a forma como os dispositivos estão fisicamente interligados.

Os principais modelos são:


- Barramento
- Anel
- Estrela

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Barramento
Principais características:
- geralmente o meio físico é 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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Anel
Principais características:
- geralmente utiliza um par de fios
- normalmente a informação 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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Estrela
Principais características:
- 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
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Hub Switch

Dispositivo Dispositivo Dispositivo Dispositivo


1 2 1 2

Hub Switch

Dispositivo Dispositivo Dispositivo Dispositivo


4 3 4 3

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Conceitos gerais de redes de comunicação de dados

- Modelos de comunicação
- Topologia de rede
- Formatos de transmissão dos dados binários
- Fluxo de dados
- Metodologias para a obtenção de informações
- Modalidades de endereçamento
- Padrões físicos para a transmissão de dados
- Pirâmide de automação

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Formatos de transmissão dos dados binários

Refere-se a forma de transmissão dos dados binários no barramento de rede.

Os principais modelos são:


- Serial
- Paralelo

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Serial
Os bits são 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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Paralelo
Os bits são transmitidos simultaneamente através de várias 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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Tabela comparativa

Serial Paralelo
Quantidade de fios Menor Maior
Velocidade Menor Maior
Custo Menor Maior
Distância Maior Menor

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Conceitos gerais de redes de comunicação de dados

- Modelos de comunicação
- Topologia de rede
- Formatos de transmissão dos dados binários
- Fluxo de dados
- Metodologias para a obtenção de informações
- Modalidades de endereçamento
- Padrões físicos para a transmissão de dados
- Pirâmide de automação

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Fluxo de dados

Refere-se a maneira como as solicitações e as respostas podem transitar em


uma determinada rede.

Os principais modelos são:


- Simplex
- Half-duplex
- Full-duplex

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Simplex
- As mensagens fluem na rede somente em um sentido.
- Maximiza o uso do canal de comunicação.
- Não existe a possibilidade de confirmação de recepção da mensagem enviada.

mensagem

Dispositivo Dispositivo
1 2

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Half-duplex
- As mensagens fluem em ambos os sentidos, mas não simultaneamente.
- Reduz o uso do canal de comunicação.
- Existe a possibilidade de confirmação de recepção da mensagem enviada.

solicitação
Dispositivo Dispositivo
1 2

resposta
Dispositivo Dispositivo
1 2

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Full-duplex
- As mensagens fluem em ambos os sentidos, simultaneamente.
- Maximiza o uso do canal de comunicação.
- Existe a possibilidade de confirmação de recepção da mensagem enviada.

solicitação A
Dispositivo Dispositivo
1 2
solicitação B

resposta A
Dispositivo Dispositivo
1 2
resposta B

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Conceitos gerais de redes de comunicação de dados

- Modelos de comunicação
- Topologia de rede
- Formatos de transmissão dos dados binários
- Fluxo de dados
- Metodologias para a obtenção de informações
- Modalidades de endereçamento
- Padrões físicos para a transmissão de dados
- Pirâmide de automação

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Metodologias para a obtenção de informações

Refere-se a maneira como as solicitações e as respostas são realizadas para se


obter as informações desejadas na rede.

Os principais modelos são:


- Pooling
- Token ring
- Intervalo de tempo constante
- Evento

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Pooling
É feita uma varredura (scan) com todos os dispositivos que se deseja obter
informações.

M M

S1 S2 S3 S1 S2 S3

S1 S2 S3

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Token ring
Utilizado para gerenciar o fluxo de informações em redes na configuração em
anel através de mensagem token.

mensagem

A B A B

C C

A B

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Intervalo de tempo constante
A cada intervalo de tempo programado previamente nos dispositivos uma
solicitação é realizada.

Mestre Mestre
A B

Escravo Escravo Escravo


A B C
TA = 1s TB = 100ms TC = 300ms

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Evento
O envio da mensagem ocorre quando acontecer um determinado evento
definido no dispositivo.
Configuração interessante para otimização de tráfego na rede.

Mestre

Escravo Escravo Escravo


A B C

evento

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Evento
Exemplo de automação dos religadores de poste

supervisório

subestação alimentador

religador religador

138KV 13,8KV

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Transformador de poste, religador de poste e alimentador

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Evento
Exemplo de automação dos religadores de poste

supervisório

evento

subestação alimentador

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Conceitos gerais de redes de comunicação de dados

- Modelos de comunicação
- Topologia de rede
- Formatos de transmissão dos dados binários
- Fluxo de dados
- Metodologias para a obtenção de informações
- Modalidades de endereçamento
- Padrões físicos para a transmissão de dados
- Pirâmide de automação

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Modalidades de endereçamento

Geralmente, cada dispositivo da rede precisa ser identificado com um número


para que as mensagens possam ser encaminhadas para ele. Este número é
chamado Endereço de Rede.

As modalidades de endereçamento se referem a forma como as mensagens são


endereçadas.

Os principais modelos são:


- Unicast
- Multicast
- Broadcast
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Unicast
Nesta modalidade a mensagem é endereçada somente para um determinado
dispositivo.

Dispositivo Dispositivo
1 2

Dispositivo Dispositivo Dispositivo


3 4 5

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Multicast
Nesta modalidade a mensagem é endereçada para um determinado grupo de
dispositivos.

Dispositivo Dispositivo
1 2

Dispositivo Dispositivo Dispositivo


3 4 5

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Broadcast
Nesta modalidade a mensagem é endereçada para todos os dispositivos da
rede.

Dispositivo Dispositivo
1 2

Dispositivo Dispositivo Dispositivo


3 4 5

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Endereçamento Unicast, Multicast e Broadcast na
topologia de rede em barramento

Dispositivo Dispositivo
1 2

V(t)

Dispositivo Dispositivo Dispositivo


3 4 5

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Conceitos gerais de redes de comunicação de dados

- Modelos de comunicação
- Topologia de rede
- Formatos de transmissão dos dados binários
- Fluxo de dados
- Metodologias para a obtenção de informações
- Modalidades de endereçamento
- Padrões físicos para a transmissão de dados
- Pirâmide de automação

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Padrões físicos para a transmissão de dados
Refere-se as características físicas do meio no qual os dados são transmitidos.

Os principais modelos são:


- RS232
- RS485
- Fibra óptica
- Wireless

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


RS232
Principais características:
- Transmissão dos dados através de sinais elétricos.
- Níveis lógicos são implementados de forma inversa ao valor da tensão:
- nível lógico 0 = +7V (aprox.)
- nível lógico 1 = -7V (aprox.)
- Todos os sinais são referenciados a um terra em comum.
- Possui uma via para transmissão e uma via para recepção.
- Distância máxima da ordem de algumas dezenas de metros.

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


RS232
Pinagem e conexão

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


RS232
Implementação

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


RS485
Principais características:
- Transmissão dos dados através de sinais elétricos.
- Os dados são transmitidos de forma diferencial.
- A mesma via pode ser utilizada tanto para transmissão quanto para recepção.
- Distância máxima da ordem de algumas centenas de metros.
- Até 32 dispositivos conectados num mesmo barramento

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


RS485
Transmissão diferencial dos dados

Voa: tensão entre A e terra


Vob: tensão entre B e terra

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


RS485
Interligação dos dispositivos na configuração barramento

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


RS485
Velocidade de transmissão x distância

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Fibra óptica
Principais características:
- Transmissão de dados através da propagação de um feixe de luz.
- A mesma via pode ser utilizada tanto para transmissão quanto para recepção.
- Distância máxima da ordem de algumas centenas de metros.
- Atinge altas velocidades de comunicação.
- São mais imunes as interferências eletromagnéticas.

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Luz
Modelos utilizados para análise
- Óptica física

- Óptica eletromagnética

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Luz
- Óptica geométrica

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Fibras ópticas
Princípio de funcionamento

Lei de Snell

sen ( i ) v1 n2
= =
sen ( r ) v2 n1

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Fibras ópticas
Princípio de funcionamento

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Fibras ópticas
Modelos de fibras ópticas

Índice de refração

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Fibras ópticas
Modelos de conectores

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Introdução as Redes Sem Fio (Wireless)

Transmissão através de ondas de rádio


- Princípios básicos de antena (ex: antena dipolo)
- Princípios básicos de modulação (ex: AM-DSB-FC)
- Modulação digital
- Dispositivos: Router, Repetidor, Access Point
- Exemplos de protocolos para redes sem fio por ondas de rádio

Transmissão através de luz


- Padrão Li-Fi

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Princípios básicos de antenas
Ondas eletromagnéticas
James Clerk Maxwell
(1831 – 1879)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Princípios básicos de antenas
Antena dipolo básica

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


de onda () f f = frequência do sinal (Hertz)
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Princípios básicos de antenas
Comprimento da antena dipolo

Para um melhor
rendimento
L=
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Princípios básicos de antenas
Alguns modelos de antenas
Excitador
Diretores Refletor

Antena Dipolo Antena Yagi


IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Princípios básicos de modulação
A modulação AM-DSB-FC

Porque modular um sinal?


Ex: comprimento da antena p/ transmissão sinal 20KHz

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Princípios básicos de modulação
A modulação AM-DSB-FC
(Amplitude Modulation – Double Side Band – Full Carrier)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Princípios básicos de modulação
A modulação AM-DSB-FC
(Amplitude Modulation – Double Side Band – Full Carrier)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Princípios básicos de modulação
A modulação AM-DSB-FC
(Amplitude Modulation – Double Side Band – Full Carrier)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Princípios básicos de modulação
Outros tipos de modulação

AM-DSB-SC (Amplitude Modulation – Double Side Band


– Supressed Carrier)

AM-SSB (Amplitude Modulation – Single Side Band)

FM (Frequency Modulation)

PM (Phase Modulation)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Princípios básicos de modulação

Exercício:

- Qual seria a distribuição espectral de um sinal de áudio que


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

- Qual seria o comprimento aproximado de uma antena dipolo


1/2L utilizado para transmitir este sinal?

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Modulação digital
Modulações básicas

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Modulação digital
Modulações básicas

a) QPSK (Quadrature Phase Shift Keying)


b) QAM-16 (Quadrature Amplitude Modulation – 16)
c) QAM-64 (Quadrature Amplitude Modulation – 64)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


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 características, inclusive o mesmo nome.

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


rede com fio.

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Redes Ad-Hoc
Rede onde todos os dispositivos podem assumir papel de roteador
encaminhando mensagens recebidas para dispositivos vizinhos

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolos para redes sem fio por ondas de rádio
Exemplos de protocolos

- IEEE 802.11 (Wi-Fi)

- Bluetooth

- Zigbee

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Redes wireless através de luz – O padrão Li-Fi

Professor
Harald Hass
University of
Edinburgh (UK)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Implementação do Li-Fi

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Análise Li-Fi x Wi-Fi

- Fluxo de dados?

- Segurança?

- E se a luz apagar?

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Conceitos gerais de redes de comunicação de dados

- Modelos de comunicação
- Topologia de rede
- Formatos de transmissão dos dados binários
- Fluxo de dados
- Metodologias para a obtenção de informações
- Modalidades de endereçamento
- Padrões físicos para a transmissão de dados
- Pirâmide de automação

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Pirâmide da Automação

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Pirâmide da Automação
Ex: Automação do Sistema Elétrico Brasileiro

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Sistema Integrado Nacional (SIN)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Operador Nacional do Sistema Elétrico (ONS)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


REDES ANALÓGICAS

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Redes analógicas

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


transmitir informação entre diferentes equipamentos
- No passado se transmitiam informações através da variação proporcional de
uma grandeza elétrica (geralmente tensão ou corrente)
- Padrões mais adotados:
- 0 a 20mV
- 0 a 20mA
- 4 a 20mA

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Redes analógicas (Exercício)

Sensor CLP
I=?

Medido
120oC
R

Range: 0o a 200oC
Interface: 4 a 20mA

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


PROTOCOLOS DE
COMUNICAÇÃO DE DADOS

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Introdução aos protocolos de comunicação de dados

- Protocolos de rede são regras pré-estabelecidas de uma determinada rede de


comunicação de dados para a troca de mensagens entre os dispositivos.

- Para esta introdução será utilizado um protocolo mais simples, muito utilizado
em automação elétrica, que servirá como base para compreender diversos
conceitos: o MODBUS-RTU.

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo MODBUS-RTU

- Desenvolvido pela empresa MODICON na década 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 documentação é
gratuito e o seu uso em equipamentos é livre de taxa de licenciamento).
- É um protocolo simples de ser implementado e possui grande versatilidade.
- Possibilidade de implementação em redes Ethernet (MODBUS over TCP/IP)

www.modbus.org
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
MODBUS-RTU
Classificação básica de uma rede MODBUS-RTU
- Modelos de comunicação : Mestre, Multimestre e Peer-to-peer
- Topologia de rede: Barramento, Anel ou Estrela
- Formatos de transmissão dos dados binários: Serial ou Paralelo
- Fluxo de dados: Simplex, Half-Duplex ou Full-Duplex
- Metodologias para a obtenção de informações: Pooling, Token-Ring ou Event
- Modalidades de endereçamento : Unicast, Multicast ou Broadcast
- Padrões físicos para a transmissão: RS232, RS485, Fibra óptica ou Wireless

S1 S2 S3
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
MODBUS-RTU

Codificação dos dados

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


MODBUS-RTU
Como os dados são transmitidos serialmente: a codificação dos dados (bytes)

Frame
MODBUS-RTU

Conversor
USB/RS485

V(t)

Dispositivo Dispositivo Dispositivo


1 2 3

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


MODBUS-RTU
Como os dados são transmitidos serialmente: a codificação dos dados (bytes)

Start: star bit (nível lógico 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 número par.
ímpar: total de “1s” entre o start e o stop bits é um número ímpar.
mark: bit sempre nível lógico 1.
space: bit sempre nível lógico 0.
none: bit de paridade não transmitido

Stop: stop bit (nível lógico 1).


IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
MODBUS-RTU
Como os dados são transmitidos serialmente: a codificação dos dados (bytes)
Bit 8 Bit 1

Exemplo: transmissão 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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


MODBUS-RTU
Como os dados são transmitidos serialmente: a codificação 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
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
MODBUS-RTU
Siglas de três caracteres para identificação de paridade
1º caractere: quantidade de bits de dados transmitidos
2º caractere: lógica 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
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Exercícios

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


MODBUS-RTU

Tempo de transmissão do frame

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


MODBUS-RTU
Tempo de transmissão do frame

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

- Exemplos de velocidades padrão: 9600bps, 19200bps, 28800bps.

- Quando se utiliza “K” é igual a 103, e não 1024, ou seja:

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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


MODBUS-RTU
Tempo de transmissão do frame

Exemplo: cálculo do tempo de transmissão 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 start + 8 dados + 1 parid + 1 stop = 11 bits


Qtde total de bits transmitidos: 8 caracteres x 11 bits = 88 bits
Tempo de transmissão: ( 1 / 9600 ) x 88 bits = 9,16ms
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
MODBUS-RTU
Tempo de transmissão e identificação de fim de frame

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


MODBUS-RTU
Taxa efetiva de transmissão

- Representa a ocupação do canal na transmissão efetiva da informação


- Pode ser calculado através da fórmula:

Taxa efetiva = qtde de bits de dados x 100%


qtde total de bits transmitidos

Exemplo: calcular a taxa efetiva de transmissão para a transmissão de um único


caracter MODBUS-RTU na configuração 8N2.

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Exercícios

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


MODBUS-RTU

Tipos de variáveis

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Tipos de variáveis

- Variáveis são utilizadas para expressar o estado, ou o valor, de determinadas


grandezas do sistema.

- No MODBUS-RTU existem duas categorias de variáveis:

* variáveis tipo Register (Registro): representam grandezas de natureza


analógica. Ex: tensão de linha, carga do trafo, corrente de linha.

* variáveis tipo Coil (Bobina): representam grandezas de natureza binária,


com dois estados. Ex: posição de contatos, indicação luminosa.

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Variáveis tipo Register

- Expressam grandezas de natureza analógica.

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


ex: tensão de linha = 13800 V → registro = 13800D = 35E8H

- Utilização, 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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Variáveis tipo Register

- São identificados dentro dos dispositivos através de um número de 16 bits,


chamado Endereço de Registro.

- Dispositivos MODBUS-RTU informam seus registros disponíveis através de uma


Tabela de Registros.

Exemplo de tabela de registros:

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Variáveis tipo Coil

- Expressam grandezas de natureza binária.

- Tamanho de 1 bit (somente dois estados).

- Utilização, por exemplo, de campo convenção para informar a convenção


adotada, ou seja, o que “0” significa e o que “1” significa.
ex: contato = fechado → admitindo convenção: 0 = aberto / 1 = fechado
portanto, coil = 1

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Variáveis tipo Coil

- São identificados dentro dos dispositivos através de um número de 16 bits,


chamado Endereço de Coil.

- Dispositivos MODBUS-RTU informam seus coils disponíveis através de uma


Tabela de Coils.

Exemplo de tabela de coils:

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Mais exemplos de tabelas

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


MODBUS-RTU

Construção do frame

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame

- Tamanho máximo do frame: 256 bytes


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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame

Slave Address
- Número que identifica o endereço físico do dispositivo slave na rede.
- Valor único para cada dispositivo slave.
-Faixa de valores:
* 0 : Broadcast
* 1 a 247 : Endereços individuais dos slaves
* 248 a 255 : Reservados

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame

Function Code
- Número que identifica a função a ser executada pelo slave.
- Exemplos de funções mais utilizadas:
* código 3 : leitura de registro (read holding register)
* código 6 : escrita de registro (write single register)
* código 1 : leitura de coil (read coils)
* código 5 : escrita de coil (write single coil)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame

Data
- Dados (bytes) referentes a função executada

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame

CRC
- Utilizado para checagem de integridade da mensagem

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Utilizando o simulador MODBUS-RTU

Solicitação

Resposta

Download no site: gigarashi.wordpress.com

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Configuração da interface serial dos dispositivos

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Exemplo de configuração da interface serial dos dispositivos

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Função: Leitura de Registro (código 03H)
Objetivo: Ler o valor de determinados registros de um determinado dispositivo
Sintaxe:
Solicitação Resposta
Byte Descrição Byte Descrição
1 End. Slave 1 End. Slave
2 Código função (03H) 2 Código função (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) penúlt. CRC (LO)
8 CRC (HI) último CRC (HI)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 ???
2 Código função (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 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H → endereço do slave
2 Código função (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 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (03H) 2 03H → código da função
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 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (03H) 2 03H
3 End. Inicial (HI) 3 00H → endereço 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 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (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 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (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)
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Resposta Resposta esperada


Byte Descrição Byte Descrição
1 End. Slave 1 ???
2 Código função (03H) 2 ???
3 Contador de bytes dos registros 3 ???
4 Valor 1º registro (HI) 4 ???
5 Valor 1º registro (LO) 5 ???
... ... 6 ???
penúlt. CRC (LO) 7 ???
último CRC (HI) 8 ???
9 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Resposta Resposta esperada


Byte Descrição Byte Descrição
1 End. Slave 1 01H → endereço do slave
2 Código função (03H) 2 ???
3 Contador de bytes dos registros 3 ???
4 Valor 1º registro (HI) 4 ???
5 Valor 1º registro (LO) 5 ???
... ... 6 ???
penúlt. CRC (LO) 7 ???
último CRC (HI) 8 ???
9 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Resposta Resposta esperada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (03H) 2 03H → código da função
3 Contador de bytes dos registros 3 ???
4 Valor 1º registro (HI) 4 ???
5 Valor 1º registro (LO) 5 ???
... ... 6 ???
penúlt. CRC (LO) 7 ???
último CRC (HI) 8 ???
9 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Resposta Resposta esperada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (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 ???
penúlt. CRC (LO) 7 ???
último CRC (HI) 8 ???
9 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Resposta Resposta esperada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (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 ???
penúlt. CRC (LO) 7 ???
último CRC (HI) 8 ???
9 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Resposta Resposta esperada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (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
penúlt. CRC (LO) 7 25H 37D = 0025H
último CRC (HI) 8 ???
9 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Resposta Resposta esperada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (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
penúlt. CRC (LO) 7 25H
último CRC (HI) 8 XXH → CRC (será explicado mais
9 XXH à frente)
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Ler os valores das correntes medidas nas fases A e B.

Solicitação

Resposta

Portanto:
Solicitação: 01H 03H 00H 00H 00H 02H XXH XXH
Resposta: 01H 03H 04H 00H 15H 00H 25H XXH XXH

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Exercício: Ler os valores dos set points programados nas funções 51, 50N e 51N.

Portanto:
Solicitação: ?????
Resposta: ?????

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Exercício: Ler os valores dos set points programados nas funções 51, 50N e 51N.

Portanto:
Solicitação: 01H 03H 00H 21H 00H 03H XXH XXH
Resposta: 01H 03H 06H 00H 14H 00H 1EH 00H 0AH XXH XXH

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Função: Escrita de Registro (código 06H)
Objetivo: Alterar o valor de um registro de um determinado dispositivo
Sintaxe:
Solicitação Resposta
Byte Descrição Byte Descrição
1 End. Slave 1 End. Slave
2 Código função (06H) 2 Código função (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)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Exemplo: Alterar o valor do set point da função 51 para 2,7A.

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 ???
2 Código função (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 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Alterar o valor do set point da função 51 para 2,7A.

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H → endereço do slave
2 Código função (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 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Alterar o valor do set point da função 51 para 2,7A.

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (06H) 2 06H → código da função
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 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Alterar o valor do set point da função 51 para 2,7A.

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (06H) 2 06H
3 End. registro (HI) 3 00H → endereço 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 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Alterar o valor do set point da função 51 para 2,7A.

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (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 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Alterar o valor do set point da função 51 para 2,7A.

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (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)
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Alterar o valor do set point da função 51 para 2,7A.

Resposta Resposta a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H → idêntica à solicitação
2 Código função (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
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Alterar o valor do set point da função 51 para 2,7A.

Solicitação

Resposta

Portanto:
Solicitação: 01H 06H 00H 21H 00H 1BH XXH XXH
Resposta: 01H 06H 00H 21H 00H 1BH XXH XXH

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Exercício: Alterar o tempo da função 51 para 8 s.

Portanto:
Solicitação: ?????
Resposta: ?????

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Exercício: Alterar o tempo da função 51 para 8 s.

Portanto:
Solicitação: 01H 06H 00H 30H 00H 08H XXH XXH
Resposta: 01H 06H 00H 30H 00H 08H XXH XXH

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Exemplo: Ler valor do set point da função 50, alterar seu valor para 5,5A e ler novo valor.

Solicitação: 01H 03H 00H 20H 00H 01H XXH XXH leitura do valor atual = 5,0A
Resposta: 01H 03H 02H 00H 32H XXH XXH
Solicitação: 01H 06H 00H 20H 00H 37H XXH XXH alterar valor para 5,5A
Resposta: 01H 06H 00H 20H 00H 37H XXH XXH
Solicitação: 01H 03H 00H 20H 00H 01H XXH XXH leitura do novo valor = 5,5A
Resposta: 01H 03H 02H 00H 37H XXH XXH

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Função: Leitura de Coil (código 01H)
Objetivo: Ler o valor de determinados coils de um determinado dispositivo
Sintaxe:
Solicitação Resposta
Byte Descrição Byte Descrição
1 End. Slave 1 End. Slave
2 Código função (01H) 2 Código função (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) penúlt. CRC (LO)
7 CRC (LO) último CRC (HI)
8 CRC (HI)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Exemplo: Ler o status das funções 51 e 50N (se estão habilitadas ou não).

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 ???
2 Código função (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 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Ler o status das funções 51 e 50N (se estão habilitadas ou não).

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H → endereço do slave
2 Código função (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 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Ler o status das funções 51 e 50N (se estão habilitadas ou não).

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (01H) 2 01H → código da função
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 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Ler o status das funções 51 e 50N (se estão habilitadas ou não).

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (01H) 2 01H
3 End. Inicial (HI) 3 00H → endereço 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 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Ler o status das funções 51 e 50N (se estão habilitadas ou não).

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (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 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Ler o status das funções 51 e 50N (se estão habilitadas ou não).

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (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)
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Ler o status das funções 51 e 50N (se estão habilitadas ou não).

Resposta Resposta a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 ???
2 Código função (01H) 2 ???
3 Contador de bytes dos coils 3 ???
4 Valor dos coils 4 ???
5 CRC (LO) 5 ???
6 CRC (HI) 6 ???

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Exemplo: Ler o status das funções 51 e 50N (se estão habilitadas ou não).

Resposta Resposta a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H → endereço do slave
2 Código função (01H) 2 ???
3 Contador de bytes dos coils 3 ???
4 Valor dos coils 4 ???
5 CRC (LO) 5 ???
6 CRC (HI) 6 ???

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Exemplo: Ler o status das funções 51 e 50N (se estão habilitadas ou não).

Resposta Resposta a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (01H) 2 01H → código da função
3 Contador de bytes dos coils 3 ???
4 Valor dos coils 4 ???
5 CRC (LO) 5 ???
6 CRC (HI) 6 ???

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Exemplo: Ler o status das funções 51 e 50N (se estão habilitadas ou não).

Resposta Resposta a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (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 ???

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Exemplo: Ler o status das funções 51 e 50N (se estão habilitadas ou não).

Resposta Resposta a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
Coil 0002H Coil 0001H
2 Código função (01H) 2 01H
(Não = 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 ??? são zerados

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Exemplo: Ler o status das funções 51 e 50N (se estão habilitadas ou não).

Resposta Resposta a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (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)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Exemplo: Ler o status das funções 51 e 50N (se estão habilitadas ou não).

Solicitação

Resposta

Portanto:
Solicitação: 01H 01H 00H 01H 00H 02H XXH XXH
Resposta: 01H 01H 01H 01H XXH XXH

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Exercício: Ler o status de todos os contatos.

Portanto:
Solicitação: ?????
Resposta: ?????

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Exercício: Ler o status de todos os contatos.

Portanto:
Solicitação: 01H 01H 00H 10H 00H 03H XXH XXH
Resposta: 01H 01H 01H 01H XXH XXH

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Função: Escrita de Coil (código 05H)
Objetivo: Alterar o valor de um determinado coil de um determinado dispositivo
Sintaxe:
Solicitação Resposta
Byte Descrição Byte Descrição
1 End. Slave 1 End. Slave
2 Código função (05H) 2 Código função (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)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Exemplo: Habilitar a função 50N.

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 ???
2 Código função (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 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Habilitar a função 50N.

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H → endereço slave
2 Código função (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 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Habilitar a função 50N.

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (05H) 2 05H → código da função
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 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Habilitar a função 50N.

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (05H) 2 05H
3 End. coil (HI) 3 00H → endereço 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 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Habilitar a função 50N.

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (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 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Habilitar a função 50N.

Solicitação Solicitação a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função (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)
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Habilitar a função 50N.

Resposta Resposta a ser enviada


Byte Descrição Byte Descrição
1 End. Slave 1 01H → idem à solicitação
2 Código função (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
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exemplo: Habilitar a função 50N.

Solicitação

Resposta

Portanto:
Solicitação: 01H 05H 00H 02H FFH 00H XXH XXH
Resposta: 01H 05H 00H 02H FFH 00H XXH XXH

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Construção do frame
Exercício: Ler o status de todas as funções (se estão habilitadas ou não), desabilitar a função 51
e checar novamente os status das funções.

Solicitação: ??? Leitura do status de todas as funções


Resposta: ???
Solicitação: ??? Desabilitar a função 51
Resposta: ???
Solicitação: ??? Checar status de todas as funções
Resposta: ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Construção do frame
Exercício: Ler o status de todas as funções (se estão habilitadas ou não), desabilitar a função 51
e checar novamente os status das funções.

Solicitação: 01H 01H 00H 00H 00H 04H XXH XXH Leitura do status de todas as funções
Resposta: 01H 01H 01H 03H XXH XXH
Solicitação: 01H 05H 00H 01H 00H 00H XXH XXH Desabilitar a função 51
Resposta: 01H 05H 00H 01H 00H 00H XXH XXH
Solicitação: 01H 01H 00H 00H 00H 04H XXH XXH Checar status de todas as funções
Resposta: 01H 01H 01H 01H XXH XXH
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
MODBUS-RTU

Confiabilidade do canal de
comunicação

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Confiabilidade do canal de comunicação
Na prática podem ocorrer diversos imprevistos que podem acarretar no mal
funcionamento da rede de comunicação de dados. Exemplos: ruído, elaboração
de comandos errados, etc.

É importante, portanto, que o protocolo ofereça recursos para que tais


imprevistos possam ser contornados para que a rede de comunicação de dados
possa continuar operante.

Os principais recursos que o MODBUS-RTU oferece são:

- Bit de paridade
- Confirmação de comando
- CRC
- Respostas de excessão
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Bit de paridade
Testa a integridade dos bits do caracter (se selecionado paridade par ou ímpar)
Bit 8 Bit 1

Exemplo: transmissão 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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Confirmação de comando
Para toda solicitação existe uma resposta (mesmo se for uma réplica da solicitação)
que pode ser utilizada pelo mestre para testar a integridade do canal e para
assegurar que a solicitação foi executada.

Solicitação

Resposta

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


CRC
O CRC (Cyclical Redundancy Checking) é um algoritmo de verificação que calcula
um valor de 16 bits a partir dos bytes que compõem um frame MODBUS-RTU. Ele
é utilizado para teste de integridade do frame recebido.

CRC calculado em função dos bytes do frame

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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


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

Solicitação enviada pelo


mestre contendo o CRC
calculado

Solicitação

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


CRC
Ex: transmissão 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 não envia
nenhuma resposta ao mestre.

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Algoritmo para cálculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Algoritmo para cálculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH
Carregar CRC16 = FFFFH
Variáveis:
CRC16 = FFFFH

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Algoritmo para cálculo do CRC
Exemplo: CRC do frame
1º byte 02H 03H 00H 00H 00H 01H XXH XXH

Variáveis:
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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Algoritmo para cálculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH

Variáveis:
CRC16 = FFFDH
N=0

Carregar N = 0

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Algoritmo para cálculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH

Variáveis:
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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Algoritmo para cálculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH

Variáveis:
CRC16 = 7FFEH
N=0
Carry over Carry = 1

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Algoritmo para cálculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH

Variáveis:
CRC16 = 7FFEH → CRC16 = DFFFH
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 = DFFFH = 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1B

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Algoritmo para cálculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH

Variáveis:
CRC16 = DFFFH
N=0 → N=1
Carry = 1

Incrementar o valor de N

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Algoritmo para cálculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH

Variáveis:
CRC16 = DFFFH
N=1
Carry = 1

N não é maior que 7

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Algoritmo para cálculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH

Variáveis:
CRC16 = DFFFH
N=1
Carry = 1

Portanto,esta parte do programa será repetida 8 vezes

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Algoritmo para cálculo do CRC
Exemplo: CRC do frame
02H 03H 00H 00H 00H 01H XXH XXH

Variáveis:
CRC16 = DFFFH
N=1
Próximo byte
Carry = 1

Verificado se é o último byte da mensagem.


Como nós temos ainda mais 5 bytes ele carrega o
próximo byte (03H) e executa o loop novamente

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Algoritmo para cálculo 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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Respostas de excessão
São utilizadas pelo slave para reportar ao master que houve um erro na composição da
mensagem recebida.

Sintaxe:
Resposta
Byte Descrição
1 End. Slave
2 Código função recebida OR 80H
3 Código de excessão
01H: erro de função
02H: erro de endereço
03H: erro de dados
04H: erro de execução pelo servidor
4 CRC (LO)
5 CRC (HI)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Erro!
Esta função não existe
Resposta de Excessão: Erro de Função
Ex: num dispositivo com endereço físico 01H e tabela de coils abaixo, executar função 30H

Solicitação: 01H 30H 00H 00H 03H 00H XXH XXH


Resposta Resposta enviada
Byte Descrição Byte Descrição
1 End. Slave 1 ???
2 Código função recebida OR 80H 2 ???
3 Código de excessão 3 ???
01H: erro de função
02H: erro de endereço
03H: erro de dados
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Erro!
Esta função não existe
Resposta de Excessão: Erro de Função
Ex: num dispositivo com endereço físico 01H e tabela de coils abaixo, executar função 30H

Solicitação: 01H 30H 00H 00H 03H 00H XXH XXH


Resposta Resposta enviada
Byte Descrição Byte Descrição
1 End. Slave 1 01H → endereço slave
2 Código função recebida OR 80H 2 ???
3 Código de excessão 3 ???
01H: erro de função
02H: erro de endereço
03H: erro de dados
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Erro!
Esta função não existe
Resposta de Excessão: Erro de Função
Ex: num dispositivo com endereço físico 01H e tabela de coils abaixo, executar função 30H

Solicitação: 01H 30H 00H 00H 03H 00H XXH XXH


Resposta Resposta enviada
Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função recebida OR 80H 2 B0H → 30H OR 80H
3 Código de excessão 3 ??? 0 0 1 1 0 0 0 0 → 30H
01H: erro de função OR 1 0 0 0 0 0 0 0 → 80H
02H: erro de endereço
03H: erro de dados 1 0 1 1 0 0 0 0 → B0H
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Erro!
Esta função não existe
Resposta de Excessão: Erro de Função
Ex: num dispositivo com endereço físico 01H e tabela de coils abaixo, executar função 30H

Solicitação: 01H 30H 00H 00H 03H 00H XXH XXH


Resposta Resposta enviada
Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função recebida OR 80H 2 B0H
3 Código de excessão 3 01H → código de erro
01H: erro de função
02H: erro de endereço
03H: erro de dados
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Erro!
Esta função não existe
Resposta de Excessão: Erro de Função
Ex: num dispositivo com endereço físico 01H e tabela de coils abaixo, executar função 30H

Solicitação: 01H 30H 00H 00H 03H 00H XXH XXH


Resposta Resposta enviada
Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função recebida OR 80H 2 B0H
3 Código de excessão 3 01H
01H: erro de função
02H: erro de endereço
03H: erro de dados
4 CRC (LO) 4 XXH → CRC
5 CRC (HI) 5 XXH
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Erro!
Esta função não existe
Resposta de Excessão: Erro de Função
Ex: num dispositivo com endereço físico 01H e tabela de coils abaixo, executar função 30H

Solicitação

Resposta

Portanto:
Solicitação: 01H 30H 00H 00H 03H 00H XXH XXH
Resposta: 01H B0H 01H XXH XXH

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Erro!
Este endereço não existe
Resposta de Excessão: Erro de Endereço
Ex: num dispositivo com endereço físico 01H e tabela de coils abaixo, zerar coil de endereço 0050H

Solicitação: 01H 05H 00H 50H 00H 00H XXH XXH


Resposta Resposta enviada
Byte Descrição Byte Descrição
1 End. Slave 1 ???
2 Código função recebida OR 80H 2 ???
3 Código de excessão 3 ???
01H: erro de função
02H: erro de endereço
03H: erro de dados
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Erro!
Este endereço não existe
Resposta de Excessão: Erro de Endereço
Ex: num dispositivo com endereço físico 01H e tabela de coils abaixo, zerar coil de endereço 0050H

Solicitação: 01H 05H 00H 50H 00H 00H XXH XXH


Resposta Resposta enviada
Byte Descrição Byte Descrição
1 End. Slave 1 01H → endereço slave
2 Código função recebida OR 80H 2 ???
3 Código de excessão 3 ???
01H: erro de função
02H: erro de endereço
03H: erro de dados
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Erro!
Este endereço não existe
Resposta de Excessão: Erro de Endereço
Ex: num dispositivo com endereço físico 01H e tabela de coils abaixo, zerar coil de endereço 0050H

Solicitação: 01H 05H 00H 50H 00H 00H XXH XXH


Resposta Resposta enviada
Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função recebida OR 80H 2 85H → 05H OR 80H
3 Código de excessão 3 ??? 0 0 0 0 0 1 0 1 → 05H
01H: erro de função OR 1 0 0 0 0 0 0 0 → 80H
02H: erro de endereço
03H: erro de dados 1 0 0 0 0 1 0 1 → 85H
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Erro!
Este endereço não existe
Resposta de Excessão: Erro de Endereço
Ex: num dispositivo com endereço físico 01H e tabela de coils abaixo, zerar coil de endereço 0050H

Solicitação: 01H 05H 00H 50H 00H 00H XXH XXH


Resposta Resposta enviada
Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função recebida OR 80H 2 85H
3 Código de excessão 3 02H → código do erro
01H: erro de função
02H: erro de endereço
03H: erro de dados
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Erro!
Este endereço não existe
Resposta de Excessão: Erro de Endereço
Ex: num dispositivo com endereço físico 01H e tabela de coils abaixo, zerar coil de endereço 0050H

Solicitação: 01H 05H 00H 50H 00H 00H XXH XXH


Resposta Resposta enviada
Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função recebida OR 80H 2 85H
3 Código de excessão 3 02H
01H: erro de função
02H: erro de endereço
03H: erro de dados
4 CRC (LO) 4 XXH → CRC
5 CRC (HI) 5 XXH
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Erro!
Este endereço não existe
Resposta de Excessão: Erro de Endereço
Ex: num dispositivo com endereço físico 01H e tabela de coils abaixo, zerar coil de endereço 0050H

Solicitação

Resposta

Portanto:
Solicitação: 01H 05H 00H 50H 00H 00H XXH XXH
Resposta: 01H 85H 02H XXH XXH

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Resposta de Excessão: Erro de Dados
Ex: num dispositivo com endereço físico 01H e tabela de coils abaixo, habilitar a função 50N

Solicitação: 01H 05H 00H 02H 01H 00H XXH XXH


Resposta Resposta enviada
Erro!
Byte Descrição Correto seria FFH Byte Descrição
1 End. Slave 1 ???
2 Código função recebida OR 80H 2 ???
3 Código de excessão 3 ???
01H: erro de função
02H: erro de endereço
03H: erro de dados
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Resposta de Excessão: Erro de Dados
Ex: num dispositivo com endereço físico 01H e tabela de coils abaixo, habilitar a função 50N

Solicitação: 01H 05H 00H 02H 01H 00H XXH XXH


Resposta Resposta enviada
Erro!
Byte Descrição Correto seria FFH Byte Descrição
1 End. Slave 1 01H → endereço slave
2 Código função recebida OR 80H 2 ???
3 Código de excessão 3 ???
01H: erro de função
02H: erro de endereço
03H: erro de dados
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Resposta de Excessão: Erro de Dados
Ex: num dispositivo com endereço físico 01H e tabela de coils abaixo, habilitar a função 50N

Solicitação: 01H 05H 00H 02H 01H 00H XXH XXH


Resposta Resposta enviada
Erro!
Byte Descrição Correto seria FFH Byte Descrição
1 End. Slave 1 01H
2 Código função recebida OR 80H 2 85H → 05H OR 80H
3 Código de excessão 3 ??? 0 0 0 0 0 1 0 1 → 05H
01H: erro de função OR 1 0 0 0 0 0 0 0 → 80H
02H: erro de endereço
03H: erro de dados 1 0 0 0 0 1 0 1 → 85H
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Resposta de Excessão: Erro de Dados
Ex: num dispositivo com endereço físico 01H e tabela de coils abaixo, habilitar a função 50N

Solicitação: 01H 05H 00H 02H 01H 00H XXH XXH


Resposta Resposta enviada
Erro!
Byte Descrição Correto seria FFH Byte Descrição
1 End. Slave 1 01H
2 Código função recebida OR 80H 2 85H
3 Código de excessão 3 03H → código de erro
01H: erro de função
02H: erro de endereço
03H: erro de dados
4 CRC (LO) 4 ???
5 CRC (HI) 5 ???
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Resposta de Excessão: Erro de Dados
Ex: num dispositivo com endereço físico 01H e tabela de coils abaixo, habilitar a função 50N

Solicitação: 01H 05H 00H 02H 01H 00H XXH XXH


Resposta Resposta enviada
Erro!
Byte Descrição Correto seria FFH Byte Descrição
1 End. Slave 1 01H
2 Código função recebida OR 80H 2 85H
3 Código de excessão 3 03H
01H: erro de função
02H: erro de endereço
03H: erro de dados
4 CRC (LO) 4 XXH → CRC
5 CRC (HI) 5 XXH
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Resposta de Excessão: Erro de Dados
Ex: num dispositivo com endereço físico 01H e tabela de coils abaixo, habilitar a função 50N

Solicitação

Resposta

Portanto:
Solicitação: 01H 05H 00H 02H 01H 00H XXH XXH
Resposta: 01H 85H 03H XXH XXH

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Resposta de Excessão: Erro de Execução pelo Servidor
Ex: num dispositivo com endereço físico 01H e tabela de coils abaixo, habilitar a função 50N

Solicitação: 01H 05H 00H 02H FFH 00H XXH XXH (houve problemas em salvar o parâmetro)
Resposta Resposta enviada
Byte Descrição Byte Descrição
1 End. Slave 1 01H
2 Código função recebida OR 80H 2 85H
3 Código de excessão 3 04H
04H: erro de execução pelo servidor
4 CRC (LO) 4 XXH → CRC
5 CRC (HI) 5 XXH

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Resposta de Excessão: Erro de Execução pelo Servidor
Ex: num dispositivo com endereço físico 01H e tabela de coils abaixo, habilitar a função 50N

Solicitação

Resposta

Portanto:
Solicitação: 01H 05H 00H 02H FFH 00H XXH XXH
Resposta: 01H 85H 04H XXH XXH

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Exercícios

1) Calcule o CRC do seguinte frame MODBUS-RTU:

02H 07H ??H ??H

2) Desafio (bit paridade versus checksum versus CRC): a partir de um


comando MODBUS-RTU válido tente invalidar este comando e verifique
se o CRC se mantém inalterado.

ex: 01H 03H 00H 00H 00H 01H 84H 0AH

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


O Modelo Internet para redes de
comunicação de dados

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Modelo Internet
- Internet é um sistema global de redes de computadores que utilizam como base o
Modelo Internet de protocolos para interliga-los e prover serviços de acessos a
esta rede para todo o mundo.

- O Modelo Internet começou no final da década de 60, a partir da ARPANET, com o


objetivo de definir um protocolo para interligar computadores militares.

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Modelo Internet
Pode ser considerado um modelo simplificado do Modelo ISO/OSI

Modelo ISO/OSI Modelo Internet


(7 camadas) (4 camadas)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Modelo Internet
Utiliza diversos protocolos, cada um com uma função específica

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo Ethernet
- Definido pela IEEE 802.3

- Desenvolvido pela Xerox na década de 60.

- Nome “fantasia” para o protocolo CSMA/CD (Carrier Sense Multiple Access with
Collision Detection), derivado do conceito de éter luminífero (suposto meio de
propagação da luz)

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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo Ethernet
Localização no Modelo Internet

Modelo ISO/OSI Modelo Internet


(7 camadas) (4 camadas)

Software
Ethernet

Hardware

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo Ethernet
Exemplos de alguns padrões para implementação do meio físico

Microcontrolador
Microcontrolador

MAC
MAC

Interface RMII Interface MII

PHY PHY
(para RJ45) (para FO)

Conector para RJ45 Tranceptor para fibra óptica


IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Protocolo Ethernet
Codificação dos dados

- Codificação Manchester especificada pela IEEE 802.3, onde:


Bit 1: Começa com -V e termina com +V
Bit 0: Começa com +V e termina com –V
-O sinal é “simétrico” e sem componente DC, ou seja, possui área positiva e
negativa iguais, o que permite seu acoplamento através de indutores/capacitores

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo Ethernet

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo Ethernet

Exercício:

1) Qual a velocidade de operação?

2) Qual a sequência de bits enviada?

3) Qual a sequência de bytes enviada?

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo Ethernet
cabo comum / cabo cross-over / cabo par trançado

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Ethernet
Industrial
Ex: profinet

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo Ethernet
Power over Ethernet (PoE)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo Ethernet
Endereço MAC

- Endereço físico do dispositivo composto por 6 bytes, separados por dois pontos “ : “

- Controlado pelo IEEE-SA (IEEE Standards Association)

- Os 3 primeiros bytes são denominados OUI (Organizationally Unique Identifier) e


são atribuídos pelo IEEE-SA

- Os outros 3 bytes são atribuídos pelo próprio fabricante

- O fabricante deve garantir que o MAC seja único

-Exemplo de endereço MAC:

08 : 00: 02 : 04 : e8 : 6f (hexa)
IEEE-SA fabricante
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Modelo Internet
Utiliza diversos protocolos, cada um com uma função específica

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo IP
- Protocolo IP (Internet Protocol) é definido pela RFC 791

- Utilizado para direcionar as mensagens ao seu destino

- Não oferece garantia de que a mensagem foi recebida pelo destino

- Deve-se identificar a rede utilizando IP para evitar a intervenção de outros nós

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo IP
Endereço IP

- Endereço lógico formado por 4 bytes, representados separados por ponto “ . “

- Trabalha em conjunto com a Máscara de Rede e o Endereço de Gateway para o


direcionamento das mensagens

- Gateway é um dispositivo físico responsável por interligar redes

- Pode ser programado pelo usuário

- Exemplo de endereço IP:

194.168.0.1 (decimal)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo IP
Endereçamento

A B X

switch
Rede switch
gateway gateway

C Y Z

Endereço IP do dispositivo

IP: 192.168.0.1 Máscara de subrede


MSK: 255.255.0.0
GW: 192.168.0.10
Endereço IP do gateway

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo IP
Endereçamento

A B X

switch
Rede switch
gateway gateway

Resultado da operação lógica AND entre


o IP e o MSK gera um número 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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo IP
Endereçamento

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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


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 Endereçamento 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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


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,


não 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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


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: 192.168.0.1 [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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


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: 192.168.0.1 [IP C]

IP: 192.168.0.1 Pergunta: Se o IP destino é o IP C 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
GW: 200.208.0.20 GW: 200.208.0.20
gateway???

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Modelo Internet
Utiliza diversos protocolos, cada um com uma função específica

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo ARP
- Protocolo ARP (Address Resolution Protocol) definido pela RFC 826

- Responsável pela tradução do endereço lógico (endereço IP) para o endereço físico
(MAC address)

- É necessário se conhecer o endereço físico 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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


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 gateway

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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


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 gateway 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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


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 gateway]
IP origem: 200.208.0.3 [IP Y]
IP: 192.168.0.1 IP destino: 192.168.0.1 [IP C]
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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo ARP
Consulta a tabela ARP

- Abra o prompt de comando e digite o comando “arp -a”

Será exibido a tabela ARP contendo os endereços IP atualmente traduzidos


para seu correspondente endereço MAC e armazenados em uma tabela
interna para posterior consulta.

- Digite o comando “arp” e explore as demais opções deste comando.

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo IP
Programação dos parâmetros IP, MSK e GW

Basicamente, pode ser feita de duas formas:

- Manualmente (mais comum nos dispositivos industriais)

- Automaticamente (através do sistema operacional em conjunto com protocolo


específico)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo IP
Programação dos parâmetros 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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi Calc qtde de dispositivos
Modelo Internet
Utiliza diversos protocolos, cada um com uma função específica

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo DHCP
- Protocolo DHCP (Dynamic Host Configuration Protocol) definido pela RFC 2131

- Responsável por oferecer configuração dinâmica de alguns dos parâmetros de rede


dos dispositivos.

- Dentre estes parâmetros se encontram o IP, MSK e GW.

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


Servidor DHCP qual a configuração necessária para se conectar a subrede.

- Este servidor responde para o dispositivo estas configurações e ele se ajusta


automaticamente.

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi Config de rede no Windows
Modelo Internet
Utiliza diversos protocolos, cada um com uma função específica

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo ICMP
- Protocolo ICMP (Internet Control Message Protocol) definido pela RFC 792

- Oferece recursos para diagnóstico de rede

- Principais comandos:

PING [endereço IP ou URL] → testa conexão entre dois dispositivos

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo ICMP
TRACERT [endereço IP ou URL] → mostra a rota de conexão entre dois dispositivos

Curiosidade: www.submarinecablemap.com
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Protocolo DNS
- Protocolo DNS (Domain Name System) definido pela RFC 1034

- Oferece recursos para a conversão de um determinado endereço URL para o seu


endereço IP correspondente

- Para isto ele efetua uma consulta a um servidor DNS instalado na internet capaz de
converter o endereço URL para o endereço IP correspondente

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Tarefa

Descubra qual o endereço IP do micro do seu colega ao lado e realize as seguintes


análises:

a) Envie o comando ping para este micro e monitore os frames gerados. Verifique se
houve erros na conexão.

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

c) Envie o comando ping para um endereço URL e verifique o endereço IP do servidor


que mantém esse endereço URL.

d) Utilize o comando nslookup para descobrir o servidor DNS cadastrado em seu


computador e digite nslookup <endereço URL> para o protocolo DNS requisitar o
endereço IP deste endereço URL no servidor DNS.
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Modelo Internet
Utiliza diversos protocolos, cada um com uma função específica

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo TCP
- Protocolo TCP (Transmition Control Protocol) definido pela RFC 793

- Robustez do sistema: recuperação de dados perdidos, danificados, duplicados ou


fora de ordem

- Transferência básica de dados: recurso de fragmentação das mensagens

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

- Multiplexação: múltiplas conexões simultâneas (ports)

- Conexão lógica (sockets)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo TCP
Estabelecimento de conexão lógica (Three Way Handshake) e Comunicação Confiável (ACK)

Estabelece o Número
de Sequência Inicial
ISN (Initial Sequence
Number) gerado
randomicamente a
cada início de conexão

ISN incrementado a cada


mensagem transmitida

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo TCP
Sockets e Multiplexação

- Definido por uma par número de IP + número de Porta

- Permite o uso de diversos protocolos em uma mesma rede física

- Permite o acesso de diversos protocolos em um mesmo equipamento

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo TCP
Sockets e Multiplexação
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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Protocolo TCP
Segmentação, Controle de Fluxo e Controle de Congestionamento

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Encapsulamento e a pilha de
protocolos no Modelo Internet

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Encapsulamento ???

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Encapsulamento
Como o frame é efetivamente construído Tabela de Registros
End Descrição
0000H Corrente fase A
Ler a corrente da 0001H Corrente fase B
Modelo Internet
fase A 0002H Corrente fase C
(pilha com 4 camadas)

Aplicação MODBUS MODBUS


Transporte TCP TCP
Internet IP IP
Rede ETHERNET ETHERNET

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


MODBUS-RTU
Endereço do slave Código da função Dados da função CRC

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

Tabela de Registros
End Descrição
0000H Corrente fase A
0001H Corrente fase B
0002H Corrente fase C
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
MODBUS over TCP/IP
Endereço do slave Código da função Dados da função CRC

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

Tabela de Registros
End Descrição
0000H Corrente fase A
0001H Corrente fase B
0002H Corrente fase C
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
MODBUS over TCP/IP
Cabeçalho MBAP Código da função Dados da função

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

Tabela de Registros
End Descrição
0000H Corrente fase A
0001H Corrente fase B
0002H Corrente fase C
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
MODBUS over TCP/IP
Cabeçalho MBAP (Modbus Application Protocol)

Total: 7 bytes

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Encapsulamento
Tabela de Registros
End Descrição
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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Cabeçalho do Protocolo TCP

Total:
20 bytes
(mínimo)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Cabeçalho do Protocolo TCP
Porta de destino: 502 = 0000 0001 1111 0110B

Total:
20 bytes
(mínimo)

Número ISN estabelecido no inicio da conexão Sequência de bytes da camada superior


e incrementado a cada envio de nova mensagem

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Encapsulamento
Tabela de Registros
End Descrição
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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Cabeçalho do Protocolo IP

Total:
20 bytes
(mínimo)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Cabeçalho do Protocolo IP
20 bytes (IP) + 20 bytes (TCP) + 12 bytes (MODBUS) = 52 bytes

Total:
IP de origem
20 bytes
(mínimo)

IP de destino
Ex: 200.208.0.5 (decimal) = Sequência de bytes da camada superior
= 1100 1000 . 1101 0000 . 0000 0000 . 0000 0101 (binário)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Encapsulamento
Tabela de Registros
End Descrição
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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Cabeçalho do Protocolo Ethernet

Total:
22 bytes
(no início)

Total:
4 bytes
(no fim)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Cabeçalho do Protocolo Ethernet

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

Bytes utilizados
no cálculo do FCS
Sequência de bytes da camada superior

Total:
4 bytes
Frame Check Sequence = CRC de 4 bytes
(no fim)

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Encapsulamento
Tabela de Registros
End Descrição
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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Análise da pilha de protocolos no
Modelo Internet

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Wireshark
- Conhecido anteriormente como Ethereal

- Software livre amplamente utilizado para análise e solução de problemas para


diversos tipos de protocolos de rede

- Download e informações no site:

www.wireshark.org

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Wireshark
Tabela de Registros
End Descrição
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

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Switch Layer-2 e Switch Layer-3

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Tela do software Wireshark
Frames
capturados

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Tela do software Wireshark
Selecionando
o 18º frame
capturado
(MODBUS
over TCP/IP)...

... aparece
neste campo
a sua análise
detalhada

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Tela do software Wireshark

... e neste
campo
os bytes
efetivamente
enviados

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Tarefa

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


linha 18, respondendo:

a) Qual a função MODBUS executada? (leitura de registro, escrita de coil, etc...)

b) Qual(is) endereços de coil, ou registro, estão sendo acessados? O que está sendo
feito?

c) Em qual linha está o comando de resposta desta solicitação? Esta resposta foi
executada corretamente?
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Tela do software Wireshark

Selecionando
um protocolo
específico
(ex: MODBUS)
aparece sua
análise
detalhada

... e são
destacados
em azul os
seus bytes
no frame 03H 00H 00H 00H 01H Ler corrente da fase A

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi


Tarefa

a) Abra o software Wireshark e habilite a captura de pacotes na interface de rede


utilizada pelo seu computador para acesso à internet. Utilizando algum browser
digite um site que você ainda não acessou no dia de hoje. Verifique com o software
Wireshark todas as mensagens trocadas para que a solicitação do site feita através do
browser seja processada.

b) Teste os comandos vistos até agora (ping, tracert, nslookup, etc...) e verifique
como se comportam através do software Wireshark.

c) Envie um comando ping para o colega ao lado e descubra qual o endereço MAC
dele.

IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi

Você também pode gostar