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
| Type | Description | Example |
|---|---|---|
| Standard TAG | PLC/Cihazdan okunan gerçek veri | Siemens DB100.DBD0, Modbus 40001 |
| Static TAG | Sabit değer, formüllerde kullanılır | Pi sayısı, dönüşüm katsayıları |
| Calculated TAG | Diğer TAG'lerden hesaplanan | Advanced 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 Name | Description | Status |
|---|---|---|
| Friendly Name/Global Tag Name | Kullanıcı dostu isim ve benzersiz TAG adı | Zorunlu |
| Tag Categories | TAG kategorileri | Optional, Önerilen |
| Select Tag Source | TAG kaynağı - tipi. OPC, Siemens, Modbus, Static | Zorunlu |
| Station Name | Bağlı olduğu istasyon | Siemens - Modbus TAG için Zorunlu |
| Data Block Type | Data Block tipi (REAL, INT, DINT, BOOL, STRING) | Siemens - Modbus TAG için Zorunlu |
| Data Block Number | Data Block numarası | Siemens TAG için Zorunlu |
| Data Block Offset | Data Block offset | Siemens TAG için Zorunlu |
| Modbus Type | Modbus tipi (Discrete Input, Coil, Holding Register, Input Register) | Modbus TAG için Zorunlu |
| Modbus Address | Modbus adresi | Modbus TAG için Zorunlu |
| Tag Name | OPC tag adı | OPC için Zorunlu |
| OPC Address | OPC tag adresi | OPC için Zorunlu |
| Static Value | Sabit değer | Static TAG için |
| Forward Filling | Veri 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 |
| Writable | Yazılabilir TAG.(Formül ile müdahele edilecek TAG ise) | Optional |
| Save To Database | Bu etiket için geçmiş veri depolamasını etkinleştirin | Optional |
| Storage Schedule | Veritabanı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 Type | Description | Size | Example Address |
|---|---|---|---|
| BOOL | Boolean (true/false) | 1 bit | M0.0, DB1.DBX0.0 |
| BYTE | 8-bit unsigned | 1 byte | MB0, DB1.DBB0 |
| INT | 16-bit signed integer | 2 byte | MW0, DB1.DBW0 |
| DINT | 32-bit signed integer | 4 byte | MD0, DB1.DBD0 |
| LINT | 64-bit signed integer | 8 byte | ML0, DB1.DBW0 |
| REAL | 32-bit float | 4 byte | MD0, DB1.DBD0 |
| WORD | 16-bit unsigned | 2 byte | MW0, DB1.DBW0 |
| DWORD | 32-bit unsigned | 4 byte | MD0, DB1.DBW0 |
| STRING | Metin | Değişken | DB1.DBB0 |
Adres Formatları
// 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 1Siemens Adres Yapısı
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ı
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
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
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 Type | Description | Usage Example |
|---|---|---|
| Second | Her X saniyede bir çalıştır | Kritik güvenlik TAG'leri için her 5 saniyede bir kayıt (hızlı değişen değerler) |
| Minute | Her X dakikada bir çalıştır | Enerji sayaçları için her 15 dakikada bir kayıt (standart ölçümler) |
| Hourly | Her X saatte bir çalıştır | Sıcaklık sensörleri için her 1 saatte bir kayıt (yavaş değişen değerler) |
| Daily | Her gün belirli saatte çalıştır | Günlük özet raporları için her gün 23:59'da kayıt |
| Weekly | Haftanın belirli günlerinde çalıştır | Haftalık bakım TAG'leri için her Pazartesi 08:00'de kayıt |
| Monthly | Ayın belirli gününde çalıştır | Aylık sayaç okumaları için her ayın 1. günü 00:00'da kayıt |
| Custom | Özel zaman aralıkları ile çalıştır | Mesai 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
- Tag List sayfasına gidin
- "Add New Tag" butonuna tıklayın
- TAG tipini seçin (Standard/Static)
- Tag Name ve Friendly Name girin
- Category seçin
- Station seçin (Standard TAG için)
- Address ve Data Type belirtin
- Forward Filling ayarlayın (gerekirse)
- Writable işaretleyin (gerekirse)
- SaveToDatabase ve Storage Schedule ayarlayın (gerekirse)
- 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