Cookie
Electronic Team, Inc. uses cookies to personalize your experience on our website. By continuing to use this site, you agree to our cookie policy. Click here to learn more.

Utilitários para teste e depuração de dispositivos e redes Modbus

Olga Weis Olga Weis

Modbus é um protocolo de comunicação muito usado em sistemas de automação industrial, sistemas domésticos inteligentes, redes automatizadas de pequenos objetos (armazéns, estufas, etc.). O protocolo serve também para conectar equipamentos de vários tipos a um computador doméstico. O desenvolvimento de projetos como Arduino e Raspberry Pi tem aumentado significativamente o interesse em tarefas relacionadas à robótica e automação. Tudo isso garante o aumento da popularidade do Modbus entre aficionados e profissionais.

Neste artigo, vamos apresentar as principais características das soluções de software e hardware existentes para testar e depurar dispositivos e redes baseados no protocolo Modbus.

Se você está familiarizado com a arquitetura do protocolo, pode pular diretamente para a descrição do software Modbus. Caso contrário, abaixo você encontrará uma breve introdução ao Modbus.

Sobre o protocolo Modbus

Modbus é um protocolo bastante utilizado a nível médio e baixo (de campo) nos sistemas de automação. O nível médio é o nível dos controladores - dispositivos que coletam dados e controlam o processo tecnológico. O nível de campo é o nível de interação entre os sensores e os controladores ou entre os sensores e o servidor.

Mostramos a seguir a estrutura típica de um sistema de automação que utiliza o Modbus como protocolo de base.

Protocolo Modbus

O 'ambiente' padrão do protocolo Modbus é o RS485/422/232. Modbus RTU ou Modbus ASCII funciona sobre ele. No entanto, nas redes TCP/IP, o protocolo de nível superior é o protocolo de transporte TCP e esta variante é chamada Modbus TCP. Neste artigo, vamos falar sobre o modo de transmissão Modbus RTU.

O protocolo Modbus é implementado utilizando uma relação mestre-escravo. Isso significa que a comunicação é sempre iniciada apenas por um dispositivo, o mestre, que envia uma solicitação a um escravo (servidor) e espera uma resposta. Na rede há sempre um mestre e de 1 a 247 escravos.

O mestre interage com os dispositivos escravos na forma de solicitação-resposta. A solicitação contém uma sequência de bytes, chamada frame, na qual o tempo entre os bytes é padronizado dependendo da taxa de transferência de dados e não é mais do que o intervalo durante o qual 1,5 bytes de dados podem ser transmitidos. No modo RTU, as mensagens começam com um intervalo silencioso de pelo menos 3,5 caracteres.

A mensagem de solicitação é enviada no seguinte formato:

Protocolo Modbus

ID - endereço do dispositivo (1 byte),
FN - Função Modbus (1 byte),
[args] - argumentos da função (N bytes, dependendo da função),
CRC - uma soma de controle CRC-16 (2 bytes).

O formato de uma mensagem de resposta:

Protocolo Modbus

Como você pode ver, os frames de resposta e solicitação têm construções similares, exceto o campo Dados, que fornece conteúdo diferente dependendo da função desempenhada.

Se a função solicitada não for suportada pelo dispositivo escravo ou se os argumentos no campo [args] da solicitação estiverem incorretos para o servidor, no campo FN da resposta o bit superior será definido como 1 e o campo Dados conterá informações adicionais sobre o erro ocorrido.

Além disso, determinados dispositivos escravos podem ter registros específicos com informações adicionais.

Os tipos de registros indicados nos dispositivos Modbus incluem os seguintes:

Campo Acesso Tamanho Descrição
entradas Discretas somente leitura 1 bit utilizado como entrada
saídas de Bobinas leitura/escrita 1 bit utilizado para o controle discreto
registros de Entrada somente leitura 16 bit utilizado para entrada
registros de Retenção leitura/escrita 16 bit utilizado para muitas coisas, incluindo entradas, saídas, dados de configuração, etc.

A descrição completa do protocolo Modbus RTU é fornecida em sua especificação funcional.

Ao configurar uma rede Modbus, é preciso ter em mente que o protocolo permite a transmissão de dados de inúmeros dispositivos que devem ser recebidos por um único servidor ou controlador com um driver Modbus instalado. Um aplicativo serial pode controlar a porta de comunicação de um servidor (por exemplo, COM1) quando recebe dados Modbus de vários sensores.

Infelizmente, há uma limitação, porque abrir a porta receptora de múltiplas aplicações simultaneamente pode ser um desafio considerável.

Há uma solução para este dilema. Virtual COM Port Driver da Electronic Team permite criar portas RS485 virtuais e dividir os dados Modbus para que múltiplas portas possam receber os dados ao mesmo tempo.

Experimente o Virtual Serial Port Driver agora
Teste gratuito de 14 dias

Agora você pode duplicar o fluxo de dados que chega a uma porta física para várias portas virtuais. Conectando vários aplicativos às cópias virtuais de sua porta COM1, todos os aplicativos conseguem ter acesso compartilhado à sua porta física.

Desenvolvimento e teste de dispositivos Modbus

Ao desenvolver e depurar dispositivos Modbus RTU, os especialistas utilizam ferramentas de software e hardware especializadas. No caso dos dispositivos de hardware, a solução mais simples é um conversor RS485/USB. De todos os dispositivos deste tipo, provavelmente a solução mais eficiente é o MOXA UPORT 1130/UPORT 1150. O dispositivo foi projetado para ser fácil de usar e requer habilidades mínimas para ser montado. Também existem soluções mais complexas como o Ethernet/RS-485 (por exemplo, NPORT da MOXA).

Na prática, para o desenvolvimento de dispositivos Modbus RTU, a função de escravo é implementada com mais frequência. Os dispositivos escravos incluem vários sensores, relés controlados, módulos de E/S, etc. Os dispositivos mestre são criados com menos frequência. Em redes de automação, a função mestre é normalmente executada por um controlador, que já tem uma pilha Modbus implementada, ou um sistema OPC Server/SCADA equipado com um driver Modbus.

Neste artigo, não vamos considerar o desenvolvimento da pilha Modbus. A única coisa que vale a pena mencionar é a biblioteca FreeMODBUS, sobre a qual é bastante fácil construir um dispositivo que suporte as funções de escravo Modbus.

Software eficiente para Modbus test

Os testes podem ser realizados nos diferentes níveis de desenvolvimento do dispositivo Modbus. As soluções de software e hardware Modbus tester dependem do estágio de desenvolvimento e da finalidade dos testes.

No processo de desenvolvimento, pode ocorrer que um dispositivo recebe uma solicitação e responde a ela (pode ser indicado pelos LED de recepção/transmissão de pacotes, se tais elementos estão previstos no modelo, ou detectados utilizando um depurador e definindo um ponto de parada), mas os dados não são exibidos no terminal ou em outro programa especializado. Neste caso, será necessário um sniffer de porta serial.

Serial Port Tester é um dos melhores softwares de monitoramento Modbus disponíveis atualmente. Esta solução Modbus pode facilmente ler e gravar os dados serial que passam pelas portas COM do sistema. A funcionalidade avançada do aplicativo permite coletar os dados em tempo real, para que o desenvolvedor possa resolver todos os problemas assim que forem detectados.

COM Port Tester pode funcionar em modo terminal, emulando a transferência de dados da porta COM monitorada para o dispositivo inserido na mesma. Esta opção é ideal para testar a comunicação Modbus, porque permite observar a reação de um dispositivo em particular a um determinado comando e dados.

Modbus Tester da Electronic Team, Inc.

Serial Port Monitor logo

Serial Port Monitor

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

O software especializado é útil quando é necessário não apenas verificar se um dispositivo funciona (ou seja, atende corretamente às solicitações), mas também para medir o tempo até a falha.

A solução Modbus tester permite registrar os fluxos de dados de entrada e saída. Além disso, todos os dados coletados podem ser mostrados em diferentes vistas (tabela, linha, despejo, terminal), o que simplifica a comparação e análise dos mesmos.

Depuração de sistemas de automação baseados em dispositivos Modbus

São muito mais os especialistas que depuram os sistemas e dispositivos de automação compatíveis com o protocolo Modbus do que os que desenvolvem esses dispositivos. Assim, com base nas particularidades das tarefas, os requisitos do software Modbus serão ligeiramente diferentes.

Se precisar conectar um controlador a um único dispositivo escravo, você pode estabelecer uma comunicação serial usando um conversor RS-485/USB, um PC e um software ou terminal especializado. Neste caso, não há necessidade de longos testes e análise de numerosos arquivos de registro. Portanto, não há diferença na lógica da operação e no conjunto de ferramentas utilizadas na fase de teste no desenvolvimento do dispositivo escravo.

Se você já tiver uma rede de dispositivos pronta, podemos distinguir as seguintes tarefas:

  • verificação do funcionamento de todos os dispositivos da rede (isto é, comunicação individual com cada dispositivo e verificação da exatidão de sua resposta);

  • teste de carga (identificação da capacidade máxima de operação do dispositivo). Recomenda-se fazer várias sessões e analisar os dados coletados em busca de falhas, ausência de respostas, corrupção de dados, etc.

Para realizar estas tarefas, você vai precisar de um terminal que possa criar uma lista de solicitações ou uma ferramenta especializada como o Modbus Poll, um simulador Modbus mestre que permite monitorar vários escravos Modbus e/ou áreas de dados ao mesmo tempo.

Problemas na comunicação Modbus

Alguns dispositivos Modbus podem ter configurações da interface RS-485 específicas (o número de bits de dados, paridade, o número de bits de parada). Dispositivos com configurações diferentes não podem funcionar na mesma rede com o mesmo mestre. A ferramenta modbus RS485 tester mais eficiente para testar e configurar tais dispositivos é um programa terminal com suporte para alternar rapidamente entre os parâmetros de porta pré-instalados ou funcionar com várias linhas simultaneamente.

Outro grande desafio é disponibilizar o intercâmbio de dados com um dispositivo que funciona com um protocolo diferente da especificação padrão do Modbus RTU. Por exemplo, o protocolo do escravo pode ser logicamente similar ao Modbus (estrutura do pacote, intervalos de tempo, etc.), mas utiliza algumas funções além do padrão.

Neste caso, é recomendável utilizar o Modbus Poll, que permite formular solicitações aleatórias, ou um terminal que ofereça funcionalidades similares.

O sistema SCADA padrão não é eficiente para trabalhar com tais dispositivos e a comunicação com o equipamento é estabelecida através de um servidor OPC especial.

Serial Port Monitor

Requisitos: Windows (32 bits e 64 bits): Vista/7/8/10/11, Windows Server 2008/2012/2016/2019/2022, Windows em ARM , 9.87MB tamanho
Versão 9.5.589 (16/11/2023) Notas de versão
Categoria: Communication Application