Protocolo de comunicação RS485 e Modbus

Aug 29, 2025 Deixe um recado

Introdução à interface RS485

 

RS485 é um padrão de interface de comunicação serial conhecido por sua alta velocidade, transmissão de longa-distância, resistência a interferências e recursos de compartilhamento de vários-dispositivos. Ele encontra ampla aplicação em automação industrial, casas inteligentes, sistemas de segurança e outros campos. Este artigo fornece uma visão geral detalhada dos princípios da interface RS485, projeto de circuito, protocolos de comunicação e soluções para problemas comuns.


Princípio RS485

 

A interface RS485 emprega transmissão diferencial, utilizando duas linhas de sinal (A e B) para transportar sinais de nível de tensão. A magnitude do sinal depende da diferença de tensão entre essas duas linhas. Na interface RS485, as linhas de sinal A e B podem funcionar como transmissores ou receptores. Este método de transmissão diferencial permite que a interface RS485 resista efetivamente a ruídos e interferências externas, garantindo assim a qualidade da transmissão.


Campos de aplicação RS485


A interface RS485 é amplamente usada em cenários que exigem transmissão de dados estável,-de longa distância, alta-velocidade, como automação industrial, casas inteligentes e sistemas de segurança. Em termos de distância de transmissão, o RS485 suporta até 1200 metros e, em termos de velocidade de transmissão, suporta até 10Mbps. Isso torna a interface RS485 amplamente aplicável em cenários que envolvem aquisição de dados, regulação, monitoramento e controle.

 

 

 

info-638-230

Projeto de circuito RS485


O projeto do circuito para uma interface RS485 requer a consideração de vários fatores, como distância de transmissão, velocidade de comunicação, proteção contra raios e isolamento. A seguir, apresentaremos o projeto do circuito para uma interface RS485 de cada um desses aspectos.

 

Distância de transmissão


Devido à sua transmissão diferencial, a interface RS485 suporta distâncias de transmissão maiores. Entretanto, em aplicações práticas, fatores como impedância da linha de transmissão, diafonia e qualidade do sinal impõem limitações ao alcance de transmissão. Para minimizar a perda e distorção do sinal, geralmente recomendamos limitar a distância de transmissão a 1,2 km ao projetar circuitos de interface RS485.


Velocidade de comunicação

 

A interface RS485 pode atingir velocidades de comunicação de até 10Mbps. Em aplicações práticas, geralmente selecionamos uma taxa de comunicação apropriada com base em condições específicas. Velocidades de comunicação mais altas aumentam a eficiência da transmissão, mas também aumentam a complexidade e as demandas técnicas dos circuitos de interface.


Proteção contra raios


Dado o complexo ambiente industrial, as interfaces RS485 frequentemente encontram vários distúrbios, como quedas de raios, eletricidade estática e surtos. Para salvaguardar os circuitos de interface RS485, são essenciais medidas de proteção contra raios. Componentes como protetores ajustáveis ​​contra sobretensão e varistores de óxido metálico (MOVs) podem ser empregados para obter proteção contra raios.


Isolamento

 

Em determinados cenários, é necessário o isolamento entre a interface RS485 e outros circuitos. Isto pode ser conseguido usando componentes como optoacopladores ou acopladores magnéticos para isolar sinais. Isso evita efetivamente possíveis loops de aterramento e interferência de ruído, aumentando a confiabilidade e a estabilidade do circuito de interface.


Protocolos de comunicação RS485


Em aplicações práticas, as interfaces RS485 também requerem especificações de protocolo e formatação de dados. Os protocolos de comunicação RS485 comuns incluem Modbus, Profibus e CANopen. Cada protocolo possui características distintas e cenários aplicáveis, permitindo a seleção com base em requisitos específicos. A seguir apresentamos principalmente o protocolo Modbus RTU, que é o protocolo de transmissão mais utilizado em nossos projetos baseado em interfaces RS485.


Introdução ao Modbus RTU

 

Modbus RTU é um protocolo de comunicação industrial amplamente adotado, um dos protocolos de comunicação serial baseado na estrutura Modbus. Usado principalmente para comunicação serial entre dispositivos como controladores PLC, sensores e atuadores, este protocolo facilita a troca de dados. Este artigo detalha os significados específicos de cada registro dentro do protocolo Modbus RTU, fornece exemplos de transmissão e recepção de dados para cada código de função e destaca a soma de verificação CRC crucial.


Formato de dados do protocolo Modbus RTU


O protocolo Modbus RTU utiliza comunicação serial para transmissão de dados.


Especificamente:


O campo Endereço identifica o endereço do dispositivo escravo em comunicação, que pode ser qualquer valor entre 0 e 247.


O código de função especifica o tipo de dados e a direção de leitura/gravação, normalmente um número inteiro entre 1 e 127.


O Campo de Dados contém o conteúdo real dos dados.
O Checksum (CRC) verifica a integridade do pacote de dados.
Códigos de função do protocolo Modbus RTU
No protocolo Modbus RTU, diferentes códigos de função representam tipos de dados e direções de leitura/gravação distintos. Abaixo estão os códigos de função comumente usados ​​e seus significados:


01: Ler registro da bobina
02: Ler registro de entrada discreta
03: Ler registro de espera
04: Ler registro de entrada
05: Gravar registro de bobina única
06: Gravar registro de retenção único
15: Escreva vários registros de bobina
16: Escreva vários registros de retenção


Registradores de endereço do protocolo Modbus RTU


Endereços de dispositivos e endereços de registros são parâmetros críticos para comunicação no protocolo Modbus RTU. Os registradores de endereços podem ser categorizados nos quatro tipos a seguir:


Registro de bobina (registro de bobina)

 

Os registradores Coil armazenam valores booleanos (0 ou 1). Os códigos de função 01, 05 e 15 são permitidos para operação em registros de bobina. O estado de cada bobina pode ser representado por um único bit binário.


Por exemplo, se a bobina no bit 0x0001 for definida como 0, seu valor binário será 00000000 00000001.. Se a bobina for definida como 1, seu valor binário mudará para 00000000 00000010.


Registro de entrada discreta


O registro de entrada discreta armazena os valores das chaves de entrada binárias e é somente leitura-, com o código de função correspondente sendo 02. A diferença entre o registro de entrada discreta e o registro de bobina é que ele indica se uma chave está no estado LIGADO, em vez de no estado atual.


Registro de retenção

 

O Holding Register armazena variáveis ​​inteiras de 32 bits. Os códigos de função 03, 04, 06 e 16 permitem operações de leitura/gravação no Holding Register. Os valores dentro do Holding Register podem facilitar a transferência de dados entre dispositivos ou ser personalizados pelos usuários como parâmetros de controle relevantes.


Registro de entrada

 

Os registros de entrada armazenam variáveis ​​inteiras de 32{1}} bits e suportam operações somente leitura com o código de função 04. Semelhante aos registros de retenção, os valores nos registros de entrada podem ser transferidos entre dispositivos, mas não podem ser modificados pelos usuários.


Verificação CRC do protocolo Modbus RTU

 

Para garantir a confiabilidade da comunicação do protocolo Modbus RTU, este protocolo emprega um método Cyclic Redundancy Check (CRC) para verificar a integridade dos pacotes de dados. O código de verificação CRC é calculado com base nos pacotes de dados transmitidos e recebidos e é verificado simultaneamente no envio e no recebimento.


Tomando o registro de retenção de leitura (código de função: 03) como exemplo, os valores hexadecimais da soma de verificação CRC para seus pacotes de dados transmitidos e recebidos são 0x39 e 0x3E, respectivamente. Os pacotes de dados específicos transmitidos e recebidos são os seguintes:


Transmissor-pacote de dados enviado: 01 03 00 00 00 01 C4 0B
Neste pacote, os primeiros 6 bits (01 03 00 00 00 01) representam o formato do protocolo Modbus RTU, enquanto os dois últimos bits (C4 e 0B) constituem a soma de verificação CRC.
Pacote recebido no receptor: 01 03 02 00 01 39 3E
Neste pacote de dados, os primeiros 6 bits 01 03 02 00 01 39 representam o valor do registrador de retenção recebido (dois bytes), enquanto os dois últimos bits 3E e 39 são a soma de verificação CRC calculada.


Exemplo de transmissão do protocolo Modbus RTU


A seguir está um exemplo simples de transmissão do protocolo Modbus RTU para leitura de dados do registro de retenção de um dispositivo:


O transmissor envia: 01 03 00 00 00 02 C5 9A
O receptor recebe: 01 03 04 00 00 00 66 CB


Este exemplo lê o registrador hold do dispositivo 01 utilizando o código de função 03, acessando os dois bytes no endereço do registrador 0x0000. Assim, o pacote de dados recebido contém os valores 0x0000 e 0x0000, ou seja, 0x0000 0000, representado em hexadecimal como 0x66CB.


Conclusão


Este artigo cobre principalmente os princípios, aplicações, design de circuitos, protocolos de comunicação e soluções de solução de problemas para interfaces RS485. As interfaces RS485 são amplamente utilizadas em automação industrial, casas inteligentes, sistemas de segurança e outros campos. No entanto, fatores como distância de transmissão, velocidade de comunicação, proteção contra raios e isolamento devem ser considerados para garantir a confiabilidade e estabilidade do circuito de interface. É apresentado o conhecimento básico do protocolo Modbus RTU, incluindo seu formato de dados, códigos de função, registradores de endereço e soma de verificação CRC. Em aplicações práticas, o protocolo Modbus RTU é amplamente utilizado para comunicação entre dispositivos em sistemas de controle de automação industrial. Ao ler dados, atenção especial deve ser dada à seleção do endereço do dispositivo, endereço do registro e código de função.

Enviar inquérito

whatsapp

Telefone

Email

Inquérito