ERP-MOM-MES Entegrasyonunda 3 Kritik Hata

Son dört gün ERP’nin kayıt sistemini, MES’in yürütme katmanını ve MOM’un orkestrasyon şemsiyesini ayrı ayrı ele aldık. Bugün sorumuz farklı: Bu üç katmanı birbirine bağlarken en sık yapılan hatalar neler ve birbirine bağlı sistemler neden koptuğunda üretim bilinçsizce yanıt vermeye başlar?

Bir saha senaryosuyla başlayalım.

Senaryo: Çakışan Kayıtlar

Çarşamba sabah 09:00. Operatör Ayşe, Makine M3’te B ürünü için iş emrini başlatır. Aynı anda ERP’deki muhasebe, “B ürünü 100 parça planlanmış, 100 parçanın malzeme maliyeti şu” diyerek tahmini bir kayıt oluşturur.

Saat 14:00. MES kaydı: “Makine M3, B ürünü, 60 parça tamamlandı, 3 parça fire, 1 makine arızası (25 dakika).” Ama ERP hâlâ “100 parça planlandı, tahmini maliyet X” diyor.

Cuma. Müşteri 100 parça bekliyor. ERP’deki satış müdürü “tamam, 100 parça, teslim edildi” diyor. Ama gerçekleşen: 97 parça (3 fire) ve 25 dakika planlanmamış duraklama. Bu fark nerede kaybolur?

Cevap: Veri akışı kopuk olduğunda, bu fark hiçbir sisteme düşmez. Üretim bilmiyor (çünkü MES verisi ERP’ye gitmiyor), ERP bilmiyor (çünkü gerçek maliyet değil, standart maliyet çalışıyor), müşteri bilmiyor (çünkü 100 parça teslim edildi sanıyor, ama maliyet 97 parçanınki üzerinden hesaplanmış olmalı).

Bu kopukluğun üç kaynağı var.

Hata 1: Eşzamanlı Yazım Çakışması

Bir iş emri hem ERP’de hem MES’te aynı anda güncelleniyorsa, kimin yazacağı karışabilir.

Örnek: ERP’deki planlama, M3 makinesinde 100 parça B ürünü planlıyor. Aynı anda MES, M3’te devam eden A ürününün bitmesini bekliyor. MOM da “M3 boşalınca B ürününe başla” diyor. Üç sistem aynı makinenin aynı zaman dilimini farklı şekillerde görüyor.

Eğer entegrasyon, “kim son yazsa doğru sayılır” (last-write-wins) mantığıyla çalışıyorsa, en verimli olan değil, en çok yazan kazanır. Bu, planlı üretimde geçerli olabilir (aynı ürün, aynı adet). Ama talebe yönelik üretimde her sipariş farklıdır. Kim son yazarsa o “doğru” sayılır.

Çözüm: Olay bazlı (event-driven) entegrasyon. Her sistem sadece kendi alanını yazar. ERP siparişi oluşturur, MOM planı yapar, MES yürütmesi kaydeder. Geri dönüş her zaman MOM üzerinden olur. MES’ten ERP’ye direkt yok.

Hata 2: Veri Sahipliği Belirsizliği

Bir başka yaygın hata: “Standart maliyet” kimin verisi?

ERP, reçeteye bakarak “B ürünü için standart süre 3.5 saat” der. Ama MES, “bu hafta B ürününün 4 iş emrinde ortalama süre 4.2 saat” der. Bu farkın nedeni: yeni operatör, makine ayarı, kalite sorunu. ERP standartı değiştirmiyor çünkü “standart” değişmez.

Peki bu farkın sorumlusu kim? Muhasebe ERP’ye bakıyor: “B ürününün maliyeti şu.” Üretim MES’e bakıyor: “Bizim maliyetimiz şu.” İki ekip farklı sayıyla çalışıyor.

Bu durumda entegrasyonun amacı veriyi kopyalamak değil, verinin sahibini belirlemektir.

Her sistem kendi sahip olduğu veriyi yazar, diğerleri okur. “Kimin yazdığı” belli olmadan entegrasyon kurarsanız, üçüncü ayda kimse hangi sayının doğru olduğuna inanmaz.

Hata 3: Gecikme Toleransının Hesaplanmaması

Entegrasyon “gerçek zamanlı” denilir, ama hangi veri ne kadar gecikebilir?

Anında (milisaniyeler): MES’ten makine kontrolcüsüne komut. Makine başladı, durduldu. Bu seviyede gecikme = arıza.

Dakikalar içinde: MES’ten MOM’a iş emri durumu. “Başladı, durdu, bitti.” MOM bu veriyi bekler, çünkü karar verirken güncel bilgi şart.

Saatler içinde: MOM’dan ERP’ye maliyet ve ilerleme. ERP’nin “şu an üretim nerede” diye sorması gerekmez. ERP ay sonunda kapanış yaparken bu veri yeter.

Günler içinde: ERP’den MOM’a yeni bir sipariş. MOM planlama döngüsünde (genelde günlük) bu siparişi alır.

Bir kurulumda tüm verilerin “gerçek zamanlı” olması gerekmez. Ama hangi verinin ne kadar gecikebileceği önceden belirlenmeli. Özellikle şu iki alan karışmamalı:

  1. Yürütme verisi (MES->MOM): Gecikme kabul edilemez. Makine durdu mu, bilmemiz lazım.
  2. Planlama verisi (ERP->MOM): Gecikme kabul edilebilir. Sipariş yarın öğlen MOM’a gelse de, planlama Çarşamba yapılıyorsa sorun yok.

Bu iki hızı aynı kabloya koyarsanız, ya planlama verisi gereksiz yere hızlanır (maliyet) ya da yürütme verisi yavaşlar (risk).

Netsis, Odoo, Logo, Paraşüt: Hangi Seviyede Bağlanır?

Türkiye’de yaygın dört ERP çözümünün entegrasyon seviyeleri farklı:

Netsis: API desteği var ama “toplu işlem” odaklı. Yani her saat bir toplu dosya alışverişi yapılabilir. Gerçek zamanlı veri akışı zor. MOM ile bağlantı kurarken saatlik batch kabul edilebilir bir varsayım yapılır. Ama “anlık durum” beklentisi Netsis ile çalışıyorsanız hayal kırıklığı yaratır.

Odoo: API çok açık. Her olay ayrı bir endpoint’e gidebilir. MOM ve MES ile neredeyse gerçek zamanlı bağ kurulabilir. Ama Odoo’nun kendi içindeki MOM fonksiyonları sınırlı; üçüncü bir MOM yazılımı gereklidir.

Logo (Go): Kurumsal seviyede, API desteği iyi. Ama maliyet yüksek. Logo’yu kullanan bir fabrikada entegrasyon genellikle Logo’nun kendi ekosisteminde kalır. Üçüncü parti MOM entegrasyonu mümkün ama sınırlı.

Paraşüt: Muhasebe odaklı. MES, MOM entegrasyonu yok denecek kadar sınırlı. Paraşüt’ü kullanan bir işletmede MES ve MOM genelde bağımsız çalışır, veri elle taşınır.

Bu seçimlerde kritik soru: “Entegrasyon katmanını kendiniz mi kuracaksınız, yoksa çözüm sağlayıcının entegrasyon modülünü mü kullanacaksınız?”

infab.cloud’un Entegrasyon Konumu

infab.cloud, ERP ile MES arasındaki boşluğu kapatan bir katman olarak tasarlanmış. Doğrudan makineyle (Level 1-2) konuşur, MOM kararlarını alır, ERP’ye “iş emri kapandı, fiili süre şu, fire şu” formatında rapor döner.

Bu sayede ERP tarafında değişiklik yapmanıza gerek kalmaz. Odoo, Netsis, Logo veya Paraşüt ne olursa olsun, infab.cloud standart bir API üzerinden iş emri verisi alır ve gerçek üretim verisini geri yollar.

Entegrasyon katmanı olmayan bir kurulumda, her yeni ERP ya da her yeni MES sistemi için ayrı bir entegrasyon kodu yazmanız gerekir. Bu, tek seferlik bir değil, sürekli bir bakım yüküdür.

Sonuç: Bağlamak Yöntem Değil, Sorumluluk Demek

ERP, MOM ve MES’i bağlarken kritik olan kaçış noktası şu: Veriyi birbirine kopyalamak değil, verinin sahibini belirlemektir. Kim neyi yazar, kim neyi okur, gecikme ne kadar kabul edilebilir?

Bu sorulara cevap vermeden kurulan entegrasyonlar, üç ay sonra iki sorunla karşılaşır: Ya veri çakışması (kim son yazdı, o mu doğru?) ya da veri kaybı (kim hiç yazmadı, boşluk mu kaldı?).

Bir sonraki yazıda, bu entegrasyon katmanlarını tek başına kurmanın zorluğunu ve MOM + ERP + MES sentezini ele alacağız.


Önceki yazılarımızda: MOM nedir? ve ERP-MOM-MES veri akışı