Tüketim ve Snapshot'lar
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 ek | Ne hesaplar | Uygun olduğu veriler |
|---|---|---|---|
| Geçmiş | __hist | Dönemdeki arşiv kayıtlarının toplamı, ortalaması, en küçüğü, en büyüğü veya son değeri | Anlık ölçümler: güç (kW), gerilim (V), akım (A), sıcaklık |
| Tüketim | __cons | Sayaç 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:
<tür>.<dönem>.<toplama>.<tag>| Parça | Değerler | Örnek |
|---|---|---|
| Tür | __hist veya __cons | __cons |
| Dönem | Aşağıdaki dönemler tablosu | thismonth |
| Toplama | sum, avg, min, max, last | sum |
| Tag | Tag adı (sayfanın tag ön ekine göre, bkz. Tag adı ve sayfa ön eki) | EA |
Örnekler:
__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]ilemonth[-1]aynıdır. - Toplama parçası yazılmazsa
sumkullanılır. - Eski sayfalarda görülebilen
__constyazımı__consolarak kabul edilir; yeni sayfalarda__conskullanın.
Dönemler
| Dönem | Anlamı | Değerin yenilenme sıklığı |
|---|---|---|
today | Bugün | Yaklaşık 45 saniye |
yesterday | Dün | 1 saat |
thisweek | Bu hafta | 10 dakika |
lastweek | Geçen hafta | 1 saat |
thismonth | Bu ay | 10 dakika |
lastmonth | Geçen ay | 1 saat |
thisyear | Bu yıl | 30 dakika |
lastyear | Geçen yıl | 1 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.N0 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ğer | Anlamı |
|---|---|
sum | Toplam |
avg | Ortalama |
min | Minimum |
max | Maksimum |
last | Son 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:
- Widget'ı seçin ve sağ paneldeki bağlantı sekmesini açın (bkz. Sayfa Editörü).
- Snapshot adı oluşturucu düğmesine basın.
- 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.
- Tür olarak Geçmiş (__hist) veya Tüketim (__cons) seçin.
- 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.
- Toplama yöntemini seçin. Varsayılan geçmiş için Ortalama, tüketim için Toplamdır.
- Ö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:
'__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ım | Tag Ön Eki | Okunan tag | Ne zaman |
|---|---|---|---|
__cons.thismonth.sum.EA | MTCP01.Trafo1. | MTCP01.Trafo1.EA | Ön ek noktayla bitiyorsa |
.__cons.thismonth.sum.EA | MTCP01.Trafo1 | MTCP01.Trafo1.EA | Ön ek noktasız bitiyorsa; baştaki nokta ayıraç olarak eklenir |
__cons.thismonth.sum._EA | MTCP01.Trafo1.T | MTCP01.Trafo1.T_EA | Tag adı ön ekin devamıysa; araya nokta eklenmez |
MTCP02.Trafo2.__cons.month[-1].sum.EA | Ne olursa olsun | MTCP02.Trafo2.EA | Belirli 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:
| Durum | Simge | Ne zaman |
|---|---|---|
| Veri boşluğu | Uyarı simgesi | Dönemde arşiv kaydı eksik; tüketim olduğundan düşük görünebilir. |
| Kısmi dönem | Saat simgesi | Dö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çenek | Değer | Davranış |
|---|---|---|
| Yalnız veri boşlukları | gap | Varsayılan. Dönemde veri boşluğu varsa uyarı simgesi gösterilir. |
| Boşluklar ve kısmi dönemler | all | Veri boşluğuna ek olarak henüz bitmemiş dönemler için saat simgesi de gösterilir. |
| Kapalı | none | Simge gösterilmez. |
- Ayar yalnız
__conssnapshot bağlantılarında çalışır;__histsnapshot'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
| Belirti | Neden ve çözüm |
|---|---|
| Değer hiç gelmiyor | Tag'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 gelmiyor | Snapshot 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ıyor | Sayaç için __hist kullanılmış; sayacın kendisi toplanıyor. Sayaçlar için __cons kullanın. |
| Kaydırmalı dönem kabul edilmiyor | N pozitif yazılmış. Yalnız 0 veya negatif değerler geçerlidir (month[-1]). |
| Değer geç güncelleniyor | Değerler döneme göre yenilenir; örneğin thismonth yaklaşık 10 dakikada bir. Bu davranış değiştirilemez. |