MODBUS neden tercih edilir?

Üreticiden bağımsız iletişim

Ortak protokol kurallarını uygulayan farklı üreticilerin cihazları, doğru adres ve veri tanımları kullanıldığında aynı sistemde haberleşebilir.

Açık ve belgelenmiş protokol

MODBUS teknik şartnameleri kamuya açıktır. İletişim, işlev kodları ve veri gösterimi standart belgeler üzerinden incelenebilir.

Bit ve register verileri

Dijital durumlar ile 16 bitlik register alanları okunabilir; cihaz ve yazılımın izin verdiği işlemlerde değer yazılabilir.

Ethernet ve TCP/IP

MODBUS TCP/IP, MODBUS mesajlarını TCP/IP ağı üzerinden taşır. Geleneksel MODBUS TCP iletişiminde varsayılan TCP portu 502'dir.

MODBUS nasıl çalışır?

MODBUS, istek/yanıt temelli bir uygulama katmanı protokolüdür. İstemci (client), belirli bir sunucuya (server) bir işlev kodu ve veri adresi içeren istek gönderir. Sunucu, isteği işler ve yanıt verir. Klasik kullanımda veri toplama yazılımı istemci; PLC veya ölçüm cihazı sunucu rolündedir.

MAESTRO LOGGER ana yapılandırma ekranı

Tipik iletişim akışı

  1. LOGGER, hedef cihazın IP adresi ve TCP portu üzerinden bağlantı kurar.
  2. İstenen veri alanı, başlangıç adresi ve okunacak/yazılacak miktar belirlenir.
  3. İstemci, uygun MODBUS işlev koduyla isteği gönderir.
  4. Cihaz yanıtı ve varsa hata bilgisi değerlendirilir.
  5. Okunan ham değer; veri türü, ölçek, işaret ve gerekiyorsa kelime sırası dikkate alınarak mühendislik değerine çevrilir.

MODBUS TCP/IP, geleneksel seri MODBUS RTU ile aynı veri modelinin birçok unsurunu paylaşır; ancak TCP/IP üzerinden taşınan mesaj çerçevesi farklıdır. MODBUS TCP için ayrıca seri hat baud hızı, parite ve stop bit gibi ayarlar kullanılmaz. Seri MODBUS RTU cihazlarına Ethernet üzerinden erişim gerektiğinde uygun bir ağ geçidi (gateway) kullanılabilir.

MODBUS veri alanları

MODBUS veri modeli dört temel tablo/alan türü tanımlar. Bir cihazın bu alanların hangilerini sunduğu ve hangi adreslerin hangi değişkenlere karşılık geldiği cihaz üreticisinin belgelendirmesine bağlıdır.

Alan türü Boyut Erişim Tipik kullanım
Discrete Input 1 bit Salt okunur Dijital giriş veya durum bilgisi
Coil 1 bit Okuma/yazma Dijital çıkış veya bit tabanlı kontrol
Input Register 16 bit Salt okunur Ölçüm değeri veya analog giriş verisi
Holding Register 16 bit Okuma/yazma Ölçüm, parametre veya kontrol değeri

Önemli: Yaygın dokümanlarda görülen 00001, 10001, 30001 ve 40001 biçimleri bir adresleme gösterim geleneğidir. İstemci yazılımının istediği gerçek adres çoğu zaman sıfır tabanlı ofsetle ifade edilir. Örneğin dokümandaki 40001 adresi yazılımda 0 ofsetine karşılık gelebilir. Kesin eşleme, cihaz kılavuzu ve LOGGER adres alanı birlikte kontrol edilerek yapılmalıdır.

Sık kullanılan işlev kodları

Kod İşlev Açıklama
01 (0x01) Read Coils Bir veya daha fazla coil alanını okur.
02 (0x02) Read Discrete Inputs Bir veya daha fazla dijital giriş alanını okur.
03 (0x03) Read Holding Registers Bir veya daha fazla holding register okur.
04 (0x04) Read Input Registers Bir veya daha fazla input register okur.
05 (0x05) Write Single Coil Tek bir coil alanına değer yazar.
06 (0x06) Write Single Register Tek bir holding register alanına değer yazar.
15 (0x0F) Write Multiple Coils Birden fazla coil alanına değer yazar.
16 (0x10) Write Multiple Registers Birden fazla holding register alanına değer yazar.

Bu tablo protokoldeki yaygın işlevleri özetler; belirli bir cihazın ve MAESTROsystems sürümünün hangi işlevleri desteklediği ayrıca doğrulanmalıdır. Kontrol amaçlı yazma işlemleri, cihazın izinleri ve uygulamanın emniyet gereksinimleri dikkate alınarak yapılmalıdır.

16 bit, 32 bit ve sayısal veri yorumlama

Bir MODBUS register'ı 16 bitlik bir sözcüktür. Cihazlar 32 bitlik tamsayıları veya kayan noktalı sayıları temsil etmek için çoğunlukla iki ardışık register kullanır. Ancak iki register'ın birleştirilme sırası ve veri türü her cihazda aynı olmayabilir.

  • İşaretli/işaretsiz tamsayı: Ham bit dizisinin negatif veya pozitif değer olarak yorumlanıp yorumlanmayacağı belirlenmelidir.
  • 32 bit veri: İki register'ın yüksek/düşük sözcük sırası üretici dokümanından kontrol edilmelidir.
  • Float (IEEE 754): İki register'ın kayan noktalı sayı olarak yorumlanması ve sözcük sırası doğrulanmalıdır.
  • Ölçekleme: Cihaz 2356 değerini 235,6 V anlamında kullanıyorsa uygun ölçek katsayısı uygulanmalıdır.
  • Birim ve geçersiz değerler: Birim, aralık, hata kodları ve iletişim kesintisinde kullanılan özel değerler üretici belgesinden incelenmelidir.

Eski MAESTROsystems açıklamasında LOGGER'ın farklı üreticilerin 32 bit register birleştirme yöntemlerini desteklediği ve yeni bir cihazda doğru yöntemin deneme ile belirlenebileceği belirtilmektedir. Güncel cihaz ve yazılım sürümünde mevcut seçenekler, devreye alma öncesinde gerçek cihazla test edilmelidir.

LOGGER için devreye alma kontrol listesi

  • 1. Ağ bağlantısı: Cihaz IP adresi, alt ağ, yönlendirme ve TCP portu kontrol edilmelidir.
  • 2. Cihaz rolü: Cihazın MODBUS TCP sunucusu olduğu veya bir gateway arkasından erişildiği doğrulanmalıdır.
  • 3. Birim/Unit Identifier: Gateway veya çoklu cihaz yönlendirmesi varsa gerekli birim kimliği cihaz kılavuzuna göre ayarlanmalıdır.
  • 4. Adresleme: Register adresinin 0/1 tabanlı gösterimi ve register türü doğrulanmalıdır.
  • 5. Veri biçimi: 16/32 bit türü, işaret, byte/word sırası ve ölçek katsayısı test edilmelidir.
  • 6. Okuma aralığı: Güncelleme sıklığı, cihaz kapasitesi ve ağ yüküyle uyumlu seçilmelidir.
  • 7. Hata davranışı: Kablo/ağ kesintisi, zaman aşımı ve geçersiz yanıt durumları gözlemlenmelidir.
  • 8. Yazma güvenliği: Yalnızca gerekli olduğunda, yetkilendirme ve süreç güvenliği değerlendirilerek yazma işlevleri açılmalıdır.

Güvenlik ve işletme önerileri

Geleneksel MODBUS TCP iletişimi kendi başına kullanıcı kimlik doğrulaması veya şifreleme sağlamaz. Bu nedenle port 502'nin doğrudan internete açılması önerilmez.

  • OT/SCADA ağını ofis ağından ve internetten uygun ağ segmentasyonu ile ayırın.
  • Güvenlik duvarında yalnızca gerekli kaynaklar ile hedef cihazlar arasındaki trafiğe izin verin.
  • Uzaktan erişimi kontrollü VPN, çok faktörlü kimlik doğrulama ve kayıt mekanizmalarıyla sınırlandırın.
  • Üretim sistemlerinde yazma komutlarını asgari yetki ilkesiyle sınırlandırın; değişiklikleri önce test ortamında doğrulayın.
  • Destekleniyorsa ve tüm uçlar uyumluysa, MODBUS Security gibi kimlik doğrulama ve mesaj bütünlüğü özellikleri sunan çözümleri değerlendirin.

Resmî kaynaklar ve teknik belgeler

Bu sayfadaki protokol açıklamaları genel teknik bilgilerdir. LOGGER'ın belirli bir sürümündeki özellikler ve cihaz uyumluluğu için ürün dokümantasyonu ile cihaz üreticisinin haberleşme haritası esas alınmalıdır.

LOGGER hakkında daha fazla bilgi

← Önceki İçeriğe Dön