Ferramentas para teste, depuração dispositivos/redes baseados Modbus


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

Neste artigo, abordaremos os principais recursos das soluções de software e hardware existentes para testar e depurar dispositivos e redes com base no protocolo Modbus.

Se você estiver familiarizado com a arquitetura do protocolo, você pode ir direto para o descrição do software Modbus. Se não, abaixo você encontrará uma breve introdução ao Modbus.

Conteúdo

  1. Sobre o protocolo Modbus
  2. Desenvolvendo e testando dispositivos Modbus
  3. Depuração de sistemas de automação baseados em dispositivos Modbus

Sobre o protocolo Modbus


O Modbus é um protocolo comum usado em sistemas de automação nos níveis médio e inferior (campo). O nível médio é o nível de controladores - dispositivos que coletam dados e controlam o processo tecnológico. O nível de campo é o nível de interação entre sensores e controladores ou sensores e o servidor. Mais detalhes sobre os níveis em sistemas de automação podem ser encontrados aqui.

A estrutura típica de um sistema de automação que usa o Modbus como seu protocolo básico é mostrada abaixo.

Protocolo Modbus

O 'ambiente' padrão para o protocolo Modbus é o RS-485/422/232. Modbus RTU ou Modbus ASCII trabalhar sobre isso. Em redes TCP/IP, no entanto, o protocolo de nível mais alto é o protocolo de transporte TCP e essa variante é chamada de Modbus TCP. Neste artigo, falaremos sobre o modo de transmissão do Modbus RTU.

O protocolo Modbus é implementado usando uma relação mestre-escravo. Isso significa que a comunicação é sempre iniciada por um dispositivo, o mestre, que envia uma solicitação a um escravo (servidor) e aguarda uma resposta. Há sempre um mestre na rede e de 1 a 247 escravos. (Mais informações sobre dispositivos Modbus podem ser encontradas no Site oficial do Modbus).

O mestre interage com dispositivos escravos no formato de solicitação-resposta. O pedido contém uma seqüência de bytes, chamada frame, na qual o tempo entre os bytes é padronizado dependendo da taxa de transferência de dados e não é maior 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.

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

Uma mensagem de pedido

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 verificação CRC-16 (2 bytes).

O formato de uma mensagem de resposta:

Uma mensagem de resposta

Como você pode ver, os quadros de resposta e solicitação têm construções semelhantes, exceto pelo campo Data, que fornece conteúdo diferente dependendo da função executada.

Caso a função solicitada não seja suportada pelo dispositivo escravo ou os argumentos no campo [args] da solicitação estejam incorretos para este servidor, no campo FN da resposta, o bit alto será definido como 1 e o campo Data será contém 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 referenciados nos dispositivos Modbus incluem os seguintes:

Campo Acesso Tamanho Descrição
Entradas discretas
somente leitura
1 bit
usado como entradas
Saídas de bobinas
lendo escrevendo
1 bit
usado para controlar
Registros de entrada
somente leitura
16 bit
usado para entrada
Segurando registros
lendo escrevendo
16 bit
usado para uma variedade de coisas, incluindo entradas, saídas, dados de configuração, etc.

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

Ao configurar uma rede Modbus, um ponto a ser considerado é que o protocolo permite a transmissão de dados de vários dispositivos que devem ser recebidos por um único servidor ou controlador que tenha um driver Modbus instalado. Um aplicativo serial pode controlar a porta de comunicação de um servidor (ex. COM1) à medida que recebe dados Modbus de vários sensores.

Infelizmente, há uma limitação, pois abrir a porta receptora em vários aplicativos simultaneamente pode representar um desafio significativo.

Existe uma solução para esse dilema. Virtual COM Port Driver PRO por Eltima permite a criação de portas virtuais RS485 e a divisão de dados Modbus para que várias portas possam receber os dados ao mesmo tempo.

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

Desenvolvendo e testando dispositivos Modbus


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

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

Não vamos considerar o desenvolvimento da pilha Modbus neste artigo. A única coisa que vale a pena mencionar é a biblioteca FreeMODBUS, com base na qual é muito fácil construir um dispositivo que suporte funções slave do Modbus.

Software eficiente para teste Modbus


O teste pode ser realizado em diferentes níveis de desenvolvimento de dispositivos Modbus. Software de teste Modbus e as soluções de hardware diferem dependendo do estágio de desenvolvimento e do propósito do teste.

Uma das ferramentas mais convenientes usadas nos estágios iniciais do teste de dispositivos é o terminal Modbus. Essa solução ajuda a criar manualmente uma solicitação, enviá-la e analisar a resposta.

Durante o processo de desenvolvimento, uma situação pode surgir quando um dispositivo recebe uma solicitação e responde a ela (isso pode ser indicado pelos LEDs de recepção/transmissão de pacote, se esses elementos forem fornecidos no design ou detectados usando um depurador e configuração um ponto de interrupção), mas os dados não são exibidos no terminal ou em outro programa especializado. Neste caso, você precisará de um sniffer de porta serial dedicado.

Serial Port Monitor é um dos melhores softwares de monitoramento Modbus disponíveis atualmente. Esta solução Modbus pode ler e gravar facilmente qualquer dado serial passando pelas portas COM do sistema. A funcionalidade avançada do aplicativo permite a captura de dados em tempo real para que um desenvolvedor possa resolver todos os problemas depois que eles forem detectados.

Monitor de porta serial é capaz de trabalhar no modo de terminal que é emular a transferência de dados de uma porta COM monitorada para um dispositivo inserido nela. Esta opção é especialmente conveniente para o teste de comunicação Modbus, pois permite observar a reação de um determinado dispositivo a um comando e dados específicos.

Serial Port Monitor

Serial Port Monitor é um software profissional para testar e depurar dispositivos e redes baseados em Modbus.
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

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

A solução de teste do Modbus permite registrar os fluxos de dados de entrada e saída. Além disso, todos os dados coletados podem ser mostrados em diferentes visualizações (tabela, linha, dump, terminal), o que facilita a comparação e a análise.

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


Há muito mais especialistas que depuram sistemas de automação e dispositivos que suportam o protocolo Modbus do que aqueles que desenvolvem esses dispositivos. Assim, com base nas especificidades das tarefas, os requisitos para Software Modbus RTU será um pouco diferente.

Se for necessário conectar um controlador a um único dispositivo escravo, você poderá estabelecer uma comunicação serial usando o conversor RS-485 / USB, um PC e um software ou terminal especializado. Nesse caso, não há necessidade de testes longos seguidos pela análise de vários arquivos de log. Portanto, a lógica da operação e o conjunto de ferramentas não serão diferentes daqueles usados no estágio de teste do desenvolvimento do dispositivo escravo.

Caso você já tenha uma rede pronta de dispositivos, as seguintes tarefas podem ser distinguidas:

  • verificar a operacionalidade de todos os dispositivos na rede (isto é, comunicação com cada dispositivo separado 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 para falhas, não respostas, corrupção de dados, etc.

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

Desafios da comunicação Modbus


Alguns dispositivos Modbus podem ter configurações específicas da interface RS-485 (o número de bits de dados, a 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 mais conveniente para testar e configurar tais dispositivos é um programa de terminal que suporta troca rápida entre parâmetros de portas pré-instalados ou funciona com várias linhas simultaneamente.

Outro desafio é fornecer troca de dados com um dispositivo que trabalhe em um protocolo diferente da especificação padrão do Modbus RTU. Por exemplo, o protocolo do escravo pode ser logicamente similar ao Modbus (estrutura de pacotes, timeouts, etc.), mas usar algumas funções além do padrão. Tutorial de comunicação Modbus RTU ajuda você a entender como funciona o Modbus RTU.

Neste caso, será uma boa idéia usar o Modbus Poll, que permite formular solicitações arbitrárias ou um terminal que suporte uma funcionalidade semelhante.

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

/ / / Ferramentas para teste, depuração dispositivos/redes baseados Modbus

Serial Port Monitor

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