FabyaVisionKullanım Kılavuzu
/

Modbus sürücüleri (TCP, RTU, ASCII)

11 dk okumaHaberleşme

Modbus TCP (Ethernet) ile Modbus RTU ve Modbus ASCII (RS-485 / RS-232 seri hat) cihazlarından bobin ve yazmaçları Modicon adresleriyle okumak ve yazmak; birim kimliği, bayt sırası ve seri port ayarları.

Ne zaman kullanılır

Üç Modbus sürücüsü vardır. Adresler, veri tipleri, bayt sırası ve okuma / yazma kuralları üçünde aynıdır; yalnız taşıma farklıdır:

SürücüNe zamanBağlantının adresi
Modbus TCPCihaz Ethernet üzerinden Modbus TCP sunucusu (ya da seri hattı Ethernet'e çeviren bir ağ geçidi var)IP adresi, port 502
Modbus RTU (seri)Cihaz RS-485 / RS-232 hattında Modbus RTU konuşuyor (en yaygın seri biçim)COM portu (COM3), port yok
Modbus ASCII (seri)Cihaz seri hatta Modbus ASCII konuşuyor (çerçeve : ile başlar, CR LF ile biter)COM portu, port yok

Adresler Modicon gösterimiyle yazılır: 40001 birinci tutma yazmacıdır, protokoldeki adresi 0'dır.

Cihaz tarafında ön koşullar

  • Modbus TCP'de cihazda Modbus TCP sunucusu açık olmalı (varsayılan port 502).
  • Cihazın birim kimliğini (Unit ID, slave adresi) ve adres haritasını öğrenin. Ağ geçidinin arkasındaki ya da seri hattaki her cihaz kendi adresiyle ayrılır; tek cihazda genellikle 1'dir.
  • Cihaz belgesindeki adres 1 tabanlı Modicon adresi mi (40001) yoksa 0 tabanlı protokol adresi mi (0) veriyor? İkinciyse Studio'ya tablo rakamını ve belge adresi + 1'i yazın: protokol adresi 100 olan tutma yazmacı 40101 olur.
  • 32 bitlik değerlerin iki yazmaçta hangi sırayla durduğunu öğrenin (aşağıdaki 32 bit bayt sırası).
  • Seri hatta ayrıca cihazın hızını, paritesini, veri ve dur bitini öğrenin.

Modbus TCP bağlantısı kurma

  1. Bağlantı ekleyin

    Bağlantılar bölümünde Ekle, sürücü Modbus TCP. IP adresini yazın, port 502 gelir.

  2. Birim kimliği ve bayt sırası
    Modbus TCP bağlantısının parametreleri: birim kimliği ve 32 bit bayt sırası.
    Modbus TCP bağlantısının parametreleri: birim kimliği ve 32 bit bayt sırası.

    Birim kimliği (Unit ID) 0 – 255 (varsayılan 1). 32 bit 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.

  3. Tag ekleyin

    Tag'in adresine Modicon adresini yazın. Adres, tag'in veri tipine göre doğrulanır (Tag adresleri).

  4. Bayt sırasını sınayın

    32 bitlik bir Real ya da DInt tag'inin değeri beklenenden çok farklı geliyorsa (ör. çok büyük ya da çok küçük bir sayı) bayt sırasını değiştirin. Bunun için cihazda bilinen bir değer (ör. 1.0) tutup doğru değer görünene kadar seçenekleri deneyin.

Modbus RTU ve ASCII (seri hat)

Seri sürücüler Live bilgisayarının bir COM portunu kullanır: bilgisayarın kendi seri portu ya da USB – RS-485 / RS-232 dönüştürücü. Live bilgisayarı hattın master'ıdır; cihazlar soruları yanıtlar.

  1. COM portunu bulun

    Windows'ta Aygıt Yöneticisi›Bağlantı noktaları (COM ve LPT) altında dönüştürücünün port numarasına bakın (ör. COM3).

  2. Bağlantı ekleyin

    Ekle, sürücü Modbus RTU (seri) ya da Modbus ASCII (seri). IP adresi / bilgisayar adı hücresine seri portu yazın (COM3; com 3 da COM3'e düzeltilir). Port hücresi kilitlidir.

  3. Cihaz adresi ve seri ayar

    Cihaz adresi (slave ID) 1 – 247 (varsayılan 1). Hız (baud) 1200 – 115200 (varsayılan 9600), Parite Yok (N), Çift (E) (varsayılan) ya da Tek (O), Veri biti 7 ya da 8, Dur biti 1 ya da 2. Varsayılan ayar RTU'da 9600 8E1, ASCII'de 9600 7E1'dir. RTU'da veri biti 8 olmalıdır. Bütün değerler cihazdaki ayarla aynı olmalıdır.

    Modbus RTU bağlantısı: adres COM3, cihaz adresi 1, 9600 8E1; Hedef kartı seri ayarı özetler.1234
    Modbus RTU bağlantısı: adres COM3, cihaz adresi 1, 9600 8E1; Hedef kartı seri ayarı özetler.
    1. Adres — seri sürücüde COM portu (COM3); port alanı kilitlidir.
    2. Cihaz adresi (slave ID) — 1 – 247; hattaki her cihazda farklı.
    3. Hız, parite, veri biti, dur biti — cihazla ve aynı porttaki bütün bağlantılarla aynı.
    4. Hedef — port · seri ayar · cihaz adresi.
  4. Zaman aşımını ayarlayın

    Zaman aşımı (ms) cihazın yanıt vermeye başlaması için beklenen süredir; isteğin ve yanıtın hattaki iletim süresi Live tarafından eklenir. Düşük hızda uzun bloklar bu yüzden zaman aşımına düşmez.

  5. Tag ekleyin

    Adresler ve tipler Modbus TCP ile aynıdır (aşağıdaki tablolar).

Bir hatta birden çok cihaz

Aynı RS-485 hattındaki her cihaz için ayrı bir bağlantı açın: adresleri aynı COM portu, Cihaz adresi'leri farklıdır. Live portu bir kez açar ve bağlantılar arasında paylaştırır; hatta aynı anda yalnız bir soru bulunur, istekler sırayla gider. Bu yüzden bir hatta cihaz arttıkça her cihazın okunma aralığı uzar.

Aynı portu kullanan bağlantıların Modbus türü (RTU ya da ASCII), hızı, paritesi, veri biti ve dur biti aynı olmalıdır. Farklıysa Studio Sorunlar'da hata verir; Live'da ikinci bağlantı kurulmaz ve hata iletisini gösterir. Etkin kapalı bağlantı portu açmaz ve denetime girmez.

Aynı COM3 portunu farklı hızla kullanan ikinci bağlantı Sorunlar listesinde hata verir.
Aynı COM3 portunu farklı hızla kullanan ikinci bağlantı Sorunlar listesinde hata verir.
  • RTU çerçeveleri CRC ile denetlenir; iki çerçeve arasında hat en az 3,5 karakter süresi (19200 baud üstünde 1,75 ms) sessiz bırakılır. ASCII çerçeveleri LRC ile denetlenir.
  • Bozuk çerçeve gelince hatta kalan baytlar atılır ve bağlantı yeniden kurulur. USB dönüştürücü çıkarılırsa aynı porttaki bütün bağlantılar kopar ve port yeniden açılmaya çalışılır.
  • Çevrimiçi›Bağlantıları sına… seri bağlantıları sınamaz, atlandı sayar. Seri bağlantı ancak Live'da denenir.

Adres aralıkları ve yazmaç kullanımı

BiçimTabloVeri tipiYazma
0xxxx (ör. 00001)Bobin (coil)BoolYapılır
1xxxx (ör. 10001)Ayrık girişBoolSalt okunur
3xxxx (ör. 30001)Giriş yazmacıyazmaç tipleriSalt okunur
4xxxx (ör. 40001)Tutma yazmacıyazmaç tipleriYapılır
4xxxx.b (ör. 40001.5)Yazmacın biti (b = 0 – 15)BoolYapılır (yazmaç okunur, bit değiştirilir, geri yazılır)
4xxxxx (ör. 400001)Altı haneli gösterim: 400001 – 465536yazmaç tipleriYapılır

İlk rakam tabloyu, kalan dört ya da beş rakam sıra numarasını (1 – 65536) verir. Her tip şu kadar yazmaç kaplar; tag'in adresi ilk yazmaçtır:

TipYazmaç sayısı
Bool, Int, UInt1
DInt, UDInt, Real2 (ör. 40001 ve 40002)
LReal4
StringHer yazmaçta 2 karakter: Uzunluk alanındaki karakter sayısının yarısı (yukarı yuvarlanır); varsayılan uzunluk 32, en çok 254

Bobin ve ayrık giriş adreslerinde bit numarası yazılmaz; yazmaç adresine Bool verilirse bit numarası zorunludur. Byte ve SInt tipleri Modbus sürücülerinde yoktur.

Okuma ve yazma

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

Sürücü başvurusu

Modbus ASCII'nin parametreleri, adres biçimleri ve örnekleri Modbus RTU ile aynıdır; sürücü kimliği modbus-ascii'dir ve Veri biti'nin varsayılanı 7'dir.

Modbus TCP

Adresler Modicon gösterimiyle yazılır: 40001 birinci tutma yazmacıdır (protokolde adres 0). 32 bitlik tipler art arda iki yazmaç kullanır.

Sürücü kimliği
modbus (proje dosyasındaki ad)
Bağlantı
IP adresi / bilgisayar adı ve port gerekir (varsayılan port 502)
Veri tipleri
Bool Int UInt DInt UDInt Real LReal String

Bağlantı parametreleri

Bağlantı seçiliyken Denetçi penceresinde görünür.

ParametreTürVarsayılanAçıklama
Birim kimliği (Unit ID)sayı (0 – 255)1
32 bit bayt sırasıseçimABCD — büyük uçlu
ABCD — büyük uçlu · CDAB — word yer değiştirmiş · BADC — bayt yer değiştirmiş · DCBA — küçük uçlu
Hakem adresi (Int)metin—Yedekli sunucu çiftinde master bu adrese her saniye artan bir sayaç yazar. PLC programında başka işte kullanılmayan, yazılabilir bir Int adresi olmalı. Boş = bu PLC hakem değil.

Adres biçimleri

BiçimAnlamı
0xxxxBobin — Bool
1xxxxAyrık giriş — Bool, salt okunur
3xxxxGiriş yazmacı — salt okunur
4xxxxTutma yazmacı
4xxxx.bYazmacın biti (b = 0 – 15) — Bool
4xxxxxAltı haneli gösterim: 400001 – 465536

Örnek adresler

Veri tipiÖrnekler
Bool00001   10001   40001.0
Diğer tipler40001   30001   400001

Modbus RTU (seri)

RS-485 / RS-232 seri port üzerinden Modbus RTU. Bağlantının adresi seri porttur (ör. COM3). Aynı hattaki her cihaz için ayrı bağlantı açılır; aynı portu kullanan bağlantıların seri port ayarları aynı olmalıdır. Tag adresleri Modbus TCP ile aynıdır: 40001 birinci tutma yazmacıdır.

Sürücü kimliği
modbus-rtu (proje dosyasındaki ad)
Bağlantı
Adres sütununa COM portu yazılır (ör. COM3); hız, parite, veri biti ve dur biti bağlantı parametresidir
Veri tipleri
Bool Int UInt DInt UDInt Real LReal String
Aynı port
Ayarları aynı olan bağlantılar bir COM portunu paylaşır (RS-485 hattındaki birden çok cihaz); ayarları farklı ikinci bağlantı hata verir.

Bağlantı parametreleri

Bağlantı seçiliyken Denetçi penceresinde görünür.

ParametreTürVarsayılanAçıklama
Cihaz adresi (slave ID)sayı (1 – 247)1Cihazın Modbus adresi. Aynı RS-485 hattındaki her cihazın adresi farklıdır; her cihaz için ayrı bağlantı açılır.
32 bit bayt sırasıseçimABCD — büyük uçlu
ABCD — büyük uçlu · CDAB — word yer değiştirmiş · BADC — bayt yer değiştirmiş · DCBA — küçük uçlu
Hız (baud)seçim9600Hız, parite, veri biti ve dur biti cihazın ayarıyla aynı olmalıdır. Aynı seri portu kullanan bütün bağlantılarda da aynıdır.
1200 · 2400 · 4800 · 9600 · 19200 · 38400 · 57600 · 115200
PariteseçimÇift (E)
Yok (N) · Çift (E) · Tek (O)
Veri bitiseçim8
7 · 8
Dur bitiseçim1
1 · 2
Hakem adresi (Int)metin—Yedekli sunucu çiftinde master bu adrese her saniye artan bir sayaç yazar. PLC programında başka işte kullanılmayan, yazılabilir bir Int adresi olmalı. Boş = bu PLC hakem değil.

Adres biçimleri

BiçimAnlamı
0xxxxBobin — Bool
1xxxxAyrık giriş — Bool, salt okunur
3xxxxGiriş yazmacı — salt okunur
4xxxxTutma yazmacı
4xxxx.bYazmacın biti (b = 0 – 15) — Bool
4xxxxxAltı haneli gösterim: 400001 – 465536

Örnek adresler

Veri tipiÖrnekler
Bool00001   10001   40001.0
Diğer tipler40001   30001   400001

Sık hatalar

Her satırın başındaki işaret, iletinin Live'da nerede görüneceğini söyler: [bağlantı] sistem menüsünün Bağlantılar bölümünde; [yazma] yazmayı yapan operatöre bildirim penceresinde; [Studio] Studio'daki adres hücresinde ya da Sorunlar listesinde görünür. [tag] okuma sırasındaki tag hatasıdır: tag kalitesiz kalır, iletinin metni bu sürümde Live'da gösterilmez (Tag hataları); metni nedeni anlamak için okuyun.

İletiNeden ve çözüm
[tag] 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.
[tag] Cihaz bu işlevi desteklemiyor (Modbus istisnası 01).Cihaz bu tür erişimi (ör. bobin yazma) sunmuyor.
[yazma] 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.
[tag] Ağ geçidi hedef cihaza ulaşamadı (Modbus istisnası 0A). (ya da 0B)Ağ geçidi birim kimliğindeki cihaza ulaşamıyor; birim kimliğini ve seri hattı denetleyin.
[yazma] Giriş yazmacı salt okunurdur; yazılamaz. · Ayrık giriş salt okunurdur; yazılamaz.1xxxx ve 3xxxx adreslerine yazılamaz; yazılabilir olması gereken değer için 4xxxx kullanın.
[Studio] Bool tipi için yazmacın biti belirtilmelidir (ör. 40001.0) ya da bobin adresi (0xxxx) kullanılmalıdır.Studio adres hücresi: Bool tag'e yazmaç adresi bit numarasız verilmiş.
[bağlantı] Cihaz 2000 ms içinde yanıt vermedi (192.168.0.20:502). … · Cihaz yanıt vermedi (zaman aşımı).TCP'de ağ, port ya da cihaz; ağ geçidi arkasındaki cihazlarda Zaman aşımı'nı artırın. Seri hatta cihaz adresi, hız / parite, kablo (RS-485'te A / B uçları) ya da cihazın kapalı olması.
[bağlantı] Geçersiz Modbus yanıtı (…)Yanıt çerçeveye uymuyor; bağlantı kapatılıp yeniden kurulur. Seri hatta (CRC hatalı), (LRC hatalı) ya da (cihaz adresi uyuşmuyor): hız / parite yanlış, hatta parazit var ya da iki cihaz aynı adreste.
[bağlantı] COM3 bulunamadı: bu bilgisayarda böyle bir seri port yok. Aygıt Yöneticisi › Bağlantı noktaları (COM ve LPT) listesine bakın.Port numarası yanlış ya da dönüştürücü takılı değil.
[bağlantı] COM3 açılamadı: port başka bir programda açık ya da erişim reddedildi.Portu kullanan başka programı (cihazın ayar yazılımı, terminal programı) kapatın.
[bağlantı] COM3 başka bir bağlantıda farklı ayarla açık (RTU 9600 8E1; bu bağlantı: RTU 19200 8E1). …Aynı porttaki bağlantıların seri ayarı farklı; hepsini aynı yapın.
[bağlantı] COM3 seri portu ile bağlantı koptu (kablo ya da USB seri çevirici çıkarılmış olabilir).Dönüştürücüyü takın; sürücü kendiliğinden yeniden dener.
[Studio] Modbus RTU'da veri biti 8 olmalıdır (7 veri biti yalnızca Modbus ASCII'de kullanılır).RTU bağlantısında Veri biti 7 seçilmiş. Live aynı durumda bağlantıyı kurmaz.

İpuçları ve sınırlar

İlgili konular

FabyaVision 1.2.1 Kullanım Kılavuzu · 2 Kasım 2026© Fabyatek Yazılım Bilişim Teknolojileri Ltd. Şti.