Genel bilgi
Sürücü, Modbus TCP sunucusu olan cihazlarla TCP üzerinden konuşur: enerji analizörü, hız sürücüsü ya da ağ geçidi gibi. Varsayılan port 502’dir.
Adresler Modicon gösterimiyle yazılır: 40001 birinci tutma yazmacıdır, protokoldeki adresi 0’dır. Seri hat (RTU / ASCII, RS-232 / RS-485) desteklenmez. Seri cihazlar için Modbus TCP’ye çeviren bir ağ geçidi gerekir.
Cihaz tarafında yapılacaklar
-
Modbus TCP sunucusunu açın
Cihazda Modbus TCP sunucusu açık olmalıdır. Varsayılan port 502’dir; araya giren güvenlik duvarı bu porta izin vermelidir.
-
Birim kimliğini ve adres haritasını öğrenin
Ağ geçidinin arkasındaki her cihaz kendi birim kimliğiyle ayrılır. Tek cihazda birim kimliği genellikle 1’dir.
-
Adresin 1 tabanlı mı 0 tabanlı mı olduğuna bakın
Cihaz belgesi 1 tabanlı Modicon adresi (
40001) mi yoksa 0 tabanlı protokol adresi (0) mi veriyor? İkincisiyse Studio’ya tablo rakamını ve belge adresi + 1’i yazın: protokol adresi 100 olan tutma yazmacı40101olur.
Studio’da bağlantı kurma
-
Bağlantı ekleyin
Bağlantılar bölümünde Ekle’ye tıklayın ve Haberleşme sürücüsü olarak Modbus TCP’yi seçin.
-
Adres ve portu girin
IP adresi hücresine cihazın IP adresini yazın. Port 502 olarak gelir.
-
Birim kimliğini ve bayt sırasını seçin
Denetçi’de Birim kimliği (0 – 255, varsayılan 1) ve 32 bit bayt sırası alanlarını doldurun. Bayt sırası seçenekleri:
ABCDbüyük uçlu (varsayılan),CDABword yer değiştirmiş,BADCbayt yer değiştirmiş,DCBAküçük uçlu. 16 bitlik değerler her zaman Modbus standardındaki gibi büyük uçludur. -
Tag ekleyin
HMI Tag’leri bölümünde bu bağlantıya bağlı tag’ler oluşturun ve Adres hücresine Modicon adresini yazın. Adres, tag’in veri tipine göre doğrulanır. Ayrıntı için HMI tag’leri sayfasına bakın.
-
Bayt sırasını sınayın
32 bitlik değerlerin iki yazmaçta hangi sırayla durduğu cihaz belgesinde yazar. Bir Real ya da DInt tag’inin değeri beklenenden çok farklı geliyorsa bayt sırasını değiştirin. Cihazda bilinen bir değer (örneğin 1.0) tutup doğru değer görünene kadar seçenekleri deneyin.
-
Bağlantıyı sınayın
Çevrimiçi › Bağlantıları sına yalnızca cihazın portunda TCP bağlantısı açılıp açılmadığını gösterir. Protokol denemesi ve adresin varlığı Live’da tag okunurken denenir. Ayarı değiştirdikten sonra projeyi kaydedip Live’a yükleyin.
Adres biçimi
00001 // Bobin (coil), Bool, yazılabilir 10001 // Ayrık giriş, Bool, yazılamaz 30001 // Giriş yazmacı, yazılamaz 40001 // Tutma yazmacı, yazılabilir 40001.5 // Yazmacın biti (0 – 15), Bool 400001 // Altı haneli gösterim: 400001 – 465536
- İlk rakam tabloyu, kalan dört ya da beş rakam sıra numarasını (1 – 65536) verir.
- Bobin ve ayrık giriş adreslerine bit numarası yazılmaz. Yazmaç adresine Bool verirseniz bit numarası zorunludur:
40001.0. - Bobin ve ayrık giriş yalnızca Bool tipinde okunur. Sayısal tipler için yazmaç adresi (
4xxxxya da3xxxx) kullanın.
Veri tipleri
- Bool
- Int
- UInt
- DInt
- UDInt
- Real
- LReal
- String
| Tip | Kapladığı yazmaç |
|---|---|
| Bool, Int, UInt | 1 |
| DInt, UDInt, Real | 2 (40001 ve 40002)
|
| LReal | 4 |
| String | Her yazmaçta 2 karakter: Uzunluk alanındaki karakter sayısının yarısı, yukarı yuvarlanır. Varsayılan uzunluk 32, en çok 254. |
Tag’in adresi, kapladığı yazmaçların ilkidir. Byte ve SInt tipleri Modbus sürücüsünde yoktur.
Okuma ve yazma davranışı
- Aynı tablodaki yakın tag’ler tek istekte okunur: en çok 125 yazmaç ya da 2000 bobin. Aradaki en çok 8 yazmaç (bobinde 64) boşluk birleştirilir. Cihaz boşluklu okumayı reddederse sürücü bundan sonra yalnızca bitişik tag’leri birleştirir.
- Cihaz bir isteği reddederse o bloktaki tag’ler tek tek okunur; yalnızca sorunlu tag hata alır.
- Yazma, bobin için tek bobin yazma, tek yazmaç için tek yazmaç yazma, çok yazmaçlı değerler için çoklu yazmaç yazma isteğiyle yapılır. Yazmacın bitine yazarken yazmaç okunur, bit değiştirilir ve geri yazılır.
- Çok sayıda aynı yapıdaki cihaz için Yapılar (UDT) kullanın. Taban adres (
40001) ile üyenin göreli adresi toplanır:40001+ 2 =40003. - Yazılan tag hemen geri okunur. Bağlantı kopunca sürücü 1 sn, 2 sn, 5 sn sonra, ardından 10 sn’de bir yeniden dener. Ortak davranış için haberleşme sürücüleri sayfasına bakın.
Sınırlar
- Seri Modbus, özel işlev kodları, dizi tag’leri ve 64 bit tam sayı tipi yoktur.
- Modbus protokolünde kimlik doğrulama ya da şifreleme yoktur. Şifreli iletişim gereken yerde cihazın OPC UA sunucusunu kullanın.
Sık görülen hatalar
Bağlantı iletileri Live’da sistem menüsünün Bağlantılar bölümünde görünür. Okuma sırasındaki tag hatalarında ileti gösterilmez; tag yalnızca kalitesiz olur.
| İleti | Neden ve çözüm |
|---|---|
| Cihaz 2000 ms içinde yanıt vermedi (192.168.0.20:502) | Ağ, port ya da cihaz sorunu. Ağ geçidinin arkasındaki cihazlarda Zaman aşımı değerini artırın. |
| Cihazda bu adres yok (Modbus istisnası 02: geçersiz adres) | Cihaz bu yazmacı ya da bobini tanımıyor. Adres haritasını ve 0 / 1 tabanlı farkını denetleyin. |
| Cihaz değeri kabul etmedi (Modbus istisnası 03: geçersiz değer) | Yazılan değer cihazın izin verdiği aralıkta değil. |
| Ağ geçidi hedef cihaza ulaşamadı (Modbus istisnası 0A) | Ağ geçidi, birim kimliğindeki cihaza ulaşamıyor. Birim kimliğini ve seri hattı denetleyin. |
| Giriş yazmacı … yazılamaz. · Ayrık giriş … yazılamaz. | 1xxxx ve 3xxxx adreslerine yazılamaz. Yazılabilir olması gereken değer için 4xxxx kullanın.
|
| Bool tipi için yazmacın biti belirtilmelidir (ör. 40001.0) ya da bobin adresi (0xxxx) kullanılmalıdır. | Studio’daki adres hücresi bu iletiyi verir: Bool tag’e yazmaç adresi bit numarasız verilmiş. |
Sık sorulanlar
Cihaz belgesinde adres 100 yazıyor. Studio’ya ne yazmalıyım?
Belgedeki adres 0 tabanlı protokol adresiyse tablo rakamını ve adres + 1’i yazın: tutma yazmacı için 40101. Belge 40101 gibi Modicon adresi veriyorsa olduğu gibi yazın.
İlgili sayfalar
Bağlantılar
Bağlantılar tablosu, sürücü seçimi, bağlantı sınama, tanılama, yeniden bağlanma ve şifrelerin saklanması.
StudioHMI tag’leri
Harici ve dahili tag’ler, ölçekleme, kalite, yapılar (UDT) ve Excel ile toplu aktarım.
HaberleşmeOPC UA
OPC UA sunucusuna istemci olarak bağlanır; sembolik adres, imzalı ve şifreli iletişim.
HaberleşmeSimülatör
PLC’siz deneme, sunum ve eğitim için sinyal üreten yerleşik sürücü.