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] + 10

Sı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] = 1

Değ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] = 1

Sı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.

Formula Examplesjavascript
// Kompresör Optimizasyonu
[CompressorPressure] > 8.5 && [ProductionStatus] = 0

// Aydınlatma Kontrolü
[LightSensor] < 300 && [WorkingHours] = 0

// Soğutma Sistemi
[Temperature] > 75 && [CoolingFan] = 0

Formü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.

StatusDescriptionSettings
True ResultFormül true döndüğündeYazılacak değer ve hedef TAG
False ResultFormül false döndüğündeYazılacak değer ve hedef TAG
Target TAGYazılacak TAGWritable olmalı

Örnek Senaryo:

Formül: Temperature > 80

  • True ise: CoolingFan TAG'ine 1 yaz (Fanı aç)
  • False ise: CoolingFan TAG'ine 0 yaz (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 TypeDescriptionUsage Example
SecondHer X saniyede bir çalıştırKritik formüller için her 10 saniyede bir kontrol
MinuteHer X dakikada bir çalıştırKompresör kontrolü için her 5 dakikada bir
HourlyHer X saatte bir çalıştırAydınlatma kontrolü için her 1 saatte bir
DailyHer gün belirli saatte çalıştırGünlük raporlama için her gün 23:59'da
WeeklyHaftanın belirli günlerinde çalıştırHaftalık bakım kontrolü için her Pazartesi 08:00'de
MonthlyAyın belirli gününde çalıştırAylık optimizasyon için her ayın 1. günü
CustomÖzel zaman aralıkları ile çalıştırMesai 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

  1. Formula List sayfasına gidin
  2. "Add New Formula" butonuna tıklayın
  3. Formül adı girin
  4. Formula Builder ile formülü oluşturun (TAG seçimi + operatörler)
  5. Success Message (TRUE sonucu için) yazın
  6. Warning Message (FALSE sonucu için) yazın
  7. Scheduling Configuration ayarlayın (ne sıklıkla çalışacak)
  8. Writing Mode'u kapalı tutun (Hedef TAG ayarlanmadığı sürece Writing Mode'u kapalı olur)
  9. Formülü kaydedin ve aktif edin
  10. Notification Logs'tan sonuçları izleyin (Birkaç saat)
  11. 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

  1. Writing Mode Kapalı: Formülü oluştururken Writing Mode'u aktif etmeyin
  2. Bildirim Mesajları: Success ve Warning mesajlarını detaylı yazın
  3. Formülü Aktif Edin: Formülü kaydedin ve aktif duruma getirin
  4. Notification Logs İzleyin: Formül sonuçlarını Notification Logs'tan takip edin
  5. Doğrulama: Formülün beklenen durumlarda SUCCESS veya WARNING mesajı döndüğünü kontrol edin
  6. 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