İçeriğe geç

Alarm Yönetimi

Alarm sistemi, değişken değerlerindeki anormal durumları tespit eder, kaydeder ve bildirir. Alarmlar grup halinde organize edilir ve her grup bir projeye bağlıdır.

Alarm Grupları

Alarm grubu, alarm tanımlarını organize eden ve ortak davranış parametreleri belirleyen konteynerdir.

Menü: Runtime → Alarms → Alarm Groups → Yeni Grup

AlanZorunluAçıklama
NameEvetGrup adı
Scan Time (ms)EvetAlarm kontrol periyodu (min: 100ms)
PriorityEvetÖncelik seviyesi (1-255)
DescriptionHayırAçıklama
AlanAçıklama
On ScriptAlarm tetiklendiğinde çalışacak script
Off ScriptAlarm kapandığında çalışacak script
Ack ScriptAlarm onaylandığında çalışacak script
On (No Ack) ColorTetiklendi, onaylanmadı rengi
On (Ack) ColorTetiklendi, onaylandı rengi
Off (No Ack) ColorKapandı, onaylanmadı rengi
Off (Ack) ColorKapandı, onaylandı rengi
Hidden on MonitorAlarm monitöründe gizle

Alarm olayları doğrudan ağ yazıcısına gönderilebilir:

AlanAçıklama
Printer IPYazıcı IP adresi
Printer PortYazıcı port numarası
Print When OnTetiklendiğinde yazdır
Print When OffKapandığında yazdır
Print When AckOnaylandığında yazdır

Sayısal değişkenlerin eşik değerlerini izler.

EşikAçıklamaÖrnek
High-HighÇok yüksek (kritik)Sıcaklık > 90°C
HighYüksek (uyarı)Sıcaklık > 70°C
LowDüşük (uyarı)Basınç < 2 bar
Low-LowÇok düşük (kritik)Basınç < 1 bar

Her eşik için ayrı ayrı alarm tanımı oluşturulur. Hysteresis (gecikme bandı) değeri ile alarm titreşimi önlenir.

Boolean değişkenlerin durum değişimini izler.

KoşulAçıklama
ON = AlarmDeğer true olduğunda alarm tetiklenir
OFF = NormalDeğer false olduğunda alarm kapanır

Örnek: Motor arıza sinyali, kapı açık kontağı, acil stop butonu.

JavaScript expression ile özel alarm koşulu tanımlama.

// Birden fazla değişkene bağlı alarm koşulu
var power = ins.getVariableValue("ActivePower_kW").value;
var temp = ins.getVariableValue("Temperature_C").value;
return power > 500 && temp > 70; // her ikisi de yüksekse alarm

Normal → Fired (Tetiklendi) → Acknowledged (Onaylandı) → Off (Kapandı)
GeçişTetikleyenAçıklama
Normal → FiredSistemAlarm koşulu sağlandı
Fired → AcknowledgedOperatörOperatör alarmı onayladı
Fired/Ack → OffSistemAlarm koşulu ortadan kalktı
Fired → Force OffOperatörAlarm zorla kapatıldı
DurumVarsayılanAnlamı
Fired + No AckKırmızı yanıp sönerDikkat gerekli
Fired + AckKırmızı sabitFarkında, devam ediyor
Off + No AckSarıKapandı ama görülmedi
Off + AckNormalTamamlandı

Menü: Runtime → Alarm Tracking → Alarm Monitor

Alarm Monitor

Aktif alarmları gerçek zamanlı olarak gösterir. Operatör bu ekrandan:

  • Alarmları görüntüler
  • Alarmları onaylar (Acknowledge)
  • Alarmları zorla kapatır (Force Off)

Menü: Visualization → Alarm Tracking

Alarm geçmişini tarih aralığına göre sorgular. Her alarm kaydı:

AlanAçıklama
Alarm adıHangi alarm tetiklendi
Tetiklenme zamanıNe zaman tetiklendi
Kapanma zamanıNe zaman kapandı
OnaylayanKim onayladı
SüreNe kadar sürdü
DeğerTetiklenme anındaki değer

// Son tetiklenen alarmlar
var alarms = ins.getLastFiredAlarms(0, 10);
// → [] (aktif alarm yoksa boş dizi)
// Tarih aralığında alarm geçmişi
var end = ins.now();
var start = ins.getDate(end.getTime() - 86400000);
var history = ins.getLastFiredAlarmsByDate(start, end, true, 100);
// Alarm grubunu devre dışı bırak (bakım modu)
ins.deactivateAlarmGroup("Temperature_Alarms");
// Bakım sonrası tekrar etkinleştir
ins.activateAlarmGroup("Temperature_Alarms");

Detaylı API: Alarm API → | REST API →