Guia de comunicação Modbus RTU


Neste artigo, explicaremos todos os aspectos relacionados à comunicação Modbus RTU. Qual é a diferença entre Modbus RTU vs ASCII e Modbus RTU vs TCP/IP? Como testar o protocolo Modbus RTU com o software de monitoramento Modbus RTU.

Conteúdo


  1. O que é o protocolo Modbus RTU?
  2. Como testar o Modbus RTU com o Serial Port Monitor
  3. Como o Modbus RTU funciona?
  4. Modbus RTU vs TCP
  5. Modbus RTU vs ASCII

O que é o protocolo Modbus RTU?


O protocolo Modbus RTU é um meio de comunicação que permite a troca de dados entre controladores lógicos programáveis (PLCs) e computadores. Os dispositivos eletrônicos podem trocar informações através de linhas serial usando o protocolo Modbus.

Tornou-se amplamente aceito e é amplamente utilizado na construção de Sistemas de Gerenciamento de Edifícios (BMS) e Sistemas de Automação Industrial (IAS). Sua adoção foi estimulada por sua facilidade de uso, confiabilidade e pelo fato de ser de código aberto e poder ser usado sem royalties em qualquer dispositivo ou aplicativo.

O protocolo foi desenvolvido e publicado pela Modicon® em 1979 para usar com seus controladores lógicos programáveis. Ele é construído usando uma arquitetura mestre/escravo e suporta dispositivos serial que usam os protocolos RS232/RS485/RS422. O Modbus é frequentemente usado em cenários em que vários dispositivos de instrumentação e controle transmitem sinais para um controlador ou sistema central para coletar e analisar dados. Os sistemas de automação industrial, controle de supervisão e sistemas de aquisição de dados (SCADA) geralmente empregam o protocolo Modbus.

O que significa Modbus RTU?


O Modbus RTU (Unidade Terminal Remota) é um dos dois modos de transmissão definidos na especificação Modbus original. Os dois modos são Modbus RTU e ASCII e foram projetados para serem usados com dispositivos serial que suportam os protocolos RS232, RS485 e RS422. Uma característica distintiva do Modbus RTU é o uso de codificação binária e uma forte verificação de erros CRC. O Modbus RTU é a implementação do protocolo Modbus que é usado com mais frequência em aplicações industriais e instalações de produção automatizada.

Como testar o Modbus RTU com o
Serial Port Monitor


Existem algumas situações em que o uso de um testador Modbus RTU pode ser muito útil. Se você estiver desenvolvendo ou depurando dispositivos ou aplicativos serial, você gostaria de poder monitorar e analisar a transmissão de dados entre dispositivos e aplicativos. Outro caso em que um utilitário de monitoramento Modbus RTU se mostra indispensável é se você for o encarregado de manter a rede e os dispositivos associados em uma instalação de produção industrial automatizada.

Serial Port Monitor é um software eficiente para testar e depurar o protocolo Modbus RTU.
Serial Port Monitor logo

Serial Port Monitor

Registrar e analisar a actividade da porta serial
4.8 Classificação baseado em 41+ usuários, Сomentários(75)
Baixar 14 dias do ensaio totalmente funcional
Serial Port Monitor

Serial Port Monitor da Eltima é um software Modbus RTU. É um aplicativo abrangente e completo que permite o monitoramento e a análise de todas as atividades da interface Modbus RTU em seu sistema. Qualquer dispositivo que suporte os protocolos RS232, RS485 e RS422 pode ter suas transmissões monitoradas e analisadas para ajudar nas tarefas de depuração ou desenvolvimento.

Esta ferramenta de software foi projetada com uma interface flexível e fácil de usar, terminal embutido e recursos de exportação de dados. É um recurso valioso para diagnosticar problemas de comunicação Modbus RTU no ambiente Windows. Aqui estão alguns destaques da lista de recursos que fazem parte do Serial Port Monitor.

  • Análise da atividade Modbus RTU. Esse sniffer de porta serial pode abrir qualquer porta serial, mesmo aquelas já abertas por outro aplicativo, e começar imediatamente a monitorar todas as atividades que se movem por essa interface. A coleta de dados em tempo real permite rastrear rapidamente erros e problemas. Os dados monitorados podem ser redirecionados para arquivos ou copiados para a área de transferência para serem utilizados em análises posteriores.
  • Monitorar várias portas serial simultaneamente. O uso desse recurso permite assistir seus aplicativos interagindo com várias portas ou dispositivos na mesma sessão de monitoramento. Os dados capturados são apresentados em uma base de primeiro a entrar, primeiro a sair em um arquivo de log central para simplificar sua análise.
  • Escolher entre várias visualizações de dados. Existem quatro visualizações que podem ser usadas separadamente ou visualizadas todas ao mesmo tempo. Eles são os modos de tabela, linha, despejo e terminal e cada um pode oferecer uma visão diferente dos seus dados. A visualização de despejo permite investigar as configurações da porta e você pode empregar filtros de monitoramento para reduzir a confusão na tela e se concentrar nos eventos importantes.
  • Emulação de transmissão de dados. Você pode enviar dados para dispositivos serial em vários formatos, como série, binário, decimal e hexadecimal, para monitorar a reação do dispositivo serial a comandos ou cadeias de dados específicos.
  • Opção de reprodução de sessão. Você pode repetir uma transmissão para uma porta serial para obter informações de monitoramento mais precisas. As sessões podem ser comparadas entre si e as diferenças destacadas automaticamente para facilitar a análise.
  • Exportar os dados monitorados em vários formatos. Você pode exportar seus dados para um arquivo no formato HTML, texto ASCII, texto UNICODE ou formato Exсel CSV e pode anexar os dados do monitoramento atual a um arquivo salvo anteriormente.
  • Interface de fácil utilização. Serial Port Monitor foi projetado para permitir o acesso a portas e interfaces serial sem a necessidade de habilidades de programação. Os filtros para controlar os dados exibidos são facilmente personalizados na barra de ferramentas do aplicativo.
  • Rastrear códigos de controle de entrada/saída. Você pode obter detalhes e parâmetros completos de todos os códigos de controle de entrada/saída serial (IOCTLs) usando o Serial Port Monitor.

Este analisador de protocolo Modbus RTU deve estar na caixa de ferramentas de qualquer pessoa que trabalhe muito com dispositivos serial e com o protocolo Modbus. Você pode usá-lo no modo RTU ou ASCII, tornando-o um utilitário de software versátil. É uma solução eficiente que permite monitorar todas as interfaces serial do seu sistema sem requisitos adicionais de hardware. O Serial Port Monitor da Eltima é executado no sistema operacional Windows 10 e no Windows Server 2012 e 2016.

Como o Modbus RTU funciona?


O protocolo Modbus é basicamente um sistema que processa solicitações e respostas de dispositivos eletrônicos. A arquitetura mestre/escravo é usada com o mestre fazendo solicitações que são respondidas pelos dispositivos escravos.

O que é um mestre Modbus RTU?

Um mestre Modbus RTU é o dispositivo central que solicita informações dos dispositivos escravos conectados. Um controlador central em um sistema de produção automatizado pode desempenhar o papel de mestre Modbus RTU. Uma implementação do Modbus possui um mestre. Os dispositivos mestres obtêm informações dos escravos e também podem gravar nos registros dos dispositivos escravos.

O que é um escravo Modbus RTU?

O escravo Modbus RTU é o dispositivo que responde à solicitação feita pelo dispositivo mestre. Ele não pode iniciar transferências de informação e fica em um padrão de espera até responder a uma solicitação feita pelo mestre.

Como afirmado, há um dispositivo mestre em uma implementação Modbus RTU e pode haver até 247 dispositivos escravos. Cada dispositivo escravo é identificado por um endereço escravo de 1 a 247.

No coração do protocolo Modbus está o componente conhecido como Unidade de Dados do Protocolo (PDU). A PDU consiste em um código de função e dados e é construída de forma consistente, independentemente do modo de transmissão Modbus usado. O código da função especifica quais dados estão sendo solicitados pelo mestre.

No modo de transmissão Modbus RTU, informações adicionais são agrupadas em torno da PDU para criar uma Unidade de Dados de Aplicação (ADU) completa. No fluxo de sinal e antes do código da função, no modo Modbus RTU, um ID escravo de 1 byte é enviado para identificar o dispositivo escravo que deve atender à solicitação. Anexado à PDU está um CRC de 2 bytes, que garante que a quantidade correta de bytes foi enviada e recebida.

Os dispositivos Modbus suportam quatro tabelas de dados que são usadas para facilitar a comunicação entre dispositivos. São Entradas Discretas, Saídas Discretas (Bobinas), Registros de Entrada e Registros de Retenção. Os registradores executam funções diferentes e nem todos estão incluídos em todos os dispositivos. Em alguns casos, apenas os registros de retenção são usados para a funcionalidade de E/S.

Campo Acesso Tamanho Descrição
Entradas Discretas
somente leitura
1 bit
usado como entradas
Saídas de Bobinas
leitura/escrita
1 bit
usado para controle discreto
Registros de Entrada
somente leitura
16 bit
usado para entrada
Registros de Retenção
leitura/escrita
16 bit
usado para uma variedade de coisas, incluindo entradas, saídas, dados de configuração, etc.

Os códigos de função indicam como o mestre interage com o dispositivo escravo especificado no ID do escravo. Com base no código de função enviado, o dispositivo mestre pode ler um dos registros do escravo ou gravá-los.

Os escravos retornam códigos de erro quando recebem um pacote que contém um erro na solicitação. Os códigos de erro são retornados para problemas como solicitação de uma função ilegal, endereços de registro ilegais que não podem ser alcançados pelo escravo especificado e mensagens indicando que o dispositivo escravo está ocupado ou sofreu uma falha.

O Modbus RTU exige que você conheça ou defina parâmetros como taxa de transmissão, formato de caractere (8 bits sem paridade etc.) e ID do escravo ao iniciar a comunicação. Uma incompatibilidade em qualquer um desses parâmetros resultará na falha de sua tentativa de comunicação.

Modbus RTU vs TCP


O Modbus RTU é um dos modos de transmissão originais que foram definidos no protocolo Modbus. O Modbus TCP é uma extensão desenvolvida recentemente para o protocolo que permite que os protocolos Modbus sejam transportados por redes TCP/IP. A latência inerente e outros aspectos da comunicação em uma rede exigiram algumas modificações sobre como manter as solicitações e as respostas sincronizadas entre si e garantir que não sejam recebidos dados incorretos de um dispositivo escravo.

O Modbus TCP exibe uma diferença na forma como a PDU é empacotada quando comparada à Modbus RTU. A trama TCP que contém a PDU começa com um identificador de transação Protocolo de Aplicação MODBUS (MBAP) de 2 bytes, em vez do ID do escravo. Também não há necessidade de o CRC executar a verificação de erros, pois a camada TCP faz essa função.

Modbus RTU vs ASCII


Como eles eram parte da especificação original do protocolo Modbus, você deve estar se perguntando qual é a diferença entre o Modbus ASCII e o Modbus RTU. O Modbus RTU emprega codificação binária e verificação de erros CRC. Essas escolhas foram feitas em prol da eficiência e são a principal razão pela qual o modo RTU é o mais usado em ambientes industriais. Como você deve ter adivinhado, o Modbus ASCII usa caracteres ASCII ao enviar mensagens.

O uso de caracteres ASCII torna as mensagens mais legíveis para os humanos, mas são um meio de transmissão menos eficiente. Outra grande diferença está no nível de verificação de erros que é realizado. O Modbus ASCII usa o método LRC menos eficaz de verificação de erros, em vez do CRC mais forte do modo RTU.

Embora o Modbus RTU e o Modbus ASCII sejam projetados para serem usados com dispositivos e protocolos serial, eles são incompatíveis entre si devido às diferenças descritas acima. Se você trabalha com dispositivos serial, deve estar preparado para usar o protocolo Modbus.

Serial Port Monitor

Requisitos: Windows (32-bit e 64-bit): XP/2003/2008/Vista/7/8/10, Windows Server 2012, Windows Server 2016 , 9.16MB tamanho
Versão 7.0.342 (13th , 2018) Notas de versão
Categoria: Communication Application