Giriş: Hedeflenen problem tanımı
Bir üretim tesisinde farklı marka, model ve iletişim protokollerine sahip makinelerden (PLC, CNC, paketleme makinesi, test cihazı vb.) gerçek zamanlı veri toplayıp bu veriyi ERP sistemine tutarlı şekilde aktarmak sık karşılaşılan ve operasyonu doğrudan etkileyen bir problemdir. Bu rehberde amaç, tek bir konuya odaklanmak: heterojen makine parkından gerçek zamanlı veri toplama ve ERP entegrasyonunu teknik, uygulanabilir adımlarla açıklamak. İş akışları, protokol tercihleri, veri modeli, hata senaryoları ve ASP.NET Core ile SQL Server tabanlı entegrasyon detayları ele alınacaktır.
Neden bu problem önemli?
Makinelerden gelen veri tutarsız, eksik ya da zamanlama problemleri içerdiğinde; üretim planlama, stok yönetimi ve kalite raporlaması bozulur. Bu da sipariş gecikmeleri, stok uyuşmazlıkları ve gereksiz üretim maliyetleriyle sonuçlanır. Rehberin amacı, teoriden ziyade sahada uygulanabilir adımlar sunmak; eğer çözüm arıyorsanız, ilk adım teknik mimariyi netleştirmektir.
Mimari yaklaşım — katmanlar ve sorumluluklar
Önerilen mimari dört ana katmandan oluşur:
- Edge/OT Katmanı: Makineye yakın çalışan gateway cihazları (Raspberry Pi, industrial PC) ile protokolleri dönüştürme ve ön işlem yapma.
- Mesajleme & Kuyruklama: Güvenilir iletim, sıralama ve yük dengeleme için MQTT, Kafka veya RabbitMQ.
- API/Integration Katmanı (ASP.NET Core): Mesajları kabul eden, idempotent işlem yapan ve ERP'ye gönderen servisler.
- Depolama & Kalıcı Katman (SQL Server): Ham veri, staging tabloları, merge/iş kuralları ve raporlama katmanı.
Protokol ve bağlantı seçimi: pragmatic kurallar
- PLC ve endüstriyel cihazlar: OPC UA mümkünse tercih edin; güvenli, self-describing bir protokoldür. OPC UA yoksa Modbus TCP veya vendor-specific protokoller kullanılabilir.
- Sensor/IoT cihazları: MQTT düşük bant genişliğinde ve bağlantı sorunlarına toleranslıdır. TLS ile güvenlik sağlanmalıdır.
- Legacy veya seri arayüzlü cihazlar: Edge gateway üzerinde seri-to-TCP adaptörleri ve veri normalizasyonu gerekir.
Edge gateway tasarımı — veriyi nerede temizleyeceğiz?
Edge gateway'in sorumlulukları şunlardır:
- Çeşitli protokolleri konuşup veriyi tek bir formatta (ör. JSON) normalize etme.
- Zaman damgası üretimi: cihazın zamanını kullanmadan önce gateway saatini esas alarak UTC zaman damgası ekleme ve cihaz zamanıyla fark analizini kayıt altına alma.
- İnternet kesintilerine karşı lokal buffer; kritik veriyi disk tabanlı kuyruğa yazma.
- Veri doğrulama (alan tipleri, bağıl sınırlar, null kontrolleri) ve basit filtrasyon (ör. jitter azaltma için hareketli ortalama).
Mesajlaşma ve teslim garantileri
Gerçek zamanlılık beklentisi ile güvenilirlik arasında denge gerekir:
- At-least-once teslimat çoğu endüstriyel senaryo için yeterlidir, ancak ERP tarafında çift kayıtları önlemek için idempotent işleme ihtiyacı doğar.
- İdempotentlik: Her sensör/olay için benzersiz bir olay kimliği (deviceId + sequenceNo + localTimestamp) üretin. API tarafında bu anahtara göre duplicate kontrolü yapın.
- Ordering: Eğer sıra önemli ise partitioning (ör. Kafka partition by deviceId) veya sequence numarası ile yeniden sıralama uygulayın.
- Dead-letter kuyruğu: İşlenemeyen mesajlar için DLQ ve manuel müdahale süreci tanımlayın.
API tasarımı (ASP.NET Core) — pratik kurallar
Entegrasyon API'ları ERP'ye veri göndermeden önce gelen veriyi validate etmeli, idempotent olmalı ve izlenebilir bir işlem zinciri sunmalıdır.
- Küçük, tek sorumluluklu uç noktalar: /api/telemetry/ingest gibi bulk destekleyen uç nokta.
- Idempotency-Key başlığı veya payload içi eventId zorunlu kılınmalı.
- HTTP yerine yüksek hacimli trafik için gRPC veya mesaj kuyruğu üzerinden micro-batching düşünün.
- ASP.NET Core tarafında IHostedService ile arka plan işlerini (replay, dönüştürme, push to ERP) yönetin; HttpClientFactory ve connection pooling kullanın.
Veri modeli ve SQL Server uygulamaları
SQL Server'da iki aşamalı model önerilir: Staging ve Canonical/Business tablolar.
- Staging tablolar: Ham JSON veya kolonlu yapı, gelen zaman damgası, alındı zamanı, rawPayload. Unique constraint eventId ile duplicate engelleme.
- Transform/Apply: Stored procedure veya uygulama tarafı servis ile staging'den canonical tablolara MERGE işlemleri yapılır. Merge sırasında business kuralları, SKU/part eşlemeleri ve parti/batch mantığı uygulanır.
- Audit ve Traceability: Her kayıt için kaynak cihaz, gateway id, işlem partneri (ERP endpoint) ve işlem sonucu tutulmalı. SQL Server'ın temporal tables ve change data capture (CDC) özellikleri faydalıdır.
Zaman damgası uyumsuzlukları ve hizalama stratejileri
Zaman damgalarında drift ve farklı timezone kullanımı sık görülür. Uygulanabilir adımlar:
- Gateway UTC kullanarak timestamp üretmeli; cihaz timestamp'ı geliyorsa farkı kaydedip korelasyon sağlanmalı.
- Olayların sıralaması kritikse sequence number kullanılmalı; eksik/atlanan sıra tespitinde replay veya manuel düzeltme mekanizması olmalı.
- SQL tarafında tutarlılık için transaction window kullanın: kısa süreli gecikmeleri absorb eden bir buffer mekanizması, fakat uzun süreli tutarsızlıklar için alarm üretecek şekilde konfigüre edilmeli.
ERP ile veri eşleştirme ve iş kuralları
ERP tarafı genelde SKU, parti, batch veya sipariş bazlı çalışır. Entegrasyonda dikkat edilmesi gerekenler:
- Veri modelinizi ERP'ye uygun canonical modele dönüştürün. SKU adları, varyant kodları veya dahili parti numaralarını mapping tablosunda tutun.
- Barkod/seri numarası kaynaklı uyuşmazlıklar için referans tablosu ve reconciliation API'si sağlayın. Üretim ve depo sistemleri arasındaki stok uyuşmazlıklarını çözmek için kayıt bazlı eşleştirme mantığı kurun.
- ERP'ye gönderilen değişiklikler için idempotent API'ler kullanın; ERP'nin kendi API davranışını test edip retry politikası belirleyin.
Hata yönetimi, izleme ve operasyonel süreçler
Teknik tasarım kadar operasyonel süreçler de önemlidir:
- Metric ve log toplama: Prometheus, Grafana, ELK/Opensearch ile gateway, messaging ve API seviyesinde izleme kurun.
- Alarm kuralları: message backlog, ideal throughput'un düşmesi, DB deadlocks, işlenemeyen mesaj sayısı gibi göstergeler için uyarı oluşturun.
- Manual reconciliation: Üretim ve ERP verileri arasında tutarsızlık çıktığında kullanılacak adım adım kontrol listesi ve araçlar (ör. sorgu setleri, export/import CSV) hazırlayın.
Güvenlik ve sertifika yönetimi
Üretim verisi hassastır; güvenlik olmazsa olmazdır:
- Edge ve API katmanında TLS zorunlu. Cihaz kimlik doğrulaması için mTLS veya JWT tabanlı token kullanın.
- Cihaz yönetimi ve sertifika yenileme süreci (PKI) tanımlayın. Otomatik yenileme olmazsa operasyonel yük artar.
- Ağ segmentasyonu ile OT ve IT trafiğini ayırın; sadece gerekli portlar açılmalı.
Test ve devreye alma
Canlıya almadan önce yapılması gerekenler:
- Prototip: 1-2 makine ile end-to-end test; protocol dönüşümü, timestamp, idempotency senaryolarını doğrulayın.
- Load test: Gerçek trafik profiline yakın load testleri ile kuyruk, DB, API davranışı ölçülmeli.
- Failover testleri: Gateway offline, network partition, ERP timeout gibi senaryolarda veri kaybı olmadığını doğrulayın.
Uygulama örnek akışı — pratik senaryo
Örnek basit akış:
- Edge gateway OPC UA ile makineden veri okur, validasyon sonrası JSON formatında normalize eder.
- Gateway, MQTT üzerinden entegrasyon katmanına publish eder; mesaj içinde eventId, deviceId, seqNo, utcTimestamp bulunur.
- ASP.NET Core mikroservisi mesajı tüketir, staging tabloya yazar; duplicate ise reddeder.
- Arka plan işi staging'den canonical tabloya MERGE eder; iş kurallarına göre ERP'ye push yapılır.
- ERP dönüşüne göre audit kaydı oluşturulur; hata oluşursa DLQ'ya taşınır ve operasyon ekibine alert gönderilir.
Kaynaklar ve sonraki adımlar
Bu rehber, somut uygulama adımları ve karar noktalarını özetlemektedir. Kurulum ve şirket içi gereksinimlere göre detaylı tasarım farklılık gösterebilir. Eğer tesisinizde bu tür bir projeyi planlıyorsanız, hangi cihazların ve protokollerin mevcut olduğunu belirleyip küçük bir pilot ile başlamak en etkili yol olacaktır. Teknik tasarım, protokol keşfi ve ASP.NET Core + SQL Server tabanlı entegrasyon konusunda destek almak isterseniz, özel ihtiyaçlarınıza göre çözümler sunduğumuz özel yazılım hizmetimizde yer alan üretim veri entegrasyonu sayfasını inceleyebilirsiniz.
Detaylı teknik inceleme, saha taraması veya teklif almak için iletişim sayfamız üzerinden bize ulaşabilirsiniz. Planlama aşamasında önerilen başlangıç adımları: cihaz envanteri oluşturma, network/topoloji analizi, küçük bir gateway prototipi kurma ve ardından API ile staging-merge iş akışının oluşturulmasıdır.
Son not
Bu makale, heterojen makine parkından gerçek zamanlı veri toplama ve ERP entegrasyonu konusunda uygulanabilir, teknik adımlar sundu. Her tesisin ayrıntıları farklıdır; önce küçük bir pilot, ardından kademeli genişleme en az riskli yaklaşımdır. Uygulama sırasında ortaya çıkacak özel sorunlar (ör. cihaz özgü protokoller, legacy sistem kısıtları) için operasyonel ve yazılım tarafında esnek, idempotent ve izlenebilir çözümler kurmak başarı anahtarıdır.
Bu konuyu kendi işletmeniz için değerlendirelim.
Mevcut süreci ve kullandığınız sistemleri anlattığınızda uygulanabilir seçenekleri birlikte çıkarabiliriz.
Projenizi anlatın →