Pages
ButtonScript
ButtonScript kontrolü, sayfa düzenleyici kullanılarak HMI sayfasının herhangi bir yerine yerleştirilebilen özelleştirilebilir bir widget'tır. Adından da anlaşılacağı üzere, bu kontrol farklı yaşam döngüsü olaylarına yanıt olarak scriptleri çalıştırmak için tasarlanmıştır ve mantığı doğrudan arayüzden tetiklemek için esnek bir yol sunar.
Özellikler
Etiket
Bu, düğmede görüntülenen metni tanımlar. Kullanıcıya yönelik bir başlık olarak hizmet verir ve düğmenin amacını veya eylemini açıklayabilir.
Görüntü Konumu
URL kullanarak düğme için arka plan resmi belirtir. Bu, standart etiketin ötesinde görsel özelleştirme sağlar ve arayüz tasarımını geliştirir.
Senaryo Yükleniyor
Bu betik, ButtonScript kontrolü ekrana yüklendiğinde otomatik olarak çalışır. Değerleri başlatmak veya kullanıcı etkileşiminden önce koşulları hazırlamak için faydalıdır.
Senaryo
Bu, düğmeye tıklandığında çalıştırılan ana eylem betisidir. Değişkenleri kontrol etmek, işlemleri tetiklemek veya HMI'nın diğer bölümlerini etkilemek için önceden tanımlanmış bir veya daha fazla komut içerebilir.
Senaryo Kapanışta
Bu betik, ButtonScript kontrolü görünümden kaldırıldığında (örneğin, sayfa geçişi sırasında) çalıştırılır. Temizleme, değişkenlerden abonelikten çıkma veya değerleri sıfırlamak için kullanılabilir.
ButtonScript Komut Referansı
Her komut, buttonscript kontrolünün Script, Script on Load veya Script on Close özelliklerinde kullanılabilir.
Mevcut Komutlar
| Komuta | Tanım |
|---|---|
elementById('id') |
Verilen ID'ye sahip bir widget'a dahili nesne referansı döndürür |
set(value) |
Verilen değeri verilen öğeye ayarlar (şu anda sadece outputbasici destekler). |
append(value) |
Bir outputbasic öğesinin mevcut metin içeriğine bir dizi ekler. |
appendRangeCheck(value, maxRef, minRef) |
Bir değeri yalnızca tanımlanmış bir min-max aralığında kalırsa bir eleman ekler. Referanslar kimlikler veya literal sayılar olabilir. |
checkRange(minRef, maxRef, targetId) |
Öğe değeri min-max aralığının dışındaysa, hedef düğmesini devre dışı bırakır. |
truncate(numChars) |
outputbasic elemanından son N karakteri kısaltır. |
getValue() |
Değeri bir outputbasic elemanından alır. |
setWs(value, connectionId, path) |
WebSocket üzerinden arka uça bir değer gönderir (küresel veya açık bağlantı ve yol kullanır). |
setWsOnPosition(value, mapName, connectionId, path) |
Değeri tüm pozisyonlara gönderir, eğer indeks 0'daysa yerel sayfa indeksi kullanılır. |
evalValue('javascript') |
Mevcut değeri this.value kullanarak hat içi JavaScript kodunu çalıştırır. |
changeSign() |
Bir elemandaki sayısal değeri -1 ile çarpar. |
closePopup() |
Mevcut açılır pencerenin kapanmasını tetikler. |
getCurrentPageIndex() |
Yönlendirici URL'sine göre güncel sayfa indeksini döndürür. |
goToPage(true, pageId, index, forceProceed) |
Uygulamada başka bir rotaya yönlendirilir (/home/pageId). |
navigateToPageIndex(pageIndex, mapName, pageId, forceProceed) |
Index ve mapName ile gezinir (goToPageden daha dinamiktir). |
submitContainer() |
Mevcut widget konteynerinin gönderimini tetikler. |
submitAll() |
Tüm widget'lar için form gönderimini tetikler. |
sleep(ms, forceProcess) |
ms milisaniyeler boyunca script yürütmesini durdurur (isteğe bağlı olarak true döndürebilir). |
factor(value, multiplier) |
Değeri verilen sayıyla çarpar. |
Önemli Not: komut satırı her zaman noktalı virgülle bitmelidir;
✅ Örnekler
Örnek 1: Ekleyici Değer ve Kontrol Aralığı
elementById(display_element) .append(8) .checkRange(display_min, display_max, display_submit);
Örnek 2: Kısaltma Değeri ve Kontrol Aralığı
elementById(display_element) .truncate(1) .checkRange(display_min, display_max, display_submit);
Örnek 3: WS Bağlantısı'nda değeri ayarlamak ve açılır pencereyi kapatmak
İlk satırda "display_element" içinde gösterilen değer (eleman özelliklerindeki outputbasic kümesinin kimliği) alacak. Sonra bağlantı bağlamasına ayarlanıyor.
İkinci satır açılır pencereyi kapatır.
elementById(display_element).getValue().setWs(); closePopup();