bg

Como Registrar Dados de Dispositivos MODBUS RTU em Banco de Dados MySQL

Um guia completo para consultar dispositivos seriais MODBUS RTU e exportar os dados dos registradores diretamente para um banco de dados MySQL.

1. Configuração do protocolo: MODBUS RTU

Tipo de comunicação: Interrogação ativa (Mestre/Escravo sobre RS485/COM)

Como o MODBUS transmite dados em binário, o analisador deve extrair registradores de retenção específicos (ex.: 40001) ou registradores de entrada. Se o seu sensor usar números de ponto flutuante de 32 bits, configure o analisador para ler dois registradores adjacentes de 16 bits e aplicar a troca de bytes (endianness) correta para reconstruir o valor float.

Aplique esta configuração base para a conexão serial:

{
  "port": "COM3",
  "baud_rate": 9600,
  "data_bits": 8,
  "stop_bits": 1,
  "parity": "none",
  "protocol": "modbus_rtu_serial",
  "poll_interval_ms": 1000
}
Seleção do plugin MODBUS RTU para consultar e analisar dados.

Seleção do plugin MODBUS RTU para consultar e analisar dados.

Fila de consultas MODBUS RTU: configuração personalizada para ler diferentes registradores.

Fila de consultas MODBUS RTU: configuração personalizada para ler diferentes registradores.

Pronto para conectar MODBUS RTU ao MySQL?

2. Configuração do banco de dados: MySQL

Você precisará do MySQL Connector/ODBC instalado na máquina que executa o Data Logger. Crie um DSN de sistema apontando para sua instância do servidor MySQL.

Use o script SQL a seguir para criar sua tabela de destino. Recomendamos usar o mecanismo InnoDB para lidar com inserções simultâneas de alta frequência sem bloqueio de tabela.

CREATE TABLE sensor_data (
  id INT AUTO_INCREMENT PRIMARY KEY,
  log_timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
  device_id VARCHAR(50),
  register_value FLOAT
) ENGINE=InnoDB;
Plugin MySQL para exportar dados.

Plugin MySQL para exportar dados.

Configurações de conexão do banco de dados MySQL.

Configurações de conexão do banco de dados MySQL.

Instruções SQL INSERT em uma fila com parâmetros personalizados.

Instruções SQL INSERT em uma fila com parâmetros personalizados.

3. Solução de problemas específicos do protocolo

  • Erros de timeout ou CRC: Diferente do TCP, o MODBUS RTU serial depende de temporização rigorosa. Verifique se os fios RS485 A/B não estão invertidos e se a taxa de transmissão e o ID do dispositivo no software correspondem exatamente ao dispositivo escravo.
  • O dispositivo retorna o código de erro ‘Illegal address’: Tente usar a função nº 3 em vez da função nº 4 na sua requisição MODBUS. Caso contrário, verifique se está usando o endereço de registrador correto. Tente especificar um offset absoluto (não um endereço lógico como 40001).
  • Tenho vários valores que desejo exportar em uma única linha de dados. Atualmente, o registrador escreve um valor por linha: Você precisa habilitar a opção ‘Exportar todos os dados de uma vez’ nas configurações do plugin MODBUS.

4. Solução de problemas específicos do banco de dados

  • O servidor MySQL se foi: Se seu dispositivo serial ficar ocioso durante a noite, o MySQL derrubará a conexão. Ative a configuração 'Manter conexão ativa' no módulo de exportação ODBC do Data Logger.
  • Como posso inserir ou atualizar uma linha de dados para o meu dispositivo?: Você pode usar qualquer consulta SQL em nosso plugin 'SQL Database Pro'. No MySQL, você pode executar facilmente o seguinte SQL: 'INSERT INTO ....... ON DUPLICATE KEY .... UPDATE ....'.
  • Quero gravar dados de cada um dos meus dispositivos em uma tabela diferente. Como posso fazer isso?: No plugin 'SQL Database Pro', você pode usar um espaço reservado em seu SQL. Por exemplo, 'INSERT INTO SerialData%DEVICE_ID% (....)'. Antes de executar o SQL, o logger substitui %DEVICE_ID% pelo valor correspondente dos dados analisados, e a tabela de destino real variará (SerialData1, SerialData2, etc.).

Pronto para conectar MODBUS RTU ao MySQL?

Produto Compre Baixar Suporte Contatos Mapa do site
Direitos autorais © 1999 - 2026, AGG Software.
Todos os direitos reservados.. Termos de uso | Política de privacidade