Skip to content

Opacity, Visibility & Blink

Opacity, bir SVG öğesinin saydamlığını değere göre ayarlar. Haberleşme durumuna göre cihaz sembolünü soluklaştırma, güç durumuna göre bölge parlaklığı gibi efektler için kullanılır.

AlanDeğer
TypeOpacity
Uygun SVG ÖğeleriTümü

Opacity — Tag

Listeden değişken seçilir. Değer, Min-Max aralığına göre 0 (tamamen saydam) ile 1 (tamamen opak) arasına normalize edilir.

AlanAçıklama
VariableAçılır listeden değişken seçimi
DefaultDeğer okunamadığında varsayılan opaklık
MinMinimum değer (bu değerde opacity = 0, tamamen saydam)
MaxMaksimum değer (bu değerde opacity = 1, tamamen opak)

Formül: opacity = (değer - min) / (max - min)

Örnek: Min=0, Max=100, Değer=50 → opacity = 0.5 (yarı saydam)

Opacity — Expression

0 ile 1 arasında sayısal değer döndürülür. Min/Max alanları expression modunda da kullanılır.

// Bağlantı durumuna göre: bağlı=opak, değil=soluk
var status = ins.getConnectionStatus("MODBUS-PLC");
return status === "Connected" ? 1.0 : 0.3;
// Sinyal gücüne orantılı saydamlık
var val = ins.getVariableValue("Signal_Strength").value;
return 0.2 + (val / 100) * 0.8; // 0.2-1.0 aralığı

Visibility, bir SVG öğesini koşula göre gösterir veya tamamen gizler (display: none). Opacity’den farkı: kademeli değil, ya tamamen görünür ya tamamen gizli.

AlanDeğer
TypeVisibility
Uygun SVG ÖğeleriTümü (özellikle <g> grupları)

Visibility — Tag

Boolean veya sayısal değişken seçilir. Değer true veya 0’dan farklı ise öğe görünür, aksi halde gizlenir.

AlanAçıklama
VariableAçılır listeden değişken seçimi
DefaultVarsayılan görünürlük durumu
BitWord/Integer değişkenlerde belirli bir bit’e göre göster/gizle. Örn: Bit=3 → değerin 3. bit’i 1 ise görünür
Inverseİşaretlenirse mantık tersine çevrilir: true → gizle, false → göster

Bit alanı özellikle durum word’lerinde kullanışlıdır. Bir Integer değişkenin tek bir bit’ini izleyerek o bit’e göre öğeyi gösterir/gizler.

Inverse alanı, dönen değeri tersine çevirerek değerlendirir — true → gizle, false → göster.

Visibility — Expression

true veya false döndürülür. true → görünür, false → gizli.

// Sıcaklık eşiğinde uyarı ikonu göster
var temp = ins.getVariableValue("Temperature_C").value;
return temp > 70;
// Birden fazla koşul
var power = ins.getVariableValue("ActivePower_kW").value;
var status = ins.getVariableValue("GridStatus").value;
return power > 500 && status; // hem güç yüksek hem de bağlı

Kullanım Senaryosu — Alarm/Normal İkon Değişimi

Section titled “Kullanım Senaryosu — Alarm/Normal İkon Değişimi”
<!-- Normal durum ikonu -->
<g id="icon_normal">
<circle r="15" fill="#00cc00"/>
<text text-anchor="middle" y="5" fill="white"></text>
</g>
<!-- Alarm durum ikonu -->
<g id="icon_alarm">
<circle r="15" fill="#ff0000"/>
<text text-anchor="middle" y="5" fill="white">!</text>
</g>
  • icon_normal → Visibility, Expression: ins.getVariableValue("Temperature_C").value <= 70
  • icon_alarm → Visibility, Expression: ins.getVariableValue("Temperature_C").value > 70

Veya TAG modunda: icon_alarm → Variable: AlarmActive, Inverse: kapalı (alarm aktifken görünür)


Blink, koşul sağlandığında SVG öğesini yanıp söndürür. Aktif alarm, kritik değer, haberleşme hatası gibi dikkat gerektiren durumlarda görsel uyarı sağlar.

AlanDeğer
TypeBlink
Uygun SVG ÖğeleriTümü

Blink — Tag

Boolean değişken seçilir. true → yanıp sönme başlar, false → durur.

AlanAçıklama
VariableAçılır listeden değişken seçimi
DurationYanıp sönme hızı (ms). Varsayılan: 200ms. Küçük değer = hızlı yanıp sönme

Blink — Expression

true veya false döndürülür. true → yanıp sönme başlar, false → durur. Duration alanı expression modunda da kullanılır.

// Sıcaklık kritik seviyede yanıp sön
var temp = ins.getVariableValue("Temperature_C").value;
return temp > 80;
// Haberleşme kesilince yanıp sön
var status = ins.getConnectionStatus("MODBUS-PLC");
return status !== "Connected";

Blink, JavaScript setInterval ile öğenin visibility özniteliğini visiblehidden arasında periyodik olarak değiştirir. Duration değeri bu geçişin aralığını belirler:

DurationHız
100 msÇok hızlı yanıp sönme
200 msHızlı (varsayılan)
500 msOrta
1000 msYavaş

Aynı SVG öğesine birden fazla animation tipi bağlanabilir. Örneğin:

  1. Color element: Sıcaklığa göre renk (yeşil → turuncu → kırmızı)
  2. Blink element: 80°C üzerinde yanıp sönme

Sonuç: Normal durumda yeşil sabit, 60°C’de turuncu sabit, 80°C üzerinde kırmızı yanıp söner.

ElementTypeKoşulDavranış
Element 1ColorHer zamanDeğere göre renk
Element 2Blinktemp > 80Yanıp sönme
Element 3OpacityBağlantı durumuKopunca soluk