Upnetix Labs · protocolo de experimento
Protocolo: Qual o tempo de latência de leitura e escrita de variáveis entre OpenPLC e Grafana via MQTT?
Este protocolo mede a latência de comunicação entre o OpenPLC e um painel Grafana, usando MQTT como transporte. O objetivo é quantificar o tempo entre a publicação de uma variável no OpenPLC e sua visualização no Grafana.

Qual é a latência média e máxima de atualização de variáveis do OpenPLC visualizadas no Grafana via MQTT?
Hipótese
A latência média de leitura e escrita via MQTT entre OpenPLC e Grafana permanece abaixo de 200 ms em uma rede local dedicada.
Variáveis
| Independentes (o que varia) | Tamanho da mensagem MQTT (bytes); Frequência de atualização da variável (Hz) |
|---|---|
| Dependentes (o que se mede) | Latência de atualização (ms) |
| Controladas (o que fica fixo) | Topologia de rede (local, cabeada); Configuração do broker MQTT; Versão do OpenPLC; Versão do Grafana; Hardware dos dispositivos |
Ambiente
Rede local cabeada dedicada (por exemplo, em uma rede de fibra dedicada como a da Upnetix), OpenPLC rodando em Raspberry Pi ou VM Linux, broker MQTT (Mosquitto), Grafana com plugin MQTT, ferramenta de medição de tempo (tcpdump ou Wireshark para timestamp, script Python para marcação de eventos).
Procedimento
- Configurar OpenPLC
Configurar um projeto simples no OpenPLC que publica o valor de uma variável em um tópico MQTT a cada 1 segundo.
- Configurar broker MQTT
Instalar e iniciar Mosquitto em um servidor da rede local.
sudo apt install mosquitto; sudo systemctl start mosquitto - Configurar Grafana
Instalar Grafana e plugin MQTT, criar painel para exibir a variável publicada.
Consulte a documentação do plugin MQTT para Grafana - Instrumentar medição
Utilizar tcpdump ou Wireshark para capturar pacotes MQTT entre OpenPLC e Grafana, marcando timestamp de envio e recebimento.
sudo tcpdump -i eth0 port 1883 -w mqtt_traffic.pcap - Variar tamanho da mensagem
Alterar o payload da variável para diferentes tamanhos (por exemplo, 8, 64, 256 bytes) e repetir o teste.
- Variar frequência de atualização
Configurar o OpenPLC para publicar a variável em frequências diferentes (1 Hz, 5 Hz, 10 Hz).
- Repetir medições
Executar cada combinação de tamanho e frequência por 5 vezes, coletando os timestamps de envio e recebimento.
Planilha de coleta
| tamanho_mensagem (bytes) | frequencia_atualizacao (Hz) | latencia_ms (ms) |
|---|---|---|
| EXEMPLO: 64, 5, 142 | ||
Repetições recomendadas: 5. Baixe a planilha vazia em CSV: colunas prontas.
Análise
Calcule a média, mediana e desvio padrão da latência para cada combinação de tamanho de mensagem e frequência. Compare os resultados para identificar padrões de aumento de latência. Analise o percentil 95 para detectar picos.
Critérios de decisão
- Latência média abaixo de 200 ms para aplicações industriais típicas.
- Ausência de picos acima de 500 ms em 95% das amostras.
- Consistência dos resultados entre repetições.
Fontes de erro e mitigação
- Congestionamento de rede pode afetar a latência; use rede dedicada.
- Timestamp incorreto devido a clocks desalinhados; sincronize NTP em todos os dispositivos.
- Bufferização do Grafana pode mascarar latência real; valide a configuração do painel.
Referências
- Grafana Documentation · Grafana Labs (grafana.com)
- Publicado
- 09/09/2026
- Última revisão
- 09/09/2026
- Versão do conteúdo
- 1.0
- Referências
- 1 oficiais
- Revisão técnica
- redação e revisão por IA, URLs conferidas na publicação
- Status
- Atual
