Modernizando o Chão de Fábrica: Como transformei um sistema legado em Perl num BI Industrial em tempo real
Muitas vezes, a indústria é vista como um lugar de tecnologias "imortais". Recentemente, trabalhei com teares da Toyota que utilizam um sistema de monitoramento nativo chamado TMS, escrito em Perl (CGI).
Embora robusto na coleta, o front-end original era datado: tabelas estáticas, sem responsividade e totalmente dependente de refresh manual e planilhas dinâmicas no Excel para gerar qualquer visão gerencial.
O Desafio
A tecelagem precisava de monitoramento em tempo real em TVs no chão de fábrica e dashboards de BI para a diretoria. As soluções de mercado eram caras e exigiam aluguel de hardware proprietário.
Minha abordagem: Refatorar o sistema atual para modernizar a interface e criar um pipeline de dados (ETL) para um banco de dados MariaDB, sem custos extras de hardware.
A Arquitetura da Solução
- Front-end Moderno e Responsivo
Mantive o motor em Perl/CGI para garantir a compatibilidade, mas injetei uma interface moderna diretamente no script:
CSS Grid & Flexbox: Substituí as tabelas antigas por cards dinâmicos.
Dark/Light Mode: Implementado via parâmetros de URL.
Status em Cores: Cada status (Run, Weft Stop, Warp Stop) tem uma cor específica, facilitando a identificação visual rápida pelos operadores.
- Performance com Paralelismo
Um ponto crítico era o tempo de resposta. Consultar dezenas de teares um por um via HTTP tornaria o dashboard lento. Como o Perl é antigo, utilizei uma técnica de paralelismo via Pipes:
Perl
if( open($pipe,"..\\bin\\httpc.exe \"$ip\" \"$path\" > \"$tmpfile\" |") ){
push(@get_list,[$ip,$pipe,$tmpfile]);
}
Isso permite que o servidor dispare várias requisições ao mesmo tempo, processando os resultados conforme eles chegam nos arquivos temporários.
- Pipeline de Dados e BI
Além da tela em tempo real, criei um processo de ETL:
Extração: O sistema lê os arquivos .txt gerados pelos teares.
Carga: Os dados são tratados e injetados em um banco MariaDB.
Visualização: Conectei o Looker Studio ao MariaDB para criar dashboards de eficiência por turno, paradas de máquina e tempo médio de atendimento (MTTR).
Resultados Obtidos
Custo Zero: Aproveitamos a infraestrutura existente e software Open Source.
Decisão em Tempo Real: Operadores agora agem mais rápido graças às TVs no chão de fábrica que mostram a eficiência e alertas instantaneamente.
Gestão na Palma da Mão: O layout é 100% responsivo, permitindo que a diretoria acompanhe a produção de qualquer dispositivo.
Essa experiência reforça que, às vezes, a melhor solução não é substituir o sistema antigo, mas sim construir uma camada de inteligência e interface moderna sobre ele.
Repositório: https://github.com/devtiagoabreu/tms_toyota