Formulas (Formüller)
TAG ve Advanced TAG verilerini kullanarak bildirim ve otomatik müdahale formülleri oluşturur. Gereksiz tüketimleri önler. Önemli durumları erkenden bildirir.
Genel Bakış
Formulas modülü, Smart Energy sisteminin beynidir. Formüller sayesinde TAG değerlerini izleyebilir, koşullar oluşturabilir ve otomatik müdahaleler yapabilirsiniz. Örneğin, üretim durduğunda kompresörleri otomatik kapatabilir veya mesai dışı saatlerde gereksiz çalışan motorları kapatabilirsiniz.
Önemli Not
Formüller PLC'lere otomatik müdahale edebilir. Her formülü dikkatli test edin. İlk etapta Writing Mode'u kapalı tutarak sadece bildirimleri izleyin ve formülün doğru çalıştığından emin olduktan sonra otomatik müdahaleyi aktif edin.
Temel Özellikler
- TAG ve Advanced TAG kullanımı
- Matematiksel ve mantıksal operatörler
- Otomatik TAG yazma (Writing Mode ile)
- Bildirim gönderme (Success/Warning mesajları)
- Esnek zamanlama (Storage Schedule)
- Formül sonuçlarını izleyerek test etme
- Notification Logs ile detaylı takip
Formula Builder - Neden Önemli?
Formula Builder Avantajları
Formula Builder, karmaşık formülleri kolayca oluşturmanızı sağlayan görsel bir araçtır. Kod yazmadan, sürükle-bırak mantığıyla güçlü otomasyonlar kurabilirsiniz.
🎯 Kullanım Kolaylığı
- ✅ Kod bilgisi gerektirmez
- ✅ Görsel calculator butonları
- ✅ TAG seçimi dropdown ile
- ✅ Formül önizleme
- ✅ Hata kontrolü
⚡ Güçlü Özellikler
- ✅ Matematiksel işlemler
- ✅ Karşılaştırma operatörleri
- ✅ Mantıksal operatörler (AND, OR)
- ✅ Parantez desteği
- ✅ Çoklu TAG kullanımı
🔄 Otomasyon
- ✅ Otomatik müdahale (Writing Mode)
- ✅ Bildirim üretimi
- ✅ Esnek zamanlama
- ✅ Bildirim izleyerek test
- ✅ Gerçek zamanlı izleme
💰 İş Değeri
- ✅ Enerji tasarrufu
- ✅ Maliyet düşürme
- ✅ Verimlilik artışı
- ✅ Hata önleme
- ✅ 7/24 otomatik kontrol
📝 Formül Örnekleri
1. Basit Matematiksel İşlem:
[Temperature] + 10Sıcaklık değerine 10 derece ekle
2. Ortalama Hesaplama:
([Pressure1] + [Pressure2]) / 2İki basınç sensörünün ortalaması
3. Koşullu Kontrol:
[Value] > 100 && [Status] = 1Değer 100'den büyük VE durum 1 ise
4. Karmaşık Hesaplama:
[Tag1] + ([Tag2] * 2)Tag1 artı Tag2'nin iki katı
5. Enerji Optimizasyonu:
[CompressorPressure] > 8 && [ProductionStatus] = 0Üretim durmuşken kompresör basıncı yüksekse → Kompresörü kapat
6. Çoklu Koşul:
([Temp] > 80 || [Pressure] > 10) && [SafetyStatus] = 1Sıcaklık veya basınç yüksek VE güvenlik aktif ise
Desteklenen Operatörler
Aritmetik Operatörler
+Toplama-Çıkarma*Çarpma/Bölme%Mod (kalan)()Parantez
Karşılaştırma Operatörleri
==Eşittir!=Eşit değildir>Büyüktür<Küçüktür>=Büyük eşittir<=Küçük eşittir
Mantıksal Operatörler
&&VE (AND)||VEYA (OR)!DEĞİL (NOT)
Formül Yapısı
Formül Nasıl Çalışır?
Formüller, TAG değerlerini kullanarak matematiksel ve mantıksal işlemler yapar. Formül sonucu TRUE veya FALSE döner ve bu sonuca göre aksiyon alınır.
// Kompresör Optimizasyonu
[CompressorPressure] > 8.5 && [ProductionStatus] = 0
// Aydınlatma Kontrolü
[LightSensor] < 300 && [WorkingHours] = 0
// Soğutma Sistemi
[Temperature] > 75 && [CoolingFan] = 0Formül Bileşenleri
- Formula Name: Formül adı
- Formula Text: Matematiksel/mantıksal ifade
- Success Message: TRUE sonucu için mesaj
- Warning Message: FALSE sonucu için mesaj
- Writing Mode: Otomatik TAG yazma (opsiyonel)
- Scheduling: Çalışma zamanı
Çalışma Modları
- Sadece Bildirim: Writing Mode kapalı, sadece notification üretir
- Otomatik Müdahale: Writing Mode açık, TAG'lere yazar
- Zamanlı Çalışma: Scheduling ile belirli zamanlarda çalışır
- Sürekli İzleme: Her cronjob çalışmasında kontrol eder
Writing Mode (Yazma Modu)
Formül Sonuçlarına Göre TAG Yazma
Writing Mode özelliği ile formül sonucuna göre (true/false) farklı TAG'lere farklı değerler yazabilirsiniz. Bu özellik otomatik kontrol sistemleri için idealdir.
| Status | Description | Settings |
|---|---|---|
| True Result | Formül true döndüğünde | Yazılacak değer ve hedef TAG |
| False Result | Formül false döndüğünde | Yazılacak değer ve hedef TAG |
| Target TAG | Yazılacak TAG | Writable olmalı |
Örnek Senaryo:
Formül: Temperature > 80
- True ise:
CoolingFanTAG'ine1yaz (Fanı aç) - False ise:
CoolingFanTAG'ine0yaz (Fanı kapat)
Zamanlama (Scheduling Configuration)
Formül Çalışma Zamanı
Formüllerin ne sıklıkla çalışacağını belirler. TAG'lerdeki Storage Schedule ile aynı yapıdadır. 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 formüller için her 10 saniyede bir kontrol |
| Minute | Her X dakikada bir çalıştır | Kompresör kontrolü için her 5 dakikada bir |
| Hourly | Her X saatte bir çalıştır | Aydınlatma kontrolü için her 1 saatte bir |
| Daily | Her gün belirli saatte çalıştır | Günlük raporlama için her gün 23:59'da |
| Weekly | Haftanın belirli günlerinde çalıştır | Haftalık bakım kontrolü için her Pazartesi 08:00'de |
| Monthly | Ayın belirli gününde çalıştır | Aylık optimizasyon için her ayın 1. günü |
| Custom | Özel zaman aralıkları ile çalıştır | Mesai saatleri: Pazartesi-Cuma 08:00-17:00 arası her 10 dakikada |
Custom Zamanlama Örneği
Custom seçeneği ile her gün için farklı zaman aralıkları tanımlayabilirsiniz:
- Mesai saatleri: Pazartesi-Cuma 08:00-17:00 arası her 5 dakikada kontrol
- Mesai dışı: Pazartesi-Cuma 17:00-08:00 arası her 30 dakikada kontrol
- Hafta sonu: Cumartesi-Pazar her 1 saatte bir kontrol
Öneriler
- Kritik formüller için kısa aralıklar (1-5 dakika) kullanın
- Bilgilendirme amaçlı formüller için uzun aralıklar (1 saat+) yeterlidir
- Mesai saatleri ve mesai dışı için farklı aralıklar tanımlayın
- Çok sık çalışan formüller sistem performansını etkileyebilir
Bildirim Sistemi
Notification Gönderme
Her formül sonucu otomatik olarak Notification Logs'a kaydedilir. Bildirimler iki şekilde görüntülenebilir:
Notification Logs:
- Tüm formül sonuçları
- Zaman damgalı kayıtlar
- Detaylı log bilgisi
Notification List (Error List):
- Filtrelenmiş bildirimler
- Tekrar eden kayıtlar birleştirilmiş
- Sadece aktif sorunlar
Yeni Formül Oluşturma
Adım Adım Formül Oluşturma
- Formula List sayfasına gidin
- "Add New Formula" butonuna tıklayın
- Formül adı girin
- Formula Builder ile formülü oluşturun (TAG seçimi + operatörler)
- Success Message (TRUE sonucu için) yazın
- Warning Message (FALSE sonucu için) yazın
- Scheduling Configuration ayarlayın (ne sıklıkla çalışacak)
- Writing Mode'u kapalı tutun (Hedef TAG ayarlanmadığı sürece Writing Mode'u kapalı olur)
- Formülü kaydedin ve aktif edin
- Notification Logs'tan sonuçları izleyin (Birkaç saat)
- Formül doğru çalışıyorsa Writing Mode'u aktif edin
Formül Test Etme
Bildirimlerle Güvenli Test
Yeni formülleri test etmek için özel bir "Test Modu" yoktur. Bunun yerine, formülü oluştururken Writing Mode'u kapalı tutarak güvenli bir şekilde test edebilirsiniz. Hedef TAG ayarlanmadığı sürece Writing Mode'u kapalı olur.
Test Süreci
- Writing Mode Kapalı: Formülü oluştururken Writing Mode'u aktif etmeyin
- Bildirim Mesajları: Success ve Warning mesajlarını detaylı yazın
- Formülü Aktif Edin: Formülü kaydedin ve aktif duruma getirin
- Notification Logs İzleyin: Formül sonuçlarını Notification Logs'tan takip edin
- Doğrulama: Formülün beklenen durumlarda SUCCESS veya WARNING mesajı döndüğünü kontrol edin
- Writing Mode Aktif: Formül doğru çalışıyorsa Writing Mode'u aktif edin
Avantajlar
- ✅ PLC'ye hiçbir müdahale yapılmaz
- ✅ Formül mantığını güvenle test edebilirsiniz
- ✅ Notification Logs'ta tüm sonuçları görürsünüz
- ✅ Hataları erken tespit edersiniz
- ✅ İstediğiniz kadar test edebilirsiniz
Öneriler
- Yeni formülleri birkaç saat Writing Mode kapalı çalıştırın
- Farklı senaryoları (mesai saatleri, hafta sonu, gece) test edin
- Notification Logs'ta beklenmeyen sonuçlar varsa formülü düzeltin
- Kritik sistemler için (en az 24 saat+) daha uzun test süreleri kullanın
- Writing Mode'u aktif ettikten sonra da ilk birkaç gün yakından takip edin
Örnek Kullanım Senaryoları
Senaryo 1: Kompresör Optimizasyonu
Durum: Üretim durduğunda kompresör hala çalışıyor
Formül: [CompressorPressure] > 8.5 && [ProductionStatus] = 0
Aksiyon: Writing Mode ile CompressorControl TAG'ine 0 yaz (Kompresörü kapat)
Sonuç: Gereksiz enerji tüketimi önlenir, maliyet düşer
Senaryo 2: Mesai Dışı Aydınlatma
Durum: Mesai bittiğinde bazı alanlar aydınlatılmış kalıyor
Formül: [WorkingHours] = 0 && [LightStatus] = 1
Aksiyon: Writing Mode ile LightControl TAG'ine 0 yaz (Işıkları kapat)
Sonuç: Mesai dışı gereksiz aydınlatma önlenir
Senaryo 3: Sıcaklık Kontrolü
Durum: Ekipman sıcaklığı kritik seviyeye yaklaşıyor
Formül: [Temperature] > 75 && [CoolingFan] = 0
Aksiyon: Writing Mode ile CoolingFan TAG'ine 1 yaz (Fanı aç)
Sonuç: Ekipman aşırı ısınmadan korunur, arıza önlenir
Senaryo 4: Motor Koruma
Durum: Motor akımı normalin üzerinde
Formül: [MotorCurrent] > 50 && [MotorStatus] = 1
Aksiyon: Sadece bildirim gönder (Writing Mode kapalı)
Sonuç: Operatör uyarılır, motor hasarı önlenir