İçeriğe geç

Haberleşme

Modbus TCP haberleşmesi

Modbus TCP sunucusu olan cihazlardaki bobinleri, ayrık girişleri, giriş yazmaçlarını ve tutma yazmaçlarını Modicon adresiyle okur ve yazar.

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

  1. 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.

  2. 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.

  3. 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ı 40101 olur.

Studio’da bağlantı kurma

  1. 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.

  2. Adres ve portu girin

    IP adresi hücresine cihazın IP adresini yazın. Port 502 olarak gelir.

  3. 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: ABCD büyük uçlu (varsayılan), CDAB word yer değiştirmiş, BADC bayt yer değiştirmiş, DCBA küçük uçlu. 16 bitlik değerler her zaman Modbus standardındaki gibi büyük uçludur.

  4. 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.

  5. 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.

  6. 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

Örnek adresler
 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 (4xxxx ya da 3xxxx) 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

Demoyu deneyin

Demo sürümünü indirin, örnek projeyi açın ve bu özelliği kendi ekranınızda görün.