Manufatura inteligente

Monitoramento de Injeção Plástica com IoT: Detecte Defeitos Ciclo a Ciclo

Um caso de uso prático de monitoramento de injeção plástica: publique uma mensagem MQTT por injeção com tempo de ciclo, colchão, pressão e temperaturas e sinalize as injeções que derivam antes que as peças ruins se acumulem.

Ilustração de monitoramento de injeção plástica com uma injetora enviando dados de pressão, colchão e temperatura de cada injeção via MQTT para um gráfico de qualidade
Rode isso no seu próprio broker MQTTTenha um broker MQTT privado e gerenciado no plano Free e comece com exemplos de código prontos.
Teste grátis Exemplos de código Sem cartão de crédito

Monitoramento de injeção plástica significa capturar a impressão digital do processo em cada injeção, e não apenas contar peças. Este caso de uso mostra como publicar via MQTT o tempo de ciclo, o colchão, a pressão e as temperaturas de cada injeção, comparar cada ciclo com o seu próprio histórico recente e alertar a equipe quando o processo começa a derivar. O resultado é a detecção mais cedo de peças incompletas, rebarbas e problemas dimensionais, com um registro claro de como estava o processo quando cada peça foi feita.

Por que os dados por injeção importam na moldagem

Uma injetora é muito boa em se repetir, até deixar de ser. A umidade do material muda, uma resistência de aquecimento queima, um anel de bloqueio se desgasta ou o molde esquenta depois de uma parada. Cada um desses eventos aparece primeiro como uma pequena mudança em um valor de processo, muitas vezes várias injeções antes de um defeito visível. Plantas que só inspecionam peças no fim de cada hora descobrem o problema quando dezenas ou centenas de peças já estão na caixa.

O monitoramento por injeção muda esse tempo. Quando cada ciclo publica seus valores, um assinante pode comparar a injeção atual com as últimas 50 e reagir em um único ciclo. Ele também dá evidências à engenharia de qualidade: quando chega uma reclamação de cliente, você consulta os dados de processo daquele lote em vez de adivinhar.

Os valores de processo que vale a pena capturar

As máquinas expõem dezenas de valores. Estes são os que mais frequentemente explicam defeitos:

Valor O que uma mudança geralmente significa
Tempo de ciclo Intervenção do operador, atraso do robô ou da esteira, mudança no resfriamento
Tempo de injeção (preenchimento) Mudança de viscosidade: umidade do material, temperatura do fundido, proporção de moído
Pressão de injeção de pico O mesmo que o tempo de preenchimento, ou um ponto de injeção ou bico parcialmente obstruído
Colchão Vazamento no anel de bloqueio ou dosagem inconsistente; colchão muito baixo traz risco de peça incompleta
Tempo de dosagem (plastificação) Problemas de alimentação, material formando ponte no funil, desgaste da rosca
Posição ou pressão de comutação Comutação inconsistente afetando o recalque
Temperaturas das zonas do cilindro Falha de resistência ou de termopar
Temperaturas do molde (lado fixo e móvel) Falha no termorregulador, canal de refrigeração obstruído
Pressão e tempo de recalque Mudanças de setpoint que afetam chupados e dimensões

Comece por tempo de ciclo, tempo de preenchimento, pressão de pico, colchão e tempo de dosagem. Eles vêm do controlador da máquina a cada injeção e, juntos, pegam a maior parte das derivas de processo.

Tirando os dados da máquina

Máquinas modernas costumam oferecer uma destas interfaces:

  • OPC UA conforme a companion specification Euromap 77. Muitas máquinas mais novas fornecem um modelo de informação padronizado para os parâmetros de ciclo. Um cliente OPC UA na borda assina os valores do ciclo e os publica no MQTT quando um novo ciclo termina.
  • Interfaces Euromap mais antigas ou protocolos do fabricante. Algumas máquinas legadas expõem os dados de injeção por interfaces baseadas em arquivo ou proprietárias. Um gateway os lê e normaliza os dados.
  • Sensores de retrofit. Se o controlador não oferece nada, adicione um sinal de ciclo a partir da saída de molde aberto, além de termopares ou uma leitura de temperatura do molde, por meio de um pequeno CLP ou ESP32. Você perde as curvas de pressão, mas ainda obtém tempo de ciclo e temperaturas.

O guia de IoT industrial com MQTT explica o padrão de gateway de forma geral. O ponto principal aqui é publicar uma mensagem completa por injeção, disparada pelo fim do ciclo, e não um fluxo de valores amostrados por temporizador.

Projeto da mensagem: uma injeção, uma mensagem

Use um topic por máquina e um payload que traga o número da injeção, o molde e o material, para que cada registro seja autodescritivo:

connectmq/demo/<your-id>/plant1/molding/imm07/shot
{
  "shot": 48211,
  "mold": "M-2231",
  "material": "PP-H 12 MFI",
  "cycle_time": 18.42,
  "fill_time": 0.86,
  "peak_pressure": 1065,
  "cushion": 4.8,
  "recovery_time": 6.1,
  "barrel": [205, 215, 225, 230],
  "mold_temp": {"fixed": 41.2, "moving": 43.0},
  "ts": "2026-10-16T08:21:44.120Z"
}

Mantenha as unidades consistentes entre as máquinas (segundos, bar, milímetros, Celsius) e documente-as uma vez. Publique com QoS 1 para que uma breve instabilidade de rede não faça perder injeções; o gateway armazena em buffer e o broker confirma cada mensagem. Se a sua planta já usa Sparkplug B, a ConnectMQ pode decodificá-lo e republicar em topics ISA-95, de modo que uma célula de injeção não precise mudar seu formato nativo.

Detectando a deriva injeção a injeção

O assinante abaixo mantém uma janela móvel das injeções recentes por máquina e sinaliza qualquer valor que se afaste mais de três desvios-padrão da média da janela. Ele é propositalmente simples: nada de treinamento de modelo, apenas o próprio comportamento recente da máquina como referência. Ele publica as injeções sinalizadas em um topic alert, que um dashboard, uma luz de andon ou uma ferramenta de mensagens pode assinar.

import json
import statistics
from collections import defaultdict, deque

import paho.mqtt.client as mqtt

PREFIX = "connectmq/demo/r5t1w8/plant1/molding"
WATCH = ["cycle_time", "fill_time", "peak_pressure", "cushion", "recovery_time"]
WINDOW = 50
MIN_SHOTS = 20
SIGMA = 3.0

history = defaultdict(lambda: {k: deque(maxlen=WINDOW) for k in WATCH})


def on_connect(client, userdata, flags, reason_code, properties):
    client.subscribe(f"{PREFIX}/+/shot", qos=1)


def on_message(client, userdata, msg):
    machine = msg.topic.split("/")[-2]
    shot = json.loads(msg.payload)
    issues = []
    for key in WATCH:
        value = shot.get(key)
        if value is None:
            continue
        window = history[machine][key]
        if len(window) >= MIN_SHOTS:
            mean = statistics.fmean(window)
            sd = statistics.pstdev(window) or 1e-9
            z = (value - mean) / sd
            if abs(z) > SIGMA:
                issues.append({"param": key, "value": value, "mean": round(mean, 3), "z": round(z, 1)})
        window.append(value)
    if issues:
        alert = {"machine": machine, "shot": shot.get("shot"), "mold": shot.get("mold"), "issues": issues}
        client.publish(f"{PREFIX}/{machine}/alert", json.dumps(alert), qos=1)
        print("ALERT", alert)


client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2, client_id="molding-watch-r5t1w8")
client.on_connect = on_connect
client.on_message = on_message
client.connect("broker.connectmq.com", 1883, keepalive=30)
client.loop_forever()

Algumas notas de ajuste tiradas da prática:

  1. Limpe a janela quando o molde ou o material mudar; caso contrário, o novo trabalho é julgado em comparação com o anterior. Compare mold com a última injeção e reinicie na mudança.
  2. Ignore as primeiras injeções após uma parada. Molde e cilindro precisam de tempo para estabilizar, e essas injeções costumam ser descartadas de qualquer forma.
  3. Alguns parâmetros também merecem limites fixos. Um colchão perto de zero é um problema mesmo que tenha caído devagar, porque a média móvel acompanha derivas lentas. Combine a verificação estatística com limites absolutos da ficha de processo.
  4. Não alerte a cada injeção sinalizada. Exija que duas das últimas cinco injeções estejam fora da faixa antes de chamar alguém, ou os alertas serão silenciados em uma semana.

Para um olhar mais profundo sobre cartas de controle e regras de sequência, veja CEP em tempo real.

O que a equipe faz com os dados

O monitoramento só se paga quando muda o comportamento no chão de fábrica. Fluxos de trabalho típicos:

  • Preparadores recebem um alerta na luz de andon da célula quando o colchão ou o tempo de preenchimento derivam, e verificam a secagem do material e o anel de bloqueio antes que o refugo se acumule.
  • A qualidade vincula os dados de injeção aos números de lote e pode segregar apenas a janela de tempo afetada, em vez da produção de um turno inteiro.
  • O PCP usa os tempos de ciclo reais por molde, em vez dos orçados, o que torna programações e orçamentos mais realistas. O artigo de monitoramento do tempo de ciclo se aprofunda nisso.
  • A manutenção acompanha tendências lentas, como o tempo de dosagem e o ciclo de trabalho das resistências do cilindro, para planejar intervenções na rosca e nas resistências.

Os dados de ciclo e de estado das mesmas máquinas também alimentam o OEE: a contagem de injeções dá a produção, o tempo de ciclo dá o desempenho e as injeções sinalizadas aproximam a perda de qualidade. Com o tempo, esse histórico por injeção também pode alimentar um gêmeo digital da célula de injeção.

Indo além do piloto

O servidor MQTT público em broker.connectmq.com serve para provar a ideia com um simulador, mas sua área pública pode ser lida por qualquer pessoa, e os parâmetros de moldagem são know-how de processo que você não deve compartilhar. Para a célula real, crie um broker privado na ConnectMQ e conecte cada gateway com seu próprio usuário, senha e client ID via TLS na porta 8883. Um broker MQTT gerenciado significa que ninguém na equipe da planta precisa manter o broker, e rodá-lo como broker MQTT na nuvem permite que a equipe corporativa de qualidade veja os mesmos dados de injeção que a planta, seja em Joinville ou em Manaus. As regras de alerta por limite do portal podem cobrir os limites absolutos simples, enquanto a verificação estatística roda no seu próprio assinante. Para ver onde isso se encaixa em um programa mais amplo, leia o guia de manufatura inteligente.

Comece com a ConnectMQ

Crie um broker gratuito em app.connectmq.com no plano Serverless, sem cartão de crédito, conecte o gateway de uma injetora e o assinante de deriva e veja seus primeiros alertas por injeção ainda esta semana.

Perguntas frequentes

Qual é o valor isolado mais útil no monitoramento de injeção plástica?

Colchão e tempo de preenchimento, juntos, pegam uma grande parte dos problemas de processo, porque refletem tanto a consistência da dosagem quanto a viscosidade do material. O tempo de ciclo sozinho fala de produtividade, não de qualidade.

Devo transmitir as curvas de pressão completas via MQTT?

Geralmente não, no início. Valores-resumo por injeção são pequenos e cobrem a maioria das necessidades; capture curvas completas apenas para peças críticas e mantenha-as dentro do limite de tamanho de mensagem do seu plano de broker.

É possível monitorar máquinas mais antigas sem OPC UA?

Sim. Um sinal de molde aberto dá o tempo de ciclo e a contagem, e termopares adicionais dão as temperaturas. Você publica menos valores, mas o pipeline MQTT é idêntico.

Como evitar alarmes falsos depois de uma troca de molde?

Reinicie a referência móvel quando o molde ou o material mudar e pule as primeiras injeções de estabilização. Combine verificações estatísticas com limites fixos da ficha de processo.

Artigos relacionados

OEE vs TEEP vs OOE: qual indicador você deve usar?

OEE, OOE e TEEP compartilham os mesmos fatores de desempenho e qualidade, mas medem contra bases de tempo diferentes. Esta comparação resolve um único exemplo e lista os sinais MQTT de que cada indicador precisa.

8 min de leitura

Todos os artigos →

Seu broker MQTT privado está a poucos cliques de distância

Crie uma conta, receba as credenciais do seu broker e conecte seu primeiro dispositivo — sem servidores para instalar, atualizar ou escalar.