İçeriğe geç

Custom HTML

Custom HTML, ekranı baştan sona kendiniz yazdığınız yöntemdir. SVG animasyonda nesnelere davranış bağlarsınız; burada sayfayı siz kurar, platformun verisini kendi arayüzünüze dilediğiniz gibi yerleştirirsiniz.

Custom HTML ile yazılmış bir izleme ekranı

Yukarıdaki ekran bu sayfadaki kalıplarla kurulmuştur: toplu okuma, kayan trend, eşik çizgisi ve veri gecikince kendini söyleyen bir durum rozeti.

Sayfa üç ayrı alandan oluşur:

Alanİçeriği
HTMLYalnızca işaretleme
CSSBiçimlendirme
JSSayfanın kodu

Sayfa yalıtılmış bir çerçevede çalışır ve platformun API’sine fetch ile gidemez — istek kimlik bilgisi taşımaz, güvenlik politikası da buna izin vermez. Tek yol, sayfaya hazır gelen InscadaApi köprüsüdür.

var api = new InscadaApi();
// tek değer
var v = await api.getVariableValue('Temperature_C');
// birden çok değer — tek gidiş dönüş, tercih edilen yol
var all = await api.getVariableValues(['Temperature_C', 'Pressure_bar']);
console.log(all.Temperature_C.value);
// yazma
await api.setVariableValue('PumpCmd', { value: true });

Bütün metotlar Promise döndürür. Değişkenlerin yanı sıra alarm, bağlantı, script, rapor ve tarihçe metotlarına da aynı nesneden erişilir.

Canlı bir izleme ekranının güvenilir olması için birkaç şey birlikte gerekir:

KalıpNeden
Toplu okumaOn etiket için on istek yerine tek istek; gecikme katlanmaz
1–2 saniyelik periyotDaha hızlısı sunucuyu boşuna yorar, daha yavaşı ekranı geriden getirir
Halka tamponTrend verisini bellekte sabit uzunlukta tutun; eskisi düşsün
Grafiği bir kez kurunHer turda yeniden kurmak yerine güncelleyin, animasyonu kapatın
Gecikme gözcüsüSon başarılı okumanın üzerinden süre geçtiyse ekranı soluklaştırıp durumu yazın
Yumuşak hataOkuma başarısızsa ekranı boşaltmayın; eski değer kalsın, durum rozeti söylesin

Son ikisi en çok atlanan ve en çok işe yarayanlardır: veri akmayı bıraktığında ekran donmuş değerleri güvenle göstermeye devam eder, operatör de farkı anlamaz.

Tarihçeden okumaya dayanmayın: değişkenlerin çoğunda loglama kapalıdır ve grafik boş gelir. Canlı değeri periyodik okuyup kendiniz biriktirin.

KısıtAyrıntı
Tarayıcı iletişim kutularıalert, confirm, prompt çalışmaz — onay sorusunu sayfanın içinde kendiniz çizin
Dış kaynaklarYalnızca izin verilen dağıtım ağlarından (jsDelivr, cdnjs, unpkg) script; yazı tipleri Google Fonts’tan
Dış isteklerİzin verilen bu adresler dışında fetch/XHR engellenir
Doğrudan açmaSayfa yalnızca platformun içinde çerçeve olarak açılır

Sayfa, kabuğun paletini kendisi alır: platform açık/koyu temayı değiştirdiğinde ekrana güncel renkler gönderilir. Bu yüzden zemin, yazı ve kenarlık renklerini sabit yazmayın; değişken üzerinden kullanın ki sayfa temayla birlikte değişsin. Durum renkleri (iyi, uyarı, alarm) bunun dışındadır — sabit kalır ve iki zeminde de okunur seçilmelidir.

Bir ekranı menüye bağlamak için: Özel Menüler.