Ana içeriğe geç

İfade yazma

Doğrudan, bit, değer ya da metin eşlemesi yetmediğinde Tag Binding penceresinin Advanced (Gelişmiş) sekmesi özelliği bir ifadeyle hesaplar. İfade okuduğu sinyallerin her değişiminde tarayıcıda çalışır. İşlevler Ekran ifadesi işlevleri sayfasında listelenir.

Başlamadan önce​

  • Ekran editöründe bir nesne içeren bir sayfa açık olmalıdır; burada bir dikdörtgen.
  • Sinyal bulunmalıdır; burada Tank_Level sayısal sinyali.

Adımlar​

1. Advanced sekmesini açın​

Özelliğin, burada Fill Color'ın, üzerine gelin, Bind to tag'e tıklayın, Signal picker'da sinyali seçin ve Bind'a tıklayın. Satırın altındaki Edit mapping'e, sonra Advanced'e tıklayın. Sekme altında bir örnekle bir düzenleyici gösterir.

Tag to bind olarak Tank_Level ve açık Advanced sekmesiyle Fill Color için Tag Binding penceresi.

Tag to bind altındaki sinyal zorunludur ve ifadede value olarak kullanılabilir. Öteki sinyaller Tags.get('ad') ile okunur.

2. Önerileri kullanın​

Yazmaya başlayın: düzenleyici uyan işlevleri ve anahtar sözcükleri önerir, burada RO için ROUND. Ctrl+Space önerileri her noktada açar.

RO yazılmış ve ROUND önerili ifade düzenleyicisi.

3. Formülü yazıp önizlemeyi denetleyin​

İfadeyi yazın, burada:

if(Tags.get('Tank_Level') > 80, '#ef4444', '#22c55e')

Alttaki Preview (Önizleme) sonucu güncel değerlerle gösterir; renk için rengi de gösterir. Burada seviye 0 olduğu için sonuç yeşildir.

if ifadesiyle Advanced sekmesi ve yeşil #22c55e gösteren önizleme.

4. Bağlamayı uygulayın​

Apply'a (Uygula) tıklayın. Özellik satırı bağlı sinyali gösterir.

İfade uygulandıktan sonra Tank_Level'a bağlı Fill Color satırı.

Sonucun ne olması gerekir​

İfadenin sonucu olduğu gibi kullanılır; dönüştürülmez.

ÖzellikDöndürülecek
Renk'#ef4444' gibi bir renk metni
Görünür, açık/kapalı özelliklertrue ya da false
SayıBir sayı
MetinBir metin

Bir değer eksikken​

  • İfade bir şey döndürmediğinde (bir sinyalin değeri yok, sıfıra bölme, bilinmeyen bir işlev) özellik tasarım değerini korur.
  • Bir sinyalin ilk değeri beklenirken tasarım değeri gösterilir.
  • Sembol özelliklerinde sekmede ayrıca If no match (default) ve Unavailable / Bad vardır: ikincisi bağlı sinyalin kullanılabilir değeri yokken kullanılır.

Bilmekte fayda var​

  • Ekran ifadeleri ifade sinyallerinin formülleri değildir; onlar sunucuda çalışır ve kendi söz dizimleri vardır (bkz. Dahili sinyallerin ifade söz dizimi).
  • if'in iki dalı da hesaplanır; sonuç birinden alınır.
  • Eski if/then kural listeleri Advanced sekmesinde iç içe if(…) olarak açılır.
  • Ham bir değeri ölçeklemek için, örneğin 4–20 mA girişi 0–10 bar göstermek için, MAP(value, 4, 20, 0, 10) kullanın; sonucu aralıkta tutmak için CLAMP içine alın.
  • Her değişiklikten sonra Preview'u denetleyin: eksik parantez gibi bir hatası olan ifade bir şey döndürmez.