Sürücüler nasıl çalışır
Sürücü, YTCC'nin saha cihazlarıyla bir protokolde, örneğin Modbus TCP ya da IEC 60870-5-104 ile konuşan parçasıdır. Bu sayfa tüm sürücülerin ortak yanlarını anlatır. Her protokolün parametreleriyle kendi başvuru sayfası vardır.
Sürücüler, cihazlar ve adres bağlamaları
Haberleşmeyi konfigürasyon editörünün Drivers → devices (Sürücüler → cihazlar) görünümünde üç katmanda kurarsınız (bkz. Sürücü ve cihaz ekleme):
| Katman | Nedir | Örnek |
|---|---|---|
| Driver (Sürücü) | Driver key (Sürücü anahtarı) ve Driver type (Sürücü tipi) ile tek bir protokol bağlantı kümesi. | plc1, Modbus TCP |
| Device (Cihaz) | Sürücünün konuştuğu tek bir saha cihazı; Device key, Name ve protokolün bağlantı ayarlarıyla. | plc1_main, Main PLC, host ve port |
| Adres bağlaması | Bir sinyalin bir cihazdaki protokol adresi. Sinyalin Value source (Değer kaynağı) sekmesinde ayarlanır. | Holding register 1 |
Bir sürücü birden çok cihaza hizmet edebilir. SNMP, MQTT istemcisi ve IEC 61850 sürücü başına yalnız bir cihaza izin verir; editör o zaman Single-device protocol — a second device cannot be added (Tek cihazlı protokol — ikinci cihaz eklenemez) der. Sunucu tipi sürücülerin (OPC UA sunucusu, MQTT aracısı) cihazı yoktur: diğer sistemler onlara bağlanır.
Bir sinyalin normalde tek etkin kaynağı vardır. Aynı sinyali iki cihazdan, örneğin yedekli yollar üzerinden okumak için Value source sekmesinde multi-source'u (çok kaynaklı) işaretleyin.
Her sürücü ayrı çalışır
Her sürücü YTCC süreç yöneticisi altında ayrı bir süreç olarak çalışır. Bir sürücü durursa diğerleri ve YTCC'nin geri kalanı çalışmaya devam eder.
- Yeniden başlatma. Bir sürücü süreci kendiliğinden biterse süreç yöneticisi onu 1 sn, sonra 2 sn, 5 sn, 10 sn ve ondan sonra her 30 sn'de bir yeniden başlatır. 60 sn'den uzun çalışmış bir sürücü bir dahaki sefere yeniden 1 sn'den başlar.
- Kalp atışı. Çalışan bir sürücü her 2 saniyede bir canlı olduğunu bildirir. 6 saniye bildirim gelmezse tüm sinyalleri Bad · Not connected (Kötü · Bağlı değil) olur ve son değerleri ekranda kalır. Sürücü için yüksek öncelikli bir alarm gelir. Proje başladıktan sonraki ilk 30 saniyede hiç bildirmeyen sürücü için de aynı alarm gelir.
- Süreçler. Ana sayfadaki Processes (Süreçler) sekmesi çalışan projenin sürücülerini listeler ve bir yöneticinin bunlardan birini başlatmasına, durdurmasına ya da yeniden başlatmasına izin verir. Bkz. YTCC süreçlerini yönetme.
Sürücü alarmının metni projenin Operator language (Operatör dili) ayarındaki dilde yazılır, Türkçede plc1 sürücüsü çalışmıyor — kalp atışı kesildi ya da … kalp atışı hiç gelmedi.
Cihazlarla bağlantı
Sürücü her cihazına ayrı bağlanır. Cevap vermeyen bir cihaz aynı sürücünün diğer cihazlarını durdurmaz.
- Yeniden bağlanma. Bir cihazla bağlantı kopunca sürücü, her başarısız denemeden sonra ikiye katlanan bir bekleyişle, deneme sayısı sınırı olmadan yeniden dener. Çoğu sürücü 100 ms'den başlar ve en çok 20 saniye bekler (0,1, 0,2, 0,4 … 12,8, 20, 20 … saniye); bir bağlantı açma denemesi en çok 1 saniye bekler. Bazı sürücülerin kendi zamanlaması vardır: S7 50 ms'den 5 sn'ye, IEC 60870-5-104 1 sn'den 30 sn'ye, IEC 60870-5-101 ise cihaz başına bir üst sınır kullanır.
- Kopan cihazın sinyalleri. Çoğu protokolde, bağlantı kopunca cihazın tüm sinyallerini Bad · Not connected yapan bir cihaz ayarı vardır (Modbus TCP'de Set invalid on disconnect, varsayılan olarak açık).
- Haberleşme alarmı. Bir cihaza 5 saniye ulaşılamayınca cihaz için, sinyal başına değil, tek bir yüksek öncelikli alarm gelir. Daha kısa kesintiler alarm vermez. Proje başladıktan sonra hiç bağlanmamış bir cihaz ilk alarmdan önce 30 saniye bekler. Alarm rafa kaldırılamaz. Bkz. Alarm listesini ve alarm çubuğunu okuma.
- Ekranda. Cihaza bağlı renkler pembeye döner ve denetim rayının tutamacındaki bir nokta kopuk haberleşmeyi gösterir. Bkz. Değerleri ve durumları okuma.
Sürücü çalışırken yüklenen değişiklikler
Konfigürasyon editöründe Apply'a (Uygula) tıkladığınızda pencerenin Affected drivers (Etkilenen sürücüler) bölümü her sürücü için will hot-reload (canlı yüklenecek) ya da requires a restart (yeniden başlatma gerekir) der.
- Neredeyse tüm sürücüler canlı yüklenir: yeni yapılandırmayı çalışırken, cihaz cihaz alır.
- Değişen ya da yeni bir sinyal adresi bağlantı kopmadan alınır.
- Bir cihazın host ya da port gibi değişen bağlantı ayarı yalnız o cihazı yeniden bağlar.
- Yeni cihaz kendi başına başlar; kaldırılan ya da etkin olmayan cihaz kendi başına durur.
- Bir cihazın yeni yapılandırması yüklenemezse çalışan cihazlara dokunulmaz.
- OPC UA sunucusu ve MQTT aracısı yeniden başlatma ister. Apply'dan sonra bir şerit yeniden başlaması gereken sürücüleri, her biri için bir Restart (Yeniden başlat) düğmesiyle listeler. Yeniden başlatma haberleşmeyi birkaç saniye keser ve bu sürede komut gönderilmez.
Değerler ne sıklıkla okunur
Cihazdan değerlerini soran protokollerde (tarama), bir sinyalin ne sıklıkla okunacağını tarama sınıfı belirler. Her projeyle silinemeyen dört tarama sınıfı gelir:
| Tarama sınıfı | Periyot | Tipik kullanım |
|---|---|---|
| Fast (Hızlı) | 100 ms | Hızlı değişen değerler |
| Normal | 1 sn | Genel kullanım |
| Slow (Yavaş) | 10 sn | Yavaş değişen değerler |
| Background (Arka plan) | 60 sn | Sayaçlar ve parametreler |
En az 20 ms periyotla kendi tarama sınıflarınızı ekleyebilirsiniz. Bir sinyal tarama sınıfını ayarlandığı ilk yerden alır: sinyalin kendisi, sonra sinyal tipi, sonra cihazı, sonra proje varsayılanı. Value source sekmesinde sinyalin kendi sınıfı yoksa Scan class (type / device default) (tip / cihaz varsayılanı) gösterir.
OPC UA'da tarama sınıfı örnekleme aralığıdır. IEC 60870-5-104 ve DNP3 gibi olay güdümlü protokoller değişiklikleri kendileri gönderir; onlar için tarama sınıfı bir okuma periyodu değildir.
Kalite, zaman ve komutlar
Tüm sürücüler değerleri aynı kalite kodları ve aynı iki zaman damgasıyla bildirir; tüm komutlar aynı kurallara uyar:
- Kalite: Good, Uncertain, Bad ve Bad · Not connected'ın anlamı.
- Zaman damgaları ve saat dilimleri: cihaz zamanı ve değerin YTCC'ye geliş zamanı. IEC 60870-5-101, IEC 60870-5-104, DNP3 ve OPC UA değerin zamanını gönderir; Modbus, S7, SNMP ve EtherNet/IP göndermez, yalnız geliş zamanı bilinir.
- Komut ve onay: komut ya hemen gider ya reddedilir. Hiç kuyruğa alınmaz ve cihaz geri gelince sonradan gönderilmez. 2 saniyeden eski komut uygulanmaz; aynı sinyale ikinci komut, ilki sürerken reddedilir. YTCC bir komutun sonucunu 10 saniye bekler (seç-çalıştırda 25 saniye); bir sinyalin kendi sonuç bekleme süresi olabilir.
Diğer sistemlerin bağlandığı sürücüler
OPC UA sunucusu ve MQTT aracısı diğer sistemlerden bağlantı kabul eder. Sunucunun tüm ağ arayüzlerini dinler: varsayılan olarak OPC UA 4840, MQTT 1883 numaralı portta. Erişimi sunucunun güvenlik duvarıyla sınırlayın ve güvenlik ayarları için her sürücünün sayfasına bakın.