Endüstriyel otomasyon sistemlerinde olay kayıtları, alarm zamanları, trend verileri,
raporlar ve farklı istasyonlardan gelen kayıtların karşılaştırılabilmesi için bilgisayarların
saatlerinin tutarlı olması önemlidir. TIME_SYNC bu ihtiyacı farklı zaman
kaynaklarını kullanabilecek şekilde SCADA ekranına taşımayı amaçlar.
TIME_SYNC
ZAMAN KAYNAĞI SEÇİLDİ
12:31:45
NTP / GPS / WEB / RFC 868 / RFC 867
KAYNAKZaman servisi
İLETİŞİMAğ veya seri port
ALIMZaman verisi
SENKRONSistem saati
SCADATutarlı zaman
Temel yaklaşım:
TIME_SYNC'nin hangi yöntemi kullanacağı TimeSyncMode ile ilişkilidir;
seçilen yönteme göre sunucu listeleri veya seri haberleşme parametreleri devreye girer.
Zaman Senkronizasyon Yöntemleri
Aşağıdaki yöntemler TIME_SYNC kaynak kodundaki alanlarla ilişkilendirilebilir. Her yöntem farklı
bir zaman kaynağı ve iletişim modeli kullanır. Özellikle GPS yöntemi, bilgisayara fiziksel bir
GPS alıcısı ve uygun anten bağlanmasını gerektiren seri haberleşme tabanlı bir yaklaşımdır.
NTP — Ağ Üzerinden Zaman
Network Time Protocol (NTP), bilgisayarların saatlerini ağ üzerindeki
zaman sunucularıyla senkronize etmek için kullanılan yaygın bir protokoldür. NTPv4,
istemci ile sunucu arasındaki zaman farkı ve ağ gecikmesi gibi değerleri dikkate alan
bir senkronizasyon mimarisi tanımlar. NTP, UDP üzerinde çalışır ve standart istemci
istekleri için 123 numaralı port kullanılır.
Kaynak kodundaki alan: NPTServerList
time1.google.com
# Kaynak kodundaki varsayılan değer
Burada önemli bir ayrıntı vardır: kaynak kodunda özellik adı NPTServerList
olarak yazılmıştır. Bu sayfada kaynak koddaki isim aynen korunmuştur; protokolün doğru
teknik adı ise NTP'dir.
GPS — Uydu Zamanı
GPS tabanlı senkronizasyonda bilgisayara bir GPS/GNSS alıcısı ve uygun
bir GPS anteni bağlanır. Alıcı, seri port üzerinden NMEA cümleleri
gönderebilir. TIME_SYNC kaynak kodunda özellikle GPGLL seçeneği
varsayılan NMEA türü olarak verilmiştir.
GPGLL cümlesi konum bilgisinin yanında UTC zamanını ve verinin geçerli
olup olmadığını taşıyabilir. Bu nedenle zaman senkronizasyonunda kullanılabilecek bir
GPS veri kaynağıdır.
$GPGLL,4916.45,N,12311.12,W,225444,A*hh
# 225444 → 22:54:44 UTC
# A → geçerli veri
WEB — Web Üzerinden Zaman
TIME_SYNC kaynak kodunda WEB tabanlı kaynak için WEBServerList alanı
bulunmaktadır ve varsayılan değer www.time.gov'dur. NIST'in time.gov
açıklamasına göre site, tarayıcıdaki yerel saat ile NIST sunucusundan alınan zaman
bilgisini karşılaştıran JavaScript tabanlı bir mekanizma kullanır.
www.time.gov
# Kaynak kodundaki varsayılan WEB sunucusu
Önemli: NIST, time.gov'u frekans veya zaman aralığı ölçümü için ya da
NIST'e izlenebilirlik oluşturmak için kullanılacak bir servis olarak tanımlamaz.
Bu nedenle TIME_SYNC'nin WEB yöntemi, kaynak kodunun gerçek uygulama davranışıyla
birlikte değerlendirilmelidir.
RFC 868 — TIME Protocol
RFC 868 Time Protocol, makine tarafından işlenebilir zaman bilgisini
saniye sayısı olarak veren eski bir internet zaman protokolüdür. RFC 868'e göre servis
TCP veya UDP 37 numaralı port üzerinden çalışabilir ve zaman,
1 Ocak 1900 00:00 UTC'den itibaren geçen saniye sayısı biçiminde gönderilir.
time-a.nist.gov
# Kaynak kodundaki RFC868ServerList varsayılanı
Bu sunucu adı kaynak kodundan alınmıştır. Güncel bir sistemde kullanılmadan önce ilgili
sunucunun ve ağ güvenlik duvarının RFC 868/TIME hizmetini gerçekten desteklediği
doğrulanmalıdır.
RFC 867 — Daytime Protocol
RFC 867 Daytime Protocol, zamanı makine tarafından yorumlanacak ikili
sayaç yerine ASCII karakter dizisi olarak gönderen klasik bir zaman
servisidir. RFC 867, TCP veya UDP üzerinde 13 numaralı portu tanımlar.
time-a.nist.gov
# Kaynak kodundaki RFC867ServerList varsayılanı
RFC 867 belirli bir metin biçimini zorunlu kılmaz; servis bir satırlık tarih/saat
karakter dizisi döndürebilir. Bu nedenle alınan metnin doğru yorumlanması istemci
tarafındaki uygulamaya bağlıdır.
Eski internet zaman protokolleri hakkında
RFC 867 ve RFC 868, 1983 tarihli klasik protokollerdir. Günümüzde güvenlik duvarları,
ağ politikaları ve sunucu tarafındaki servis durumu nedeniyle bu servislerin her ortamda
erişilebilir olduğu varsayılmamalıdır. Kullanılacak sunucu ve port erişimi saha ağında
ayrıca doğrulanmalıdır.
NTP'de TIME_SYNC istemcisi, bir veya daha fazla zaman sunucusundan zaman örnekleri alarak
sistem saatinin UTC'ye göre farkını belirlemeye çalışır. NTPv4 mimarisinde istemci ve sunucular
arasında zaman damgaları kullanılır; algoritmalar gecikme, ofset, yayılım ve titreşim gibi
istatistikleri değerlendirir.
1Sunucu
NTP zaman kaynağı belirlenir.
2İstek
Ağ üzerinden zaman bilgisi alınır.
3Ofset
Saat farkı ve gecikme değerlendirilir.
4Senkron
Sistem saati uygun şekilde düzeltilir.
TIME_SYNC için kaynak kodunda NTP sunucusu olarak time1.google.com verilmiştir.
Bunun bir örnek yapılandırma değeri olduğu, üretim ortamında kullanılacak sunucuların kurumun
ağ mimarisi ve zaman altyapısına göre belirlenmesi gerektiği unutulmamalıdır.
GPS / NMEA Senkronizasyonu
GPS yöntemi, internet bağlantısından bağımsız bir zaman kaynağı kullanılmak istendiğinde
özellikle dikkat çekicidir. Bunun için bilgisayara GPS modülü/GNSS alıcısı ve
alıcının gökyüzünü yeterli şekilde görebileceği konumda bir GPS anteni
bağlanmalıdır.
GPS Alıcısı
Uydu sinyallerinden zaman bilgisini alan donanım bilgisayara seri veri sağlayacak şekilde bağlanır.
GPS Anteni
Alıcının uydu sinyalini alabilmesi için uygun anten ve montaj konumu gerekir.
NMEA Verisi
GPS alıcısı seri porttan standart NMEA cümleleri gönderebilir; TIME_SYNC'de NMEA türü ayrıca seçilir.
UTC Zamanı
GPGLL gibi cümlelerde UTC zaman alanı bulunabilir ve senkronizasyon için kullanılabilir.
GPGLL Örneği
$GPGLL,3953.8800,N,03252.0000,E,093015.00,A*hh
3953.8800,N → Enlem
03252.0000,E → Boylam
093015.00 → 09:30:15 UTC
A → Veri geçerli
NMEA 0183, seri veri üzerinden zaman ve konum gibi bilgileri ASCII cümleleri halinde taşımak
için kullanılan bir arayüz standardıdır. NMEA'nın resmi açıklamasında temel seri veri hızının
4800 baud olarak tanımlandığı belirtilir; ancak gerçek GPS alıcısının yapılandırması üreticiye
ve kullanılan cihaza göre değişebilir. TIME_SYNC'de BaudRate, DataBits,
Parity ve StopBits alanlarının bulunmasının nedeni budur.
GPS Seri Haberleşme Ayarları
GPS/NMEA yöntemi seçildiğinde zaman verisinin doğru okunabilmesi için bilgisayar ile GPS
alıcısının seri haberleşme parametrelerinin uyumlu olması gerekir. Aşağıdaki değerler doğrudan
TIME_SYNC kaynak kodunda tanımlanmıştır.
| Özellik |
Türkçe Karşılığı |
Varsayılan |
Açıklama |
ComPort |
Com Port |
Com5 |
GPS/NMEA verisinin okunacağı seri bağlantı noktası. |
NmeaType |
Nmea Tipi |
Gpgll |
Okunacak NMEA cümle türü. |
DataType |
Veri Tipi |
Text |
Seri verinin işlenmesinde kullanılan veri türü. |
BaudRate |
Baud Hızı |
Baud36000 |
Seri haberleşme veri hızı. GPS alıcısının ayarıyla uyumlu olmalıdır. |
DataBits |
Veri Bitleri |
Eight |
Bir seri veri karakterindeki veri bitlerinin sayısı. |
Parity |
Parite |
None |
Parite kontrolünün kullanılıp kullanılmadığını belirler. |
StopBits |
Durdurma Bitleri |
One |
Seri veri çerçevesindeki durdurma biti ayarı. |
Kaynak kodundaki varsayılan ile saha cihazını karıştırmayın
Kaynak kodunda Baud36000 görülmesi, her GPS cihazının 36000 baud ile çalışacağı
anlamına gelmez. GPS alıcısının gerçek seri haberleşme ayarları cihaz dokümantasyonundan
kontrol edilmeli ve TIME_SYNC parametreleri buna göre yapılandırılmalıdır.
RFC 868 ve RFC 867 Karşılaştırması
İki protokol de klasik internet zaman servisleridir; ancak döndürdükleri veri biçimi farklıdır.
Bu fark, TIME_SYNC'nin alınan zaman bilgisini yorumlama biçimi açısından önemlidir.
| Özellik |
RFC 868 |
RFC 867 |
| Protokol adı |
Time Protocol |
Daytime Protocol |
| Temel veri |
32 bit zaman değeri |
ASCII tarih/saat metni |
| TCP |
Port 37 |
Port 13 |
| UDP |
Port 37 |
Port 13 |
| Kaynak kodu alanı |
RFC868ServerList |
RFC867ServerList |
| Varsayılan sunucu |
time-a.nist.gov |
time-a.nist.gov |
RFC 868 zamanı 1 Ocak 1900'dan itibaren saniye olarak makine tarafından işlenebilir bir değer
halinde tanımlar. RFC 867 ise tarih ve saati karakter dizisi olarak gönderir ve belirli bir
sözdizimini zorunlu tutmaz. RFC 867'nin kendisi de makine tarafından kullanılabilir zaman için
RFC 868'e işaret eder.
Aşağıdaki tablo, verdiğiniz TIME_SYNC kaynak kodundaki özellikleri ve Türkçe karşılıklarını
sözlükte bulunan terminolojiye göre sunar. Kaynak kodunda bulunmayan davranışlar özelliklere
eklenmemiştir.
| Özellik |
Türkçe Karşılığı |
Varsayılan |
Açıklama |
UCType |
Kontrol Tipi |
TIME_SYNC |
Kullanıcı kontrolünün tipi. |
UpdateInterval |
Güncelleme Aralığı |
1000 |
Kontrolün güncelleme aralığı. |
DecimalPoint |
Ondalık Hane |
0 |
Sayısal gösterim için ondalık hane ayarı. |
UCBackColor |
Kontrol Arka Renk |
Transparent |
Kontrolün arka plan rengi. |
UCForeColor |
Kontrol Yazı Rengi |
Black |
Kontrolün yazı rengi. |
UCFont |
Kontrol Yazı Tipi |
Arial Narrow, 8.25f |
Kontrol yazı tipi ve boyutu. |
TimeSyncMode |
Zaman Senkronizasyon Modu |
Ntp |
Kullanılacak zaman senkronizasyon yaklaşımı. |
PersistenceMode |
Kalıcılık Modu |
true |
Kalıcılık davranışını belirleyen kaynak kodu ayarı. |
RFC868ServerList |
RFC868 Sunucu Listesi |
time-a.nist.gov |
RFC 868 zaman servisi için sunucu listesi. |
RFC867ServerList |
RFC867 Sunucu Listesi |
time-a.nist.gov |
RFC 867 Daytime servisi için sunucu listesi. |
WEBServerList |
WEB Sunucu Listesi |
www.time.gov |
WEB tabanlı zaman kaynağı listesi. |
NPTServerList |
NPT Sunucu Listesi |
time1.google.com |
Kaynak kodunda bu adla tanımlanan NTP sunucu listesi. |
ComPort |
Com Port |
Com5 |
GPS/NMEA seri portu. |
NmeaType |
Nmea Tipi |
Gpgll |
GPS/NMEA cümle türü. |
DataType |
Veri Tipi |
Text |
Seri veri işleme tipi. |
BaudRate |
Baud Hızı |
Baud36000 |
Seri iletişim hızı. |
DataBits |
Veri Bitleri |
Eight |
Seri veri bit sayısı. |
Parity |
Parite |
None |
Parite kontrolü. |
StopBits |
Durdurma Bitleri |
One |
Seri haberleşme durdurma biti. |
Seçenekler Kümesi ve Kaynak Kodundaki Enum'lar
TIME_SYNC kaynak kodunda bazı özelliklerin değerleri enum tipleriyle tanımlanmıştır. Aşağıdaki
liste, paylaşılan kaynak kodunda açıkça görülen varsayılan enum değerlerini gösterir. Enum
üyelerinin tamamı paylaşılmadığı için burada kaynakta bulunmayan ek seçenekler varsayılmamıştır.
| Enum Tipi |
Seçili Değer |
Türkçe Açıklama |
GNTimeSync |
Ntp |
NTP tabanlı zaman senkronizasyonu. |
GNComPort |
Com5 |
COM5 seri portu. |
GNNmeaTuru |
Gpgll |
GPGLL NMEA cümlesi. |
GNVeriModu |
Text |
Metin tabanlı veri modu. |
GNBaudHizi |
Baud36000 |
Kaynak kodundaki 36000 baud değeri. |
GNVeriBiti |
Eight |
8 veri biti. |
GNParite |
None |
Parite yok. |
GNDurmaBiti |
One |
1 durdurma biti. |
Önerilen Yapılandırma Sırası
TIME_SYNC'yi devreye alırken yöntem seçiminin ardından o yönteme ait iletişim parametrelerinin
yapılandırılması daha anlaşılır bir çalışma sırası oluşturur.
1Yöntemi seç
NTP, GPS, WEB, RFC 868 veya RFC 867 yaklaşımını belirle.
2Kaynağı tanımla
Sunucu listesini veya GPS seri bağlantısını yapılandır.
3İletişimi doğrula
Ağ erişimini ya da COM port veri akışını kontrol et.
4Zamanı kontrol et
Senkronizasyon sonrasında sistem saatinin beklenen kaynağa uyduğunu doğrula.
Endüstriyel ağ notu:
Zaman senkronizasyonu yalnızca bir ekran özelliği olarak görülmemelidir. Sistem saatinin
değiştirilmesi; alarm, olay, kayıt, rapor ve zaman damgasına dayalı uygulamaları etkileyebilir.
Bu nedenle TIME_SYNC'nin kullanılacağı bilgisayarda işletim sistemi yetkileri, ağ güvenliği,
zaman kaynağının güvenilirliği ve proses gereksinimleri birlikte değerlendirilmelidir.
SCADA Ekranlarında Kullanım Alanları
TIME_SYNC, özellikle birden fazla bilgisayar veya istasyonun zaman bilgisinin ortak bir kaynağa
yaklaştırılmasının önemli olduğu SCADA mimarilerinde değerlendirilebilir.
Alarm ve Olay Kayıtları
Alarm oluşma, onaylanma ve sona erme zamanlarının tutarlı bir saat kaynağıyla ilişkilendirilmesine yardımcı olabilir.
Trend ve Arşiv
Farklı zamanlarda kaydedilen proses verilerinin zaman ekseninde karşılaştırılmasına katkı sağlayabilir.
Dağıtık SCADA İstasyonları
Birden fazla bilgisayarın ortak bir zaman kaynağına göre çalışmasının gerektiği yapılarda kullanılabilir.
İnternetsiz GPS Kaynağı
Ağ erişiminin uygun olmadığı veya bağımsız zaman kaynağının tercih edildiği yapılarda GPS tabanlı yaklaşım değerlendirilebilir.
TIME_SYNC, SCADA sayfalarına zaman senkronizasyonu yeteneği kazandırmayı amaçlayan,
birden fazla zaman kaynağına yönelik parametreleri aynı kullanıcı kontrolünde toplayan bir yapıdır.
Kaynak kodunda NTP, GPS/NMEA, WEB,
RFC 868 ve RFC 867 için ayrı yapılandırma alanları bulunması,
kontrolün farklı saha ve ağ koşullarına uyarlanabilmesini sağlar.
Ana fikir
Zaman kaynağı → iletişim → zaman bilgisinin alınması → senkronizasyon → SCADA sisteminde tutarlı zaman.