Ücretsiz Yazılım İndirme Merkezi
Endüstriyel veri toplama,
izleme ve analiz için yazılımlar.
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_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.
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, 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, 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. |
NAV_BUTTON'ın SCADA uygulamalarındaki önemli kullanım alanlarından biri popup ekranların yönetimidir. Bir ekipmanın ayrıntılarını ana mimariden ayrılmadan göstermek için küçük bir pencere açılabilir. Aynı popup ekranı gerektiğinde kapatılabilir veya başka bir navigasyon işlemine geçilebilir.
Ana SCADA ekranında “MOTOR-01 DETAY” butonuna basıldığında MotorDetay isimli popup'ın
açıldığını düşünelim. Popup içerisinde motor durumu, çalışma süresi, akım, hız ve alarm bilgileri
için parametreler tanımlanabilir. NAV_BUTTON ise bu parametreleri MOTOR-01'e ait SCADA etiketleriyle
ilişkilendirir.
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.
Ö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.
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, 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.
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.
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
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. |
| Değer | Türkçe |
|---|---|
Top |
Üst |
Bottom |
Alt |
Left |
Sol |
Right |
Sağ |
Free |
Serbest |
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, 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, 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.
Operatörün bir ana menü düğmesine basarak Tanklar ekranına geçmesi.
ButtonType = Button
LabelText = "TANKLAR"
ScreenID = "TANKLAR"
OperationType = Navigate
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
Popup içinde bulunan bir NAV_BUTTON'ın popup'ı kapatmak amacıyla kullanılması.
ButtonType = Button
LabelText = "KAPAT"
OperationType = Justclose
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
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.
Ö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.
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 |
| 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ı. |
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.