Takım aşınması izleme, bir talaşlı imalat atölyesinin kesici takımları temkinli, sabit bir sayıya ulaşıldığında değil, gerçekten aşındıklarında değiştirmesini sağlar. Bu kullanım senaryosu, iş mili gücünü ve titreşimi kesim başına MQTT ile nasıl yayınlayacağınızı, her takım için bir aşınma indeksi nasıl oluşturacağınızı ve aşınmış bir takım hurda üretmeden veya kırılmadan önce takım değişimlerini verilere göre nasıl planlayacağınızı gösterir.
Sabit Takım Ömrünün Sorunu
Çoğu CNC atölyesi takım ömrünü bir sayaçla yönetir: belirli sayıda parça veya kesimde geçen belirli bir süre sonunda ucu değiştirin. Bu sayı temkinli seçilir; çünkü kırılan bir takım pahalı bir parçayı hurdaya çıkarabilir, iş miline veya fikstüre zarar verebilir ve makineyi planlı bir değişimden çok daha uzun süre durdurabilir.
Sonuç, iki yönde de yanlış olan bir uzlaşmadır. Malzeme yumuşak ve koşullar iyiyken takımlar kullanılabilir ömürleri varken atılır. Bir malzeme partisi daha sertse, bir soğutma sıvısı memesi yanlış hizalanmışsa veya bir uçta kusur varsa, takım sayaç dolmadan aşınır ve hasar yine de oluşur. Takım aşınması izleme, sabit sayacın yerine geçer veya en azından onu, her takımın gerçekte nasıl davrandığına dair bir ölçümle destekler.
Hangi Sinyaller Takım Aşınmasını Ortaya Çıkarır
Bir kesici kenar aşındıkça daha fazla sürtünür ve daha az temiz keser. Bu, ölçülebilir birkaç şekilde kendini gösterir:
| Sinyal | Aşınmayla nasıl değişir | Nasıl elde edilir |
|---|---|---|
| İş mili gücü veya yükü | Aynı operasyon için kademeli olarak artar | CNC kontrolcü verisi (iş mili yükü yüzdesi) veya iş mili sürücüsü beslemesinde bir güç transdüseri ya da akım trafosu |
| İlerleme ekseni yükü | Kesme kuvvetleri büyüdükçe artar | CNC kontrolcüsünün eksen yükü verisi |
| Titreşim | RMS ve yüksek frekans içeriği artar; tırlama (chatter) görülebilir | İş mili gövdesine takılan ivmeölçer |
| Akustik emisyon | Kesme bölgesinden gelen yüksek frekanslı emisyonda değişimler | Özel AE sensörü, çoğunlukla üst segment sistemlerde |
| Parça kalitesi | Ölçüler kayar, yüzey kalitesi bozulur | Proses içi ölçüm veya proses sonrası ölçüm |
İş mili gücü en pratik başlangıç noktasıdır. Birçok modern kontrolcü iş mili yükünü OPC UA, MTConnect veya bir üretici arayüzü üzerinden sunar; eski makinelerde ise iş mili sürücüsündeki bir güç ölçer, kontrole dokunmadan aynı bilgiyi verir. Titreşim, tek başına gücün kaçırabileceği kenar kırılmalarına ve tırlamaya karşı hassasiyet ekler. CNC makine izleme yazısı, farklı kontrolcülerden verilerin nasıl alınacağını ele alır.
Temel Fikir: Benzerini Benzeriyle Karşılaştırın
Ham iş mili gücü tek başına hiçbir anlam ifade etmez. Çelikte bir cebi kaba işlemek, aşınmadan bağımsız olarak alüminyumda bir yüzeyi finiş işlemekten çok daha fazla güç çeker. Bu nedenle takım aşınması izleme, her kesimi aynı takımın yeniyken yaptığı aynı operasyonla karşılaştırır.
Bu, her mesajda bağlam gerektirir:
- Takım kimliği (cep numarası veya daha iyisi, takım yönetim sisteminden bir takım tanımlayıcısı)
- Operasyon kimliği (program ve blok aralığı veya bir operasyon adı)
- Takım takıldığından beri geçerli takım için kesim sayacı
- Kesimin özellikleri: kesim sırasındaki ortalama güç, tepe güç, enerji, titreşim RMS
Kontrolcüyü ve sensörleri okuyan edge gateway, sinyali kesimlere böler. Basit bir yöntem, bilinen bir operasyon sırasında iş mili gücünün boşta eşiğini aştığı süreyi kesim olarak kabul etmek ve özellikleri yalnızca bu segment üzerinden hesaplamaktır. Boşta kesme (air cutting) ve hızlı hareketler hariç tutulur; bu da gürültünün çoğunu ortadan kaldırır.
Veri Akışı ve Payload
Tamamlanan her kesim bir mesaj üretir:
acme/plant1/machining/cell2/cnc4/tool/cut
{
"ts": "2026-10-16T10:42:18Z",
"tool_id": "T12-EM10-4F",
"operation": "OP20-rough-pocket",
"cut_no": 143,
"duration_s": 38.2,
"power_mean_kw": 4.61,
"power_peak_kw": 6.02,
"energy_kj": 176.1,
"vib_rms_g": 0.84
}
Takım değişimi, o cebin referans değerini sıfırlayan ayrı bir olaydır:
{"ts": "2026-10-16T11:05:00Z", "event": "tool_changed", "tool_id": "T12-EM10-4F", "reason": "wear_index"}
Ham örnekleri akıtmak yerine kesim başına yayınlamak trafiği küçük tutar ve her mesajı anlamlı kılar. Daha sonra analiz için ham dalga formlarına ihtiyaç duyarsanız bunları yerelde kaydedin ve yalnızca talep üzerine yayınlayın.
Python ile Aşınma İndeksi Servisi
Aşağıdaki servis, her yeni takım ve operasyonun ilk beş kesimi üzerinden referans ortalama gücü ve titreşimi öğrenir, ardından sonraki her kesim için bu referansa oranla bir aşınma indeksi hesaplar. Yumuşatılmış indeks bir uyarı veya değişim sınırını aştığında, bir dashboard'un veya operatör panelinin gösterebileceği bir öneri yayınlar. Genel test broker'ına karşı paho-mqtt 2.x kullanır.
import json
from collections import defaultdict, deque
import paho.mqtt.client as mqtt
PREFIX = "connectmq/demo/e93f10/cnc4"
BASELINE_CUTS = 5
WARN_INDEX = 1.20 # yeni takım gücünün %20 üzeri
CHANGE_INDEX = 1.35 # değişim öner
VIB_WEIGHT = 0.3 # birleşik indekste titreşimin payı
SMOOTH = 3 # son N kesimin medyanı
baseline = {} # (tool, op) -> (power, vib)
learning = defaultdict(list)
recent = defaultdict(lambda: deque(maxlen=SMOOTH))
status = {}
def on_connect(client, userdata, flags, reason_code, properties):
client.subscribe(f"{PREFIX}/tool/#", qos=1)
def on_message(client, userdata, msg):
d = json.loads(msg.payload)
if msg.topic.endswith("/event") and d.get("event") == "tool_changed":
for key in [k for k in baseline if k[0] == d["tool_id"]]:
baseline.pop(key)
recent.pop(key, None)
status.pop(key, None)
for key in [k for k in learning if k[0] == d["tool_id"]]:
learning.pop(key)
print("reset", d["tool_id"])
return
if not msg.topic.endswith("/cut"):
return
key = (d["tool_id"], d["operation"])
if key not in baseline:
learning[key].append((d["power_mean_kw"], d["vib_rms_g"]))
if len(learning[key]) >= BASELINE_CUTS:
p = sorted(x[0] for x in learning[key])[BASELINE_CUTS // 2]
v = sorted(x[1] for x in learning[key])[BASELINE_CUTS // 2]
baseline[key] = (p, v)
print("baseline", key, baseline[key])
return
p0, v0 = baseline[key]
index = (1 - VIB_WEIGHT) * d["power_mean_kw"] / p0 + VIB_WEIGHT * d["vib_rms_g"] / v0
recent[key].append(index)
smoothed = sorted(recent[key])[len(recent[key]) // 2]
level = "change" if smoothed >= CHANGE_INDEX else "warn" if smoothed >= WARN_INDEX else "ok"
out = {"tool_id": key[0], "operation": key[1], "cut_no": d["cut_no"],
"wear_index": round(smoothed, 3), "level": level}
client.publish(f"{PREFIX}/tool/{key[0]}/wear", json.dumps(out), qos=1, retain=True)
if level != status.get(key):
status[key] = level
print("STATUS", out)
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2, client_id="tool-wear-e93f10")
client.on_connect = on_connect
client.on_message = on_message
client.connect("broker.connectmq.com", 1883, keepalive=60)
client.loop_forever()
Kesim mesajları .../cnc4/tool/cut topic'ine, değişim olayları .../cnc4/tool/event topic'ine gider; servis de sonuçları .../cnc4/tool/<tool_id>/wear topic'ine yazar. Sonuçlar retained olduğu için operatör paneli, yeniden başlatmanın hemen ardından bile her takımın güncel aşınma indeksini her zaman gösterir.
Medyan yumuşatmaya dikkat edin: fazla talaş payı olan bir döküm parçanın yol açtığı tek bir ağır kesim, değişimi tetiklememelidir. Öte yandan birkaç kesim boyunca süren ani bir sıçrama çoğu zaman kırılmış bir kenar anlamına gelir ve hemen ilgilenilmeyi hak eder. Birçok atölye bu durum için ayrı bir kural ekler: indeks art arda iki kesim arasında keskin bir şekilde sıçrarsa, yumuşatılmış değerden bağımsız olarak bir alarm üretilir.
Sınırları Ayarlamak
Yukarıdaki değerler evrensel sabitler değil, başlangıç noktalarıdır. Bunları takım ailesi bazında ayarlayın:
- Yalnızca izleme modunda çalıştırın. Mevcut sabit takım ömrünü koruyun ve birkaç hafta boyunca yalnızca aşınma indeksini kaydedin.
- Aşınmış takımları inceleyin. Takımlar çıkarıldığında yanak aşınmasını ölçün veya durumlarını derecelendirin ve çıkarma anındaki indeksi not edin.
- İlişkilendirin. Takımların kabul edilebilir aşınma sınırınıza ulaştığı indeks seviyesini bulun ve değişim sınırını bunun biraz altına ayarlayın.
- Dikkatle uzatın. İndeks durumu güvenilir şekilde öngördüğünde, hâlâ sağlıklı olan takımların eski sabit sayının ötesinde, küçük adımlarla çalışmasına izin verin.
- Kesin bir üst sınır tutun. Bir sensörün veya gateway'in arızalanma ihtimaline karşı bir güvenlik ağı olarak cömert bir maksimum sayıyı yerinde bırakın.
Atölye Ne Kazanır
Takım değişimleri duruma göre yapıldığında kolay koşullarda çalışan takımlar daha uzun kullanılır, hızlı aşınan takımlar kırılmadan önce çıkarılır ve takım deposu satın almaları gerçek tüketime göre planlayabilir. Takım başına aşınma verileri güvenilirlik çalışmalarını da besler: takımla ilgili duruşlar MTBF ve MTTR hesaplamanızda görünür hale gelir ve anormal aşınma hızları soğutma sıvısı sorunları veya malzeme farklılıkları gibi proses problemlerine işaret eder. Aşınma indeksini iş mili rulmanlarındaki titreşim izleme sensörü verileriyle birleştirmek, takım sorunlarını makine sorunlarından ayırır.
Altyapı Notları
- Edge'de segmentasyon broker yükünü küçük tutar: saniyede binlerce örnek yerine kesim başına bir mesaj.
- Kesim ve takım değişimi mesajları için QoS 1, servisin hiçbir sıfırlamayı kaçırmamasını sağlar.
acme/plant1/machining/cell2/cnc4/...gibi ISA-95 topic'leri, ConnectMQ portalının cihazlar görünümünde makineleri alan ve hücreye göre gruplamasına olanak tanır.- Üretim için özel broker. Genel demo herkes tarafından okunabilir. Portaldan alınan kimlik bilgilerini ve 8883 portunda TLS kullanın.
Bir bulut MQTT broker, aynı verilerin makine ağına gelen port açmadan atölye paneline, takım deposuna ve uzaktan çalışan bir proses mühendisine ulaşmasını sağlar. Daha geniş mimari için akıllı üretim rehberine bakın.
CNC Makinelerinizi ConnectMQ'ya Bağlayın
ConnectMQ; MQTT 5, TLS, retained mesajlar, canlı topic gezgini ve portalda eşik alarmları sunan tam yönetilen bir MQTT broker'dır. Kredi kartı gerekmeden app.connectmq.com adresinde ücretsiz Serverless planında bir broker oluşturun ve ilk makinenizden aşınma verilerini kaydetmeye başlayın.
Sık Sorulan Sorular
Takım aşınması izleme için en iyi sinyal hangisidir?
İş mili gücü veya yükü en pratik başlangıç sinyalidir, çünkü birçok kontrolcü bunu zaten sağlar. İş mili titreşimini eklemek, kenar kırılması ve tırlama tespitini iyileştirir.
Takım aşınması izleme sabit takım ömrünün yerini tamamen alabilir mi?
Takım ömrünü duruma göre uzatabilir veya kısaltabilir; ancak çoğu atölye, sensörlerin veya veri toplamanın arızalanma ihtimaline karşı bir güvenlik ağı olarak cömert bir maksimum sayıyı korur.
Her kesim neden yeni takım referansıyla karşılaştırılır?
Güç büyük ölçüde operasyona, malzemeye ve takıma bağlıdır. Aynı takımı ve operasyonu kendi yeni durumuyla karşılaştırmak, aşınmanın neden olduğu değişimi izole eder.
Bu yapı MQTT üzerinden ne kadar veri gönderir?
Kesim başına yalnızca bir küçük mesaj ve takım değişimi olayları. Açıkça ihtiyaç duymadığınız sürece ham yüksek frekanslı sinyaller edge'de kalır.



