Indústria 4.0 com Factory IO, ESP32, OpenPLC e Flutter

Introdução

A Indústria 4.0 representa a integração entre sistemas ciberfísicos, IoT e automação inteligente, permitindo a comunicação contínua entre máquinas, sensores e sistemas supervisórios.

Este artigo apresenta um projeto didático que une supervisão e controle: uma HMI em Flutter troca mensagens via MQTT com um ESP32, que por sua vez se comunica via Modbus/TCP com o OpenPLC executando a lógica em Structured Text (IEC 61131-3). A solução acelera o ciclo editar-testar-ajustar e serve de base para provas de conceito (POCs), treinamentos e bancadas de ensino que utilizam o Factory I/O como simulador de planta, mantendo boas práticas de engenharia de software, como versionamento e automação.

Arquitetura do sistema

Componentes principais:

  • HMI Flutter (mobile/web/desktop) – publica comandos e assina telemetria via MQTT.
  • Broker MQTT (Mosquitto) – mensageria entre o APLICATIVO e ESP32.
  • ESP32 – ponte MQTT↔Modbus, falando com o OpenPLC.
  • OpenPLC Runtime – executa o programa ST simulando um CLP.
  • Factory I/O – emula a planta conectando-se ao OpenPLC por Modbus/TCP.
Indústria 4.0 com Factory IO, ESP32, OpenPLC e Flutter
Figura 1 – Arquitetura/fluxo

Observação: Tudo está na mesma rede, e no caso o Mosquitto, OpenPLC e Factory IO no mesmo computador.

Problemas com REAL (float) no OpenPLC/Modbus

Durante o desenvolvimento, foi identificado um problema comum em integrações envolvendo o tipo REAL (float) no Modbus, especialmente ao comunicar com diferentes versões do OpenPLC e drivers Modbus.

Embora o OpenPLC suporte o tipo REAL internamente, enviar/receber floats por Modbus costuma gerar dor de cabeça: nem todas as versões expõem REAL em holding registers, existem variações de endianness (ordem dos words/bytes) e inconsistências entre drivers e CLPs. Para fugir disso, foi padronizado tudo em ponto fixo: números reais são codificados como inteiros com escala ×10000 (S32). No lado do PLC, combinamos dois registradores INT (LO/HI) em um DINT, convertemos para REAL e dividimos por 10000. O inverso é feito para publicar PV em LO/HI.

Trecho em ST(Structed Text) para reconstruir Kp/Ki/Kd e SP a partir de LO/HI ×10000:

_loDW   := WORD_TO_DWORD(INT_TO_WORD(Kp_lo));
_hiDW   := SHL(WORD_TO_DWORD(INT_TO_WORD(Kp_hi)), 16);
_raw_dw := _loDW OR _hiDW;
_raw_di := DWORD_TO_DINT(_raw_dw);
Kp := DINT_TO_REAL(_raw_di) / 10000.0;

(* Repete para Ki/Kd *)

Basicamente, o controle PID é feito da seguinte forma:

Indústria 4.0 com Factory IO, ESP32, OpenPLC e Flutter

Para mais detalhes, conferir o link do GitHub que contém o projeto do OpenPLC e suas variáveis e tipos.

Configurações do Factory IO

Ao fazer o download do arquivo de projeto do Factory IO (.factoryio) no GitHub, irá vim tudo configurado, será somente necessário trocar o ‘Host’ para o IP do seu computador (ir em Drivers e depois Configuration).

Indústria 4.0 com Factory IO, ESP32, OpenPLC e Flutter

Código Completo, Demonstrações e Contribuições

Todos os projetos estão no github (FactoryIO, ESP32, Flutter e OpenPLC). Caso tenha interesse em contribuir, sinta-se à vontade para enviar sugestões e melhorias!

Vídeo de demonstração

GitHub: https://github.com/Silvio347/industry4.0-factoryio-esp32-flutter-openplc

Considerações Finais

O projeto demonstrou que é possível integrar tecnologias abertas e acessíveis para compor um ecossistema completo de Indústria 4.0, unindo supervisão, controle e simulação.
A padronização em ponto fixo (S32 ×10000) simplificou a interoperabilidade entre os sistemas, evitando erros de endianness e garantindo robustez na comunicação.
O sistema fecha o ciclo HMI ↔ MQTT ↔ ESP32 ↔ OpenPLC ↔ Factory I/O, servindo como base sólida para futuras expansões, como registro histórico de dados, alarmes, digital twins e testes automatizados.

Referências

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Comentários:
Notificações
Notificar
0 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Home » Internet Das Coisas » Indústria 4.0 com Factory IO, ESP32, OpenPLC e Flutter

EM DESTAQUE

WEBINARS

VEJA TAMBÉM

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Talvez você goste: