Tags (TAG'ler)

Siemens, Modbus ve OPC TAG değerlerini okumak için tanımlamalar. SaveToDatabase ve Writable özellikleri ile gelişmiş kontrol.

Genel Bakış

Tags modülü, sistemin kalbidir. Her TAG, bir veri noktasını temsil eder ve PLC'lerden, sensörlerden veya diğer cihazlardan gerçek zamanlı veri okur. TAG'ler ayrıca formüllerde kullanılabilir, veritabanına kaydedilebilir ve dashboard'larda görselleştirilebilir.

TAG Nedir?

TAG, endüstriyel otomasyon sistemlerinde bir veri noktasının adıdır. Örneğin, bir kompresörün basınç değeri, bir motorun çalışma durumu veya bir enerji sayacının anlık güç değeri birer TAG'dir.

TAG Tipleri

TypeDescriptionExample
Standard TAGPLC/Cihazdan okunan gerçek veriSiemens DB100.DBD0, Modbus 40001
Static TAGSabit değer, formüllerde kullanılırPi sayısı, dönüşüm katsayıları
Calculated TAGDiğer TAG'lerden hesaplananAdvanced TAG ile oluşturulur

Temel Özellikler

  • Gerçek zamanlı veri okuma ve yazma
  • Otomatik veritabanına kayıt (SaveToDatabase)
  • Esnek güncelleme sıklığı ayarları
  • Çoklu veri tipi desteği
  • Static TAG desteği (formüller için)
  • TAG bazlı alarm ve bildirim(formüller ile)
  • Detaylı TAG geçmişi ve trend analizi
  • Export özellikleri

TAG Alanları

Field NameDescriptionStatus
Friendly Name/Global Tag NameKullanıcı dostu isim ve benzersiz TAG adıZorunlu
Tag CategoriesTAG kategorileriOptional, Önerilen
Select Tag SourceTAG kaynağı - tipi. OPC, Siemens, Modbus, StaticZorunlu
Station NameBağlı olduğu istasyonSiemens - Modbus TAG için Zorunlu
Data Block TypeData Block tipi (REAL, INT, DINT, BOOL, STRING)Siemens - Modbus TAG için Zorunlu
Data Block NumberData Block numarasıSiemens TAG için Zorunlu
Data Block OffsetData Block offsetSiemens TAG için Zorunlu
Modbus TypeModbus tipi (Discrete Input, Coil, Holding Register, Input Register)Modbus TAG için Zorunlu
Modbus AddressModbus adresiModbus TAG için Zorunlu
Tag NameOPC tag adıOPC için Zorunlu
OPC AddressOPC tag adresiOPC için Zorunlu
Static ValueSabit değerStatic TAG için
Forward FillingVeri eksikliği durumunda bir önceki değer ile doldurma.(Sıfırlanmaması gereken metrikler için kullanışlıdır (örneğin elektrik, su, gaz))Optional
WritableYazılabilir TAG.(Formül ile müdahele edilecek TAG ise)Optional
Save To DatabaseBu etiket için geçmiş veri depolamasını etkinleştirinOptional
Storage ScheduleVeritabanına kaydetme sıklığı (örneğin 15 dakikada bir veya daha karmaşık yapılar). Her gün için farklı zaman aralıkları yapılandırın. Her zaman aralığının özel bir çalışma süresi olabilir.Optional

Veri Tipleri

Data TypeDescriptionSizeExample Address
BOOLBoolean (true/false)1 bitM0.0, DB1.DBX0.0
BYTE8-bit unsigned1 byteMB0, DB1.DBB0
INT16-bit signed integer2 byteMW0, DB1.DBW0
DINT32-bit signed integer4 byteMD0, DB1.DBD0
LINT64-bit signed integer8 byteML0, DB1.DBW0
REAL32-bit float4 byteMD0, DB1.DBD0
WORD16-bit unsigned2 byteMW0, DB1.DBW0
DWORD32-bit unsigned4 byteMD0, DB1.DBW0
STRINGMetinDeğişkenDB1.DBB0

Adres Formatları

PLC Address Examplesjavascript
// Siemens S7 Adres Örnekleri
DB100.DBD0      // Data Block 100, Double Word 0
DB100.DBW10     // Data Block 100, Word 10
DB100.DBX0.0    // Data Block 100, Byte 0, Bit 0
M10.5           // Memory Bit 10.5
MW20            // Memory Word 20
MD30            // Memory Double Word 30

// Modbus Adres Örnekleri
40001           // Holding Register 1
30001           // Input Register 1
10001           // Coil 1
00001           // Discrete Input 1

Siemens Adres Yapısı

DB (Data Block): DB[BlockNo].DB[Type][Offset]
M (Memory): M[Type][Offset]
I (Input): I[Type][Offset]
Q (Output): Q[Type][Offset]
Type: X (Bit), B (Byte), W (Word), D (Double Word)

Modbus Adres Yapısı

0xxxx: Coil (Read/Write)
1xxxx: Discrete Input (Read Only)
3xxxx: Input Register (Read Only)
4xxxx: Holding Register (Read/Write)
Not: xxxx = 0001'den başlar (40001 = Register 0)

SaveToDatabase Özelliği

Veritabanına Otomatik Kayıt

SaveToDatabase özelliği aktif edildiğinde, TAG değerleri belirtilen güncelleme sıklığında otomatik olarak veritabanına kaydedilir.

Avantajları:

  • Geçmiş veri analizi yapabilme
  • Trend grafikleri oluşturma
  • Raporlama ve karşılaştırma

Dikkat Edilmesi Gerekenler:

  • Veritabanı boyutu hızla büyüyebilir
  • Güncelleme sıklığını ihtiyaca göre ayarlayın
  • Gereksiz TAG'leri kaydetmeyin

Writable Özelliği

Yazılabilir TAG'ler

Writable özelliği aktif edildiğinde, TAG değeri Smart Energy sistemi üzerinden değiştirilebilir. Bu özellik formüllerde otomatik müdahale için kullanılır.

Kullanım Alanları:

  • Otomatik enerji optimizasyonu
  • Cihaz açma/kapama kontrolleri

⚠️ Güvenlik Uyarısı:

  • Sadece gerekli TAG'leri writable yapın
  • Kritik güvenlik TAG'lerini writable yapmayın
  • Yazma işlemlerini loglarda izleyin

Forward Filling Özelliği

Veri Sürekliliği ve Forward Filling

Forward Filling, veri eksikliği veya değer azalması durumunda son kaydedilen değeri kullanma özelliğidir. Bu özellik özellikle sayaç okumaları gibi sürekli artan metrikler için kritik öneme sahiptir.

Ne Zaman Kullanılır:

  • Veri eksikliği: Bağlantı kesildiğinde veya veri okunamadığında
  • Değer azalması: Sayaç değeri beklenmedik şekilde düştüğünde

Kullanım Alanları:

  • Elektrik sayaçları: kWh değerleri sürekli artar, sıfırlanmaz
  • Su sayaçları: m³ değerleri sürekli artar
  • Doğalgaz sayaçları: m³ değerleri sürekli artar
  • Üretim sayaçları: Toplam üretim adet sayısı
  • Çalışma saati sayaçları: Makine çalışma saatleri

Örnek Senaryo

Durum: Elektrik sayacı 1000 kWh gösteriyor
Sorun: Network bağlantısı kesildi veya PLC yanıt vermiyor
Forward Filling KAPALI: TAG değeri NULL veya 0 olur ❌
Forward Filling AÇIK: TAG değeri 1000 kWh olarak kalır ✅
Sonuç: Veri kaybı olmaz, raporlama doğru çalışır, grafikler bozulmaz

⚠️ Kullanılmaması Gereken Durumlar:

  • Anlık ölçümler (sıcaklık, basınç, akım)
  • Durum bilgileri (açık/kapalı, çalışıyor/durdu)
  • Hız değerleri (RPM, m/s)
  • Seviye ölçümleri (tank seviyesi, %doluluk)

Önemli Notlar:

  • Forward Filling sadece SaveToDatabase aktif TAG'lerde çalışır
  • İlk veri okuması yapılana kadar Forward Filling devreye girmez
  • Değer azalması tespit edildiğinde otomatik olarak son değer kullanılır
  • Manuel olarak TAG değeri sıfırlanırsa, Forward Filling yeni değerden devam eder

Static TAG Kullanımı

Sabit Değerli TAG'ler

Static TAG'ler, PLC'den okunmayan sabit değerlerdir. Formüllerde katsayı, dönüşüm faktörü veya referans değer olarak kullanılır.

Örnek Kullanımlar:

  • Pi sayısı (3.14159)
  • Elektrik birim fiyatı (TL/kWh)
  • Doğalgaz dönüşüm katsayısı
  • Maksimum/minimum limitler
  • Alarm eşik değerleri

Güncelleme Sıklığı (Storage Schedule)

Storage Schedule (Zamanlama Yapılandırması)

Storage Schedule, TAG değerinin ne sıklıkla veritabanına kaydedileceğini belirler. Gelişmiş cronjob yapısı ile esnek zamanlama seçenekleri sunar:

Schedule TypeDescriptionUsage Example
SecondHer X saniyede bir çalıştırKritik güvenlik TAG'leri için her 5 saniyede bir kayıt (hızlı değişen değerler)
MinuteHer X dakikada bir çalıştırEnerji sayaçları için her 15 dakikada bir kayıt (standart ölçümler)
HourlyHer X saatte bir çalıştırSıcaklık sensörleri için her 1 saatte bir kayıt (yavaş değişen değerler)
DailyHer gün belirli saatte çalıştırGünlük özet raporları için her gün 23:59'da kayıt
WeeklyHaftanın belirli günlerinde çalıştırHaftalık bakım TAG'leri için her Pazartesi 08:00'de kayıt
MonthlyAyın belirli gününde çalıştırAylık sayaç okumaları için her ayın 1. günü 00:00'da kayıt
CustomÖzel zaman aralıkları ile çalıştırMesai saatleri: Pazartesi-Cuma 08:00-17:00 arası her 10 dakikada, gece 01:00-06:00 arası her 1 saatte

Custom Zamanlama Örneği

Custom seçeneği ile her gün için farklı zaman aralıkları ve her aralık için özel çalışma süresi tanımlayabilirsiniz:

  • Pazartesi-Cuma: 08:00-17:00 arası her 5 dakikada bir (mesai saatleri)
  • Pazartesi-Cuma: 17:00-08:00 arası her 30 dakikada bir (mesai dışı)
  • Cumartesi-Pazar: Tüm gün her 1 saatte bir (hafta sonu)

Performans İpuçları:

  • Çok sık kayıt (örn: her saniye) veritabanı boyutunu hızla artırır
  • Kritik olmayan TAG'ler için daha uzun aralıklar kullanın
  • Mesai saatleri ve mesai dışı için farklı aralıklar tanımlayın
  • Forward Filling özelliği ile veri kaybını önleyin

Yeni TAG Ekleme

Adım Adım TAG Ekleme

  1. Tag List sayfasına gidin
  2. "Add New Tag" butonuna tıklayın
  3. TAG tipini seçin (Standard/Static)
  4. Tag Name ve Friendly Name girin
  5. Category seçin
  6. Station seçin (Standard TAG için)
  7. Address ve Data Type belirtin
  8. Forward Filling ayarlayın (gerekirse)
  9. Writable işaretleyin (gerekirse)
  10. SaveToDatabase ve Storage Schedule ayarlayın (gerekirse)
  11. Kaydet ve test edin

TAG Listeleme Sayfası

TAG Listeleme

Tag List sayfasında tüm TAG'lerin gerçek zamanlı değerlerini görebilirsiniz:

  • Anlık TAG değerleri
  • Son güncelleme zamanı
  • Hızlı filtreleme ve arama
  • Export özellikleri (Excel, CSV, JSON)
  • Tag Detail(History) sayfasına gitme
  • Tag Düzenleme (Edit)
  • Tag Silme (Delete)

En İyi Uygulamalar

Öneriler

  • TAG isimlerini standart ve açıklayıcı tutun
  • Friendly Name'leri anlaşılır yazın
  • Her TAG için kategori atayın
  • Storage Schedule'i ihtiyaca göre optimize edin
  • Gereksiz TAG'leri SaveToDatabase yapmayın
  • Kritik TAG'leri düzenli test edin
  • Naming convention belirleyin ve uygulayın

Sık Karşılaşılan Sorunlar

TAG Değeri Okunamıyor

  • Station bağlantısını kontrol edin
  • TAG adresinin doğru olduğunu doğrulayın
  • Veri tipinin uyumlu olduğunu kontrol edin
  • PLC'de ilgili alanın var olduğunu kontrol edin

Yanlış Değer Okuyor

  • Veri tipini kontrol edin (INT/DINT/REAL)
  • Byte order (Endianness) ayarlarını kontrol edin

Bağlantı Kurulamıyor

  • IP adresini ve port numarasını kontrol edin
  • Network bağlantısını test edin (ping)
  • Firewall ayarlarını kontrol edin
  • PLC'nin RUN modunda olduğundan emin olun
  • Rack ve Slot numaralarının doğru olduğunu kontrol edin. (Siemens için)
  • Node ID/Unit ID numaralarının doğru olduğunu kontrol edin. (Modbus için)
  • Address numaralarının doğru olduğunu kontrol edin. (OPC için)

Veri Okunamıyor

  • Cihaz bağlantısının aktif olduğunu kontrol edin
  • TAG adreslerinin doğru olduğunu doğrulayın
  • Veri tiplerinin uyumlu olduğunu kontrol edin
  • PLC'de ilgili data block'ların optimize edilmediğinden emin olun

Yazma İşlemi Başarısız

  • TAG'in "Writable" özelliğinin aktif olduğunu kontrol edin
  • PLC'de yazma korumasının olmadığından emin olun
  • Yazılacak değerin veri tipi ile uyumlu olduğunu kontrol edin
  • Kullanıcı yetkilerini kontrol edin