MODBUS Master / İstemci
EOS cihazından veri okumak veya cihaza veri yazmak isteyen uygulama veya sistemdir. İstek mesajlarını oluşturur ve cevapları işler.
EOS MODBUS, EOS tarafından kullanılan ve özellikle EOS donanımları ile EOS yazılımları arasında veri alışverişini kolaylaştırmak amacıyla geliştirilmiş bir iletişim protokolüdür.
Protokol, standart MODBUS TCP iletişim yapısını temel alır. Ancak EOS sistemlerinde kullanılacak işlemler sınırlandırılarak daha sade bir haberleşme arayüzü oluşturulmuştur.
Bu yaklaşım sayesinde bir EOS cihazındaki register verileri, Ethernet ağı üzerinden başka bir EOS sistemi veya uygun bir MODBUS istemcisi tarafından okunabilir. Desteklenen yazma işlemleri ile register değerleri cihaza aktarılabilir.
EOS MODBUS, genel amaçlı bütün MODBUS fonksiyonlarını destekleyen yeni bir MODBUS uygulaması olmak yerine, EOS cihazlarının temel veri alışverişi ihtiyaçlarına yönelik optimize edilmiş bir MODBUS TCP alt kümesi olarak değerlendirilmelidir.
EOS MODBUS haberleşmesinde bir sistem MODBUS Master / istemci olarak çalışırken, EOS cihazı veya sistemi EOS MODBUS Server olarak çalışabilir.
Haberleşme TCP/IP ağı üzerinden gerçekleştirilir. EOS MODBUS için kullanılan standart TCP portu 502'dir.
EOS cihazından veri okumak veya cihaza veri yazmak isteyen uygulama veya sistemdir. İstek mesajlarını oluşturur ve cevapları işler.
EOS cihazı veya EOS sistemi üzerinde çalışan MODBUS sunucusudur. Register değerlerini istemciye sunar ve desteklenen yazma işlemlerini gerçekleştirir.
EOS MODBUS haberleşmesi yalnızca TCP/IP üzerinden gerçekleştirilir. Varsayılan TCP portu 502'dir.
EOS sistemlerinin temel veri okuma ve yazma ihtiyaçları için yalnızca iki Function Code desteklenir.
EOS SCADA içerisindeki EOS veri noktalarına erişmek için veri adresi E# prefix'i ile başlar. EOS register numarası, E# prefix'inden sonra belirtilir.
Örneğin EOS register numarası 7 olan bir veri için:
EOS istemcisi veri adresinin sayısal bir register numarası içermesini bekler.
EOS MODBUS yalnızca TCP/IP (Ethernet) üzerinden çalışan, EOS sistemlerine özel olarak sadeleştirilmiş bir MODBUS haberleşme yapısıdır.
EOS cihazlarından 16 bit holding register verilerinin okunması için MODBUS Function Code 03 desteklenir.
Birden fazla 16 bit register değerinin tek bir istek içerisinde yazılması için Function Code 16 desteklenir.
EOS sistemlerinde register adresleri 1 tabanlı olarak kullanılır ve EOS MODBUS uygulamalarında 1–10000 arasındaki register adresleri kullanılabilir.
EOS MODBUS, EOS donanımları ile haberleşmeyi mümkün olduğunca standart ve kolay anlaşılır bir MODBUS formatında gerçekleştirmek amacıyla geliştirilmiştir.
Çok sayıda MODBUS fonksiyonu yerine temel veri okuma ve yazma işlemlerine odaklanan sade bir haberleşme yapısı kullanılır.
EOS cihazları EOS MODBUS Server olarak çalışabilir. Harici bir MODBUS istemcisi, TCP/IP üzerinden cihazın tanımlanmış register değerlerine erişebilir.
Haberleşme yalnızca desteklenen MODBUS fonksiyonları ve tanımlanan register alanları üzerinden gerçekleştirilir.
EOS MODBUS sistemlerinde veriler 16 bitlik register'lar üzerinden adreslenir. EOS MODBUS'ta register adresleri 1 tabanlı olarak kullanılır.
EOS MODBUS uygulamalarında kullanılabilen register adresleri 1 ile 10000 arasındadır. Bu yapı, klasik MODBUS holding register adresleme yaklaşımının sadeleştirilmiş bir kullanımını sağlar.
| EOS MODBUS Adresi | Açıklama |
|---|---|
| 1 | İlk register |
| 2 | 2. register |
| 10 | 10. register |
| 100 | 100. register |
| 1000 | 1000. register |
| 10000 | 10000. register |
Not: EOS MODBUS adresleri kullanıcı açısından 1 tabanlı olarak ifade edilir. MODBUS mesajının kendi protokol alanlarında ise register başlangıç adresi 16 bitlik bir değer olarak taşınır.
EOS MODBUS, standart MODBUS protokolünde bulunan çok sayıdaki Function Code'un tamamını desteklemez. EOS sistemlerinde temel veri alışverişi için iki Function Code desteklenmektedir.
EOS cihazındaki bir veya daha fazla Holding Register değerini okumak için kullanılır.
EOS cihazındaki birden fazla register'a veri yazmak için kullanılır.
Function Code 03, EOS MODBUS cihazından Holding Register değerlerini okumak için kullanılır.
İstemci, başlangıç register adresini ve okunacak register sayısını gönderir. EOS MODBUS Server ise istenen register değerlerini cevap mesajı içerisinde gönderir.
Örneğin başlangıç adresi 100 olan üç register okunmak istendiğinde, istemci adres 100'den başlayarak 100, 101 ve 102 numaralı register'ları talep eder.
Function Code 16, EOS MODBUS cihazındaki birden fazla register'a aynı istek içerisinde veri yazmak için kullanılır.
Örneğin adres 200'den başlayarak iki register'a 1234h ve 5678h değerleri yazılabilir.
EOS MODBUS, EOS cihazları arasındaki haberleşmeyi mümkün olduğunca basit tutmak amacıyla standart MODBUS'taki diğer Function Code'ları desteklemez.
Aşağıdaki MODBUS Function Code'ları EOS sistemlerinde desteklenmemektedir:
01, 02, 04, 05, 06, 15, 22, 23 ve diğer tüm Function Code'lar
EOS MODBUS uygulamalarında temel veri alışverişi için yalnızca 03 ve 16 Function Code'ları kullanılmalıdır.
MODBUS, endüstriyel otomasyonda uzun yıllardır kullanılan yaygın ve anlaşılması kolay bir haberleşme protokolüdür. Bununla birlikte standart MODBUS çok sayıda farklı Function Code ve farklı veri tipleri için kullanım imkânı sunmaktadır.
EOS MODBUS geliştirilirken amaç, bu geniş özellik setinin tamamını kullanmak yerine EOS cihazlarının ihtiyaç duyduğu temel veri alışverişini mümkün olduğunca basit hale getirmektir.
Böylece EOS donanımlarında ve EOS yazılımlarında uygulanması kolay, mesaj yapısı anlaşılır ve temel register okuma/yazma işlemlerine odaklanan bir haberleşme arayüzü oluşturulmuştur.
Bu nedenle EOS MODBUS'u, standart MODBUS'un yerine geçen genel amaçlı bir protokol olarak değil, EOS sistemleri için tasarlanmış MODBUS TCP tabanlı sadeleştirilmiş bir protokol olarak değerlendirmek daha doğrudur.
EOS MODBUS özellikle EOS cihazları ile veri toplama, izleme ve kontrol yazılımları arasında basit bir Ethernet bağlantısı oluşturulması gereken uygulamalarda kullanılabilir.
EOS MODBUS ile çalışmayı kolaylaştırmak amacıyla geliştirilen yardımcı yazılımlar, test araçları, örnek uygulamalar ve diğer teknik araçlar burada paylaşılacaktır.
Bu bölüm ilerleyen dönemde EOS MODBUS istemci ve sunucu uygulamaları, test araçları, örnek kodlar ve geliştirici yardımcı programları ile genişletilecektir.
EOS MODBUS araçları ve örnek uygulamaları hazırlanmakta ve geliştirilmektedir.
EOS MODBUS, EOS sistemleri ve EOS donanımları için geliştirilmiş, MODBUS TCP tabanlı sadeleştirilmiş bir endüstriyel haberleşme protokolüdür.
Ethernet üzerinden TCP/IP ile çalışan protokol, temel veri alışverişini Function Code 03 ile register okuma ve Function Code 16 ile çoklu register yazma işlemleriyle sınırlar.
Bu sade yapı sayesinde EOS cihazları ile haberleşen uygulamaların geliştirilmesi ve farklı EOS sistemleri arasında veri alışverişinin gerçekleştirilmesi kolaylaştırılmıştır.