Plastik enjeksiyon izleme, yalnızca parça saymak değil, her baskının proses parmak izini yakalamak anlamına gelir. Bu kullanım senaryosu; baskı başına çevrim süresi, yastık, basınç ve sıcaklıkların MQTT üzerinden nasıl yayınlanacağını, her baskının kendi yakın geçmişiyle nasıl karşılaştırılacağını ve proses sapmaya başladığında ekibin nasıl uyarılacağını gösteriyor. Sonuç; eksik dolum, çapak ve boyutsal sorunların daha erken tespiti ve her parçanın üretildiği andaki prosesin net bir kaydıdır.
Kalıplamada Baskı Seviyesindeki Veri Neden Önemlidir?
Bir plastik enjeksiyon makinesi kendini tekrar etmekte çok iyidir; ta ki tekrar edemeyene kadar. Malzeme nemi değişir, bir ısıtıcı rezistans bozulur, bir çek valf (check ring) aşınır ya da kalıp bir duruştan sonra ısınır. Bunların her biri önce bir proses değerinde küçük bir kayma olarak, çoğu zaman görünür bir hatadan birkaç baskı önce ortaya çıkar. Parçaları yalnızca saat sonunda kontrol eden tesisler sorunu, onlarca ya da yüzlerce parça zaten kutuya girdikten sonra fark eder.
Baskı seviyesinde izleme zamanlamayı değiştirir. Her çevrim kendi değerlerini yayınladığında bir abone, mevcut baskıyı son 50 baskıyla karşılaştırabilir ve tek bir çevrim içinde tepki verebilir. Bu aynı zamanda kalite mühendislerine kanıt sağlar: bir müşteri şikâyeti geldiğinde tahmin yürütmek yerine o lotun proses verisine bakabilirsiniz.
Yakalamaya Değer Proses Değerleri
Makineler onlarca değer sunar. Hataları en sık açıklayanlar şunlardır:
| Değer | Bir kayma genellikle ne anlama gelir |
|---|---|
| Çevrim süresi | Operatör müdahalesi, robot veya konveyör gecikmesi, soğutma değişikliği |
| Enjeksiyon (dolum) süresi | Viskozite değişimi: malzeme nemi, eriyik sıcaklığı, kırma (regrind) oranı |
| Tepe enjeksiyon basıncı | Dolum süresiyle aynı ya da kısmen tıkalı bir giriş (gate) veya meme |
| Yastık | Çek valf kaçağı veya tutarsız baskı hacmi; çok düşük yastık eksik dolum riski taşır |
| Vida geri dönüş (plastikleştirme) süresi | Besleme sorunları, haznede malzeme köprülenmesi, vida aşınması |
| Geçiş konumu veya basıncı | Ütüleme fazını etkileyen geçiş (switchover) tutarsızlığı |
| Kovan bölge sıcaklıkları | Isıtıcı rezistans veya termokupl arızası |
| Kalıp sıcaklıkları (sabit ve hareketli yarım) | Sıcaklık kontrol ünitesi arızası, tıkalı soğutma kanalı |
| Ütüleme basıncı ve süresi | Çökme izlerini ve boyutları etkileyen ayar değeri değişiklikleri |
Çevrim süresi, dolum süresi, tepe basınç, yastık ve geri dönüş süresiyle başlayın. Bunlar her baskıda makine kontrolöründen gelir ve birlikte proses sapmalarının çoğunu yakalar.
Veriyi Makineden Almak
Modern makineler genellikle şu arayüzlerden birini sunar:
- Euromap 77 tamamlayıcı spesifikasyonuna göre OPC UA. Daha yeni makinelerin çoğu, çevrim parametreleri için standartlaştırılmış bir bilgi modeli sağlar. Edge'deki bir OPC UA istemcisi çevrim değerlerine abone olur ve yeni bir çevrim tamamlandığında bunları MQTT'ye yayınlar.
- Eski Euromap arayüzleri veya üretici protokolleri. Bazı eski makineler baskı verisini dosya tabanlı veya tescilli arayüzler üzerinden sunar. Bir gateway bunları okur ve veriyi normalize eder.
- Sonradan eklenen sensörler. Kontrolör hiçbir şey sunmuyorsa, kalıp açık çıkışından bir çevrim sinyali ile termokupllar veya küçük bir PLC ya da ESP32 üzerinden bir kalıp sıcaklığı okuması ekleyin. Basınç eğrilerini kaybedersiniz ama yine de çevrim süresi ve sıcaklıkları elde edersiniz.
MQTT ile endüstriyel IoT rehberi gateway modelini genel olarak açıklıyor. Buradaki kilit nokta, bir zamanlayıcıyla örneklenen bir değer akışı değil, çevrim sonuyla tetiklenen, baskı başına tek ve eksiksiz bir mesaj yayınlamaktır.
Mesaj Tasarımı: Bir Baskı, Bir Mesaj
Makine başına bir topic ve her kaydın kendini tanımlaması için baskı numarası, kalıp ve malzemeyi taşıyan bir payload kullanın:
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"
}
Birimleri makineler arasında tutarlı tutun (saniye, bar, milimetre, Celsius) ve bir kez belgeleyin. Kısa bir ağ kesintisinin baskı kaybettirmemesi için QoS 1 ile yayınlayın; gateway arabelleğe alır ve broker her mesajı onaylar. Tesisiniz zaten Sparkplug B kullanıyorsa ConnectMQ bunu çözüp ISA-95 topic'lerine yeniden yayınlayabilir; böylece bir enjeksiyon hücresinin kendi yerel formatını değiştirmesi gerekmez.
Sapmayı Her Baskıda Tespit Etmek
Aşağıdaki abone, makine başına son baskıların kayan bir penceresini tutar ve pencere ortalamasından üç standart sapmadan fazla uzaklaşan her değeri işaretler. Bilerek basit tutulmuştur: model eğitimi yok, referans olarak yalnızca makinenin kendi yakın davranışı kullanılır. İşaretlenen baskıları; bir pano, andon lambası veya mesajlaşma aracının abone olabileceği bir alert topic'ine yayınlar.
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()
Pratikten birkaç ayar notu:
- Kalıp veya malzeme değiştiğinde pencereyi temizleyin; aksi halde yeni iş eskisine göre değerlendirilir.
molddeğerini son baskıyla karşılaştırın ve değişimde sıfırlayın. - Bir duruştan sonraki ilk baskıları göz ardı edin. Kalıbın ve kovanın dengelenmesi zaman alır ve bu baskılar çoğu zaman zaten hurdaya ayrılır.
- Bazı parametreler sabit limitleri de hak eder. Sıfıra yakın bir yastık, yavaşça kaymış olsa bile bir sorundur; çünkü kayan ortalama yavaş sapmayı takip eder. İstatistiksel kontrolü proses föyündeki mutlak limitlerle eşleştirin.
- İşaretlenen her baskıda uyarı vermeyin. Birini çağırmadan önce son beş baskıdan ikisinin aralık dışında olmasını şart koşun, aksi halde uyarılar bir hafta içinde sessize alınır.
Kontrol kartları ve çalışma kurallarına daha derinlemesine bir bakış için gerçek zamanlı SPC yazısına bakın.
Ekip Veriyle Ne Yapar?
İzleme, ancak sahadaki davranışı değiştirdiğinde karşılığını verir. Tipik iş akışları:
- Ayarcılar, yastık veya dolum süresi saptığında hücrenin andon lambasında bir uyarı alır ve hurda birikmeden önce malzeme kurutmayı ve çek valfi kontrol eder.
- Kalite, baskı verisini lot numaralarına bağlar ve bir vardiyanın tüm üretimi yerine yalnızca etkilenen zaman aralığını karantinaya alabilir.
- Üretim planlama, teklif edilen değerler yerine kalıp başına gerçek çevrim sürelerini kullanır; bu da planları ve teklifleri daha gerçekçi hale getirir. Çevrim süresi izleme yazısı bu konuyu daha ayrıntılı ele alıyor.
- Bakım, vida ve ısıtıcı çalışmalarını planlamak için geri dönüş süresi ve kovan ısıtıcı görev oranı gibi yavaş trendleri izler.
Aynı makinelerden gelen çevrim ve durum verisi OEE'yi de besler: baskı sayısı çıktıyı, çevrim süresi performansı verir; işaretlenen baskılar ise kalite kaybına yaklaşık bir değer sunar.
Pilotun Ötesinde Çalıştırmak
broker.connectmq.com adresindeki herkese açık broker, fikri bir simülatörle kanıtlamak için uygundur; ancak herkese açık alanı herkes tarafından okunabilir ve enjeksiyon parametreleri paylaşmamanız gereken proses bilgisidir. Gerçek hücre için ConnectMQ üzerinde özel bir broker oluşturun ve her gateway'i 8883 portunda TLS üzerinden kendi kullanıcı adı, parolası ve client ID'siyle bağlayın. Tam yönetilen bir MQTT hizmeti, tesis ekibinden kimsenin broker'ın bakımını yapmak zorunda kalmaması demektir; onu bulutta bir MQTT broker olarak çalıştırmak ise kurumsal kalite ekibinin tesisle aynı baskı verisini görmesini sağlar. Portalın eşik uyarı kuralları basit mutlak limitleri karşılayabilir; istatistiksel kontrol ise kendi abonenizde çalışır. Bunun daha geniş bir programa nasıl oturduğunu görmek için akıllı üretim rehberini okuyun.
ConnectMQ ile Başlayın
Kredi kartı olmadan Serverless planında app.connectmq.com adresinde ücretsiz bir broker oluşturun, bir enjeksiyon makinesinin gateway'ini ve sapma abonesini bağlayın ve ilk baskı seviyesindeki uyarılarınızı bu hafta görün.
Sık Sorulan Sorular
Plastik enjeksiyon izlemede en kullanışlı tek değer hangisidir?
Yastık ve dolum süresi birlikte proses sorunlarının büyük bir kısmını yakalar, çünkü hem baskı tutarlılığını hem de malzeme viskozitesini yansıtırlar. Çevrim süresi tek başına size kaliteyi değil, verimliliği anlatır.
Tam basınç eğrilerini MQTT üzerinden aktarmalı mıyım?
Başlangıçta genellikle hayır. Baskı başına özet değerler küçüktür ve ihtiyaçların çoğunu karşılar; tam eğrileri yalnızca kritik parçalar için yakalayın ve broker planınızın mesaj boyutu sınırları içinde tutun.
OPC UA'sı olmayan eski makineler izlenebilir mi?
Evet. Bir kalıp açık sinyali çevrim süresini ve adedi, eklenen termokupllar ise sıcaklıkları verir. Daha az değer yayınlarsınız, ancak MQTT hattı aynıdır.
Kalıp değişiminden sonra yanlış alarmlardan nasıl kaçınırım?
Kalıp veya malzeme değiştiğinde kayan referansı sıfırlayın ve ilk dengelenme baskılarını atlayın. İstatistiksel kontrolleri proses föyündeki sabit limitlerle birleştirin.



