Fırat DEVECİ

Tarihi Haberleşme Metodu: Modbus RTU

  • 9 yıl önce, Fırat DEVECİ tarafından yazılmıştır.
  • 70 Yorum
  • Genel

ModbusElektronik ve onun üzerine tasarım yapan herkes cihazlarını birbirleriyle haberleştirmek için çeşitli metotlar kullanır. Bu metotlar kullanıcılardan çeşitli parametreler alınması için olabileceği gibi, bir cihazın belirli parçaları arasında bilgi transferi için de kullanılabilirler. Günümüzde bilgisayarı az çok bilen kullanıcıların çoğu Ethernet, USB, HDMI gibi haberleşme metotlarına aşina olsa da alt seviyeye inildiğinde bir çok hayat kurtarıcı haberleşme tekniği bulunmaktadır; SPI, I2C, UART, CAN, One Wire ve daha bir çoğu. Bu iletişim metotlarının her birisi kendine has fiziksel alt yapıya sahiptir ve haberleşmenin yapılacağı fiziksel ortama göre değişiklikler gösterir; bunlardan en çok bilineni RS232, RS485 ve türevleridir.

İlk Modbus alt yapısı 1979 yılında, mikrodenetleyicilerin olmadığı, mikroişlemcilerin ise bebeklik çağlarını yaşadığı yıllarda, özellikle PLC’leri ve bunun türevi sistemleri haberleştirmek için Modicon firması (şu an herkes bu firmayı Schneider Electric olarak biliyor) tarafından oluşturularak kullanıcılara sunulmuştur. Bir adet master’ın bulunduğu sistem 247 adet slave cihaz okuyabilecek şekilde düzenlenebilir.

Modbus’ın yaygınlaşmasındaki en büyük etmen ise; kolay anlaşılabilir, cihazlara kolay adapte edilebilir olmasının yanında ücretsiz bir lisans altında kullanıcılara sunulması gösterilebilir.

Modbus, haberleşme ve fiziksel katman olarak ikiye ayrılmaktadır. Haberleşme katmanı olarak günümüzde en çok kullanılanları Modbus ASCII, RTU ve TCP/IP’dir. Fiziksel katman olarak ise UART temelli RS232/RS485, USB/CAN gibi değişik birimler ve TCP/IP için Ethernet gösterilebilir. Biz bu yazımızda kullanıcıların en çok tercih ettiği, RS485 ve Modbus RTU’yu ele alacağız.

Modbus RTU
Modbus içerisinde seri iletişim metodunu kullanan ASCII ve RTU adı altında iki haberleşme metodu bulunmaktadır. İkisi de birbirine benzese de RTU, ASCII iletişim metoduna göre daha hızlıdır. Bunu bir örnek ile açıklamak gerekirse; 12345 sayısının seri hat üzerinde gönderimi ASCII ile “1”, “2”, “3”, “4”, “5” şeklinde 5 ayrı byte ile yapılırken, RTU’da ise bu bilgi 2x8bit olacak şekilde MSB ve LSB olarak ikiye bölünür ve 2 byte şeklinde (12345/256 bir byte, 12345%256 bir byte) gönderilerek hız kazanımı sağlanmış olur. Bu yüzden günümüzde Modbus tarafında RTU, en sık tercih edilen seri iletişim metodu olarak görülmektedir.Modbus RTU FrameModbus RTU’nun frame yapısı yukarıda görülebilir. İlk byte’ta iletişim kurulacak cihazın adresi belirlenmelidir. Slave cihaz sayısı 247 adet olabileceğinden bu bölüme 0-247 arasında sayı yazılmalıdır. İkinci byte ise Modbus için standartlaşmış fonksiyon kodlarını ihtiva etmelidir. Bu fonksiyonlar aşağıdaki gibi tanımlanmıştır. Modbus FunctionsGünümüzde en çok tercih edilen Modbus RTU fonksiyonları 3, 6 ve 16’dır.

Bundan sonraki bölümde fonksiyon tanımlamalarına göre datalar düzenlenerek, slave adresi ve fonksiyon numarasının CRC16’ı da son iki byte’a yazılarak gönderim ve alım işlemleri sağlanır.Modbus RTU Wait TimeModbus RTU için mesaj gönderim yada alımlarında, iki mesaj arası minimum 3.5 karakterlik bekleme yapılmalıdır. Bu bekleme baudrate hızına göre değişkenlik gösterecektir. Örneğin 9600 baudrate için bu değer yaklaşık 3ms iken 115200 baud değeri için 0.25ms civarında olacaktır.

Modbus RTU Haberleşme Örneği
Modbus RTU’yu anlayabilmek için teorikten ziyade pratik uygulama üzerinden haberleşme metodunu anlamak çok daha kolaydır. Haberleşme örneğimizde sırasıyla 3 ve 16. fonksiyonları ele alacağız.
İlk olarak, fonksiyon 3 örneğimizde slave adresi 17 (0x11) olan cihazın 107 (0x6B) ve 108. (0x6C) register değerleri okunmak istendiğinde göndermemiz ve almamız gereken komutlar aşağıda görülebilir. Ayrıntılar için resmi büyütebilirsiniz. Read Holding RegistersCevap dikkatlice incelenirse, slave öncelikle kendi slave numarası ve kendisine gelen fonksiyon tanımını gönderdikten sonra 2×2 byte şeklinde veri ile bunların CRC16 değerini master’a göndermektedir. Tüm bu değerler doğru ise master cevabı kabul etmektedir.

Son olarak, fonksiyon 16 örneğimizde slave adresi 17 (0x11) olan cihazın 301 (0x12D) ve 302. adreslerine aynı anda veriler yazılacaktır. Ayrıntılar için resmi büyütebilirsiniz.Write Multiple RegistersBu kısımda da cevap dikkatlice incelendiğinde, yazım işleminde de slave’in mastera işlemin kabul edildiği bildirilmektedir.

Her iki örneğinde kilit noktalarından bir tanesi CRC16 hesaplamasıdır. Bunun için Modbus’ın kendi sitesinde lookup table bulunsa da günümüzün gelişen işlemcileriyle birlikte aşağıdaki kodu kullanmak oldukça kolay ve daha az yer kaybına neden olacaktır.

İlk kez CRC fonksiyonu işletileceğinde girdi olarak girilecek CRC değerinin 0xFFFF olması gerekmektedir.

Modbus İçin Bilgisayar Programları
Modbus her ne kadar seri iletişim metodu üzerinden haberleşse de, Serial Port Terminal benzeri programlar bu iletişim metodunu çözmede zayıf kalacaktır. Modbus için kullanılan bir çok program olmasına karşın Modbus Poll adlı program, bu konuda benim gibi bir çok kullanıcının tercih ettiği en iyi programlar arasındadır.Modbus PollEğer bilgisayar tarafında arayüz tasarlama konusunda tecrübeniz yok ise Modbus Poll ile bir çok denemenizi gerçekleştirebilir, kayıtlarınızı tutabilirsiniz. Programın deneme sürümünde zaman sınırı olsa da bir çok işlem için yeterli özelliklere sahip olduğunu söylemek gerekir.

Modbus Poll, master olarak sisteminize sorgu yapıp, slave olarak tasarladığınız cihazların testi için kullanıldığından master olarak tasarladığınız cihazlarınızın testini yine aynı firmaya ait Modbus Slave ile yapabilirsiniz.

Mikrodenetleyiciler için Modbus
Modbus’a yeni başlayan bir çok kişi, özellikle mikrodenetleyici tarafında nasıl bir yol izleyecekleri konusunda ikileme düşmektedir. İnternet özelinde bir çok örnek ve kütüphaneye rastlamak mümkün olsa da ben, kendi uygulamalarımda oluşturduğum kendi kütüphanemi kullanmayı tercih ediyorum. Eğer bu konuda zorluk çekiyorsanız internet üzerinde bulabileceğiniz FreeModbus kütüphane dosyalarını incelemenizi öneririm. Yaptığım incelemelerde 100 registerlık (100 x 2byte = 200byte) bir uygulama için FreeModbus 8.2kByte yer kaplarken, kendi uygulamam 2.4kByte kadar yer kaplamaktadır. Bu yüzden, her ne kadar hazır uygulamalar için kütüphane yazmayı zaman açısından verimli bulmasam da, Modbus için bir istisna yapıp kütüphanenizi kendiniz oluşturmanızı öneririm.

Modbus Uygulama Örneği
Modbus RTU ile ilgili aşağıda örnek uygulamaya ait ekran görüntüsünü aşağıda görebilirsiniz. Uygulamada 5 ve 6. registerdaki değerler 100ms’de bir sırasıyla arttırılıp azaltılırken, ilk 4 register ise STM32F072 Discovery üzerindeki ledleri kontrol etmektedir. Bunun yanı sıra, Modbus Poll üzerindeki değişen TX rakam değeri, her seferinde başarılı olan toplu register okuma işleminin sayısını göstermektedir. Poll süresine göre hızı değişkenlik gösteren bu sayıcıda, kütüphanenizin hızını ve verimliliğini ölçmeniz mümkündür.Modbus Exampleİlgili görüntüye ait uygulamanın .hex dosyasını buradan (indirdikten sonra dosyayı .rar yapmalısınız) indirebilirsiniz. UART haberleşmesi için STM32F072’nin PA9 ve PA10 bacakları kullanılmıştır.

Fotoğraftaki kütüphane ticari projelerde kullanıldığı için paylaşımını burada yapamıyorum. Yine de bu kütüphaneye ulaşmak ya da bilgi almak istiyorsanız bana iletişim bölümünden ulaşabilirsiniz.
Sonuç Olarak…
Modbus, 35 yıllık geçmişiyle oldukça popüler ve alışıldığında bırakılmayacak bir iletişim metodu. Özellikle haberleşme istesin ya da istemesin, debug anlamında, bir projeye başlarken led blinkten sonra dahil ettiğim ilk uygulamalardan biri. Yeni bir çok iletişim metodu ve yöntemi çıkmasına karşın, gelecek yıllarda da bu ihtiyar iletişim metodunu görmeye devam edeceğimiz aşikar olduğundan, elektroniğe yeni başlayan arkadaşlar için ilk önerdiğim iletişim metotlarının arasında da yer alıyor.

Gerek Modbus gerek ise diğer endüstriyel iletişim metotları ile ilgili tüm sorularınızı bana yorum bölümünden ulaştırabilirsiniz.

Herkese iyi çalışmalar dilerim.

  1. Emre Sekmen dedi ki:

    Merhaba,

    Bu konulara tamamen uzak birisi olarak bu işe merak duyduğumdan ve babamın tatlı baskısıyla girişmek durumunda kaldım. Visual basic bilgim ve plc bilgim giriş seviyesinde desek yeridir. Visual basic 6.0 programını lise eğitim döneminde aldım ama üzerinden 13 yıllık bir süre geçti sadece alt yapı olarak aklımda var. Ama okudukça hatırlamaya çalışıyorum. Yazılan makale ve bilgileri birleştirmeye çalışıyorum ama hiç bilgim olmadığından kafam daha çok karışıyor. Bu konuda sizce nereden başlamalıyım. PLC bağlantısı ve işlem takibi yapmak istiyorum. Bir kaç hazır uygulama buldum fakat hepsi kendine özgü ocx uygulaması yapmış ve formu okuyamıyorum. Dolayısıyla boş bir form oluşturdum diyelim. ve plcde y0 çıkış bobinine enerji verdim diyelim. sadece bu çıkışı verebileceğim bir uygulama yapsam belki üzerine birşeyler katarak geliştirebilirim. Ama şuan y0 enerji verilmesine rağmen bunu pcde okuyamıyorum bu konuda bana öncülük ve bilgi paylaşımı yapabilirseniz çok sevinirim. Yada izlemem gereken bir yol bir öneri belirtirseniz bu şekildede başlayabilirim.

    Şimdiden ilginiz için çok teşekkür ederim

    Saygılarımla,

    Bağlanmak istediğim PLC Delta DVP14ss plcdir.

    • Fırat DEVECİ dedi ki:

      Merhaba Emre Bey,

      Yazımda belirtmiş olduğum Modbus Poll adlı yazılım ile PLC haberleşmesi yapabiliyor musunuz öncelikle buna bakmalısınız. İstenilen bilgileri çektikten sonra ilerlemeniz gereken yol, aynı soru kalıplarını sizin gönderip, cevap almaya çalışmanızdır.

      İyi günler dilerim.

  2. Burak dedi ki:

    Merhabalar Fırat Bey,
    Ben bu konularda çok yeniyim ve anlayışınız için teşekkür ederim.
    Öncelikle yazınız için çok teşekkür ederim. Ben PLC’den veri çekip bu verileri kaydetmek istiyorum. Bunun için basit bir c kodu yazmayı planladım fakat genel olarak haberleşmeyi nasıl yapacağımı çözemedim. Elimdeki datasheette modbus adresine ve özelliklerine göre hangi değeri alacağım mevcut örneğin
    30517 Day yield (Wh) [E-heute] 4 U64 FIX0 RO
    Cihazı usb to rs485 cihazı ile bilgisayara bağlayıp bu sonuçları almak istiyorum. Cihaza nasıl istek yolluyacağımı bilmiyorum. İstek yolladığım zaman geri dönüşü nasıl alacağım o konu hakkında da bilgim yok. Sizce nereden başlamalıyım ve sizin elinizde döküman varsa bana ulaştırabilir misiniz?
    Teşekkürler
    Burak

    • Fırat DEVECİ dedi ki:

      Merhaba Burak,

      Öncelikle bu konuda PLC’nin hangi fiziksel layer üzerinden haberleştiğini bulmalısın; RS232 mi 485’mi, Etherner mi? Daha sonrasında uygun protokolü ve bağlantıyı seçerek Modbus Poll benzeri bir program ile takip yapabilirsin. Modbus için kendi akredite sitesinde bilgi bulabilirsin. Türkçe kaynak bu konuda öneremeyeceğim.

  3. Hasan dedi ki:

    Merhaba,
    STM32F407VG üzerinden web server, TCP/IP server örneklerini çalıştırdım. Ping atma bağlanma işlemleri yapabiliyorum. Önerebileceğiniz bir modbus kütüphanesi var mı acaba. Nette keil için örnek bulmakta zorlanıyorum

    • Fırat DEVECİ dedi ki:

      Merhaba Hasan,

      Yakında PetitModbus adında bir kütüphaneyi sürmeyi düşünüyorum yalnız TCP/IP değil. Bu konuda layerlara bakıp kütüphaneyi senin yazman gerekiyor olabilir.

  4. Naci dedi ki:

    Merhabalar Fırat Bey,

    Tez çalışmam için DSP TMS320F28030 Modbus haberleşmesi yapmaya çalışıyorum gelen veya giden verilerin nasıl okunacağı ile ilgili kod örneği paylaşabilir misiniz. Normalde veri okurken 16 bit struct yapısı oluşturup
    union olarak bit bit işlem yapabiliyorum.

    Saygılar.

    • Fırat DEVECİ dedi ki:

      Merhabalar Naci,

      İlgili işlemci ile UART haberleşmesi yapabiliyor musun? Örneğin bir “deneme” yazısını seri port üzerinden gönderip, istediğin bir değişkeni bilgisayardan işlemciye gönderebiliyor musun? Eğer bunu yapamıyorsan öncelikle çözmen gereken kısım burasıdır. Haberleşmeyi yapabiliyorsan, protokolü projene dahil etmek için sadece videodaki önergeleri izlemen yeterli olacaktır.

  5. Mehmet dedi ki:

    Çok yararlı ve anlaşılır bir yazı olmuş.
    Emeğinize sağlık.

  6. Mücahit Ceylan dedi ki:

    Merhabalar Fırat Bey,
    Bir yer altı madeninin gaz izleme ve otomasyon scadasından sorumluyum.
    Protokolümüz MODBUS RTU dur.Kullandığımız master ve slaveler aynı firmaya aittir. MASTER aynı kalarak farklı markaya ait slave cihazlarını haberleştirebilmemiz mümkün müdür (örn.bir metan slave).

    İyi çalışmalar diliyorum.

  7. Oğuzhan Özdoğan dedi ki:

    İyi günler hocam, akıllı ev projem için arduino ve raspberryi modbus üzerinden ESP8266 wifi shiel ile kablosuz haberleşerek Codesysde programlamak istiyorum. Ethernet shield ile yaptım ancak ESP8266 ile nasıl arduino kodları bulamadım yardımcı olursanız sevinirim.

  8. Mustafa dedi ki:

    Merhabalar,

    RDF302 modbus lu siemens termostat, ısı sensoru, kalorimetre vs. gibi bazı cihazları İspanya’dan programlanıp gönderilmiş olan otomasyon panosuna bağlamam gerekiyor. Nasıl yapıldığını kısaca anlatabilir misiniz? Şimdiden teşekkür ederim.

    • Fırat DEVECİ dedi ki:

      Yani işi sen yap ben de üzerinden para kazanayım diyorsunuz. Şimdi ne olduğunu bile bilmediğim bir cihazın datasheet’in ulaşacağım, bunun nasıl kullanıldığını öğreneceğim, sonra gelip burada size anlatacağım. Siz de teşekkür ederim deyip, gerekli ücreti kazanacaksınız. Yani dediğim gibi işi bana yaptırtacak, cebinizi siz dolduracaksınız. Cin olmadan adam çarpmayı iyi öğrenmişsiniz. İbretlik olarak bu yorumunuzu çeşitli platformlarda paylaşacağım izninizle.

  9. Engin dedi ki:

    Selamlar.
    1. örnekte 0x6B ve 0x6C okunmaz mı? Start adresin kendisinden değil bir sonrasından mı başlıyor okumaya?

  10. Ebubekir dedi ki:

    Merhaba kendi modbus I/O modülümü yapmak istiyorum bana bu konuya nerden ve nasıl başlayacağım hakkında bilgi verebilir misiniz ?

  11. Alican dedi ki:

    Değerli paylaşımınız için teşekkür ederim.Modbus kullanımı için MODBUS cihazlarının satın alınması şart mıdır ? Yoksa her hangi bir mikrodenetleyici yardımıyla modbus protokülünü kullanmak mümkün müdür ?

  12. Tekiner dedi ki:

    Sitenizden edindiğim bilgiler sayesinde bir şeyler biraz daha oturmuş durumda modbus hakkında. Bu nedenle size bigilerinizi paylaştığınız için teşekkür ederim. Bir konuda yönlendirmeye ihtiyaç duymaktayım. Ben modbus tcp/ip kullanarak android uygulaması yaparken aynı zamanda başka bir platformda server gibi componentler oluşturmalı mıyım veya nasıl bir yol haritam olmalı? Şimdiden Yardımlarınız için teşekkür ederim.

  13. İbrahim Büyükköroğlu dedi ki:

    Mükemmel bir yazı olmuş.

  14. Sarp dedi ki:

    Yazı harika olmuş, elinize sağlık; fakat, modbus TCP/IP için de bir yazınız mevcut mudur?

  15. Haydar dedi ki:

    Merhaba,
    Öncelikle, yazınız için teşekkür ederim. Cihaza erişim ve test konusunu çözdüm. Şimdi programlama yapacağım. Bir konuda fikir sormak istedim.
    Birden fazla cihaza eş zamanlı sorgu göndermek soruna neden olur mu? Yoksa paket gönderip, cevabını okuyup, bir sonraki cihaza öyle mi paket göndermeliyim? Haberleşme mantığı olarak nasıl yol alacağımı bilemedim. Yanıtlarsanız sevinirim. Teşekkürler.

    • Fırat DEVECİ dedi ki:

      Bu sorunuz kullandığınız fiziksel alt yapı ile de ilgili. RS485 kullandığınızı var sayarak, master slave cihazların her birine ayrı ayrı soru sorup cevap alabilir. Modbus’ın temel mantığıdır zaten bu. İyi günler dilerim.

  16. Ufuk dedi ki:

    İlgili hex dosyasını mail adresime atabilir misiniz? Verdiğiniz link çalışmıyor. Başarılar.

  17. Serhat dedi ki:

    Hocam merhabalar, RS485 haberleşmede kullandığımız transceiver’larda bulunan Data Enable pinini(DE) manual olarak belirli şartlar dahilinde mi set-reset yapıyoruz? Yoksa USART çevresel biriminde bu işi otomatik olarak yapan RTS pinini mi kullanıyoruz?

    • Fırat DEVECİ dedi ki:

      Merhabalar RTS ucunu da bu iş için kullanabilirsiniz.
      RTS ucu olmayan işlemcileri de baz alarak ben genelde bu işi gönderim bitişi kesmesi ile yapıyorum yazılımda.

  18. Zikri Karaca dedi ki:

    Makalenizden çok faydalandık. En içten teşekkürlerimizle.

  19. Cem Cemal dedi ki:

    Scroll u aşağıya çekince kopyama KARDEŞ yazıyor.

  20. Dilay dedi ki:

    Merhaba ben Modbus üzerinden röle kontrolü yapıyorum. Bunu C# da bir program yazıp Ethernet ile röleleri kontrol edeceğim. Bunun için registerların fonksiyon kodunu yazmam lazım. TCP’de çalışıyorum ama TX kodlarını yazmakta zorlanıyorum yazdığım kodla da röle açılıp kapanmıyor yardımcı olabilir misiniz TX’i yazarken?

  21. Mehmet dedi ki:

    Makalenizin didaktik anlatımından dolayı çok teşekkür ederim. Bu konuda daha fazla makale görmek isteriz.
    SAYGILARIMLA

  22. Onur dedi ki:

    Hocam öncelikle teşekkürler,benim anlamadığım bir nokta var.mesela da slave olan pic’ten butonun lojik değerini gönderirken neden enable pinini pasif yada aktif yapma gibi bir şey kullanmadık?

  23. İsmail dedi ki:

    Merhaba; ben Entes marka güç analizörü mpr-53s cihazından modbus ile bir türlü haberleşemedim. Bana yardımcı olursanız çok sevinirim.

  24. Abdullah dedi ki:

    Merhaba ;
    Modbus ile haberleşirken 11 sorguda 4 tane error alıyorum. Modbus haberleşirken bu kadar hata almak normal mı?

  25. Abdullah dedi ki:

    Merhaba,
    Sahada redresör ile haberleşiyorum.Bu olayı redresör firmasına söylediğimizde Modbus haberleşmede bu kadar error normal dediği için teyit almak için sordum.Desteğiniz için teşekkür ederim.

    • Fırat DEVECİ dedi ki:

      Merhabalar, ya haberleşme bağlantınızda problem var ya da redresör çok gürültülü çalıştığı için kendi kendine hataya düşüyor. Dolayısı ile bunu üretici ile teyitleşerek çözeceksiniz. Ben size sadece özel hizmet sunabilirim.

  26. Beyza dedi ki:

    Merhaba,
    Makale çok güzel. Benim de bir sorum olacak, UPS teki verileri bluetooth aracılığıyla PC de görüntülemek istiyorum, araştırırken modbus ile karşılaştım. Bunu modbuspoll üzerinden yapmam mümkün müdür. Haberleşme kısmını nasıl çözeceğimi bilmiyorum küçük bir yol gösterir misiniz bana.

    • Fırat DEVECİ dedi ki:

      UPS’teki haberleşme protokolünü çözdükten sonra bunu bilgisayara bluetooth ile gönderebilirsiniz. Yalnız bu istek özel olduğu için ancak ücretli destek verebilirim.

  27. Semih dedi ki:

    Fırat Bey merhabalar. Öncelikle anlatımınız için çok teşekkürler, gerçekten aydınlatıcı bilgiler var. Sadece teyit etme amaçlı olarak bir soracağım.

    NodeMCU’yu RS485 -> TTL dönüştürücü ile enerji analizörüne bağlıyorum. NodeMCU üzerinden sorgulama yapacağımı düşünürsek, bu durumda yanlış bilmiyorsam, enerji analizörü slave, NodeMCU master oluyor değil mi?

  28. İrfan Demiray dedi ki:

    Fırat Bey merhabalar,
    Anlatım çok güzel ve sade.
    2009’dan bu yana SCADA sistemleri içerisindeyim ve bir çok koruma rölesi ile modbus RTU ya da TCP haberleştim.
    Ancak bunu yaparken bazı röleler ile anlaşmakta zorlandığımda HEX olarak verileri incelemek gerekiyor. Bu bağlamda verdiğiniz bilgiler kıymetli.
    Kolay gelsin. teşekkürler.

  29. Tariq Ryklief dedi ki:

    Hello Firat,

    nice explanation on modbus. want to implement it on a pic24f but going thru your video i unfortunately dont understand turkish. is it possible to write a simple article on how to implement the slave driver into application.
    even if you give explanation in turkish thats ok as google translate can assist me

    thanks so much

  30. Hüseyin dedi ki:

    Merhaba Fırat bey,

    Modbus pool programını indirip kurdum ve diagslave(plc simülasyon) ile laptopumda iki programı haberleştirip veri göndermem gerekiyor.Bu konu hakkında bilgi verirseniz çok mutlu olurum. İyi çalışmalar

  31. Taylan dedi ki:

    Merhaba Fırat bey,

    Projemde nodejs’te sqlite kullanarak bir backend hazırladım. frontend’te ise angular kullanılıyor.

    Sorum, modbus tcp/ip kullanmam gerekiyor ve nodejs’te modbusla ilgili kaynak bulmakta zorlanıyorum ve biraz sözel bilgi dışında yazılımsal olarak hiç bir bilgim yok modbus’la ilgili, sıfırdan başlıyorum. Bu konuda nasıl yol izlemeliyim acaba? Yardımcı olursanız çok sevinirim.

  32. Suat dedi ki:

    Merhabalar ben RS485 protokolü ile çoklu gönderici (transmitter) ile 1 alıcıya (receiver) bilgi göndermek istiyorum. Arduino ile denedim. Sadece bir tanesinin bilgisi gelmektedir. Çoklu transmitter ile bir receiver a nasıl data gönderebilirim?

  33. Halil dedi ki:

    Merhaba Fırat Bey, bilgilendirici anlatımınız için tebrik ederim. Bir sorum olacaktı. Elimde iki tane PLC ve iki (16 input-output) Remote I/O modülü var. Amaç sadece bu I/O modüllerini kullanarak iki PLC arasında bir haberleşme kanalı kurmak. Bunu da ModBUS RTU ve RS485 ile yapacağım. Ama nasıl bir fiziksel bağlantı kurmam gerektiğini anlamadım. PLC’leri ve remote modülleri birbirine nasıl bağlamalıyım?

    • Fırat DEVECİ dedi ki:

      Merhabalar Halil Bey,

      Probleminiz çok özel ve bu tarz sorular genel kullanıcıyı hem çok ilgilendirmiyor hem de benim PLC’lerle ilgili bir tecrübem yok. Yorumunuzu yine de yayınlıyorum, bilen arkadaşlar cevaplayabilirler.

  34. Furkan Taşeri dedi ki:

    Merhaba Fırat Bey öncelikle bu bilgilendirici yazınız için teşekkür ederim. Çok faydalı bir yazı. Ben Yıldız Teknik Üniversitesi son sınıf öğrencisiyim. Tasarım Projesi dersim için bir Modbus kütüphanesi oluşturmam gerekiyor. Yazınızda yüzeysel olarak bahsetmişsiniz. Benim bu konuda çok bir bilgim yok. Bana kütüphane oluşturmada yardımcı olur musunuz?

  35. Kadir dedi ki:

    Selamunaleykum fırat bey paylaşımınız için teşekkür ederim. Gerçekleştirmeyi düşündüğüm projede modbus haberleşmesi için rs485 kullanacağım yaygın olduğu için. Bunu işlemci tarafında usart ile okuyacağımdan max485 kullanacağım. Sadece max485 kullanmak yeterlimi yoksa donanımsal olarak (asgari düzeyde) dikkat edilmesi gereken başka noktalar varmı ?

    • Fırat DEVECİ dedi ki:

      Merhabalar, elbette bir çok konuda önlem almanız gerekecektir. Yalnız bunlar için özel danışmanlık verdiğimden söylemek burada uygun olmayacaktır.

  36. Arkadaşımın bana yollamasıyla birlikte bu yazıyı inceledim, gerçekten iki defa okudum ve hayretler içerisinde kaldım. Çok değerli bir yazı, kıymetli bir bilgi. Çok tebrik ederim

  37. Mor Minder dedi ki:

    İçerik için teşekkürler. Gördüğüm en anlaşılır içerik olmuş. Piyasaya bir tane daha gömülü sistemci kazandırmakta payınız oldu 🙂

Bir Yorum Yazın

error: Kopyalama Yasaktır, Eğer Bilgi İçeriğini Almak İstiyorsanız İletişim Bölümünden Yazara Ulaşın!