Submit your email address to get a link for quick download on your desktop and get started!
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
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.
Modbus Sniffer 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.
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 Electronic Team é executado no sistema operacional Windows 10 e no Windows Server 2012 e 2016.
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 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.
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.
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 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 | usado como entradas | ||
Saídas de Bobinas | usado para controle discreto | ||
Registros de Entrada | usado para entrada | ||
Registros de Retenção | 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.
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.
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.