Fırat DEVECİ

Petit Modbus: Küçük ama Dev!

  • 9 ay önce, Fırat DEVECİ tarafından yazılmıştır.
  • 5 Yorum
  • 3.335 Kişi Okudu

petitmodbuslogoDaha önceki yazılarımızda Modbus’ın tarihçesinden günümüze uzanan yapısını ele almış ve protokolün RTU altındaki detaylarına girmiştik. Endüstriyel standart haline gelmiş Modbus, özellikle seri asenkron iletişim ile birlikte kullanılagelen en yaygın haberleşme altyapılarından biri haline gelmiştir. Modbus’ı ele aldığımız yazıda belirttiğim üzere internette Modbus RTU üzerine çok fazla kaynak/proje olmasına karşın bunların hepsi kullanımı karmaşık ve oldukça fazla detaya sahiptir.

Bu yazıda bu tür zorluklardan arındırılmış, oldukça sade ve anlaşılır, tamamen ANSI C standartlarında oluşturulmuş Petit Modbus adlı Modbus RTU kütüphanesine değineceğiz.

Petit Modbus Nedir?
Elektronik tasarım ile uğraşan arkadaşlar, gerek bilgilerin izlenebilmesi gerekse debug için seri iletişim metodu ile bir kez uğraşmak durumunda kalmışlardır. Biraz daha profesyonel iş yapmaya başladıklarında ise bu haberleşme metodunun fiziksel yapısı ve teorisinden dolayı yanlış data almaya açık olduğunu görmüş, en son aşamada ise öyle ya da böyle Modbus ile tanışmış (tanışılmasa da benzer bir X protokolü kurmuş) olacaklardır.USB2RSx RS232İş hayatı içerisinde “Modbus RTU İletişim” ihtiyacının doğmasından sonra “Amerika’yı tekrar keşfetmeden” modbus kütüphanesi arayışına girip, bir çok örnek içerisinde işe yarayacak, sade ve anlaşılır bir kütüphane bulamadım. İstediğim şey Modbus protokolü içerisinde master birimin sorduğu “1-2-3-4-5-6-15-16.” fonksiyonlarına cevap verecek, taşınması ve port edilmesi kolay bir kütüphane idi. Arayışların sonuçsuz kalmasından sonra ise kütüphaneyi oturup yazarak V1.0 (2011) ile tamamlamış oldum. (Merak edenler için şu an V1.4 (2016) ile Modbus Master dahil edilmiş hali ile kütüphane kendi tarafımda yıllar içerisinde geliştirilmeye devam ediyor.)

Modbus kullanan arkadaşlar en çok kullanılan fonksiyonların;

0x03 (03) – Holding Register Değerlerini Oku
0x06 (06) – Tek Holding Register Değeri Yaz
0x10 (16) – Çoklu Holding Register Değeri Yaz

olduklarını bilir.
Bir proje içerisinde, aynı işlemci ile iki ayrı Modbus Slave kullanmam gerektiğinde ise yukarıdaki bilgi ışığında Petit Modbus fikri ortaya çıktı. Fazlalıklarından arındırılmış, hap şeklinde bir modbus! Ve bu şekilde Petit Modbus ortaya çıktı!

Petit Modbus Dosyaları ve Kullanımı
Petit Modbus; kullanımı basit, işlemciler üzerinde taşınması kolay olması amaçlanan bir kütühanedir. Kütüphane dosyalarının hepsine ve örneklere github üzerinden aşağıdaki linkten ulaşabilirsiniz.
DownloadPetit Modbus V1.0 Library Download

Kullanımı ile ilgili videoyu ise aşağıda izleyebilirsiniz. Videoyu tam ekran ve yüksek çözünürlükte izlemenizi öneririm.

Soru ve Öneriler
Kütüphane ile ilgili tüm soru ve önerilerinizi iletişim ya da aşağıda bulunan yorum bölümünden bana ulaştırabilirsiniz.

Herkese çalışmalarında başarılar dilerim!

  1. RaMu dedi ki:

    Her zamanki gibi birçok açıdan faydalı bir çalışma ve
    cömert bir paylaşım olmuş, devamı dileğiyle, teşekkür ederim.
    Fırsatım olursa deneyip geri bildirimde bulunmaya çalışacağım.

  2. Fahrettin dedi ki:

    Merhaba,

    Yazınız için teşekkürler. Arduino için nasıl kullanabiliriz. Bir örnek yapmanız mümkün mü?

  3. Gündüz dedi ki:

    Hocam CCS C DE PIC16F877 kullanarak örnek yapmaya çalıştım yapamadım.
    Küçük örnek yapma şansımız olur mu?

Yorum Yazınız

error: Content is protected !!