Pode ser desafiador configurar um dispositivo RS485. A compatibilidade entre os protocolos Modbus e RS-485 é frequentemente um problema. Pode estar a enfrentar uma longa sessão de depuração, uma vez que estes dois protocolos operam em camadas diferentes da pilha de comunicação.
O protocolo RS485 é uma norma elétrica que opera na camada física da pilha. Define itens como o comprimento do cabo, os níveis de tensão aceitáveis e o número de dispositivos que podem partilhar um único barramento.
O protocolo Modbus opera na camada de aplicação e foca-se na forma como as mensagens são estruturadas, endereçadas e interpretadas pelo recetor. É necessário saber qual camada está a causar o problema para o resolver de forma eficaz.
Diferenças entre Modbus e RS485
A tabela a seguir compara os parâmetros mais importantes destes dois protocolos cruciais que afetam a sua compatibilidade.
| RS485 | Modbus | |
| Camada | Física (Camada 1 do OSI) | Aplicação (Camada 7 do OSI) |
| Definido por | EIA/TIA-485 | Modicon em 1979; agora aberto |
| Tipo | Norma elétrica | Protocolo de comunicação |
| Topologia | Barramento multidrop suporta até 32 nós sem repetidores | Mestre/Escravo com 1 mestre e até 247 escravos |
| Função | Define a cablagem, os níveis de sinal e outras características elétricas | Define a mensagem, o enquadramento de dados e os códigos de função |
| Formato de dados | Sinais de tensão diferencial | Tramas RTU (binárias) ou ASCII |
| Deteção de erros | Não especificado | CRC (RTU) ou LRC (ASCII) |
| Velocidade máx. | Até 10 Mbps em curtas distâncias | Normalmente 9.600 – 115.200 bps com RTU/ASCII sobre RS485 |
| Distância máx. | 1.200 m a 100 kbps | Depende da camada física |
| Variantes | RS422 (ponto a ponto), RS232 (curto alcance) | Modbus RTU, Modbus ASCII, Modbus TCP/IP |
O que é Modbus?
Modbus é um protocolo de comunicação da camada de aplicação desenvolvido pela Modicon em 1979. É um protocolo aberto e gratuito que define como as mensagens são estruturadas quando enviadas entre um dispositivo mestre e um ou mais escravos. O Modbus funciona sobre várias soluções de transporte, incluindo RS485, RS232, RS422 ou Ethernet (TCP/IP).
Principais Características
• Arquitetura: Um mestre comunica-se com até 247 escravos endereçáveis, numerados de 1 a 247, com o ID 0 reservado para difusão.
• Modelo de comunicação: O mestre inicia toda a comunicação enviando pedidos aos escravos, que apenas podem responder.
• Endereçamento: Todos os pedidos incluem o ID do Escravo de destino, que é repetido em todas as respostas.
• Tipos de dados: Bobinas de 1 bit e entradas discretas, registos de entrada e registos de retenção de 16 bits.
• Deteção de erros: LRC no modo ASCII e CRC-16 no modo RTU.
Modelo de dados
• Bobinas (1 bit, leitura/escrita) fornecem o estado de saída discreta.
• Entradas Discretas (1 bit, somente leitura) para o estado de entrada discreta.
• Registos de Entrada (16 bits, somente leitura) armazenam valores de entrada medidos.
• Registos de Retenção (16 bits, leitura/escrita) mantêm valores de configuração e de saída.
Variantes: RTU, ASCII, TCP/IP
• Modbus RTU é o padrão para uso com RS485 devido à sua velocidade e tamanho compacto. Apresenta codificação binária e verificação de erros CRC-16.
• Modbus TCP/IP é usado sobre Ethernet e não precisa de CRC/LRC porque o TCP trata da integridade da comunicação.
• Modbus ASCII utiliza codificação em caracteres hexadecimais e verificação de erros LRC. A variante é normalmente usada em RS232 e é legível por humanos.
O que é RS485?
RS485 (EIA-485) é uma norma elétrica que opera na camada física e que define como os sinais são transmitidos através de fios. O protocolo especifica aspetos como a impedância do cabo, níveis de tensão, comprimento máximo do cabo e topologia do barramento. O RS485 não tem conhecimento de protocolos de camadas superiores, formatos de mensagem ou conteúdo de dados.
Principais Características
• Sinalização: O diferencial, ou diferença de tensão entre os fios A e B, é altamente resistente a ruído elétrico.
• Topologia: Suporta um barramento multi-drop com até 32 cargas de unidade em um único par de fios sem repetidores.
• Distância máx.: Aproximadamente 1.200 m a 100 kbps, com alcances menores em velocidades de transmissão de dados mais altas.
• Taxa de dados máx.: Suporta até 10 Mbps em distâncias curtas inferiores a 15 m.
• Duplex: O padrão é half-duplex com um par trançado. Full-duplex pode ser implementado com dois pares.
Padrões relacionados: RS232 e RS422
• RS232 é um protocolo ponto a ponto, de terminação simples, com um alcance máximo de cerca de 15 m. Os sinais não são compatíveis com RS485. Adaptadores diretos são normalmente usados para implementações RS485-para-USB ou RS-485-para-Ethernet.
• RS422 fornece sinalização diferencial como RS485, mas é limitado a um driver por linha para comunicação ponto a ponto sem suporte a multi-drop.
Ferramenta para Monitorar e Analisar Dados Modbus
A resolução de problemas de comunicação requer compreender a diferença entre RS485 e Modbus e obter visibilidade sobre o que é transmitido no barramento. A forma mais eficaz de obter essa visibilidade é analisar o tráfego bruto da porta serial. Essa análise permite depurar problemas de forma eficiente, verificando valores de registradores e descobrindo erros de endereçamento. O Serial Port Monitor (SPM) é uma solução de software que fornece essas informações.
O Modbus Test Software é um analisador de protocolo que fornece informações sobre a comunicação Modbus através de interfaces RS232/RS422/RS485. O software permite que os utilizadores detetem e resolvam facilmente problemas ao testar e depurar a comunicação Modbus. Uma das suas funcionalidades mais valiosas é a capacidade de visualizar e registar os dados que transitam pela porta série de um sistema.
Software de Teste Modbus
Modbus Analyzer permite aos utilizadores visualizar, registar e depurar dados seriais Modbus RTU e ASCII à medida que são transmitidos pelas portas RS485 de um sistema.
Este software profissional de teste Modbus permite aos utilizadores:
• Ligar-se e monitorizar portas seriais já em utilização por outro programa. A visualização em tempo real de todos os dados recebidos pela porta está disponível para monitorização e depuração imediatas.
• Monitorizar múltiplas portas seriais em simultâneo. Pode analisar de forma síncrona a atividade de várias portas seriais numa única sessão. Os dados que fluem em ambas as direções são apresentados numa base de primeiro a entrar, primeiro a sair, num único registo para facilitar a visualização.
• Ver os seus dados em vários formatos, incluindo vistas de tabela, terminal, linha e dump. Podem ser vistas múltiplas vistas ao mesmo tempo, e pode usar filtros para ajustar finamente a sua monitorização.
• Realizar a emulação de dados transferidos para um dispositivo serial para monitorizar a atividade quando exposto a comandos específicos.
Perguntas Frequentes
Não, eles são protocolos diferentes e complementares. Modbus é um protocolo de mensagens, enquanto RS485 define a interface elétrica física. RS485 é o caminho pelo qual o Modbus transmite uma mensagem.
O padrão RS485 suporta até 32 cargas unitárias num barramento sem repetidores, enquanto o Modbus permite até 247 escravos. Normalmente, o limite físico de 32 nós é o padrão, com repetidores implementados para expandir o número de dispositivos suportados.
O Modbus RTU é um protocolo compacto e eficiente que transmite dados em binário com verificação de erros CRC. É o protocolo preferido para utilização com RS485. O Modbus ASCII transmite dados como caracteres hexadecimais legíveis por humanos e utiliza verificação de erros LRC. É uma solução menos eficiente, mas facilita a depuração simplificada em ligações RS232.
Sim. O Modbus também pode operar através de conexões RS232, RS422 ou Ethernet (Modbus TCP/IP). O RS485 é a camada física preferida para o Modbus em ambientes industriais devido às suas capacidades multidrop e imunidade ao ruído.