İçeriğe geç

Veri Aktarımı

Data Transfer, bir projedeki değişken değerlerini başka bir projedeki değişkenlere periyodik olarak aktarır. Kaynak değişkenden istatistiksel hesaplama yaparak hedef değişkene yazmayı sağlar — sayaç diferansları, saatlik ortalamalar, çoklu saha toplama vb.

Data Transfers

AlanTipZorunluAçıklama
nameString (≤100)EvetTransfer adı
dscString (≤255)HayırAçıklama
periodInteger (ms, ≥100)EvetÇalışma periyodu
projectIdStringEvetBağlı proje

period ne kadar sıklıkla tetikleneceğini belirler — örneğin saatlik transfer için 3 600 000 ms.

Her Data Transfer bir veya daha fazla detay satırı içerir. Her detay bir kaynak-hedef eşleşmesidir:

AlanAçıklama
sourceVariableIdKaynak değişken
targetVariableIdHedef değişken
calcTypeİstatistiksel hesaplama tipi (VariableStatCalculationType)
rangeTypeZaman aralığı (VariableStatRangeType)
thresholdİstatistikler için opsiyonel filtre değeri

Kaynak ve hedef farklı projelerde olabilir — bir projeden diğerine veri aktarmak için kullanılır.

VariableStatCalculationType enum — 11 değer:

TipAçıklama
MinAralıktaki minimum değer
MaxAralıktaki maksimum değer
AvgAritmetik ortalama
SumToplam
CountKayıt sayısı
First ValueAralıktaki ilk kayıt
Last ValueAralıktaki son kayıt
Max DifferenceAralıktaki en büyük ardışık fark
Last First DifferenceSon değer − İlk değer (kümülatif sayaç farkı için ideal)
Middle ValueAralığın ortasındaki değer (zamansal orta nokta)
Median ValueMedyan (sıralı ortanca)

VariableStatRangeType enum — 10 değer (Current / Previous × 5 zaman ölçeği):

TipAralık
Current HourSaat başından şimdiye
Previous HourBir önceki tam saat
Current DayGün başından şimdiye
Previous DayBir önceki tam gün
Current WeekHaftanın başından şimdiye
Previous WeekBir önceki tam hafta
Current MonthAy başından şimdiye
Previous MonthBir önceki tam ay
Current YearYıl başından şimdiye
Previous YearBir önceki tam yıl

Previous ... tipleri, aralık tamamlandığında tek seferlik hesaplama için idealdir — örneğin her sabah “önceki günün ortalaması” raporu.

Kümülatif sayaçtan saatlik tüketim:

  • Kaynak: Energy_kWh (kümülatif)
  • Hedef: Hourly_Consumption
  • calcType: Last First Difference (son − ilk = saatlik tüketim)
  • rangeType: Previous Hour
  • period: 3 600 000 ms (saat başında tetiklenir)
  • Kaynak: Temperature_C
  • Hedef: DailyAvg_Temperature
  • calcType: Avg
  • rangeType: Previous Day
  • period: 86 400 000 ms

Birden fazla sahadaki güç değerlerini merkezi bir projeye aktarma:

  • Kaynak (saha projesi): Site1_Power_kW
  • Hedef (merkez proje): Site1_Power_kW_Mirror
  • calcType: Last Value
  • rangeType: Current Hour (canlı değer için kısa aralık)
  • period: 10 000 ms
// Transfer'i zamanlayıcıya ekle
ins.scheduleDataTransfer("hourly_energy_calc");
// Projedeki tüm data transfer'leri zamanlayıcıya ekle
ins.scheduleDataTransfers();
// İptal et
ins.cancelDataTransfer("hourly_energy_calc");
ins.cancelDataTransfers();
// Durumu sorgula — "Scheduled" veya "Not Scheduled"
var status = ins.getDataTransferStatus("hourly_energy_calc");

Scheduled durumu “zamanlayıcıya bağlı” anlamına gelir — o anda çalıştığını değil.

Detaylı API: Data Transfer API → | REST API Reference → (Data Transfer Controller grubu)