Modbus TCP
Modbus TCP bağlantı tipi, Ethernet üzerinden Modbus TCP destekleyen PLC, enerji analizörü, sürücü ve ağ geçitleriyle haberleşmeyi sağlar. 2WinScada istemci (master) olarak çalışır.
- Kanalda bağlantı parametresi yoktur; kanal yalnızca cihazları gruplar.
- Her cihaz kendi IP adresine ve portuna ayrı bir TCP bağlantısı açar. Zaman aşımı ve tekrar ayarları cihaz bazında tanımlanır.
- Bir cihazın bağlantı sorunu aynı kanaldaki diğer cihazların okunmasını etkilemez.
Bağlantı Tipi listesinde yalnızca lisansın izin verdiği protokoller görünür (bkz. Lisans).
Kanal Tanımı
Yeni kanal penceresi kanal listesindeki “+” butonu ile açılır. Genel sekmesinde şu alanlar bulunur:
| Alan | Açıklama | Kural |
|---|---|---|
| Adı | Kanalın benzersiz adı | Zorunlu; 3–50 karakter; rakamla başlayamaz |
| Bağlantı Tipi | ModbusTcp seçilir | Kanal kaydedildikten sonra değiştirilemez |
Modbus TCP kanallarında Bağlantı Parametereleri ve Gelişmiş Parametreler sekmeleri görünmez; IP adresi, port, zaman aşımı ve tekrar ayarları her cihazda ayrı girilir.
Cihaz Tanımı
Kanal seçiliyken cihaz listesindeki “+” butonu ile yeni cihaz penceresi açılır. Genel sekmesinde Adı (zorunlu, 3–100 karakter, benzersiz) girilir ve Aktif seçimi yapılır. Pasif cihazlara bağlantı açılmaz.
Parametreler sekmesi:
| Alan | Açıklama | Varsayılan | Kural |
|---|---|---|---|
| Ip | Cihazın IPv4 adresi (ör. 192.168.1.10) | 255.255.255.255 | Zorunlu; geçerli bir IPv4 adresi. DNS adı kabul edilmez. Varsayılan değer yalnızca yer tutucudur. |
| Port | Cihazın Modbus TCP portu | 502 | Zorunlu; 1–65535 |
| Slave Id | Modbus birim kimliği (Unit Id) | 1 | Zorunlu; 0–255 |
Doğrudan bağlanılan Modbus TCP cihazlarının çoğu Slave Id değerini dikkate almaz veya 1 ya da 255 bekler. Bir Modbus TCP → RTU ağ geçidinin arkasındaki seri cihaza erişiliyorsa seri cihazın slave adresini girin; ancak aynı ağ geçidindeki çok sayıda seri cihaz için Modbus Serial over Ethernet bağlantı tipi tek bir TCP bağlantısı kullandığından daha uygundur.
Ayarlar sekmesi:
| Alan | Açıklama | Varsayılan |
|---|---|---|
| Zero Based | İşaretliyse adresteki register numarasından 1 çıkarılarak cihaza gönderilir (400001 → protokol adresi 0). İşaretli değilse numara olduğu gibi gönderilir. | İşaretli |
| İlk Word Low 32 Bit | 32 ve 64 bit değerlerde ilk register'ın düşük word olduğunu belirtir. Cihaz yüksek word'ü önce gönderiyorsa seçimi kaldırın. | İşaretli |
| İlk DWord Low 64 Bit | 64 bit değerlerde ilk iki register'ın düşük DWord olduğunu belirtir. | İşaretli (64 bit tag kullanıyorsanız cihaz dokümanına göre bilinçli olarak ayarlayın) |
| Blok Büyüklüğü | Tek okuma isteğinde okunacak en fazla register (coil/discrete input için bit) sayısı | 32 |
Bu ayarların ayrıntıları ve word sırası tabloları Modbus Adresleme sayfasındadır.
Gelişmiş Parametreler sekmesi:
| Alan | Açıklama | Varsayılan | Aralık |
|---|---|---|---|
| Cihazı yeniden başlatmak için boşta kalma süresi [s] | Bu süre boyunca cihazdan hiçbir başarılı okuma yapılamazsa TCP bağlantısı kapatılır ve yaklaşık 10 saniye sonra yeniden açılır. 0 özelliği kapatır. | 0 | 0–86400 |
| Yazma zaman aşımı[ms] | İsteğin gönderilmesi için bekleme süresi | 1000 | Tamsayı |
| Okuma zaman aşımı[ms] | Yanıt için bekleme süresi. Süre dolarsa istek hatalı sayılır ve ilgili tag'lerin kalitesi Bad olur. | 1000 | Tamsayı |
| Tekrar sayısı | Zaman aşımı veya iletişim hatasında isteğin kaç kez tekrarlanacağı. 1 değeri en fazla iki deneme demektir. | 1 | Tamsayı |
| Tekrar deneme bekleme süresi[ms] | Tekrar denemesinden önce beklenen süre | 250 | Tamsayı |
| Eski cevap eşik değerinde tekrar et | Gelen yanıtın işlem numarası, gönderilen isteğin numarasından bu değerden daha az gerideyse yanıt gecikmiş eski bir yanıt sayılır ve doğru yanıt yeniden beklenir. | 3 | Tamsayı |
| Slave meşgulken tekrar sayısı artırılsın | İşaretliyse cihazın "meşgul" (Slave Device Busy) yanıtları da Tekrar sayısı sınırına dahil edilir. İşaretli değilse meşgul yanıtı alındıkça istek sınırsız tekrarlanır. | İşaretli | — |
Bağlantı davranışı
- Bağlantı kurulamazsa 2WinScada yeniden bağlanmayı 30 saniye sonra dener. Üç başarısız denemeden sonra bekleme süresi 60 saniyeye, ardından 120 saniyeye çıkar; bağlantı kurulduğunda yeniden 30 saniyeye döner.
- Bağlantı kurulamadığında veya koptuğunda cihazın bağlantı durumu kötü görünür; okunamayan tag'lerin kalitesi Bad olur.
- Hata ayrıntıları servis loguna yazılır.
Tag Tanımı
Tag'ler cihazın tag tablosunda diğer protokollerdeki gibi tanımlanır (bkz. Tag Yönetimi). Modbus'a özgü kurallar:
| Alan | Modbus kuralı |
|---|---|
| Adres | 6 haneli Modbus adresi; ilk hane alan türüdür (0 coil, 1 discrete input, 3 input register, 4 holding register). Register bitleri için .0–.15 eki kullanılır (ör. 400010.3). |
| Veri Tipi | Coil ve discrete input adreslerinde yalnızca Bool. Register adreslerinde Bool (bit ekiyle) veya sayısal tipler. |
| Veri Uzunluğu | Her zaman 1; String tipi ve dizi desteklenmez (bkz. Modbus Adresleme) |
| Güncelleme Süresi[s] | 0,5–86400 saniye. Aynı süreye sahip tag'ler birlikte okunur. |
| Sadece Okuma | 1 ve 3 ile başlayan adreslerde işaretleyin |
Adres biçimi, veri tipleri, word sırası ve okuma gruplarının ayrıntıları Modbus Adresleme sayfasındadır. Tekrar kullanılabilir register listeleri için Cihaz Profilleri sayfasına bakın.
Sorun giderme
| Belirti | Kontroller |
|---|---|
| Cihaz bağlanmıyor | Ip ve Port değerlerini, ağ erişimini (ping, güvenlik duvarı, VLAN) ve cihazda Modbus TCP sunucusunun etkin olduğunu kontrol edin. Yeniden bağlanma 30–120 saniye aralıklarla denenir; ayar değişikliğinden sonra sonucu görmek için bekleyin. |
| Bağlantı var, tag'ler Bad | Slave Id değerini, adresleri ve Okuma zaman aşımı[ms] değerini kontrol edin. Cihaz "Illegal Data Address" hatası veriyorsa Blok Büyüklüğü değerini düşürün. |
| Bağlantı sık kopuyor | Cihazın aynı anda kabul ettiği TCP bağlantı sayısını kontrol edin; aynı cihaza bağlanan diğer sistemleri azaltın. Cihazı yeniden başlatmak için boşta kalma süresi [s] değeri çok kısaysa artırın. |
| Değerler kaymış veya anlamsız | Zero Based, İlk Word Low 32 Bit, İlk DWord Low 64 Bit ve Veri Tipi değerlerini kontrol edin (bkz. Modbus Adresleme). |
| Yazma başarısız | Adresin 0 veya 4 ile başladığını, Sadece Okuma seçimini, kullanıcı yetkisini ve cihazın yazmaya izin verdiğini kontrol edin. |