NAVİGASYON BUTONU Hakkında

NAVİGASYON BUTONU, SCADA ekranları arasında kullanıcı kontrollü navigasyon oluşturmak amacıyla kullanılan özel bir User Control'dür. Bir düğme, etiket, resim kutusu veya sanal veri seçici görünümünde kullanılabilir. Kullanıcı arayüzündeki görünümden bağımsız olarak temel amacı, tanımlanan ekran veya pencere işlemini gerçekleştirmektir.

Kontrol; hedef ekranın kimliğini ScreenID ile belirleyebilir, açma davranışını OperationType ile seçebilir, popup konumunu ScreenLocation ile tanımlayabilir ve gerekli durumlarda ParentScreenID ile popup'ın bağlı olduğu ana ekranı belirtebilir.

Özellikle ekipman bazlı SCADA tasarımlarında TagPrefix, TagSuffix ve ScreenSuffix özellikleri önemlidir. Aynı ekran/popup tasarımının farklı ekipmanlara uyarlanması için etiket adlarının ortak bir yapıda tutulmasına yardımcı olurlar.

Temel yaklaşım: NAV_BUTTON'ı yalnızca bir “buton” olarak düşünmemek gerekir. Kontrol; ekran navigasyonu, popup yaşam döngüsü, popup parametrelerinin bağlanması, ekipman bazlı etiket isimlendirmesi ve yetkilendirme gibi işlemleri aynı navigasyon noktası üzerinde birleştirir.

NAVİGASYON BUTONU Çalışma Mimarisi

NAV_BUTTON ile yapılan bir navigasyon işleminde düğme üzerindeki tanım; hedef ekranı, açılış biçimini, gerekiyorsa popup konumunu ve hedef ekrana aktarılacak parametreleri belirler. Bu yapı, özellikle standartlaştırılmış ekipman popup'larında tekrar kullanılabilir bir ekran mimarisi oluşturur.

Neden önemlidir?

SCADA projesinde her motor, pompa, vana veya ölçüm noktası için ayrı bir popup tasarlamak yerine, ortak bir popup ekranı hazırlanıp değişken bilgiler parametre olarak aktarılabilir. Bu yaklaşım, ekran tasarımının tekrarını azaltır ve ekipman popup'larının ortak bir görsel yapıda tutulmasını sağlar.

OperationType — Pencere İşlemi

OperationType, NAV_BUTTON etkinleştirildiğinde hedef ekran üzerinde gerçekleştirilecek temel pencere işlemini belirler. Kaynak koddaki NBPencereAcma seçenekleri aşağıdaki gibidir.

Seçenekler Kümesi Türkçe Karşılığı Açıklama
Navigate Ekrana Git Tanımlanan ekrana geçiş yapılmasını ifade eder.
Justopen Sadece Aç Hedef pencereyi açmak için kullanılır; navigasyon davranışı popup kullanımına göre değerlendirilir.
Justclose Sadece Kapat Tanımlanan pencerenin kapatılması için kullanılır.
Wildopen Serbest Aç Popup/pencere açılışının serbest pencere davranışıyla kullanılmasına yönelik seçenektir.

Dokümantasyon notu: Kaynak kodunda bu seçeneklerin iç uygulama davranışını gerçekleştiren olay/metot kodu paylaşılmadığından, burada seçeneklerin kaynak koddaki açıklamaları ve kullanım amacı sınırları içinde ele alınmıştır.

ButtonType — Buton Türü

ButtonType, NAV_BUTTON'ın kullanıcı arayüzünde hangi görsel kontrol olarak sunulacağını belirler. Böylece navigasyon işlemi yalnızca klasik bir düğme görünümüne bağlı kalmaz.

Seçenekler Kümesi Türkçe Karşılığı Kullanım
Picturebox Resim Kutusu Resim tabanlı bir navigasyon yüzeyi oluşturmak için.
Label Etiket Metin tabanlı navigasyon alanı oluşturmak için.
Button Düğme Klasik buton görünümü için.
Virtualdataselector Sanal Veri Seçici Buton değil de veri seçimi için açılır liste.

Parametrik Popup — Tek Popup, Çok Sayıda Ekipman

NAV_BUTTON'ın en güçlü kullanım senaryolarından biri, aynı popup kullanıcı kontrolünün birden fazla ekipman için tekrar kullanılmasıdır. Bunun için popup içerisinde ekipmana özgü veriler doğrudan sabit etiketler olarak yazılmak yerine PARAMETER_COLLECTION üyeleri olarak tanımlanabilir.

10 Motor Örneği

Örneğin projede 10 motor bulunuyor: MOTOR-01 ... MOTOR-10. Her motor için ayrı bir MotorDetay popup'ı tasarlamak yerine tek bir popup hazırlanabilir.

Popup:
    MotorDetay

Parametreler:
    MOTOR_DURUM
    MOTOR_AKIM
    MOTOR_HIZ
    MOTOR_ALARM

MOTOR-01 için:
    MOTOR_DURUM → MOTOR01.Durum
    MOTOR_AKIM  → MOTOR01.Akim
    MOTOR_HIZ   → MOTOR01.Hiz
    MOTOR_ALARM → MOTOR01.Alarm

MOTOR-02 için:
    MOTOR_DURUM → MOTOR02.Durum
    MOTOR_AKIM  → MOTOR02.Akim
    MOTOR_HIZ   → MOTOR02.Hiz
    MOTOR_ALARM → MOTOR02.Alarm

Bu modelde popup'ın tasarımı değişmez; değişen şey popup'a bağlanan SCADA verileridir. Böylece aynı görsel yapı farklı ekipmanların verilerini gösterebilir.

Sonuç: Parametreli popup yaklaşımı, “her ekipmana ayrı ekran” yerine “tek ekran + ekipmana göre veri bağlama” mantığı oluşturur.

PARAMETRE KOLEKSİYONU (PARAMETER_COLLECTION)

Kaynak koddaki PARAMETER_COLLECTION, popup veya navigasyon hedefi ile SCADA verisi arasında parametre tabanlı bir ilişki kurulmasına yönelik veri yapısını temsil eder.

Öğe Tür Varsayılan Açıklama
ParameterName String PR Popup tarafında kullanılacak parametrenin adını temsil eder.
ConnectedTag String "" Parametrenin ilişkilendirileceği SCADA etiketini temsil eder.

Bu yapının pratik karşılığı şudur: popup “hangi veriyi göstermesi gerektiğini” bir parametre adıyla bilir; NAV_BUTTON ise bu parametreyi ilgili ekipmana ait gerçek SCADA etiketiyle ilişkilendirebilir.

TagPrefix — Etiket Öneki

TagPrefix, ekipman veya tesis hiyerarşisinin ortak kısmını etiket adının başına eklemek için kullanılabilecek bir yapı sağlar. Özellikle aynı ekranın farklı ekipmanlara bağlanmasında önemlidir.

Örnek

Popup parametresi:
    Motor.Durum

TagPrefix:
    MOTOR01.

Sonuç:
    MOTOR01.Motor.Durum

Gerçek etiket adlandırma kuralı projeye bağlı olduğundan, yukarıdaki gösterim kavramsal bir örnektir. Projedeki gerçek etiket isimlendirme standardı esas alınmalıdır.

TagSuffix — Etiket Son Eki

TagSuffix, etiket adlandırmasının sonuna ortak bir ifade eklemek için kullanılabilir. Bu, aynı ekranın belirli bir etiket grubu veya isimlendirme kuralıyla çalıştığı projelerde kullanılabilir.

Örnek

Temel etiket:
    MOTOR01.Durum

TagSuffix:
    .PV

Oluşabilecek adlandırma:
    MOTOR01.Durum.PV

Bu özellik de doğrudan kaynak kodunda görülen bir metinsel özellik olduğundan, ekleme işleminin kesin sırası ve gerçek etiket çözümleme algoritması için uygulamanın ilgili navigasyon kodu esas alınmalıdır.

ScreenSuffix — Ekran Son Eki

ScreenSuffix, hedef ekran kimliğiyle ilişkili ek bir ekran adlandırma bileşeni olarak kullanılabilir. Aynı ekran yapısının farklı tesis, hat, ünite veya ekipman bağlamlarında isimlendirilmesine yardımcı olabilir.

ScreenID:
    MotorDetay

ScreenSuffix:
    _01

Hedef kimlik örneği:
    MotorDetay_01

ParentScreenID ve ScreenLocation

Popup'ın hangi ekran bağlamında açılacağı ve pencerenin konumlandırılması için iki özellik birlikte değerlendirilebilir.

Özellik EOS Türkçe Karşılığı Varsayılan Açıklama
ParentScreenID Üst Ekran Kimliği "" Popup'ın ilişkili olduğu üst ekranın kimliğini tanımlamak için kullanılır.
ScreenLocation Ekran Konumu Bottom Popup ekranının konum seçeneğini belirler.
Opacity Opaklık 100 Pencere görünümünün opaklık değerini belirler.
TransparentBackground Saydam Arka Plan false Arka planın saydam kullanımını belirler.

ScreenLocation — Seçenekler Kümesi

Değer Türkçe
Top Üst
Bottom Alt
Left Sol
Right Sağ
Free Serbest

Genel Özellikler

Aşağıdaki tablo, verilen NAV_BUTTON kaynak kodundaki temel özellikleri EOS Türkçe terminolojisiyle birlikte özetler. Varsayılan değerler doğrudan verilen kaynak kodundan alınmıştır.

Property tablosu: Teknik Property adı korunur; EOS Türkçe karşılığı, varsayılan değer, kullanım amacı ve SCADA ekranındaki tipik rolü birlikte açıklanır.

Özellik EOS Türkçe Karşılığı Varsayılan Ne işe yarar? Nerede kullanılır?
UCType Kontrol Tipi NAV_BUTTON User Control tipini belirler. Navigasyon kontrolünün temel tanımında.
UpdateInterval Güncelleme Aralığı 1000 ms Kontrolün güncelleme periyodunu belirler. Dinamik SCADA ekranlarında.
DecimalPoint Ondalık Hane 0 Sayısal gösterim için ondalık hane ayarını belirler. Sayısal parametre gösterimi gereken durumlarda.
UCBackColor Kontrol Arka Renk Transparent Kontrol arka planını belirler. SCADA ekran tasarımında.
UCForeColor Kontrol Yazı Rengi Black Kontrolün temel yazı rengini belirler. Metin ve navigasyon öğelerinde.
UCFont Kontrol Yazı Tipi Arial Narrow, 8.25 pt Kontrol yazı tipini belirler. Buton ve navigasyon metinlerinde.
ButtonType Buton Tipi Button Navigasyon yüzeyinin türünü belirler. Buton, etiket, resim veya sanal veri seçici tasarımında.
LabelText Etiket Metni "" Navigasyon öğesinde gösterilecek metni belirler. Operatöre hedef ekranın adını göstermek için.
DefaultButtonColor Varsayılan Buton Rengi Red Butonun normal durum rengini belirler. Buton görünümünde.
PressedButtonColor Basılan Buton Rengi Green Buton basılı durumundaki rengi belirler. Kullanıcı etkileşiminin görsel geri bildiriminde.
ScreenID Ekran Kimliği "" Navigasyon veya pencere işleminin hedef ekranını belirtir. Ekran geçişi ve popup kullanımında.
OperationType İşlem Türü Navigate Gitme, açma veya kapatma davranışını seçer. Ekran ve popup navigasyonunda.
Opacity Opaklık 100 Pencere görünüm opaklığını belirler. Popup görsel tasarımında.
TransparentBackground Saydam Arka Plan false Popup arka planının saydamlığını belirler. Özel popup tasarımlarında.
ParentScreenID Üst Ekran Kimliği "" Popup'ın bağlı olduğu üst ekranı belirtir. Popup bağlamının korunmasında.
ScreenLocation Ekran Konumu Bottom Popup konum seçeneğini belirler. Popup yerleşiminde.
TextAlign Metin Hizalama Middlecenter Buton/etiket metninin hizalamasını belirler. Navigasyon metinlerinin yerleşiminde.
TagPrefix Etiket Öneki "" Etiket adlandırmasının başına eklenecek bileşeni temsil eder. Ekipman bazlı ortak popup yapılarında.
TagSuffix Etiket Son Eki "" Etiket adlandırmasının sonuna eklenecek bileşeni temsil eder. Standartlaştırılmış etiket isimlerinde.
ScreenSuffix Ekran Son Eki "" Ekran kimliğiyle ilişkili son ek bilgisini temsil eder. Çoklu ekran/ekipman adlandırmalarında.
AuthorizationLevel Yetki Düzeyi Monitor Kontrolün kullanılabilmesi için gereken yetki seviyesini belirler. Operatör, işletme ve mühendislik seviyelerinin ayrıştırılmasında.
ButtonParameters Buton Parametreleri PARAMETER_COLLECTION[] Popup veya hedef ekrana aktarılacak parametre koleksiyonunu temsil eder. Parametrik popup kullanımında.

TextAlign — Metin Hizalama

TextAlign, navigasyon öğesi üzerinde gösterilen metnin konumunu belirler. Kaynak koddaki GNKonum seçenekleri aşağıdaki gibidir.

Seçenekler Kümesi Türkçe Karşılığı
Topleft Üst Sol
Topcenter Üst Orta
Topright Üst Sağ
Middleleft Merkez Sol
Middlecenter Merkez Orta
Middleright Merkez Sağ
Bottomleft Alt Sol
Bottomcenter Alt Orta
Bottomright Alt Sağ

AuthorizationLevel — Yetki Düzeyi

AuthorizationLevel, NAV_BUTTON'ın kullanılabilmesi için gereken yetki seviyesini belirleyen özelliktir. Varsayılan değer kaynak kodunda Monitor olarak verilmiştir.

Seçenekler Kümesi Türkçe
None Yetki Yok
Monitor İzleme
Operation İşletme
Engineering Mühendislik
Superuser Süper Kullanıcı

Yetki seviyesinin gerçek çalışma davranışı, EOS SCADA'nın proje içindeki yetkilendirme mekanizmasına bağlıdır. Bu sayfada kaynak kodunda tanımlanan seçenekler açıklanmış; ek bir yetki algoritması varsayılmamıştır.

Uygulama Senaryoları

Senaryo 1 — Ekrana Git

Operatörün bir ana menü düğmesine basarak Tanklar ekranına geçmesi.

ButtonType   = Button
LabelText    = "TANKLAR"
ScreenID     = "TANKLAR"
OperationType = Navigate

Senaryo 2 — Popup Aç

Ana ekrandaki ekipman sembolünün yanında NAV_BUTTON kullanılarak ilgili motor detay popup'ının açılması.

ButtonType     = Picturebox
ScreenID       = "MotorDetay"
OperationType  = Justopen
ScreenLocation = Free

Senaryo 3 — Popup Kapat

Popup içinde bulunan bir NAV_BUTTON'ın popup'ı kapatmak amacıyla kullanılması.

ButtonType    = Button
LabelText     = "KAPAT"
OperationType = Justclose

Senaryo 4 — Tek Popup ile 10 Motor

Her motor için ayrı popup yerine aynı MotorDetay ekranının parametrelerle kullanılması.

ScreenID = "MotorDetay"

PARAMETER_COLLECTION:
    PR_Durum  → MOTOR01.Durum
    PR_Akim   → MOTOR01.Akim
    PR_Hiz    → MOTOR01.Hiz
    PR_Alarm  → MOTOR01.Alarm

Aynı popup:
    MOTOR02
    MOTOR03
    ...
    MOTOR10

SCADA Ekran Tasarımında Kullanım

NAV_BUTTON tasarlanırken düğmenin yalnızca görünümüne değil, hedef ekranla kurduğu ilişkiye de dikkat edilmelidir. Özellikle popup kullanan projelerde butonun hangi ekipmana ait olduğu operatör tarafından açıkça anlaşılmalıdır.

  • Tekrarlı ekranları azaltın: Ortak popup tasarımlarında PARAMETER_COLLECTION yaklaşımını kullanın.
  • Ekipman bağlamını koruyun: TagPrefix ve TagSuffix kullanımını proje etiket standardıyla uyumlu tasarlayın.
  • Hedefi görünür yapın: LabelText ile navigasyon amacını açıkça belirtin.
  • Popup yerleşimini planlayın: ScreenLocation değerini ana ekranın kritik proses alanlarını kapatmayacak şekilde belirleyin.
  • Yetkilendirmeyi planlayın: OperationType ile yapılan işlemin kullanıcı yetki seviyesiyle uyumlu olmasını sağlayın.
  • Aynı ekranı standartlaştırın: Motor, pompa, vana gibi benzer ekipmanlar için ortak popup şablonları kullanın.

Önerilen ekran modeli: Ana proses ekranında ekipman sembolü + NAV_BUTTON; hedefte ise ekipmana ait parametrelerle beslenen ortak detay popup'ı. Böylece navigasyon ile veri bağlama aynı kullanıcı deneyiminde birleşir.

Seçenekler Kümeleri — Hızlı Referans

Kaynak kodunda tanımlanan seçenek kümeleri aşağıdaki tabloda toplu olarak gösterilmiştir.

Küme Seçenekler
NBDugmeTuru Picturebox, Label, Button, Virtualdataselector
NBPencereAcma Navigate, Justopen, Justclose, Wildopen
NBPencereKonum Top, Bottom, Left, Right, Free
GNKonum Topleft, Topcenter, Topright, Middleleft, Middlecenter, Middleright, Bottomleft, Bottomcenter, Bottomright
GNYetkiSeviyesi None, Monitor, Operation, Engineering, Superuser

Özelliklerin Hızlı Referansı

Grup Temel Özellikler Ana Amaç
Genel UCType, UpdateInterval, DecimalPoint Kontrolün temel çalışma ayarları.
Navigasyon ScreenID, OperationType Ekrana gitme, açma ve kapatma.
Buton ButtonType, LabelText, TextAlign Navigasyon yüzeyinin görünümü.
Popup ParentScreenID, ScreenLocation, Opacity Popup ekranının bağlamı ve görünümü.
Parametre ButtonParameters, PARAMETER_COLLECTION Popup'a SCADA verisi aktarımı.
Etiket Adlandırma TagPrefix, TagSuffix Ekipmana göre etiket ilişkilendirme.
Ekran Adlandırma ScreenSuffix Hedef ekran kimliğiyle ilişkili ek bilgi.
Yetki AuthorizationLevel Kullanıcı erişim seviyesinin tanımlanması.

Sonuç

NAV_BUTTON, EOS SCADA ekranları arasında kullanıcı navigasyonunu düzenleyen ve popup ekranlarla birlikte kullanılabilen özel bir kullanıcı kontrolüdür. Ekrana geçişin yanında pencere açma-kapama, popup konumlandırma, parametre aktarımı ve ekipman bazlı etiket ilişkilendirme gibi işlevleri aynı yapı içinde ele alır.

Özellikle PARAMETER_COLLECTION ile birlikte kullanıldığında tek bir popup ekranı farklı ekipmanlara ait SCADA verileriyle yeniden kullanmak mümkün hale gelir. Örneğin tek bir MotorDetay popup'ı, parametre bağlantıları değiştirilerek çok sayıda motor için kullanılabilir.

← Önceki İçeriğe Dön