İ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_Levelsayı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 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.

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.

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

Sonucun ne olması gerekir
İfadenin sonucu olduğu gibi kullanılır; dönüştürülmez.
| Özellik | Döndürülecek |
|---|---|
| Renk | '#ef4444' gibi bir renk metni |
| Görünür, açık/kapalı özellikler | true ya da false |
| Sayı | Bir sayı |
| Metin | Bir 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çinCLAMPiçine alın. - Her değişiklikten sonra Preview'u denetleyin: eksik parantez gibi bir hatası olan ifade bir şey döndürmez.