Otomasyon

Dijital İkiz Teknolojisi: Endüstriyel Simülasyon ve İzleme

Fatih Algül
12.03.2026 236 görüntülenme

Dijital İkiz Teknolojisi Nedir?

Dijital ikiz (Digital Twin), fiziksel bir nesnenin, sürecin veya sistemin sanal ortamda oluşturulan birebir dijital kopyasıdır. Bu teknoloji, gerçek zamanlı veri akışı sayesinde fiziksel dünya ile dijital dünya arasında sürekli bir köprü kurarak endüstriyel operasyonların simülasyonunu, izlenmesini ve optimizasyonunu mümkün kılar. Kavram ilk olarak NASA tarafından uzay araçlarının yeryüzünde simüle edilmesi amacıyla kullanılmış, günümüzde ise üretimden enerjiye, sağlıktan şehir planlamaya kadar geniş bir yelpazede uygulama alanı bulmuştur.

Dijital ikiz teknolojisi, IoT sensörlerinden toplanan verileri makine öğrenimi algoritmaları ve fizik tabanlı modeller ile birleştirerek fiziksel varlığın davranışını gerçek zamanlı olarak yansıtır. Bu sayede mühendisler ve operatörler, fiziksel sisteme dokunmadan "ya şöyle olsaydı?" senaryolarını test edebilir, arızaları önceden tahmin edebilir ve üretim süreçlerini optimize edebilir.

Dijital İkizin Temel Bileşenleri

  • Fiziksel Varlık: Sensörler ve aktüatörlerle donatılmış gerçek dünya nesnesi (makine, fabrika, bina vb.)
  • IoT Sensör Katmanı: Sıcaklık, basınç, titreşim, nem gibi parametreleri ölçen ve ileten sensör ağı
  • Veri İletişim Katmanı: MQTT, OPC-UA, AMQP gibi protokoller üzerinden veri aktarımı
  • Dijital Model: Fiziksel varlığın 3B geometrik modeli ve davranışsal simülasyonu
  • Analitik Motor: Makine öğrenimi, istatistiksel analiz ve fizik tabanlı simülasyon algoritmaları
  • Görselleştirme Katmanı: Dashboard, 3B görüntüleme ve artırılmış gerçeklik arayüzleri

Endüstriyel Simülasyon Senaryoları

Dijital ikizlerin en güçlü yanlarından biri, gerçek sistemi riske atmadan çeşitli senaryoların simüle edilebilmesidir. Bir üretim hattının dijital ikizi üzerinde kapasite artırımı, malzeme değişikliği veya süreç parametrelerinin ayarlanması gibi değişiklikler sanal ortamda denenebilir.

Kestirimci Bakım (Predictive Maintenance)

Dijital ikiz teknolojisinin en yaygın kullanım alanlarından biri kestirimci bakımdır. Sensörlerden gelen titreşim, sıcaklık ve akustik verileri analiz edilerek ekipman arızaları henüz gerçekleşmeden tespit edilebilir. Bu yaklaşım, plansız duruş sürelerini %30-50 oranında azaltabilir.

Aşağıda Python ile basit bir kestirimci bakım modelinin dijital ikiz entegrasyonuna örnek verilmiştir:

import numpy as np
from datetime import datetime
from dataclasses import dataclass, field
from typing import Optional

@dataclass
class SensorReading:
    timestamp: datetime
    temperature: float
    vibration: float
    pressure: float
    rpm: float

@dataclass
class DigitalTwin:
    asset_id: str
    asset_name: str
    nominal_temperature: float = 75.0
    nominal_vibration: float = 2.5
    nominal_pressure: float = 6.0
    readings: list = field(default_factory=list)
    anomaly_threshold: float = 0.85

    def ingest_sensor_data(self, reading: SensorReading):
        """Sensör verisini dijital ikize aktarır."""
        self.readings.append(reading)
        health_score = self._calculate_health_score(reading)
        anomaly = self._detect_anomaly(reading)
        return {
            "asset_id": self.asset_id,
            "timestamp": reading.timestamp.isoformat(),
            "health_score": round(health_score, 3),
            "anomaly_detected": anomaly,
            "remaining_useful_life": self._estimate_rul(health_score)
        }

    def _calculate_health_score(self, reading: SensorReading) -> float:
        """Ekipman sağlık skorunu hesaplar (0.0 - 1.0)."""
        temp_deviation = abs(reading.temperature - self.nominal_temperature) / self.nominal_temperature
        vib_deviation = abs(reading.vibration - self.nominal_vibration) / self.nominal_vibration
        pres_deviation = abs(reading.pressure - self.nominal_pressure) / self.nominal_pressure

        weighted_score = 1.0 - (0.4 * temp_deviation + 0.35 * vib_deviation + 0.25 * pres_deviation)
        return max(0.0, min(1.0, weighted_score))

    def _detect_anomaly(self, reading: SensorReading) -> bool:
        """Anomali tespiti yapar."""
        if len(self.readings) < 10:
            return False
        recent = self.readings[-10:]
        temp_values = [r.temperature for r in recent]
        temp_std = np.std(temp_values)
        temp_mean = np.mean(temp_values)

        if reading.temperature > temp_mean + 3 * temp_std:
            return True
        if reading.vibration > self.nominal_vibration * 2.0:
            return True
        return False

    def _estimate_rul(self, health_score: float) -> Optional[str]:
        """Kalan faydalı ömrü (RUL) tahmin eder."""
        if health_score > 0.9:
            return "180+ gün"
        elif health_score > 0.7:
            return "60-180 gün"
        elif health_score > 0.5:
            return "15-60 gün"
        else:
            return "Acil bakım gerekli"

    def simulate_scenario(self, temp_increase: float, load_factor: float) -> dict:
        """Farklı çalışma koşullarını simüle eder."""
        simulated = SensorReading(
            timestamp=datetime.now(),
            temperature=self.nominal_temperature + temp_increase,
            vibration=self.nominal_vibration * load_factor,
            pressure=self.nominal_pressure * (1 + 0.1 * load_factor),
            rpm=1500 * load_factor
        )
        result = self.ingest_sensor_data(simulated)
        self.readings.pop()  # Simülasyon verisini geçmişten çıkar
        result["scenario"] = f"+{temp_increase}°C, {load_factor}x yük"
        return result


# Kullanım örneği
twin = DigitalTwin(asset_id="CNC-001", asset_name="CNC Freze Tezgahı")

reading = SensorReading(
    timestamp=datetime.now(),
    temperature=78.5,
    vibration=2.8,
    pressure=6.2,
    rpm=1480
)

status = twin.ingest_sensor_data(reading)
print(f"Sağlık Skoru: {status['health_score']}")
print(f"Kalan Ömür: {status['remaining_useful_life']}")

# Senaryo simülasyonu: Sıcaklık 15°C artarsa ve yük 1.5 katına çıkarsa
scenario = twin.simulate_scenario(temp_increase=15.0, load_factor=1.5)
print(f"Simülasyon: {scenario['scenario']} -> Skor: {scenario['health_score']}")

Veri İletişim Mimarisi

Endüstriyel dijital ikiz uygulamalarında veri iletişimi kritik bir rol oynar. Sensörlerden gelen verinin düşük gecikmeyle ve güvenilir şekilde dijital modele aktarılması gerekir. Bu amaçla yaygın olarak MQTT protokolü tercih edilir.

import paho.mqtt.client as mqtt
import json
from datetime import datetime

class DigitalTwinBridge:
    """Fiziksel sensörler ile dijital ikiz arasında MQTT köprüsü."""

    def __init__(self, broker_host: str, twin: DigitalTwin):
        self.twin = twin
        self.client = mqtt.Client(client_id=f"dt-bridge-{twin.asset_id}")
        self.client.on_connect = self._on_connect
        self.client.on_message = self._on_message
        self.client.connect(broker_host, 1883, 60)

    def _on_connect(self, client, userdata, flags, rc):
        topic = f"factory/assets/{self.twin.asset_id}/sensors/#"
        client.subscribe(topic)
        print(f"[{self.twin.asset_id}] Sensör verileri dinleniyor: {topic}")

    def _on_message(self, client, userdata, msg):
        payload = json.loads(msg.payload.decode())
        reading = SensorReading(
            timestamp=datetime.fromisoformat(payload["timestamp"]),
            temperature=payload["temperature"],
            vibration=payload["vibration"],
            pressure=payload["pressure"],
            rpm=payload["rpm"]
        )
        status = self.twin.ingest_sensor_data(reading)

        # Durumu yayınla
        status_topic = f"factory/assets/{self.twin.asset_id}/status"
        self.client.publish(status_topic, json.dumps(status))

        if status["anomaly_detected"]:
            alert_topic = f"factory/alerts/{self.twin.asset_id}"
            self.client.publish(alert_topic, json.dumps({
                "level": "WARNING",
                "message": f"{self.twin.asset_name} anomali tespit edildi",
                "health_score": status["health_score"],
                "rul": status["remaining_useful_life"]
            }))

    def start(self):
        self.client.loop_forever()

OPC-UA Entegrasyonu

Endüstriyel otomasyon sistemlerinde OPC-UA standart haberleşme protokolü olarak kabul edilir. PLC'ler, SCADA sistemleri ve DCS kontrol üniteleri ile dijital ikiz platformu arasındaki veri alışverişi genellikle OPC-UA üzerinden gerçekleştirilir. Bu protokol, güvenlik katmanları ve bilgi modelleme yetenekleri ile MQTT'ye kıyasla daha zengin bir endüstriyel veri altyapısı sunar.

Endüstriyel Uygulama Alanları

1. Akıllı Üretim (Smart Manufacturing)

Bir fabrikanın dijital ikizi, üretim hattındaki her makinenin durumunu, üretim hızını, enerji tüketimini ve kalite metriklerini gerçek zamanlı olarak izler. Üretim planlama ekipleri bu ikiz üzerinde farklı çizelgeleme senaryolarını test edebilir, darboğazları önceden belirleyebilir ve genel ekipman etkinliğini (OEE) optimize edebilir.

2. Enerji Sektörü

Rüzgâr türbinlerinin dijital ikizleri, türbin kanat açılarının optimize edilmesi, yıpranma paternlerinin izlenmesi ve enerji üretim tahminlerinin yapılması için kullanılır. Bir rüzgâr çiftliğindeki yüzlerce türbinin dijital ikizleri merkezi bir platformda bir araya getirilerek çiftlik düzeyinde optimizasyon sağlanır.

3. Tedarik Zinciri ve Lojistik

Depo ve dağıtım merkezlerinin dijital ikizleri, stok hareketlerinin simüle edilmesi, rota optimizasyonu ve kapasite planlaması için kullanılır. Talep dalgalanmalarına karşı farklı stratejiler sanal ortamda denenerek en uygun operasyonel plan belirlenir.

4. Akıllı Şehirler

Bina ve altyapı sistemlerinin dijital ikizleri, enerji verimliliği, trafik yönetimi ve afet simülasyonu gibi alanlarda kullanılır. Singapur'un "Virtual Singapore" projesi, tüm şehrin dijital ikizini oluşturarak şehir planlama kararlarını veri odaklı hale getiren öncü uygulamalardan biridir.

Mimari Yaklaşımlar ve Teknoloji Yığını

Modern dijital ikiz platformları genellikle aşağıdaki teknoloji bileşenlerini içerir:

  1. Veri Toplama: Apache Kafka veya RabbitMQ ile yüksek hacimli sensör verisi akışı
  2. Zaman Serisi Veritabanı: InfluxDB, TimescaleDB veya Apache IoTDB ile sensör verisi depolama
  3. Simülasyon Motoru: ANSYS Twin Builder, Siemens Simcenter veya açık kaynak FMI/FMU tabanlı çözümler
  4. Makine Öğrenimi: TensorFlow veya PyTorch ile anomali tespiti ve tahminleme modelleri
  5. 3B Görselleştirme: Unity, Unreal Engine veya Three.js ile etkileşimli dijital ikiz arayüzleri
  6. Bulut Platformu: Azure Digital Twins, AWS IoT TwinMaker veya Google Cloud IoT çözümleri

Zorluklar ve Dikkat Edilmesi Gerekenler

  • Veri Kalitesi: Sensör arızaları, kalibrasyon kaymaları ve iletişim kesintileri dijital ikizin doğruluğunu doğrudan etkiler. Veri doğrulama ve temizleme mekanizmaları kritik öneme sahiptir.
  • Model Doğruluğu: Fizik tabanlı modellerin gerçek dünya davranışını ne ölçüde temsil ettiği sürekli doğrulanmalıdır. Model kalibrasyonu düzenli aralıklarla yapılmalıdır.
  • Ölçeklenebilirlik: Binlerce varlığın dijital ikizlerinin eşzamanlı çalıştırılması ciddi hesaplama ve depolama kaynağı gerektirir.
  • Siber Güvenlik: Dijital ikizler, fiziksel sistemler hakkında detaylı bilgi içerdiğinden güvenlik açıkları ciddi sonuçlar doğurabilir. Uçtan uca şifreleme ve erişim kontrolü zorunludur.
  • Entegrasyon Karmaşıklığı: Eski (legacy) endüstriyel sistemlerin dijital ikiz platformlarına entegrasyonu, farklı protokol ve veri formatları nedeniyle teknik zorluklar içerebilir.

Geleceğe Bakış

Dijital ikiz teknolojisi, yapay zekâ ve büyük dil modelleri ile birleşerek yeni bir evreye giriyor. Doğal dil ile dijital ikizlere soru sorabilmek ("Bu makinenin son 30 günlük titreşim trendi nedir?"), otonom karar alma mekanizmaları ve federe öğrenme ile birden fazla tesisin ikizlerinin birlikte öğrenmesi gibi gelişmeler ufukta görünüyor.

Gartner'ın tahminlerine göre, büyük endüstriyel kuruluşların önemli bir bölümü dijital ikiz teknolojisini operasyonlarına entegre etmiş durumda ve bu oran hızla artıyor. Türkiye'de de özellikle otomotiv, enerji ve savunma sanayii sektörlerinde dijital ikiz uygulamaları hız kazanmaktadır.

Dijital ikiz, Endüstri 4.0'ın temel yapı taşlarından biri olarak konumunu güçlendirmeye devam ediyor. Fiziksel ve dijital dünyaları birbirine bağlayan bu teknoloji, endüstriyel operasyonların daha verimli, güvenli ve sürdürülebilir hale gelmesinde kilit bir rol üstlenmektedir.

Yazar Hakkında
Fatih Algül
TechSoft Solutions
Proje mi var?

Yazılım, IoT veya otomasyon konularında destek almak ister misiniz?

İletişime Geç