Eylem Bazlı Yapının Temel Çalışma Prensibi

Eylem Bazlı SCADA yapısında bir işlem doğrudan belirli bir fonksiyona bağlı olmak yerine, eylem ve fonksiyon olmak üzere iki temel bileşen üzerinden tanımlanır.

Kullanıcı kontrolü üzerinde meydana gelen bir eylem, kendisine bağlı olarak tanımlanmış bir veya daha fazla fonksiyonu tetikleyebilir.

Temel yaklaşım: Eylem gerçekleşir → Eyleme bağlı fonksiyon çalışır → Tanımlanan işlem gerçekleştirilir.

Örneğin bir kullanıcı kontrolü üzerinde Leftmousedown eylemi meydana geldiğinde, bu eyleme bağlı olarak Write fonksiyonu çalıştırılabilir. Böylece kullanıcı kontrolüne sol fare tuşuyla basıldığında ilgili Tag'a veya kontrolcüye bir komut gönderilebilir.

EOS SCADA Tarafından Desteklenen Eylemler

EOS SCADA yazılımında kullanıcı kontrolleri üzerinde meydana gelebilecek çeşitli eylemler desteklenmektedir.

Desteklenen eylemler aşağıda açıklanmaktadır:

  1. Leftmousedown (Sol Fare Aşağı): Bilgisayar faresinin sol butonuna basılması.
  2. Leftmouseup (Sol Fare Yukarı): Bilgisayar faresinin sol butonunun bırakılması.
  3. Leftmousedoubleclick (Sol Fare Çift Tıklama): Bilgisayar faresinin sol butonuna çift tıklanması.
  4. Rightmousedown (Sağ Fare Aşağı): Bilgisayar faresinin sağ butonuna basılması.
  5. Rightmouseup (Sağ Fare Yukarı): Bilgisayar faresinin sağ butonunun bırakılması.
  6. Rightmousedoubleclick (Sağ Fare Çift Tıklama): Bilgisayar faresinin sağ butonuna çift tıklanması.
  7. Middlemousedown (Orta Fare Aşağı): Bilgisayar faresinin orta butonuna basılması.
  8. Middlemouseup (Orta Fare Yukarı): Bilgisayar faresinin orta butonunun bırakılması.
  9. Middlemousedoubleclick (Orta Fare Çift Tıklama): Bilgisayar faresinin orta butonuna çift tıklanması.
  10. Valuechanged (Veri Değişikliği): SCADA veri değerinin değişmesi.
  11. Private (Özel): EOS SCADA yazılımına özel kullanım amacıyla tanımlanan eylemler.

Eylemler Tarafından Tetiklenebilen Fonksiyonlar

EOS SCADA içerisinde meydana gelen eylemler, kullanıcı kontrolünün veya sistemin gerçekleştirmesi gereken farklı fonksiyonları tetikleyebilir.

Desteklenen fonksiyonlar aşağıda açıklanmaktadır.

  1. Usercontrolspecific (Kullanıcı Kontrolüne Özel): Kullanıcı kontrolünün EOS SCADA 2022 sürümünde programlanmış normal işlevini gerçekleştirmesini sağlar.
  2. Gotoscreeninnavigator (Navigatörde Ekrana Git): Navigatör kullanıcı kontrolünde eylem tanımında belirtilen ekrana geçiş yapılmasını sağlar.
  3. Goforwardinnavigator (Navigatörde İleri Git): Navigasyon geçmişine göre bir sonraki ekrana geçiş yapılmasını sağlar.
  4. Gobackinnavigator (Navigatörde Geri Git): Navigasyon geçmişine göre bir önceki ekrana geçiş yapılmasını sağlar.
  5. Openpopupscreen (Popup Ekran Aç): Belirtilen ekranın bağımsız bir Popup Ekran penceresi olarak açılmasını sağlar.
  6. Opengraphicspanel (Grafik Paneli Aç): Grafik Panelinin açılmasını sağlar.
  7. Openeventpanel (Olay Paneli Aç): Olay Panelinin açılmasını sağlar.
  8. Runscript (Script Çalıştır): Eylem tanımında belirtilen Visual C#, Visual Basic veya Python scriptinin çalıştırılmasını sağlar.
  9. Openwebpage (İnternet Sayfası Aç): Belirtilen internet sayfasının bilgisayarın internet tarayıcısında açılmasını sağlar.
  10. Sendemail (E-Posta Gönder): E-Posta gönderme panelinin başlatılmasını sağlar.
  11. Startprogram (Bir Program Başlat): Belirtilen .exe veya .bat dosyasının ya da komut listesinin çalıştırılmasını sağlar.
  12. Opennotesscreen (Operatör Notları Ekranını Aç): Operatör Notları panelinin başlatılmasını sağlar.
  13. Increasetagvaluebyfixedamount (Bir Tag Değerini Sabit Bir Miktar Kadar Arttır): Belirtilen Tag değerinin, tanımlanan sabit miktar kadar artırılmasını sağlar.
  14. Decreasetagvaluebyfixedamount (Bir Tag Değerini Sabit Bir Miktar Kadar Azalt): Belirtilen Tag değerinin, tanımlanan sabit miktar kadar azaltılmasını sağlar.
  15. Invertbooltag (Bool Tag Değerini Tersine Çevir): Dijital bir Tag değerinin tersine çevrilmesini sağlar. Değer 1 ise 0, 0 ise 1 yapılır.
  16. Printscreen (Ekranı Yazdır): SCADA ekranının yazdırılmasını sağlar.
  17. Savescreenshot (Ekran Görüntüsünü BMP Olarak Sakla): Ekran görüntüsünün BMP formatında saklanmasını sağlar.
  18. Opendiagnostics (Sistem Diagnostics Ekranını Aç): Sistem teşhis ve tanılama işlemleri için Diagnostics ekranının açılmasını sağlar.
  19. Openonscreenkeyboard (Ekran Klavyesini Aç): Ekran klavyesinin açılmasını sağlar.
  20. Readtagsforcestatus (Tag'ın FORCE Statüsünü Oku): Belirtilen Tag'ın FORCE durumunun okunmasını ve gösterilmesini sağlar.
  21. Updatetagsforcestatus (Tag'ın FORCE Statüsünü Güncelle): Belirtilen Tag'ın FORCE durumunun güncellenmesini sağlar.
  22. Readeosdatetime (EOS Donanımlarının Tarih Saat Değerlerini Oku): EOS donanımlarının donanımsal tarih ve saat bilgilerinin okunmasını sağlar.
  23. Seteosdatetime (EOS Donanımlarının Tarih Saat Değerlerini Ayarla): EOS donanımlarının donanımsal tarih ve saat bilgilerinin ayarlanmasını sağlar.
  24. Visibleinvisible (Görünürlük): Kullanıcı kontrolünün, belirtilen Tag değerine göre görünür veya gizli duruma getirilmesini sağlar.
  25. Enabledisable (Etkin-Devre Dışı): Kullanıcı kontrolünün, belirtilen Tag değerine göre etkin veya devre dışı duruma getirilmesini sağlar.
  26. Blink (Yanıp Sönme): Kullanıcı kontrolünün, belirtilen Tag değerine göre sabit veya yanıp sönen duruma getirilmesini sağlar.
  27. Soundalarm (Sesli Alarm): Belirtilen Tag değerine göre sesli uyarı alarmının başlatılmasını sağlar.
  28. Write (Veri Yazma): Tanımlanan eylem gerçekleştiğinde kontrolcüye komut veya veri gönderilmesini sağlar.
  29. Private (Özel): EOS SCADA yazılımına özel fonksiyonların gerçekleştirilmesini sağlar.

Eylem-Fonksiyon İlişkisi

EOS SCADA'nın Eylem Bazlı yapısında bir eylem ile gerçekleştirilecek işlem arasında eylem-fonksiyon ilişkisi oluşturulur.

Kullanıcı kontrolü üzerinde gerçekleşen eylem, kendisine bağlı olan fonksiyonun çalıştırılmasını tetikler.

Örnek 1 — Veri Görselleştirme

Valuechanged Usercontrolspecific

Bir Tag'ın değeri değiştiğinde Valuechanged eylemi meydana gelir. Bu eyleme bağlı Usercontrolspecific fonksiyonu çalıştırılarak kullanıcı kontrolünün normal görsel işlevi gerçekleştirilir.

Örnek 2 — Kontrolcüye Komut Gönderme

Leftmousedown Write

Kullanıcı kontrolü üzerinde sol fare butonuna basıldığında Leftmousedown eylemi gerçekleşir. Bu eyleme bağlı Write fonksiyonu çalıştırılarak kontrolcüye komut gönderilebilir.

Örnek 3 — Ekran Açma

Leftmousedoubleclick Openpopupscreen

Kullanıcı kontrolüne çift tıklandığında belirtilen Popup Ekranın açılması sağlanabilir.

Valuechanged - Usercontrolspecific Çifti

EOS SCADA içerisinde herhangi bir kullanıcı kontrolünün normal veri görselleştirme işlevini gerçekleştirebilmesi için Valuechanged - Usercontrolspecific eylem-fonksiyon çiftinin kullanılması gerekmektedir.

Valuechanged eylemi, ilgili SCADA veri değerinin değiştiğini bildirir. Usercontrolspecific fonksiyonu ise kullanıcı kontrolünün kendi normal çalışma fonksiyonunu gerçekleştirir.

Örneğin bir LED kullanıcı kontrolünde Tag değerinin değişmesi sonucunda LED renginin değiştirilmesi veya Numeric LED kullanıcı kontrolünde gösterilen veri değerinin güncellenmesi bu yapı üzerinden gerçekleştirilebilir.

⚠️ DİKKAT

Normal görsel işlevini gerçekleştirmesi gereken kullanıcı kontrollerinde Valuechanged - Usercontrolspecific çiftinin tanımlanması gerekmektedir.

Write Fonksiyonunun Kullanılması

Kullanıcı tarafından bir kontrolcüye komut veya veri gönderilmesi gerektiğinde Write fonksiyonu kullanılabilir.

Write fonksiyonunun çalışabilmesi için uygun bir kullanıcı eylemi ile birlikte tanımlanması gerekmektedir.

Örneğin kullanıcı kontrolünün sol fare butonuna basıldığında kontrolcüye komut göndermesi isteniyorsa aşağıdaki eylem-fonksiyon çifti kullanılabilir:

Leftmousedown - Write

Benzer şekilde sol fare butonunun bırakılması sırasında komut gönderilmesi isteniyorsa Leftmouseup - Write çifti kullanılabilir.

İhtiyaca göre sağ veya orta fare eylemleri de Write fonksiyonu ile birlikte kullanılabilir.

⚠️ DİKKAT

Kullanıcıya veya kontrolcüye komut gönderilebilmesi için uygun bir fare eylemi ile birlikte Write fonksiyonunun kullanılması gerekmektedir.

Örneğin: Leftmousedown - Write, Leftmouseup - Write veya ihtiyaca uygun diğer eylem-fonksiyon çiftleri kullanılabilir.

Sınırsız Sayıda Eylem-Fonksiyon Tanımlama

EOS SCADA içerisinde her kullanıcı kontrolü için sayı sınırı olmaksızın eylem-fonksiyon çiftleri tanımlanabilir.

Böylece aynı kullanıcı kontrolü üzerinde farklı eylemlere farklı fonksiyonlar atanabilir ve kullanıcının gerçekleştirdiği işlemlere göre farklı tepkiler oluşturulabilir.

Örneğin tek bir kullanıcı kontrolü üzerinde;

  • Valuechanged - Usercontrolspecific
  • Leftmousedown - Write
  • Rightmousedoubleclick - Openpopupscreen
  • Leftmousedoubleclick - Openwebpage

gibi birden fazla eylem-fonksiyon ilişkisi aynı anda tanımlanabilir.

NOT: Her kullanıcı kontrolü için sınırsız sayıda eylem-fonksiyon çifti kullanılabilir.

Eylem Bazlı Yapının Sağladığı Esneklik

Eylem Bazlı yapı sayesinde kullanıcı kontrollerinin davranışları daha esnek bir şekilde yapılandırılabilir. Bir kullanıcı kontrolünün yalnızca tek bir işlev gerçekleştirmesi yerine, farklı kullanıcı etkileşimlerine farklı fonksiyonlar atanabilir.

Bu yaklaşım özellikle karmaşık SCADA ekranlarında kullanıcı kontrollerinin davranışlarının daha kontrollü ve anlaşılır şekilde tanımlanmasını sağlar.

Eylemler ile fonksiyonların birbirinden ayrılması, aynı fonksiyonun farklı eylemler tarafından kullanılabilmesine ve farklı eylemlerin farklı fonksiyonları tetiklemesine olanak sağlar.

Tasarım yaklaşımı: Öncelikle kullanıcı kontrolünde gerçekleşmesi beklenen eylem belirlenmeli, ardından bu eylemin gerçekleştirmesi gereken fonksiyon tanımlanmalıdır.

Özet

EOS SCADA 2023 sürümünde kullanılan Eylem Bazlı Yapı, kullanıcı kontrolleri üzerinde meydana gelen eylemlerin belirli fonksiyonları tetiklemesi esasına dayanmaktadır.

EOS SCADA tarafından desteklenen Leftmousedown, Leftmouseup, Leftmousedoubleclick, Rightmousedown, Rightmouseup, Rightmousedoubleclick, Middlemousedown, Middlemouseup, Middlemousedoubleclick, Valuechanged ve Private gibi eylemler, farklı fonksiyonlarla ilişkilendirilebilir.

Bu fonksiyonlar arasında Usercontrolspecific, Write, Gotoscreeninnavigator, Openpopupscreen, Runscript, Openwebpage, Sendemail, Startprogram, Visibleinvisible, Enabledisable, Blink, Soundalarm ve diğer sistem fonksiyonları bulunmaktadır.

Bir kullanıcı kontrolünün normal veri görselleştirme işlevini gerçekleştirebilmesi için Valuechanged - Usercontrolspecific çiftinin kullanılması gerekir. Kullanıcı tarafından kontrolcüye komut gönderilmesi için ise uygun bir eylem ile Write fonksiyonu birlikte kullanılmalıdır.

EOS SCADA'da her kullanıcı kontrolü için sınırsız sayıda eylem-fonksiyon çifti tanımlanabilir. Bu yapı, SCADA ekranlarındaki kullanıcı kontrollerinin farklı kullanıcı etkileşimlerine göre esnek ve işlevsel davranışlar sergilemesini sağlar.

← Bir Önceki Sayfaya Dön