Alarms

Codesys Arka Uç (Back-End)

Codesys entegrasyonu, PLC mantığı içinde alarmların etkinleştirilmesini ve devre dışı bırakılmasını yönetir. Alarm ön yüzü ile doğrudan değişken bağlama (variable binding) yoluyla iletişim kurar.

Gerekli Kütüphaneler

Codesys projenizde alarm sistemini kullanmak için şu kütüphaneleri dahil etmelisiniz:

  • PLCVisu – İletişim ve kullanıcı arayüzü desteği için çerçeve
  • ELA_MessageSystem – Alarm yönetimi için temel kütüphane → PLCVisu kütüphanesi içerisinde yer alır

Detaylı bilgi için ekran görüntüsüne bakınız:

Codesys’te Sembol Yapılandırması

Codesys ile HMI arasında alarm iletişimini sağlamak için, alarm ile ilgili değişkenler Symbol Configuration bölümünde dış erişime açılmalıdır. Bu değişkenler seçilmeli ve dış erişime uygun hale getirilmelidir.

Tüm gerekli alarm yapılarını ve değişkenleri dış erişime açtığınızdan emin olun, aksi takdirde alarmlar HMI’da doğru şekilde gösterilmez.

Alarm Uygulaması

alarmPrg

Alarmların başlatılması ve olayların işlenmesiyle ilgilenen PLC programı. Genellikle PLC_PRG içerisine eklenir veya ayrı bir görevde (task) yer alabilir.

alarmingManagerPrg

Alarmın etkinleştirme/devre dışı bırakma mantığının gerçekleştiği programdır.

setActive

Opsiyonel parametreler ve çeviri anahtarlarıyla bir alarmı etkinleştirir:

setActive(msgId : UINT,
          param1 : STRING := '', 
          param2 : STRING := '', 
          param3 : STRING := '', 
          param4 : STRING := '', 
          param5 : STRING := '', 
          trans1 : STRING := '', 
          trans2 : STRING := '', 
          trans3 : STRING := '', 
          trans4 : STRING := '', 
          trans5 : STRING := '', 
          moduleId : UINT := 0);

setInactive

Daha önce etkinleştirilmiş bir alarmı devre dışı bırakır:

setInactive(msgId : UINT, 
            moduleIndex : UINT := 0, 
            tag : STRING := '');

manage

Bir tetikleyici (trigger) alır ve setActive ile setInactive metodlarının yerini alır:

alarmingPrg.alarming.manage(444, iErrorTrigger > 95);

Bu metodlar genellikle alarmManagerPrg gibi yapılandırılmış bir alarm yöneticisi programından çağrılır.

Örnek

alarmManagerPrg
alarmingPrg.alarming.manage(444, iErrorTrigger > 95);
setInactive
setActive
setInactive(msgId : UINT, moduleIndex : UINT := 0, tag : STRING := '');
setActive(msgId : UINT, param1 : STRING := '', param2 : STRING := '', param3 : STRING := '', param4 : STRING := '', param5 : STRING := '', trans1 : STRING := '', trans2 : STRING := '', trans3 : STRING := '', trans4 : STRING := '', trans5 : STRING := '', moduleId : UINT := 0);
PLC_PRG