﻿ MAESTROsystems Modbus TCP
MAESTROsystems veri iletişimi için temel olarak MODBUS TCP/IP protokolünü desteklemektedir. MODBUS 1979 yılında endüstride kullanılan aygıtların haberleşmesi için (özellikle programlanabilir mantık devreleri olan PLC olmak üzere) Modicon (şimdiki adı Schneider Elektrik) şirketi tarafından geliştirilmiş bir protokoldür. Farklı yapılardaki cihazlar MODBUS ile kolaylıkla haberleşebilmektedir. Basit, sağlam ve üretici-bağımsız yapısı nedeniyle zaman içerisinde yaygın hale gelmiştir ve günümüzde sanayide kullanılan birçok elektronik cihaz tarafından desteklenmektedir. MODBUS protokolünün endüstriyel ortamlarda kullanılmasının sebepleri aşağıda listelenmektedir:
• Endüstriyel uygulamalara yönelik olarak geliştirilmiştir,
• Açık kaynak kodludur ve herhangi bir telif ücreti gerektirmez,
• Ham verilerin herhangi bir ekipman imalatçısına bağımlı kalınmadan iletişimine imkan vermektedir.
MODBUS, aynı ağ üzerine bağlı yaklaşık 240'a kadar ekipman ile haberleşmeye imkan vermektedir. Örneğin, sıcaklık ve basıncı ölçen ekipmanlar, sonuçları bir bilgisayara iletir. MODBUS haberleşme protokolü RTU adı verilen bu ölçüm ekipmanlarını (uzak uç birimleri) denetim altında tutmak ve veri toplam amacıyla merkezi bilgisayara bağlamak amacıyla kullanılır.
MODBUS cihazlarının haberleşmesi sırasında istemci-sunucu tekniği kullanılmaktadır. Sadece bir cihaz istemci olarak, veri sunacak cihazlarla iletişime geçer. Sunucu cihazlar istemci tarafından talep edilen verileri istemciye iletir. Genelde istemci, veri toplama yazılımı koşmakta olan merkezi bir bilgisayardır. Sunucular ise verileri gönderen ölçüm cihazlarıdır. İstemci herhangi bir sunucu ile teker teker iletişim başlatabildiği gibi, tek bir mesaj ile bütün sunucularla aynı anda iletişim başlatabilir. Sunucular, kendilerine atanan sıra numarası ile cevaplarını istemciye iletirler. Veri sunan cihazlar kendi başlarına herhangi bir iletişim başlatmazlar, sadece istemcinin mesajlarına cevap verirler. İstemcinin mesajı, sunucunun iletişim adresi, talep edilen işlem ile ilgili komut, talep edilen veri ve hata kontrol bilgilerinden oluşmaktadır. Sunucunun mesajı da alınan komutu doğrulayan bilgi, gönderilen veri ve hata kontrol bilgilerinden oluşmaktadır.
MODBUS ile haberleşecek her cihaz için biricik bir tanıtım numarası verilir. Gönderilen MODBUS komutunda hedef cihazın adresi bulunur. Bu komut bütün cihazlara ulaşsa da, sadece adresi belirtilen cihaz tepki verir. Her MODBUS komutu doğrulama bilgisini de üzerinde taşır. Alıcı cihaz bu bilgi ile iletişim sırasında verilerde oluşabilecek problemleri kolaylıkla belirleyebilir. Temel komutlar yardımıyla REGISTER adı verilen veri saklama alanlarındaki bilgiler hem okunabilir hem de kontrol amaçlı yeni değerleri yazılabilir. Cihazlardaki veri alanlarının o anki değerlerini göndermesi istenebilir.
MODBUS/TCP, orijinal MODBUS 'un değişik bir varyantıdır. Bu varyant MODBUS protokolünün Internet ortamında TCP/IP protokolü ile birlikte kullanılmasını içermektedir. Zaman içinde aynen MODBUS 'ta olduğu gibi MODBUS/TCP protokolü de otomasyon standardı haline gelmektedir.
TCP/IP, iletişim kontrol protokolü ve internet protokolü anlamına gelmektedir ve bu MODBUS TCP/IP iletişimi için veri taşıma ortamını oluşturmaktadır. TCP/IP ikili sistemdeki veri bloklarının bilgisayarlar arasında değiş-tokuş edilmesini sağlamaktadır. TCP/IP ayrıca uluslararası internet ağının da temel iletişim protokolüdür. TCP protokolünün ana görevi, bütün veri paketlerinin doğru bir biçimde adreslenmesi ve yönlendirilmesini sağlamaktır. TCP/IP aslında tamamen bir iletişim protokolüdür ve taşınan verinin ne olduğu ile ilgilenmez. Verilerin şekillendirilmesi ve anlamlandırılması işini MODBUS protokolü gerçekleştirir.
MODBUS cihazlarda veriler aşağıdaki tür kayıt alanlarında tutulmaktadır:
• Tek bir bitten oluşan okuma alanı (DISCRETE INPUT)
• Tek bir bitten okuma/yazma alanı (COIL)
• 16-bilik okuma alanı (INPUT REGISTER)
• 16-bitlik okuma/yazma alanı (HOLDING REGISTER)
Herhangi bir cihazın bu türlü kayıt alanlarından hangilerine sahip olduğu, tamamen üreticinin tercihine bırakılmıştır. Normalde bütün okunabilecek ve yazılabilecek veriler için HOLDING REGISTER kullanılmaktadır. COIL'ler sadece 1 bitlik alanlar olup, hem okunabilir hem de kontrol amaçlı yazılabilir. Tek bitten oluşan DISCRETE INPUT alanları sadece okunabilir.
Günümüzde MODBUS protokolü, 16 bitten daha büyük alana ihtiyaç duyan ondalık sayıları saklamak için 2 adet 16 bitlik alanın birleştirerek 32 bitlik kayıt alanı da oluşturabilmektedir. Bunun için peş peşe iki saklama alanı (REGISTER) kullanılmaktadır. Fakat kullanılan peş peşe iki REGISTER'deki bilgilerin nasıl birleştirileceğine yönelik bir standart bulunmamaktadır ve bu işlem üreticinin tercihine bırakılmıştır. Cihaz üreticilerinin kullanabilecekleri bütün olası REGISTER birleştirme yöntemleri LOGGER yazılımına entegre edilmiştir. MODBUS TCP'yi destekleyen herhangi yeni bir cihazın kullandığı yöntem, kısa bir deneme yanılma ile kolaylıkla tespit edilebilir. Yazılımda hiçbir değişiklik yapılmasına ihtiyaç duyulmamaktadır.
Günümüzde, MODBUS Organizasyonu, MODBUS protokolünün geliştirilmesi ve güncellenmesi işini ele almış, Schneider Elektrik şirketini de bütün haklarını bu organizasyona transfer etmiştir. MODBUS Organizasyonu, kullanıcılar ve imalatçılar ile birlikte bu protokolünün geliştirilmesini sağlamaktadır.