Zaman damgaları ve saat dilimleri
YTCC'deki her değer iki zaman taşır. Cihaz zamanı olayın gerçekleştiği andır; cihaz damgalar. Geliş zamanı değerin YTCC'ye ulaştığı andır. Protokol zaman taşımıyorsa iki zaman aynıdır.
Zaman kaynağı
Her değer olay zamanının nereden geldiğini de kaydeder:
| Zaman kaynağı | Anlamı | Kullanılan olay zamanı |
|---|---|---|
| protocol carries no time (Türkçe arayüzde: protokol zaman taşımıyor) | Protokol değerleri zaman damgası olmadan gönderir. | Geliş zamanı |
| device (Türkçe arayüzde: cihaz) | Cihaz geçerli bir zaman damgası gönderdi. | Cihaz zamanı |
| device time invalid (Türkçe arayüzde: cihaz zamanı geçersiz) | Cihaz zaman damgası gönderdi ama geçersiz işaretli ya da aşağıdaki makullük denetiminden geçmedi. | Geliş zamanı |
Şu sürücüler cihaz zamanı verebilir:
- IEC 60870-5-101: CP24 ve CP56 zaman etiketleri. CP24 yalnız dakika ve milisaniye taşır; saat ve tarih geliş zamanından alınır.
- IEC 60870-5-104: CP56 zaman etiketleri.
- DNP3: yalnız cihaz saatinin senkron olduğunu bildirdiğinde.
- OPC UA istemci: değerin kaynak zaman damgası.
- MQTT istemci: sinyalde Time pointer ayarlıysa JSON mesajdaki zaman alanı; bkz. MQTT istemcisi.
Diğer tüm sürücüler geliş zamanını kullanır.
Saat dilimi kayması ve makullük
Birçok RTU UTC yerine yerel saatle çalışır. IEC 60870-5-101 ve IEC 60870-5-104 cihazlarında time_offset_minutes
cihaz ayarı cihaz saatinin UTC'den farkını dakika olarak verir; örneğin Türkiye yerel saati için 180. YTCC cihaz
zamanını bununla UTC'ye çevirir.
YTCC her cihaz zamanını geliş zamanıyla karşılaştırır. 5 dakikadan fazla ileri ya da 7 günden fazla geri olan cihaz zamanı geçersiz sayılır: değer yine kullanılır, ama olay zamanı geliş zamanı olur ve zaman kaynağı device time invalid olur. 7 günlük pay, RTU'nun uzun bir haberleşme kesintisinde biriktirdiği olayları gönderebilmesi içindir. Bu sınırlar sabittir. Denetim IEC 60870-5-101, IEC 60870-5-104 ve OPC UA için yapılır.
MQTT istemcisi farklı denetler: gelişten 5 saniyeden fazla ileride ya da 7 günden fazla geride olan cihaz zamanlı değer geliş zamanıyla tutulmaz, atılır. İki sınır da MQTT sürücüsünün cihaz ayarıdır. Clamp future ts cihaz ayarı açıksa fazla ileride olan değer diğer sürücülerdeki gibi tutulur: geliş zamanıyla ve device time invalid zaman kaynağıyla.
Geç gelen değerler
Kesinti sırasında değer biriktiren cihaz bunları sonra özgün zamanlarıyla gönderir. Böyle bir değer, gösterilmekte olan son değerden eskidir. YTCC onu tarihçeye cihaz zamanıyla yazar, ama güncel değeri geriye götürmez:
- Ekranlar, sinyal listesi ve sunucu daha yeni değeri korur.
- Alarmlar onu değerlendirmez; eski bir değerden canlı alarm çıkmaz.
- Betikler onu değişiklik olarak görmez;
onChangeçalışmaz.
Değerleri böyle MQTT istemci sürücüsü işler: geç gelen değeri yalnız tarihçeye gönderir. Son değerle aynı cihaz zamanına sahip değer eskisi gibi uygulanır.
60 saniyeden uzun süredir daha yeni bir değer gelmediyse eski değer yine uygulanır. Bu olmasa, elle geri alınan bir cihaz saati, saat yetişene kadar güncel değeri iyi kaliteyle dondururdu.
İki zamanı nerede görürsünüz
- Signal list (sinyal listesi): Time sütunu ve varsayılan olarak gizli Device time ile Received time sütunları (Türkçe arayüzde: Zaman, Cihaz zamanı, Geliş zamanı).
- Alarm list (alarm listesi): Came sütunu ve varsayılan olarak gizli Device time ile Arrival at SCADA sütunları (Türkçe arayüzde: Geliş, Cihaz zamanı, SCADA'ya geliş).
- Signal detail (sinyal detayı): Device time, Received time ve Time source (Türkçe arayüzde: Zaman kaynağı).
Saat dilimleri
Tarayıcı bütün zamanları çalıştığı bilgisayarın saat diliminde gösterir. Ekrandaki saat nesnesinin kendi saat dilimi özelliği vardır.
Zamanlanmış çalışan sunucu betikleri, betik için ayarlanan saat dilimini Europe/Istanbul gibi bir IANA adıyla
kullanır. Saat dilimi ayarlanmamışsa sunucunun yerel saatini kullanır. Saatlerin ileri alındığı gün, atlanan saate
düşen zamanlanmış dakika çalışmaz. Saatlerin geri alındığı gün, iki kez yaşanan dakika bir kez, ilkinde çalışır.
CSV olarak dışa aktarılan trend verisinin zaman sütunu UTC'dir ve ISO 8601 biçimindedir. Dosya adı yerel saati kullanır.