
Modbus para MQTT

Advantech Czech sro, Sokolska 71, 562 04 Usti nad Orlici, República Tcheca
Documento nº APP-0087-EN, revisão de 12 de outubro de 2023.
Aplicativo Modbus para roteador MQTT
© 2023 Advantech Czech sro Nenhuma parte desta publicação pode ser reproduzida ou transmitida de qualquer forma ou por qualquer meio, eletrônico ou mecânico, incluindo fotografia, gravação ou qualquer sistema de armazenamento e recuperação de informações sem consentimento por escrito. As informações contidas neste manual estão sujeitas a alterações sem aviso prévio e não representam um compromisso por parte da Advantech.
A Advantech Czech sro não será responsável por danos incidentais ou consequenciais resultantes do fornecimento, desempenho ou uso deste manual.
Todas as marcas usadas neste manual são marcas registradas de seus respectivos proprietários. O uso de marcas registradas ou outras designações nesta publicação é apenas para fins de referência e não constitui um endosso pelo detentor da marca registrada.
Símbolos usados
| Perigo - Informações relacionadas à segurança do usuário ou possíveis danos ao roteador. | |
| Atenção – Problemas que podem surgir em situações específicas. | |
| Informação – Dicas úteis ou informações de interesse especial. | |
| Example - Examparquivo de função, comando ou script. |
Registro de alterações
- Registo de alterações de Modbus para MQTT
v2.0.5
• Altere o openssl (1.0.2u) para biblioteca estática.
v2.0.6
• Adicionar opção de geração de token SAS do Azure.
• Necessidade de instalar o módulo de usuário Python3.
• Adicionar tipo de dados: Double World – Frame.
• Adicionar campo “Byte Swap” em csv file.
• Adicione o tipo de dados suportado “String”.
• Adicione “Word Swap” e “Byte Swap” para o tipo de dados String.
v2.0.7
• Adicionar código de erro show mosquitto e mensagem de erro na função conectado/desconectado.
v2.0.8
• Adicionar certificado local de upload e recursos principais locais para AWS.
v2.0.9
• Altere o máximo de comando modbus de 100 para 500.
v2.0.10
• Adicione polling aos processos do módulo do usuário a cada 5 segundos, se o módulo do usuário travar, ele será executado novamente.
v2.0.11
• Adicionar campo “Custom2 Field” em csv file.
• Adicionar campo “Enviar grupo” em csv file, para recurso de grupo de envio MQTT.
• Adicionar campo “Intervalo de envio” em csv file, para recurso de grupo de envio MQTT.
v2.0.12
• Adicionar geração de token SAS do Azure (sem módulo de usuário Python3). Quando o módulo de usuário Python3 for instalado, ele usará a geração de token SAS por python.
v2.0.13
• Adicionada capacidade de editar CSV, certificado CA, certificado local e chave privada local de WebUI.
v2.0.14
• Corrigido problema quando o aplicativo roteador mb2mqtt carregava a configuração padrão após a atualização do firmware.
v2.0.15
• Corrigido um problema com a exibição de valores de espaço na página Tabela de Mapeamento.
• Foi corrigido um problema em que o valor antigo era exibido na página Tabela de mapeamento quando o valor de configuração estava vazio. v2.0.16
• Para WADMP: Corrigido o problema de o valor padrão ter espaços em branco.
v2.0.17
• Para suportar números inteiros com tamanho de 2 bytes (Ex.amparquivo: converta 0xFFFF em -1).
• Definir permissões para 755 para todos files no Módulo do Usuário.
v2.0.18
• Corrigido um problema com a conversão de inteiro em flutuante.
• Adicione mais mensagens de log para o valor MQTT.
v2.0.19
• Aumentar os campos personalizados para 10 (campos de configuração CSV: Q, R, U AB)
v2.0.20
Corrigido um problema em que comentários de configuração causavam problemas no sistema de gerenciamento WADMP.
Descrição do módulo
Este aplicativo roteador não está contido no firmware padrão do roteador. O upload deste aplicativo roteador está descrito no manual de configuração (consulte o capítulo Documentos relacionados).
O aplicativo do roteador é compatível com a plataforma do roteador v2.
Modbus para MQTT é um aplicativo de roteador para fornecer comunicação perfeita entre dispositivos Modbus/TCP e dispositivos MQTT. Modbus para MQTT funciona como mestre Modbus/TCP para se comunicar com dispositivos Modbus/TCP e funciona como editor/assinante MQTT para se comunicar com o corretor MQTT.
Web Interface
Assim que a instalação do módulo for concluída, a GUI do módulo poderá ser chamada clicando no nome do módulo na página Aplicativos do roteador do roteador. web interface.
A parte esquerda desta GUI contém o menu com a seção do menu do roteador. A seção do menu Retornar ao roteador volta da seção do módulo web página para o roteador web páginas de configuração. O menu principal da GUI do módulo é mostrado na Figura 1.

- Roteador
Configurações 1.1
A configuração deste aplicativo de roteador pode ser feita na página Configurações, na seção Menu do roteador. Todos os itens de configuração da página de configuração Configurações estão descritos na tabela abaixo.
Item Descrição Habilitar serviço Ativado, a funcionalidade Modbus para MQTT APN do módulo está ativada. Log Habilitar APN Habilite o log de serviço. Endereço do corretor Insira o endereço do servidor intermediário remoto. Porta do servidor corretor Insira o número da porta do servidor corretor (1-65535). Manutenção de atividade MQTT Insira o intervalo de manutenção de atividade do MQTT (1-3600). Qualidade de Serviço MQTT Insira o valor de QoS do MQTT (0,1,2). Retenção MQTT Ative para retenção de mensagens. ID do cliente Insira o ID do cliente. MQTT anônimo Habilitar MQTT anônimo Nome de usuário MQTT Insira o nome de usuário MQTT. Senha do MQTT Digite a senha MQTT. MQTT-TLS Habilite o MQTT TLS. Intervalo (ms) Insira o intervalo de pesquisa Modbus TCP. Tempo limite (ms) Insira o tempo limite do Modbus TCP. Configuração CSV Carregar o file contendo sua configuração CSV aqui. Certificado CA Carregue seu certificado CA aqui. Certificado local Carregue seu certificado local aqui. Chave Privada Local Carregue sua chave privada local aqui. Tabela 1: Configurações Example Descrição dos itens
1.2 Configuração file
No Modbus para MQTT, o usuário configura o mapeamento entre Modbus/TCP e MQTT através de CSV file. No csv file, o separador de campo (delimitador) é uma vírgula.

Item Descrição Tópico Tópico MQTT Nome O nome para identificar o mapeamento. IP O endereço IP do dispositivo Modbus. Porta O número da porta TCP do dispositivo escravo Modbus remoto. ID do dispositivo O ID do escravo Modbus/TCP. Código de Função Código de função Modbus (FC). No Modbus para MQTT, os códigos de função suportados são: 1, 2, 3, 4, 5, 6, 15, 16
01: Ler bobinas;
02: Ler entradas discretas;
03: Ler registros de retenção;
04: Ler registro de entrada;
05: Escreva bobina única;
06: Escrever registro único;
15: Escreva múltiplas bobinas;
16: Escreva vários registros.Endereço Designe o endereço inicial de leitura/gravação para o registro Modbus. Comprimento dos dados Quando FC=1, 2, 5 ou 15, a unidade é bit(s)
Quando FC=3, 4, 6 ou 16, a unidade é palavra(s)Tipo de dados Modbus Tipo de dados Modbus.
Opções: Booleano, Inteiro, Inteiro não assinado, FlutuanteTroca de dados O campo Troca de dados determina a ordem em que os bytes específicos dos dados recebidos/transmitidos são entregues.
Nenhum: Não troque; Palavra: 0x01, 0x02 torna-se 0x02, 0x01;
Palavra dupla: 0x01, 0x02, 0x03, 0x04 torna-se 0x04, 0x03, 0x02, 0x01.
Palavra Dupla – Quadro: 0x01, 0x02, 0x03, 0x04 torna-se 0x04, 0x03, 0x02, 0x01.
Palavra quádrupla: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07980 torna-se 0x07980, 0x05, 0x06, 0x03, 0x04, 0x01, 0x02.troca de bytes Opção: Verdadeiro, Falso
Quando a opção é True: 0x01, 0x02 torna-se 0x01, 0x02.
0x01, 0x02, 0x03, 0x04 torna-se 0x01, 0x02, 0x03, 0x04.Tipo de dados MQTT Tipo de dados MQTT.
Opções: Booleano, Inteiro, Inteiro não assinado, Flutuante, Inteiro longo, Não assinadoMultiplicador O valor usado para multiplicar o valor dos dados. Desvio O valor usado para adicionar/subtrair o valor dos dados. Intervalo de pesquisa (ms) Intervalo de pesquisa Modbus, unidade: milissegundos.
O intervalo de valores: 1 10000000Enviar quando alterar Selecione que os dados sejam enviados imediatamente quando ocorrer alteração no escravo modbus.
Opções: Sim, NãoCampo personalizado Valor de definição personalizada Campo Personalizado2 Valor de definição personalizada Enviar grupo Defina o número do grupo para múltiplas mensagens MQTT como uma mensagem.
A faixa de valores é de 0 a 500. Quando o valor é 0, esse recurso fica desabilitado.Intervalo de envio Intervalo de envio de mensagens MQTT para o grupo em segundos. O intervalo de valores é de 1 a 10000 segundos. Tabela 2:Descrição dos itens de configuração
O CSV file pode ser importado para o roteador Advantech na configuração do aplicativo do roteador WEB página. Depois de importar CSV file e clique no botão “Salvar”, a nova configuração de mapeamento entrará em vigor imediatamente.
1.3Tabela de mapeamento
O mapeamento Modbus/TCP para MQTT será mostrado na Tabela de Mapeamento WEB página.
Formato de dados 1.4MQTT
Quando Modbus/TCP FC for 1, 2, 3 ou 4, Modbus para MQTT funcionará como editor MQTT para postar dados Modbus/TCP em formato JSON para o corretor MQTT. Quando Modbus/TCP FC for 5, 6, 15 ou 16, Modbus para MQTT funcionará como assinante MQTT para solicitar informações de assinatura e encaminhar os dados para o dispositivo Modbus/TCP.
Aqui estão os examparquivo de dados MQTT que é publicado do Modbus para o MQTT.
Observe que o Modbus para MQTT verifica apenas os campos de tópico, nome e valor das informações de assinatura recebidas.

Você pode obter documentos relacionados ao produto no Portal de Engenharia em icr.advantech.cz endereço.
Para obter o Guia de início rápido, Manual do usuário, Manual de configuração ou Firmware do seu roteador, vá para o Modelos de roteador página, encontre o modelo necessário e mude para a guia Manuais ou Firmware, respectivamente.
Os pacotes e manuais de instalação dos aplicativos do roteador estão disponíveis no Aplicativos de roteador página.
Para os Documentos de Desenvolvimento, vá para o Zona de desenvolvimento página.
Manual Modbus para MQTT
Documentos / Recursos
![]() |
Aplicativo ADVANTECH Modbus para roteador MQTT [pdf] Guia do Usuário Modbus para aplicativo de roteador MQTT, Modbus, para aplicativo de roteador MQTT, aplicativo de roteador MQTT, aplicativo de roteador |




