Redes Industriais
Por que redes?
MAN (Metropolitan Area Network):
Redes metropolitana;
WAN (Wide Area Network): Redes
geograficamente distribuídas.
Classificação das redes
Intranet: Rede local que usa a mesma
estrutura da internet para acesso da
dados na rede;
Extranet: Intranet que permite acesso
remoto ou seja através de modem.
comunicação entre a empresa e o "mundo exterior“;
Ex.: Fornecedor ou funcionário (no caso de vendedores, que
passam a maior parte do tempo fora da empresa).
Internet: Rede mundial de computadores;
Transmissão de dados (Modos)
Simplex.
Transmissor
(Tx)
Receptor
(Rx)
Half-duplex.
Transmissor
(Tx)
Receptor
(Rx)
Transmissor
(Tx)
Receptor
(Rx)
OU
Transmissão de dados (Modos)
Full-duplex.
Transmissor
e Receptor
Transmissor
e Receptor
Transmissão de dados (Modos)
Transmissão de dados
Transmissão de dados
(Paralela)
Transmissão em série X Transmissão
paralela
1
0
1
1
1
1
0
0
B0
B1
B2
B3
B4
B5
B6
B7
B0
B1
B2
B3
B4
B5
B6
B7
1
Transmissão de dados
(Série)
Transmissão em serie X Transmissão
paralela
1
0
1
1
1
1
0
0
Transmissor
(Tx)
Receptor
Topologia de Redes
É a forma como os diversos componentes
de uma rede estão dispostos influenciando
assim no desempenho, flexibilidade,
segurança e confiabilidade da rede.
Topologias podem ser descritas fisicamente
e logicamente.
A topologia física é a verdadeira aparência ou layout da rede,
Topologia em Barramento
Biderecional;
Meio físico por
difusão
(Broadcasting);
Difícil isolamento
Barramento
(Daisy chain)
O cabeamento vai de
um nó diretamente ao
próximo.
(OBS.: utilizado comumente em
Redes Industriais
–
RS485 /
Topologia em Anel
Estações distribuídas em um
anel;
Comunicação unidirecional;
Anel duplo para comunicação bidirecional
Estações podem realizar o
papel de repetidores;
Difícil isolamento de problemas;
Topologia em Estrela
Também conhecida como
radial;
Ligações ponto a ponto;
Monitoramento centralizado;
Fácil implantação;
Topologia em Árvore
Existe um barramento central
Topologia em Grafos
Topologia ponto a ponto;
Permite a criação de muitas
rotas alternativas;
Protocolos de comunicação
É o(s) padrão(s) de comunicação que
Modelo de referência OSI
O modelo de referência OSI (Open systems
interconection) foi desenvolvido pela ISO como
um modelo para a arquitetura de um protocolo
de comunicação de dados entre dois
equipamentos. Ele é composto de sete
camadas;
O modelo OSI foi desenvolvido para ajudar
Modelo de referência OSI
Aplicação (Application)
Apresentação (Presentation)
Sessão (Session)
Transporte (Transport)
Rede (Network)
Modelo de referência OSI
Física (Physical): Camada responsável pela
transmissão de uma seqüência de bits de
forma não estruturada em um meio físico.
Trata das características mecânicas, elétricas e
funcionais e para acessar o meio físico.
Modelo de referência OSI
Enlace de dados (Data Link): Camada
responsável pela transmissão de blocos de
dados (frames) para a camada física
adicionando informação como endereço da
placa de rede e dados de controle de erros.
Modelo de referência OSI
Rede (Network): Camada responsável pelo
endereça mento dos pacotes, convertendo
endereços lógicos em físicos, por estabelecer,
manter e terminar conexões determinando
também a rota que essa informação deve
seguir.
Modelo de referência OSI
Transporte (Transport): Camada responsável
em dividir os dados em pacotes, assim como
no receptor remontar esses pacotes (controle
de fluxo), e controle de erros.
Conexão entre host, portas
TCP/ UDP
TCP
–
Protocolo orientado a conexão.
Toda informação enviada pede um
confirmação.
Modelo de referência OSI
Sessão (Session): Camada que provê a
estrutura de controle para a comunicação
entre as aplicações. Estabelece, gerencia e
termina conexões (sessões) entre
aplicações.
Modelo de referência OSI
Apresentação (Presentation): Camada
responsável por converter o formato do dado
recebido pela camada de aplicação em um
formato entendível pelos protocolos das
camadas inferiores (sintaxe).
Modelo de referência OSI
Aplicação (Application): Camada responsável
em fazer a interface entre o aplicativo
utilizado e o protocolo de comunicação.
TCP / IP
É um conjunto de protocolos de
comunicação. Começou a ser desenvolvido
pelo departamento de defesa norte
americano.
Dividido em 4 camadas
Aplicação
Transporte
Rede
Física
Aplicação / Apresentação / Sessão
Transporte
Rede
TCP / IP
Aplicação
Transporte
Rede
Física
HTTP, SMTP, FTP, TELNET, IMAP,
POP, SIP
TCP / UDP
IPV4 / IPV6
ENDEREÇO IP
Endereço lógico. Podendo ser adicionado
manualmente ou automaticamente, servidor
DHCP.
Formado por quatro número. (001 a 255).
Endereço de 32 bits dividido por 4 octetos
Endereço de rede
–
192.168.0.0
ENDEREÇO IP
Classe A
Primeiro octeto entre 1 e 126
Máscara padrão
–
255.0.0.0
Ex. 10.0.0.1 / 255.0.0.0
Classe B
Primeiro octeto entre 128 e 191
TCP / IP
Classe C
Primeiro octeto entre 192 e 223
TCP / IP
Endereço público, privado, loopback,
auto-configuração.
Endereço público
–
usado na internet
Endereço privado
Classe A
–
10.0.0.0
–
10.255.255.255
Classe B
–
172.16.6.6
–
172.31.255.255
TCP / IP
Endereço de loopback
Usado para testar a própria
máquina. 127.x.x.x
Endereço de auto-configuração
169.254.x.x
–
setado quando a
TCP/IP
Física
Enlace
Rede
Sessão
Transporte
Aplicação
Apresentação
Interface com rede
Internet
Transporte
Aplicação
TCP/IP
Endereço IP:
É o endereço dado a cada um dos
hosts (equipamentos) de uma rede TCP/IP. Este
número é composto por 32 bits e dividido em
netid, hostid sendo que:
Netid
identifica uma rede;
Endereço IP
São escritos como quatro números inteiros no
formato decimal separados por pontos, no qual
cada número inteiro fornece o valor de um
octeto de endereço IP. Assim, o endereço de 32
bits:
10000000 00001010 00000010 00011110
É representado por:
IP v6
basicamente com as mesmas
características do IPv4;
O novo tamanho de endereço é a
mudança mais visível. O IPv6 quadruplica
o tamanho de um endereço de IPv4, de 32
para 128 bits. O espaço de endereço de
Classes de endereço IP
Endereços do tipo A:
são usados pelas redes
que possuem mais de 2
16
(65.536) hosts, dedicam
sete bits para netid e 24 bits para cada hostid.
(OBS.: O primeiro bit é default)
Endereços do tipo B:
são usados para redes de
tamanho médio que possuem entre 2
8
(256) e 2
16
(65.536) hosts, alocam 14 bits para o netid e 16 bits
para o hostid.
Classes de endereço IP
Endereços do tipo C:
são usados por redes
que possuem menos de 28 hosts, alocam 21
bits para o netid e somente 8 bits para
hostid.
Classes de endereço IP
A
1.0.0.0
126.0.0.0
B
128.1.0.0
191.255.0.0
C
192.0.1.0
223.255.255.0
Classe
Endereço mais
Datagrama IP
Cabeçalho
(20 ou 24 bytes)
Dados
(65511 ou 65515 bytes)
Versão (4 bits)
Tamanho da cabeçalho (4 bits)
Tipo de serviço (1 bytes)
Tamanho Total (2 bytes)
Identificação (2 bytes)
Flags (3 bits)
Offset do fragmento (13 bits)
Tempo de vida (1 bytes)
Protocolo (1 bytes)
Checksum do cabeçalho (2 bytes)
Endereço IP de origem (4 bytes)
Endereço IP de destina (4 bytes)
Opções + Pad (4 bytes - opcional)
Dados Até (65511 bytes ou 65515)
Tamanho máximo de um
Estrutura do segmento TCP
Porta de Origem (2 bytes)
Porta de destino (2 bytes)
Número de seqüência (4 bytes)
Offset (4 bits)
Número de Confirmação (4 bytes)
Reservado (6 bits)
Janela (2 bytes)
Checksum (2 bytes)
Bits de controle (6 bits)
Ponteiro d urgência (2 bytes)
Opções + Pad (4 bytes)
TCP/IP
Cabeçalho TCP
Área de dados do Pacote
TCP
Área de dados da datagrama IP
Cabeçalho IP
Área de dados do quadro
Cabeçalho do
Protocolos de Aplicação
HTTP
(Hyper Text Transfer protocol):
usado na transferência de documentos
Hipermídia (WWW, Word Wide Web);
SMTP
(Simple Mail Transfer Protocol): Usado
no envio e recebimento de e-mails;
FTP
(File Transfer Protocol): Usado na
IEEE 802.5 Token Ring
Token ring
é um protocolo de redes que opera na camada
física (ligação de dados) e de enlace do modelo OSI
dependendo de sua aplicação;
Consiste numa trama de três bytes, que circula numa topologia
em anel em que as estações devem aguardar a sua recepção
para transmitir;
A transmissão dá-se durante uma pequena janela de tempo, e
IEEE 802.5 Token Ring
Topologia anel;
Estruturação física da rede - anel/estrela;
Taxas de transmissão típicas - 4 MBps/ 16 MBps;
Meio de transmissão - par trançado blindado;
Utilização de concentradores de fiação - MAU's (Multistation
Access Unit);
Cabaeamento conectores
Cabaeamento conectores
Cabaeamento conectores
Cabaeamento conectores
Cabaeamento
Cabaeamento
Pinagem RJ-45
Pin Nome do Pino
1
TD+
2
TD-
3
RD+
4
não utilizado pelo 10BASE-T
5
não utilizado pelo 10BASE-T
6
RD-
7
não utilizado pelo 10BASE-T
Pinagem RJ-45
Marrom
8
Branco-marrom
7
Laranja
6
Branco
–
azul
5
Azul
4
Branco
–
laranja
3
Verde
2
Branco
–
verde
1
CORES
PINO
EIA/TIA 568A
Marrom
8
Branco-marrom
7
Verde
6
Branco
–
azul
5
Azul
4
Branco
–
verde
3
Laranja
2
Branco
–
laranja
1
CORES
PINO
RS-232
SINGLE-ENDED DATA TRANSMISSION;
Criado em 1962;
Baixas taxas de transmissão, até 20Kbps;
Pequenas distâncias, até 15,24m;
RS-232
Interferência Eletromagnética;
Terra comum entre os dispositivos causa
limitação em ambientes industriais;
Cross-Talk (linha cruzada): Variações em
um cabo provoca variações em outras
linhas;
RS-232 pinagem
Pin
Nome do Pino
1
Data carrier detected
2
Received data
3
Transmitted data
4
Data terminal ready
5
GND
6
Data set ready
7
Request to send
8
Clear to send
RS-485
Rede de comunicação Multi-Ponto a
dois fios;
Até 32 receptores;
Com transmissores automáticos e
high-impedance drivers pode-se
alcançar mais pontos;
Modbus
Protocolo Modbus está presente em toda parte
PLC´s Modicon(precusor), Telemecanique e Schneider;
Réles de proteção, medidores de energia e inúmeros outros
equipamentos usados no controle, proteção, medição e
manobra em sistemas elétricos;
Equipamentos para sistemas de tratamento de água e
esgoto;
Controladores e resgistradores de temperatura;
Inversores de freqüência para controle de velocidade de
motores de corrente alternada;
Carregadores de bateria e sistemas no-break;
Escolha um equipamento e existe uma grande chance do
Modbus
Modbus RTU / ASCII
RS-232, RS-422 :
Conexão serial ponto a ponto(duas estações)
RS-485:
Conexão serial por rede (várias estações)
Modbus over Ethernet(Modbus RTU encapsulado)
Ethernet:
conexão por rede com conversor ethernet / serial para os equipamentos(várias
estações)
Modbus TCP
Ethernet:
Conexão por rede(várias estações)
Modbus Plus
Rede proprietária Modicon:
Conexão pode rede(várias estações)
Uso de gateway
Convertem Modbus TCP em Modbus RTU
Área de Memória
Tipo
Acesso
Comentários
Discrete Inputs(Entradas discretas)
bit
Leitura
Área de armazenamento do
estado das entradas
digitais(lidos pelo
equipamento durante o
ciclo de varredura)
Coils(Saídas Discretas)
bit
Leitura / Escrita
Área de armazenamento do
estado das saídas
digitais(determinados pelo
programa, durante sua
execução, ou escrito por
um sistemas externos)
Input Registers(Entradas analógicas)
Palavra(16 bits)
Leitura
Área de armazenamento
dos valores das entradas
analógicas(lido pelo
equipamento durante o
ciclo de varredura
Modbus
Mapeamento de memória – Padrão Modbus
Área 0 (Coils/Saida
Digitais)
Área 1 (Discrete input / Entradas digitais)
Área 3 (Input Register / Entradas Analógicas)
Modbus
Particularidades
Modelo de Endereçamento (dentro da área de memória)
No PDU Modbus os pontos são endereçados de 0 a 65535
No modelo de endereçamento Modbus os pontos são endereçados de 1
a 65536
Modbus representa iten de dados e de endereço(para quantidades e
endereços maiores que 255(0XFF)) no formato big-Endian.
Modbus
Modbus
Modbus
Protocol Data Unit(PDU)
–
Mensagem de solicitação e resposta
Function Code (código da função)
Dados da solicitação / Dados da Resposta
Código da Função
Dados da Solicitação
PDU Request (Solicitação)
Código da Função
Dados da Resposta
Modbus
Modbus
Polling
Modbus
Principais códigos de comando
Leitura
01
- Leitura de Bit (Read Coils)
02
- Leitura de Bit (Read Input Discretes)
03
- Leitura de Words (Read Multiple Registers)
04
- Leitura de Words (Read Input Registers)
07
- Leitura de Status (Read Exception Status)
Escrita
05
- Escrita de Bit (Write Coil)
06
- Escrita de Word Simples (Write Single Register)
15
- Escrita de Bits (Force Multiple Coils)
Modbus
–
Function Codes
Tipo de
Acesso
Área Acessada
Descrição da Função
Código(decimal)
Código(hexa)
Acesso
a
Bits
Entradas Discretas
Físicas
Read Discrete Inputs(Ler Entradas
Discretas)
02
02
Bit Internos ou
Saídas Discretas
Físicas
Read Coils(Ler Saídas Discretas)
01
01
Write Single Coil(Escrever em uma
Saída Discreta)
05
05
Write Multiple Coils(Escrever em
Varias Saídas Discreta)
15
0F
Acesso
a
registros
(16 bits)
Entradas
Analógicas
Físicas
Read Input Register
(Ler Entrada Analógica)
04
04
Registros Internos
ou
Saídas Analógicas
Físicas
Read Holding Register
(Ler Saída Analógica)
03
03
Write Single Register
(Escrever em uma Saída Analógica)
06
06
Write Multiple Register
(Escrever em Várias Saídas
Analógicas
Modbus
Função 01 (Read Coils)
0x01 – Código da função – Read Coils(Ler saídas discretas)
EHi – ELo –Índice do endereço da primeira coil(0x0000 – 0xFFFF) QHi – QLo –Quantidade de coil a serem lidos(0x0000 – 0xFFFF)
Solicitação(Mestre)
0x01
EHi
ELo
QHi
QLo
0x01 – Código da função – Read Coils(Ler saídas discretas)
NBy – Número de bytres necessários para transmitir a quantidade de coils solicitadas
SCo – Byte contendo o status de 8 coils(LSB e MSB) o primeiro byte contém o status da coil de menor indice de endereço
Resposta(Escravo)
0x01
NBy
SCo
SCo
Mensagem de Erro(Escravo)
0x81
SCod
0x81 – Código de erro para a função Read CoilsScod – Tipo de erro(0x01, 0x02, 0x03 ou 0x04)
Exemplo :
Solicitar o status de coils a partir da posição 102 até a posição 112.
Posição inicial : 102 – 1 = 101 0x0065
Quantidade : (112 – 102) + 1 = 11 0x0008
02 00 65 00 08
Solicitação(Mestre)
01 02 6B 05
Resposta Escravo
Resposta :
Quantidades de bytes: 11 coils / 8 = 1,375 2 bytes 2 bytes = 0x02
Modbus
Função 02 (Read Discrete Inputs)
0x02: Código da função – Read Discrete Inputs (Ler entradas discretas)
EHi – ELo –Índice do endereço da primeira entrada(0x0000 – 0xFFFF) QHi – QLo –Quantidade de entradas a serem lidos(0x0000 – 0xFFFF)
Solicitação(Mestre)
0x02
EHi
ELo
QHi
QLo
0x02: Código da função – Read Discrete Inputs (Ler entradas discretas)
NBy – Número de bytes necessários para transmitir a quantidade de entradas solicitadas
SCo – Byte contendo o status de 22 entradas(LSB e MSB) o primeiro byte contém o status da entrada de menor indice de endereço
Resposta(Escravo)
0x02
NBy
SCo
SCo
Mensagem de Erro(Escravo)
0x82
SCod
0x81 – Código de erro para a função Read Discrete Inputs
Scod – Tipo de erro(0x01, 0x02, 0x03 ou 0x04)
Exemplo :
Solicitar o status das entradas discretas a partir da posição 197 até a posição 218.
Posição inicial : 197– 1 = 196 0x00C4
Quantidade : (218 – 197) + 1 = 22 0x0016
02 00 C4 00 16
Solicitação(Mestre)
02 03 AC DB
Resposta Escravo
Resposta :
Quantidades de bytes: 22 entradas / 8 = 2,75 3 bytes 3 bytes = 0x03
status dos inputs 204 - 197 = AC = 1010 / 1100 status dos inputs 212 - 205 = DB = 1101 / 1011 status dos inputs 218 - 213 = 35 = 0011 / 0101
Modbus
Função 03 (Read Holding Register)
0x03: Código da função – Read Holding Registers (Ler saídas analógicas/Registros)
EHi – ELo –Índice do endereço do primeiro holding register (0x0000 – 0xFFFF)
QHi – QLo –Quantidade de holding register a serem lidos (0x0000 – 0xFFFF)
Solicitação(Mestre)
0x03
EHi
ELo
QHi
QLo
0x03: Código da função – Read Discrete Inputs (Ler entradas discretas)
NBy – Número de bytes necessários para transmitir a quantidade de input register( quantidade de holding register x 2 )
VRHi - VRLo – Valor do holding register, formato Big Endian (HiByte + LoByte) Sendo que o primeiro par de bytes contém o valor do primeiro indice de endereço.
Resposta(Escravo)
0x03 NBy VRHi VRLo
VRHi
Mensagem de Erro(Escravo)
0x83
SCod
0x83 Scod –– Código de erro para a função Read Holdind Register Tipo de erro(0x01, 0x02, 0x03 ou 0x04)Exemplo :
Solicitar o valor dos holding register a parti r da posição 108 até a posição 110.
Posição inicial : 107– 1 = 107 0x006B
Quantidade : (110 - 108) + 1 = 3 0x0003
03 00 6B 00 03
Solicitação(Mestre)
03 06 02 2B
Resposta Escravo
Resposta :
Quantidades de bytes: 3 holding registers = 6 bytes 6 bytes = 0x06
valor do registro 108 = 0x022B =555 valor do registro 109 = 0x0000 =0 valor do registro 110 = 0x0064 =100
00
VRLo
Modbus
Função 04 (Read Input Register)
0x04: Código da função – Read Input Registers (Ler entradas analógicas / Registros)
EHi – ELo –Índice do endereço do primeiro input register (0x0000 – 0xFFFF)
QHi – QLo –Quantidade de input register a serem lidos (0x0000 – 0xFFFF)
Solicitação(Mestre)
0x04
EHi
ELo
QHi
QLo
0x04: Código da função – Read Input Registers (Ler entradas analógicas)
NBy – Número de bytes necessários para transmitir a quantidade de input register( quantidade de input register x 2 )
VRHi - VRLo – valor do input register, formato Big Endian
(HiByte + LoByte) Sendo que o primeiro par de bytes contém o valor do primeiro indice de endereço.
Resposta(Escravo)
0x04 NBy VRHi VRLo
VRHi
Mensagem de Erro(Escravo)
0x84
SCod
0x84 Scod –– Código de erro para a função Read Input Register Tipo de erro(0x01, 0x02, 0x03 ou 0x04)Exemplo :
Solicitar o valor do input register da posição 9.
Posição inicial : 9– 1 = 8 0x0008
Quantidade : 1 = 0x0001
04 00 08 00 01
Solicitação(Mestre)
04 02 00 0A
Resposta Escravo
Resposta :
Quantidades de bytes: 1 input registers x 2 = 2 bytes = 0x02 valor do registro 9 = 0x000A =10
Modbus
Função 05 (Write Single Coil)
0x05: Código da função – write single coil(escrever em uma saida)
EHi – ELo –Índice do endereço da coil (0x0000 – 0xFFFF)
VCHi – VCLo – valor a ser escrito na coil (0 = 0x0000 – 1= 0xFF00)
Solicitação(Mestre)
0x05
EHi
ELo
VCHi
VCLo
A mensagem resposta reflete a mensagem solicitação Resposta(Escravo)
0x05 EHi ELo
Mensagem de Erro(Escravo)
0x85
SCod
0x84 Scod –– Código de erro para a função write single coil Tipo de erro(0x01, 0x02, 0x03 ou 0x04)Exemplo :
Escrever o valor “1” na coil 1275
Posição: 1275 - 1 = 1274 0x04F4 Quantidade 1 0x0001
05 04 FA FF 00
Solicitação(Mestre)
05 04 FA FF
Resposta Escravo
Resposta :
Reflexo da mensagem de solicitação
VCHi
VCLo
Modbus
Função 06 (Write Single Register)
0x06: Código da função – write single Register(escrever em uma palavra)
EHi – ELo –Índice do endereço single register(0x0000 – 0xFFFF)
VCHi – VCLo – valor a ser escrito single registe (0 = 0x0000 – 1= 0xFF00)
Solicitação(Mestre)
0x06
EHi
ELo
VCHi
VCLo
A mensagem resposta reflete a mensagem solicitação Resposta(Escravo)
0x06 EHi ELo
Mensagem de Erro(Escravo)
0x86
SCod
0x86 Scod –– Código de erro para a função write single coil Tipo de erro(0x01, 0x02, 0x03 ou 0x04)Exemplo :
Escrever o valor “1” na coil 1275
Posição: 1275 - 1 = 1274 0x04F4 Quantidade 1 0x0001
05 04 FA FF 00
Solicitação(Mestre)
05 04 FA FF
Resposta Escravo
Resposta :
Reflexo da mensagem de solicitação
VCHi
VCLo
Modbus
Função 15 (Write Multiple Coils)
0x0F: Código da função – write multiple coils (escrever em várias saídas)
EHi – ELo –Índice do endereço single register (0x0000 – 0xFFFF) QCHi – QCLo - Quantidade de coil a serem escritas( de 0x0001 a 0x07B0) QBy – dividir a quantidade de coils por 8 e arrendondar para o próximo valor inteiro(se necessário)
VCo –valor a ser escrito nas coils. O bit menos significativo do primeiro byte corresponde à primeira coil.
Solicitação(Mestre)
0x0F EHi
ELo
QCHi
QCLo
A mensagem resposta reflete a mensagem solicitação Resposta(Escravo)
0x0F EHi QCHi
Mensagem de Erro(Escravo)
0x0F
SCod
0x8F – Código de erro para a função multiple write coils(
escrever em várias saídas)
Scod – Tipo de erro(0x01, 0x02, 0x03 ou 0x04)
Exemplo :
Escrever em 10 coils a partir da posição 20 Valores a serem escritos :
Lidos da coil 29 para a coil 20
29 – 20 0 1 1 1 0 0 1 1 0 1 “28.756” e “12” em dois Posição: 20 – 1 = 19 0x0013
Quantidade de coils = 10 0x000A
Número de bytes : 10 / 8 = 1,25 ~ 2 0x02 27- 20 1 1 0 0 1 1 0 1 0xCD
29 – 28 0 0 0 0 0 0 0 1 0x01
0F 00 13 00 0A
Solicitação(Mestre)
0F 00 13 00
Resposta EscravoResposta :
Reflexo parcialmente da mensagem de solicitação
QCLo
0A
QBy VC
o
VCo VCo
Modbus
Função 16 (Write Multiple Registers)
0x10: Código da função – write multiple registers(escrever em várias saídas analógicas )
EHi – ELo –Índice do endereço do primeiro registro (0x0000 – 0xFFFF) QRHi – QRLo - Quantidade de registros a serem escritas( de 0x0001 a 0x07B0) QBy - Quantidade de bytes : Multiplicar a quantidade de registrospor 2
VCo –valor a ser escrito nos registros. Os primeiros dois bytes correspondem Ao valor a ser escrito no primeiro registro, no formato
BIG-ENDIAN (HYByte + LoByte)
Solicitação(Mestre)
0x10 EHi
ELo
QRHi
QRLo
A mensagem resposta reflete parcialmente a mensagem solicitação Resposta(Escravo)
0x10 EHi ELo
Mensagem de Erro(Escravo)
0x90
SCod
0x90 – Código de erro para a função multiple write registers( (escrever em várias saídas analógicas)
Scod – Tipo de erro(0x01, 0x02, 0x03 ou 0x04)
Exemplo :
Escrever os valores “28.756” e 12 em dois
registradores começando da posição 35.339 Posição: 35339– 1 = 35338 0x8A0A
Quantidade de registro= 2 0x0002
Quantidade de bytes : nr. Registros x 2 = 2 x 2 = 4
0x04
Primeiro valor, posição 35.339 : 28.756 0x7054 Segundo valor, posição 35340 : 12 0x000C
10 8A 0A 00 02
Solicitação(Mestre)
0F 00 13 00
Resposta Escravo
Resposta :
Reflexo parcialmente a mensagem de solicitação
QCHi
0A
QBy VRHi VRLo
04 70 54
QCLo
Modbus
Função 01 (Read Coils)
0x01 – Código da função – Read Coils(Ler saídas discretas)
EHi – ELo –Índice do endereço da primeira coil(0x0000 – 0xFFFF) QHi – QLo –Quantidade de coil a serem lidos(0x0000 – 0xFFFF)
Solicitação(Mestre)
0x01
EHi
ELo
QHi
QLo
0x01 – Código da função – Read Coils(Ler saídas discretas)
NBy – Número de bytres necessários para transmitir a quantidade de coils solicitadas
SCo – Byte contendo o status de 8 coils(LSB e MSB) o primeiro byte contém o status da coil de menor indice de endereço
Resposta(Escravo)
0x01
NBy
SCo
SCo
Mensagem de Erro(Escravo)
0x81
SCod
0x81 – Código de erro para a função Read CoilsScod – Tipo de erro(0x01, 0x02, 0x03 ou 0x04)
Exemplo :
Solicitar o status de coils a partir da posição 102 até a posição 112.
Posição inicial : 102 – 1 = 101 0x0065
Quantidade : (112 – 102) + 1 = 11 0x0008
02 00 65 00 08
Solicitação(Mestre)
01 02 6B 05
Resposta Escravo
Resposta :
Quantidades de bytes: 11 coils / 8 = 1,375 2 bytes 2 bytes = 0x02