PLC Verisiyle Üretim Takibi: Python ve C# ile IIoT Çözümü
Fabrika makinelerindeki veri, PLC'den OPC UA, Modbus TCP veya S7Comm ile okunur. Python bu veriyi sahada temizler, anlamlandırır ve OEE gibi göstergeleri hesaplar. C# servisleri işlenen veriyi SQL Server'a kaydeder, canlı paneller ve otomatik raporlarla yöneticilere sunar. Bu yazıda IIoT mimarisinin bu üç katmanını sade bir şekilde özetliyoruz.
PLC'den Rapora: Fabrika Verisinin Python ve C# ile İşlenmesi
Fabrikalardaki makineler sürekli veri üretir: çalışma süresi, duruşlar, üretim adedi, sıcaklık, basınç ve enerji tüketimi. Bu veri PLC'de kaldığı sürece işe yaramaz. Değer, verinin toplanıp işlenmesi ve rapora dönüştürülmesiyle ortaya çıkar. Bu süreç üç katmanda ele alınabilir.
1. Veri Kaynağı: PLC
PLC, makineyi yöneten kontrol birimidir. Sensörlerden gelen bilgileri etiketler (tag) ve veri blokları hâlinde tutar. Bu veriye dışarıdan şu yollarla erişilir:
- OPC UA: Güvenli ve markadan bağımsız bir standart. Yeni projelerde önerilen yöntemdir.
- Modbus TCP: Basit ve yaygın bir protokol, eski cihazlarda sıkça kullanılır.
- Üreticiye özel protokoller: Siemens S7 gibi.
PLC'nin asıl görevi makineyi yönetmektir. Bu nedenle veri hızlıca okunup dış sistemlere aktarılmalı, PLC üzerinde ek yük oluşturulmamalıdır.
2. Veri İşleme: Python
Sahaya yakın bir bilgisayarda çalışan Python servisi şu işleri yapar:
- Okuma: Belirli aralıklarla PLC'den veri çeker.
- Temizleme: Hatalı ölçümleri ve bağlantı kopukluklarından kaynaklanan boşlukları ayıklar.
- Anlamlandırma: Ham sinyalleri iş bilgisine çevirir. Örneğin bir bit değeri "malzeme bekleme duruşu" olarak kaydedilir.
- Hesaplama: OEE, çevrim süresi ve parça başına enerji gibi göstergeleri üretir. Saniyelik veriyi dakikalık ve saatlik özetlere dönüştürür.
Python, endüstriyel protokoller ve veri analizi için zengin kütüphanelere sahip olduğu için bu katmanda tercih edilir.
3. Veritabanı ve Raporlama: C#
İşlenen veri, C# ile geliştirilen bir servis tarafından SQL Server gibi bir veritabanına kaydedilir. Makineler, vardiyalar, duruş nedenleri ve ölçümler ayrı tablolarda tutulur. Zaman alanlarına indeks eklenmesi raporların hızlı çalışmasını sağlar.
Raporlama tarafında:
- Canlı paneller: Web tabanlı ekranlar üretimin anlık durumunu gösterir.
- Periyodik raporlar: Vardiya, günlük ve haftalık raporlar otomatik olarak PDF veya Excel formatında hazırlanıp e-postayla gönderilir.
- Yetkilendirme: Her kullanıcı yalnızca sorumlu olduğu hatları görür.
C#, kurumsal altyapılarla ve ERP sistemleriyle kolay entegre olması, uzun süre kararlı çalışan servisler geliştirmeye uygun olması nedeniyle bu katmanda öne çıkar.
Genel Akış
Makine → PLC → OPC UA / Modbus → Python (okuma, temizleme, hesaplama) → C# servis → SQL Server → Paneller ve raporlar
Her katmanın tek bir görevi vardır. Bu ayrım, sistemin kolay büyümesini ve bir katmandaki sorunun diğerlerini etkilememesini sağlar.
Sonuç
Dijitalleşmeye tek bir makineyle başlamak mümkündür. Birkaç kritik veriyi toplayıp basit bir duruş raporu üretmek, sonraki adımlar için sağlam bir temel oluşturur.
Kodlagelistir, PLC entegrasyonundan veri işlemeye, veritabanı tasarımından raporlama ekranlarına kadar bu sürecin tamamında destek sağlar. Projeleriniz için bizimle iletişime geçebilirsiniz.
Etiketler: PLC, SCADA, Python, C#, OPC UA, Endüstri 4.0, Üretim Raporlama, OEE
Yorumlar
Henüz yorum yok. İlk yorumu siz yazın.