Skip to content

Tüketim ve Snapshot'lar ​

Yaklaşık 7 dk okuma

Snapshot, bir tag'in arşiv (log) kayıtlarından bir takvim dönemi için hesaplanan tek bir değerdir: bugünkü enerji tüketimi, dünkü ortalama güç, geçen ayın en yüksek sıcaklığı gibi. Snapshot'lar sayfa açılırken sunucudan tek bir toplu istekle alınır ve sayfadaki widget'lara normal bir tag gibi bağlanır. Ek kod veya özel widget gerekmez.

İki snapshot türü vardır:

TürÖn ekNe hesaplarUygun olduğu veriler
Geçmiş__histDönemdeki arşiv kayıtlarının toplamı, ortalaması, en küçüğü, en büyüğü veya son değeriAnlık ölçümler: güç (kW), gerilim (V), akım (A), sıcaklık
Tüketim__consSayaç değerinin dönem içindeki artışı (sayaç farkı)Sürekli artan sayaçlar: aktif/reaktif enerji (kWh), su, gaz

Enerji sayacı gibi sürekli artan bir değer için __cons, anlık bir ölçüm için __hist kullanın.

Arşiv kaydı gerekir

Snapshot, tag'in arşiv kayıtlarından hesaplanır. Tag için bir log tanımı yoksa sunucu snapshot kaynağını bulamaz ve değer gelmez. Tag'in birden fazla log tanımı varsa ilk oluşturulan log tanımı kullanılır.

Snapshot adının yapısı ​

Snapshot adı noktayla ayrılmış dört parçadan oluşur:

text
<tür>.<dönem>.<toplama>.<tag>
ParçaDeğerlerÖrnek
Tür__hist veya __cons__cons
DönemAşağıdaki dönemler tablosuthismonth
Toplamasum, avg, min, max, lastsum
TagTag adı (sayfanın tag ön ekine göre, bkz. Tag adı ve sayfa ön eki)EA

Örnekler:

text
__cons.today.sum.EA                bugünkü enerji tüketimi
__cons.yesterday.sum.EA            dünkü enerji tüketimi
__cons.month[-1].sum.EA            geçen ayın enerji tüketimi
__hist.today.avg.AktifGuc          bugünkü ortalama aktif güç
__hist.thismonth.max.Sicaklik      bu ayın en yüksek sıcaklığı
  • Büyük/küçük harf fark etmez; Month[-1] ile month[-1] aynıdır.
  • Toplama parçası yazılmazsa sum kullanılır.
  • Eski sayfalarda görülebilen __const yazımı __cons olarak kabul edilir; yeni sayfalarda __cons kullanın.

Dönemler ​

DönemAnlamıDeğerin yenilenme sıklığı
todayBugünYaklaşık 45 saniye
yesterdayDün1 saat
thisweekBu hafta10 dakika
lastweekGeçen hafta1 saat
thismonthBu ay10 dakika
lastmonthGeçen ay1 saat
thisyearBu yıl30 dakika
lastyearGeçen yıl1 saat

Daha eski dönemler için kaydırmalı yazım kullanılır: day[N], week[N], month[N] ve year[N]. N 0 veya negatif bir tam sayıdır:

  • day[0] bugünü, day[-2] iki gün önceyi gösterir.
  • month[-1] geçen ayı, month[-3] üç ay önceki ayı gösterir.
  • N 0 olduğunda değer güncel dönem gibi, negatif olduğunda tamamlanmış dönem gibi yenilenir.

Dönemler sayfanın açıldığı tarayıcının saat dilimine göre takvime hizalanır; örneğin today yerel gece yarısında başlar.

Toplama ​

DeğerAnlamı
sumToplam
avgOrtalama
minMinimum
maxMaksimum
lastSon değer

Tüketim (__cons) snapshot'larında dönemin toplam tüketimi için sum kullanılır.

Snapshot adı oluşturucu ​

Snapshot adını elle yazmak yerine Sayfa Editörü'ndeki bağlantı panelinde bulunan Snapshot adı oluşturucu kullanılabilir:

  1. Widget'ı seçin ve sağ paneldeki bağlantı sekmesini açın (bkz. Sayfa Editörü).
  2. Snapshot adı oluşturucu düğmesine basın.
  3. Tag alanının yanındaki düğmeyle geçmiş kaydı olan bir tag seçin. Gerçek bir tag (Kanal.Cihaz.Tag) seçilmelidir; sistem tag'leri, ifadeler ve snapshot adları kullanılamaz.
  4. Tür olarak Geçmiş (__hist) veya Tüketim (__cons) seçin.
  5. Periyot seçin. Gün (kaydırmalı), Hafta (kaydırmalı), Ay (kaydırmalı) veya Yıl (kaydırmalı) seçildiğinde Kaydırma (0 = güncel, -1 = önceki) alanı görünür.
  6. Toplama yöntemini seçin. Varsayılan geçmiş için Ortalama, tüketim için Toplamdır.
  7. Önizleme alanındaki adı kontrol edip Ekle düğmesine basın.

Oluşturucu, seçilen tag'in tam adını içeren mutlak biçimi üretir (örneğin MTCP01.Sayac01.__cons.today.sum.EA). Bu biçim sayfanın tag ön ekinden bağımsız çalışır.

Widget'a bağlama ​

Snapshot adı, widget'ın değer bağlantısında tag adı yerine yazılır. Değer etiketi, gösterge veya metin gibi widget'larda değer özelliği (processValue) bağlanır. Sayfa önizlemede veya görüntülemede açıldığında değer otomatik dolar.

  • Değer ilk sorgu tamamlanana kadar boş kalır, sonra dönemine göre yukarıdaki sıklıkta yenilenir.
  • Aynı snapshot birden fazla widget'ta kullanılırsa sunucuya bir kez sorulur.
  • Snapshot'lar ifadelerde de kullanılabilir. Snapshot adı tırnak içinde yazılır:
text
'__cons.month[-1].sum.EA' + '__cons.thismonth.sum.EA'
'MTCP01.Trafo1.__cons.today.sum.EA' + 'MTCP01.Trafo2.__cons.today.sum.EA'

Tag adı ve sayfa ön eki ​

Sayfaya bir Tag Ön Eki tanımlıysa (aynı sayfanın farklı cihazlar için açılması gibi), snapshot adındaki tag bu ön eke göre çözülür. Snapshot adı dört biçimde yazılabilir:

YazımTag Ön EkiOkunan tagNe zaman
__cons.thismonth.sum.EAMTCP01.Trafo1.MTCP01.Trafo1.EAÖn ek noktayla bitiyorsa
.__cons.thismonth.sum.EAMTCP01.Trafo1MTCP01.Trafo1.EAÖn ek noktasız bitiyorsa; baştaki nokta ayıraç olarak eklenir
__cons.thismonth.sum._EAMTCP01.Trafo1.TMTCP01.Trafo1.T_EATag adı ön ekin devamıysa; araya nokta eklenmez
MTCP02.Trafo2.__cons.month[-1].sum.EANe olursa olsunMTCP02.Trafo2.EABelirli bir tag için (mutlak biçim); ön ek eklenmez

Sayfada tag ön eki yoksa ilk biçimde tag adı olduğu gibi kullanılır.

Örnek projenin Enerji Analizörü şablon sayfası ikinci biçimi kullanır: .__cons.today.sum.KWH bağlaması, sayfa Internal.Trafo1_EA ön ekiyle açıldığında Internal.Trafo1_EA.KWH tag'inin tüketim logundan okunur (bkz. Örnek projeyi inceleyin).

@NOP:: kullanmayın

Snapshot adlarının başına @NOP:: yazmayın. Tag ön eki olan sayfalarda bu durumda değer hiç gelmez; bağlantı panelinde de uyarı gösterilir. Ön ekten bağımsız bir snapshot için mutlak biçimi (Kanal.Cihaz.__cons...) kullanın.

Eksik veri ve kısmi dönem göstergeleri ​

Tüketim değerleri, dönemin verisinin eksiksiz olup olmadığını da bildirir. Her dönem için iki durum hesaplanır:

DurumSimgeNe zaman
Veri boşluğuUyarı simgesiDönemde arşiv kaydı eksik; tüketim olduğundan düşük görünebilir.
Kısmi dönemSaat simgesiDönem henüz bitmemiş (bugün, bu ay) veya seçilen zaman aralığı dönemin yalnız bir kısmını kapsıyor.

Simgenin üzerine gelindiğinde açıklama görünür: Bu dönemde veri boşluğu var; tüketim eksik olabilir, Dönem henüz tamamlanmadı; değer kısmidir ve kayıtların dönemin tamamını kapsamadığı durumlarda Veri kapsamı: %….

Veri boşluğu nasıl belirlenir ​

Veri boşluğu yalnız Log Tipi Döngüsel olan, yani belirli Süre aralıklarıyla kayıt alan log tanımlarında belirlenebilir. Böyle bir log'da şu durumlarda dönem veri boşluğu olarak işaretlenir:

  • Dönemde hiç kayıt yoksa,
  • Dönemin başında veya sonunda, log süresinin üç katından (en az 5 dakika) uzun süre kayıt yoksa,
  • Dönemdeki kayıt sayısı, log süresine göre beklenen sayının %90'ından azsa.

Değer değiştikçe veya tetikleyiciyle kayıt alan log tiplerinde (Değiştiğinde, Tetikleyici Değiştiğinde, Tetikleyici Aktifken Döngüsel vb.) değer sabit kaldığında kayıt oluşmaması normaldir; bu log'larda kayıt sayısına göre veri boşluğu işaretlenmez.

Log tipinden bağımsız olarak, tüketim Değer Tipi Kümülatif olan log'larda dönem öncesinde baz okuma bulunmayan dönem de veri boşluğu olarak işaretlenir: yeni bir sayacın ilk dönemi veya 31 günden uzun süre kayıt yazmamış bir sayacın dönemi. Hesap kuralı için Tüketimler sayfasına bakın; snapshot'lar, widget'lar, Tüketimler ve Tüketim Pivotu ekranları aynı kuralı kullanır.

KPI widget'larında: Veri Kapsamı Göstergesi ​

__cons snapshot'ına bağlı şu widget'lar değerin yanında simge gösterebilir: Değer etiketi, Gösterge, Doğrusal gösterge, Dairesel ilerleme, Metin ve Paragraf.

Simgelerin ne zaman gösterileceği widget'ın Veri Kapsamı Göstergesi (coverageIndicator) ayarıyla seçilir:

SeçenekDeğerDavranış
Yalnız veri boşluklarıgapVarsayılan. Dönemde veri boşluğu varsa uyarı simgesi gösterilir.
Boşluklar ve kısmi dönemlerallVeri boşluğuna ek olarak henüz bitmemiş dönemler için saat simgesi de gösterilir.
KapalınoneSimge gösterilmez.
  • Ayar yalnız __cons snapshot bağlantılarında çalışır; __hist snapshot'larında ve normal tag'lerde simge gösterilmez.
  • Simgeler editörde görünmez; sayfa önizlemede veya görüntülemede açıldığında gösterilir.

Grafik ve tablolarda ​

Grafik, Pasta grafik, Veri tablosu ve Arşiv > Tüketim Pivotu ekranı tüketim verisi gösterirken göstergeleri kendiliğinden kullanır; bunlar için ayrı bir ayar yoktur:

  • Gösterilen dönemlerden birinde veri boşluğu varsa uyarı simgesiyle Bazı dönemlerde veri boşluğu var; tüketim eksik olabilir. bilgisi görünür.
  • Son dönem henüz tamamlanmadıysa saat simgesiyle Son dönem henüz tamamlanmadı; değerleri kısmidir. bilgisi görünür.
  • Grafikte veri boşluğu olan dönemlerin noktaları turuncu kenarlıkla, tamamlanmamış dönemlerin noktaları yarı saydam çizilir.

Tüketim raporları ​

Tüketim değerleri sayfa widget'larının dışında şu ekranlarda da incelenebilir:

  • Arşiv > Tüketimler: Seçilen tag'lerin tüketimini zaman aralığına göre grafik ve tablo olarak gösterir.
  • Arşiv > Tüketim Pivotu: Tüketimi dönemlere ve tag'lere göre pivot tablo olarak gösterir; veri boşluğu ve kısmi dönem bilgisi burada da görünür.

Rapor ekranlarının ortak kullanımı için Raporlama sayfasına bakın.

Sık yapılan hatalar ​

BelirtiNeden ve çözüm
Değer hiç gelmiyorTag'in log tanımı yok veya tag adı sayfanın tag ön ekiyle doğru birleşmiyor. Snapshot adı oluşturucuyla mutlak biçimi üretin.
Tag ön ekli sayfada değer gelmiyorSnapshot adı @NOP:: ile başlıyor. @NOP:: kaldırılmalı veya mutlak biçim kullanılmalıdır.
Enerji değeri çok büyük çıkıyorSayaç için __hist kullanılmış; sayacın kendisi toplanıyor. Sayaçlar için __cons kullanın.
Kaydırmalı dönem kabul edilmiyorN pozitif yazılmış. Yalnız 0 veya negatif değerler geçerlidir (month[-1]).
Değer geç güncelleniyorDeğerler döneme göre yenilenir; örneğin thismonth yaklaşık 10 dakikada bir. Bu davranış değiştirilemez.

2WinScada 2.10