Upload
volien
View
214
Download
0
Embed Size (px)
Citation preview
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 A
Escravo B
Escravo 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 A
Escravo A
Escravo B
Escravo C
Mestre B
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 1
Dispositivo 3
Dispositivo 4
Dispositivo 5
Dispositivo 2
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 1
Dispositivo 3
Dispositivo 4
Dispositivo 5
Dispositivo 2
V(t)
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 1
Dispositivo 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 central
Dispositivo 1
Dispositivo 2
Dispositivo 3
Dispositivo 4
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Hub Switch
Hub
Dispositivo 1
Dispositivo 2
Dispositivo 4
Dispositivo 3
Switch
Dispositivo 1
Dispositivo 2
Dispositivo 4
Dispositivo 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.
Dispositivo 1
Dispositivo 2
V(t)
1 0 1 1 0 1 0 0
V(t)
t
Valor B4H = 1 0 1 1 0 1 0 0B
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Paralelo
Os bits são transmitidos simultaneamente através de várias linhas de dados.
Dispositivo 1
V1(t)
Valor B4H = 1 0 1 1 0 1 0 0B
Dispositivo 2
V2(t)
V3(t)
.....
1
0
1
1
0
1
0
0
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Serial Paralelo
Quantidade de fios Menor Maior
Velocidade Menor Maior
Custo Menor Maior
Distância Maior Menor
Tabela comparativa
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.
Dispositivo 1
Dispositivo 2
mensagem
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.
Dispositivo 1
Dispositivo 2
solicitação
Dispositivo 1
Dispositivo 2
resposta
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.
Dispositivo 1
Dispositivo 2
solicitação A
solicitação B
Dispositivo 1
Dispositivo 2
resposta B
resposta A
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
S1 S2 S3
M
S1 S2 S3
M
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.
A
mensagem
B
C
A B
C
A B
C
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 A
Escravo A
Escravo B
Escravo C
Mestre B
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 A
Escravo B
Escravo C
evento
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
subestação alimentador
Evento
Exemplo de automação dos religadores de poste
supervisório
138KV
religador religador
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
subestação alimentador
Evento
Exemplo de automação dos religadores de poste
supervisório
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 1
Dispositivo 3
Dispositivo 4
Dispositivo 5
Dispositivo 2
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Dispositivo 1
Dispositivo 3
Dispositivo 4
Dispositivo 5
Dispositivo 2
Multicast
Nesta modalidade a mensagem é endereçada para um determinado grupo de
dispositivos.
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Broadcast
Nesta modalidade a mensagem é endereçada para todos os dispositivos da
rede.
Dispositivo 1
Dispositivo 3
Dispositivo 4
Dispositivo 5
Dispositivo 2
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Dispositivo 1
Dispositivo 3
Dispositivo 4
Dispositivo 5
Dispositivo 2
V(t)
Endereçamento Unicast, Multicast e Broadcast na
topologia de rede em barramento
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 ( r )
v1
v2 n1
n2 sen ( i )
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__ de onda () f
c = velocidade da luz (300 000 000 m/s) 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
Antena Dipolo Antena Yagi
Excitador Refletor Diretores
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
Range: 0o a 200oC
Interface: 4 a 20mA
Medido
120oC
I = ?
R
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
M
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)
Conversor USB/RS485
Dispositivo 1
Dispositivo 2
Dispositivo 3
V(t)
Frame MODBUS-RTU
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)
Exemplo: transmissão do valor 5CH = 0101 1100B com paridade ímpar
Bits gerados:
V(t)
t
1
0
Bit 8 Bit 1
Bit 8 Bit 1
Caracter MODBUS-RTU
0 0 0 1 1 1 0 1 0 1 1
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
MODBUS-RTU
Como os dados são transmitidos serialmente: a codificação dos dados (bytes)
Conversor USB/RS485
Dispositivo 1
Dispositivo 2
Dispositivo 3
V(t)
Frame MODBUS-RTU ex: valor 5CH
V(t)
t
1
0 0 0 0 1 1 1 0 1 0 1 1
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
Download no site: gigarashi.wordpress.com
Solicitação
Resposta
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.
Portanto:
Solicitação: 01H 03H 00H 00H 00H 02H XXH XXH
Resposta: 01H 03H 04H 00H 15H 00H 25H XXH XXH
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: ?????
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.
Portanto:
Solicitação: 01H 06H 00H 21H 00H 1BH XXH XXH
Resposta: 01H 06H 00H 21H 00H 1BH XXH XXH
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: ?????
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
2 Código função (01H) 2 01H
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 ???
6 CRC (HI) 6 ???
Coil 0001H
(Sim = 1) Coil 0002H
(Não = 0)
Demais coils
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).
Portanto:
Solicitação: 01H 01H 00H 01H 00H 02H XXH XXH
Resposta: 01H 01H 01H 01H XXH XXH
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: ?????
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.
Portanto:
Solicitação: 01H 05H 00H 02H FFH 00H XXH XXH
Resposta: 01H 05H 00H 02H FFH 00H XXH XXH
Solicitação
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: ??? 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)
Exemplo: transmissão do valor 5CH = 0101 1100B com paridade ímpar
Bits gerados: 0 0 0 1 1 1 0 1 0 1 1
V(t)
t
1
0
Bit 8 Bit 1
Bit 8 Bit 1
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.
Frame: 01H 05H 00H 02H FFH 00H XXH XXH
CRC calculado em função dos bytes do frame
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 02H 03H 00H 00H 00H 01H XXH XXH
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
1º byte
Variáveis: CRC16 = FFFFH → CRC16 = FFFDH
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 N = 0
Variáveis: CRC16 = FFFDH
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
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
Variáveis: CRC16 = FFFDH → CRC16 = 7FFEH
N = 0 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
Carry over
Variáveis: CRC16 = 7FFEH
N = 0 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
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
Variáveis: CRC16 = 7FFEH → CRC16 = DFFFH
N = 0 Carry = 1
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Algoritmo para cálculo do CRC
Incrementar o valor de N
Exemplo: CRC do frame 02H 03H 00H 00H 00H 01H XXH XXH
Variáveis: CRC16 = DFFFH
N = 0 → N = 1 Carry = 1
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Algoritmo para cálculo do CRC
N não é maior que 7
Exemplo: CRC do frame 02H 03H 00H 00H 00H 01H XXH XXH
Variáveis: CRC16 = DFFFH
N = 1 Carry = 1
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Algoritmo para cálculo do CRC
Portanto,esta parte do programa será repetida 8 vezes
Exemplo: CRC do frame 02H 03H 00H 00H 00H 01H XXH XXH
Variáveis: CRC16 = DFFFH
N = 1 Carry = 1
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Algoritmo para cálculo do CRC
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
Exemplo: CRC do frame 02H 03H 00H 00H 00H 01H XXH XXH
Variáveis: CRC16 = DFFFH
N = 1 Carry = 1
Próximo byte
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Algoritmo para cálculo do CRC
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
Exemplo: CRC do frame 02H 03H 00H 00H 00H 01H XXH XXH
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
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 ???
Erro! Esta função não existe
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
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 ???
Erro! Esta função não existe
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
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 ???
Erro! Esta função não existe
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
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 ???
Erro! Esta função não existe
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
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
Erro! Esta função não existe
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
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
Portanto:
Solicitação: 01H 30H 00H 00H 03H 00H XXH XXH
Resposta: 01H B0H 01H XXH XXH
Solicitação
Resposta
Erro! Esta função não existe
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
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 ???
Erro! Este endereço não existe
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
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 ???
Erro! Este endereço não existe
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
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 ???
Erro! Este endereço não existe
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
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 ???
Erro! Este endereço não existe
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
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
Erro! Este endereço não existe
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
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
Portanto:
Solicitação: 01H 05H 00H 50H 00H 00H XXH XXH
Resposta: 01H 85H 02H XXH XXH
Solicitação
Resposta
Erro! Este endereço não existe
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
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 ???
Erro! Correto seria FFH
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
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 ???
Erro! Correto seria FFH
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
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 ???
Erro! Correto seria FFH
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
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 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 ???
Erro! Correto seria FFH
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
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 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
Erro! Correto seria FFH
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
Portanto:
Solicitação: 01H 05H 00H 02H 01H 00H XXH XXH
Resposta: 01H 85H 03H XXH XXH
Solicitação
Resposta
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
Solicitação
Resposta
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
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 (7 camadas)
Modelo Internet (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
Modelo ISO/OSI (7 camadas)
Modelo Internet (4 camadas)
Protocolo Ethernet
Localização no Modelo Internet
Software
Hardware
Ethernet
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Protocolo Ethernet
Exemplos de alguns padrões para implementação do meio físico
Microcontrolador
MAC
PHY (para RJ45)
Conector para RJ45 Tranceptor para fibra óptica
PHY (para FO)
Microcontrolador MAC
Interface RMII Interface MII
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
Rede
IP: 192.168.0.1
MSK: 255.255.0.0
GW: 192.168.0.10
switch
gateway gateway
switch
Endereço IP do dispositivo
Máscara de subrede
Endereço IP do gateway
A B
C
X
Y Z
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Protocolo IP
Endereçamento
Rede
IP: 192.168.0.1
MSK: 255.255.0.0
GW: 192.168.0.10
switch
gateway gateway
switch
Resultado da operação lógica AND entre o IP e o MSK gera um número IP denominado IP de subrede que identifica a subrede ao qual o dispositivo esta conectado: IP : 192.168.0.1 MSK: 255.255.0.0 AND IP subrede: 192.168.0.0
A B
C
X
Y Z
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
Protocolo IP
Endereçamento
Rede
IP: 192.168.0.1
MSK: 255.255.0.0
GW: 192.168.0.10
switch
gateway gateway
switch
IP subrede 200.208.0.0
IP: 192.168.0.2
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.3
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.10
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 200.208.0.1
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.3
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.4
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.20
MSK: 255.255.0.0
GW: 200.208.0.20
A B
C
X
Y Z
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Exemplo: Mensagem → :
Rede
IP: 192.168.0.1
MSK: 255.255.0.0
GW: 192.168.0.10
switch
gateway gateway
switch
IP: 192.168.0.2
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.3
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.10
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 200.208.0.1
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.3
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.4
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.20
MSK: 255.255.0.0
GW: 200.208.0.20
A B
C
X
Y Z
A C
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Exemplo: Mensagem → :
Rede
IP: 192.168.0.1
MSK: 255.255.0.0
GW: 192.168.0.10
switch
gateway gateway
switch
IP: 192.168.0.2
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.3
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.10
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 200.208.0.1
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.3
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.4
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.20
MSK: 255.255.0.0
GW: 200.208.0.20
A B
C
X
Y Z
A C
Antes de enviar mensagem C precisa verificar se A pertence a mesma subrede que ele
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
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
C
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
A IP de subrede iguais, portanto, pertencem a mesma subrede
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Exemplo: Mensagem → :
Rede
IP: 192.168.0.1
MSK: 255.255.0.0
GW: 192.168.0.10
switch
gateway gateway
switch
IP: 192.168.0.2
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.3
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.10
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 200.208.0.1
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.3
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.4
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.20
MSK: 255.255.0.0
GW: 200.208.0.20
A B
C
X
Y Z
A C
C envia mensagem contendo: IP origem: 192.168.0.1 [IP C] IP destino: 192.168.0.2 [IP A]
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Exemplo: Mensagem → :
Rede
IP: 192.168.0.1
MSK: 255.255.0.0
GW: 192.168.0.10
switch
gateway gateway
switch
IP: 192.168.0.2
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.3
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.10
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 200.208.0.1
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.3
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.4
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.20
MSK: 255.255.0.0
GW: 200.208.0.20
A B
C
X
Y Z
C Y
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Antes de enviar mensagem Y precisa verificar se C pertence a mesma subrede que ele
Exemplo: Mensagem → :
Rede
IP: 192.168.0.1
MSK: 255.255.0.0
GW: 192.168.0.10
switch
gateway gateway
switch
IP: 192.168.0.2
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.3
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.10
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 200.208.0.1
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.3
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.4
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.20
MSK: 255.255.0.0
GW: 200.208.0.20
A B
C
X
Y Z
C Y
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
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
Y
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
C IP de subrede diferentes, portanto, não pertencem a mesma subrede
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Exemplo: Mensagem → :
Rede
IP: 192.168.0.1
MSK: 255.255.0.0
GW: 192.168.0.10
switch
gateway gateway
switch
IP: 192.168.0.2
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.3
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.10
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 200.208.0.1
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.3
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.4
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.20
MSK: 255.255.0.0
GW: 200.208.0.20
A B
C
X
Y Z
C Y
Y envia mensagem contendo: IP origem: 200.208.0.3 [IP Y] IP destino: 192.168.0.1 [IP C]
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Exemplo: Mensagem → :
Rede
IP: 192.168.0.1
MSK: 255.255.0.0
GW: 192.168.0.10
switch
gateway gateway
switch
IP: 192.168.0.2
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.3
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.10
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 200.208.0.1
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.3
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.4
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.20
MSK: 255.255.0.0
GW: 200.208.0.20
A B
C
X
Y Z
C Y
Y envia mensagem contendo: IP origem: 200.208.0.3 [IP Y] IP destino: 192.168.0.1 [IP C]
Pergunta: Se o IP destino é o IP C como a mensagem chegará ao 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 → :
Rede
IP: 192.168.0.1
MSK: 255.255.0.0
GW: 192.168.0.10
switch
gateway gateway
switch
IP: 192.168.0.2
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.3
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.10
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 200.208.0.1
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.3
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.4
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.20
MSK: 255.255.0.0
GW: 200.208.0.20
A B
C
X
Y Z
C Y
Y envia mensagem ARP broadcast perguntando MAC address do gateway
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Exemplo: Mensagem → :
Rede
IP: 192.168.0.1
MSK: 255.255.0.0
GW: 192.168.0.10
switch
gateway gateway
switch
IP: 192.168.0.2
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.3
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.10
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 200.208.0.1
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.3
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.4
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.20
MSK: 255.255.0.0
GW: 200.208.0.20
A B
C
X
Y Z
C Y
gateway responde para Y informando seu MAC address
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Exemplo: Mensagem → :
Rede
IP: 192.168.0.1
MSK: 255.255.0.0
GW: 192.168.0.10
switch
gateway gateway
switch
IP: 192.168.0.2
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.3
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 192.168.0.10
MSK: 255.255.0.0
GW: 192.168.0.10
IP: 200.208.0.1
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.3
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.4
MSK: 255.255.0.0
GW: 200.208.0.20
IP: 200.208.0.20
MSK: 255.255.0.0
GW: 200.208.0.20
A B
C
X
Y Z
C Y
Y envia mensagem contendo: MAC origem: [MAC Y] MAC destino: [MAC gateway] IP origem: 200.208.0.3 [IP Y] IP destino: 192.168.0.1 [IP C]
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
Calc qtde de dispositivos 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 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.
Config de rede no Windows 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 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
Curiosidade: www.submarinecablemap.com
TRACERT [endereço IP ou URL] → mostra a rota de conexão entre dois dispositivos
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
DNP3 MODBUS
TCP TCP
DNP3
TCP
MODBUS
Protocolo TCP Sockets e Multiplexação
IP: 192.168.0.1 IP: 192.168.0.5 IP: 192.168.0.3
Porta: 20000 Porta: 20000 Porta: 502 Porta: 502
Socket com Porta: 20000
IP orig: 192.168.0.1 IP dest: 192.168.0.5
Socket com Porta: 502
IP orig: 192.168.0.3 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
ETHERNET
IP
MODBUS
TCP
ETHERNET
IP
MODBUS
TCP
Rede
Internet
Aplicação
Transporte
Modelo Internet (pilha com 4 camadas)
Encapsulamento
Como o frame é efetivamente construído
Ler a corrente da fase A
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-RTU
Endereço do slave Código da função Dados da função CRC
Tabela de Registros End Descrição 0000H Corrente fase A 0001H Corrente fase B 0002H Corrente fase C
01H 03H 00H 00H 00H 01H XXH XXH
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
Tabela de Registros End Descrição 0000H Corrente fase A 0001H Corrente fase B 0002H Corrente fase C
01H 03H 00H 00H 00H 01H XXH XXH
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
MODBUS over TCP/IP
7 bytes 03H 00H 00H 00H 01H
Código da função Dados da função
Tabela de Registros End Descrição 0000H Corrente fase A 0001H Corrente fase B 0002H Corrente fase C
Cabeçalho MBAP
Total: 12 bytes
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
ETHERNET
IP
MODBUS
TCP
ETHERNET
IP
MODBUS
TCP
Ler a corrente da fase A
Tabela de Registros End Descrição 0000H Corrente fase A 0001H Corrente fase B 0002H Corrente fase C
12 bytes
Nosso frame
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
Sequência de bytes da camada superior Número ISN estabelecido no inicio da conexão e incrementado a cada envio de nova mensagem
Total: 20 bytes (mínimo)
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Encapsulamento
ETHERNET
IP
MODBUS
TCP
ETHERNET
IP
MODBUS
TCP
Ler a corrente da fase A
Tabela de Registros End Descrição 0000H Corrente fase A 0001H Corrente fase B 0002H Corrente fase C
12 bytes
Nosso frame
12 bytes 20 bytes
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
Total: 20 bytes (mínimo)
IP de origem
IP de destino Ex: 200.208.0.5 (decimal) =
= 1100 1000 . 1101 0000 . 0000 0000 . 0000 0101 (binário) Sequência de bytes da camada superior
20 bytes (IP) + 20 bytes (TCP) + 12 bytes (MODBUS) = 52 bytes
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Encapsulamento
ETHERNET
IP
MODBUS
TCP
ETHERNET
IP
MODBUS
TCP
Ler a corrente da fase A
Tabela de Registros End Descrição 0000H Corrente fase A 0001H Corrente fase B 0002H Corrente fase C
12 bytes
Nosso frame
12 bytes 20 bytes
12 bytes 20 bytes 20 bytes
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
MAC origem
Sequência de bytes da camada superior
Frame Check Sequence = CRC de 4 bytes
Bytes utilizados
no cálculo do FCS
Total: 22 bytes
(no início)
Total: 4 bytes (no fim)
IFSP – Campus SPO – Prof. Dr. Gilberto Igarashi
Encapsulamento
ETHERNET
IP
MODBUS
TCP
ETHERNET
IP
MODBUS
TCP
Ler a corrente da fase A
Tabela de Registros End Descrição 0000H Corrente fase A 0001H Corrente fase B 0002H Corrente fase C
12 bytes
Nosso frame
12 bytes 20 bytes
12 bytes 20 bytes 20 bytes
12 bytes 20 bytes 20 bytes 22 bytes 4 bytes
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
ETHERNET
IP
MODBUS
TCP
ETHERNET
IP
MODBUS
TCP
Ler a corrente da fase A
Tabela de Registros End Descrição 0000H Corrente fase A 0001H Corrente fase B 0002H Corrente fase C
12 bytes
Nosso frame
12 bytes 20 bytes
12 bytes 20 bytes 20 bytes
12 bytes 20 bytes 20 bytes 22 bytes 4 bytes
Desktop com software Wireshark monitorando a placa de rede
Wireshark
IP: 192.168.1.44 IP: 192.168.1.152
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