modbus ile ilgili

Başlatan Pyrodigy, 22 Mart 2005, 17:14:54

Pyrodigy

Slm arkadaşlar.modbus haberleşme protokolü ile ilgili yazılanları okudum Anladığım kadarıyla üzerinde araştırma yaptığım projemle ilgili yararlı ve gerekli bir kaynak olacağını düşünüyorum..
İlgilenen arkadaşlar için projemi anlatmak isterim,modbus protokolu gerekli ise  nasıl kullanacağım konusunda bu işle tecrübeli arkadaşlardan yardım bekliyorum.
Projem 2 aşamalı;Burada amaç ampulleri on/off şeklinde yakarak görsel ışık animasyonudur!
1.aşamam vb.de yazılmış programım ile ID numaralarını belirleyeceğim  max.1600 kanallık ışığı ayrı ayrı istediğim zamanda mesela saniyenin 1/5 zaman diliminde on/off şeklinde olacak şekilde 8 bitlik veriyi commporta yollamak
2.aşama ise rs232 portundan çıkan 8 bitlik veriyi dağıtıcı ve çevirici master ünitesinden ,birbirine papatya zinciri şeklinde bağlanmış  100 kadar ID lenebilir, 16 kanal röle çıkışlı slave ünitelerine rs485 ile ulaştırmak istiyorum..
Bu noktada ModBus protokolünü kullanmak gerekirmi?İletişimin aksakzı ve tam  olması vede slave karlar arasındaki mesafenin en az 20 metre olacağını düşünürsek,mesafe oldukça uzun olacak;
bu konuda bilgilendirmenizi bekliyorum saygılar..
Persistance is the name of the game in this business....

Erol YILMAZ

Oncelikle hosgeldin;
Modbus ile ilgili aklinda birseyler canlandiysa ne mutlu bize !
Modbus gibi standart bir protokol kullanmanin guzel avantajlari var.
Mesela kendi protokolunu kurmak icin harcayacagin zamani Modbus i anlamak icin harcarsin. Boylece sorunlari buyuk olcude cozulmus bir protokolun olmuş olur. Universal bir cihaza sahip olmuş olursun. Soracagin sorularin cevaplari muhtemelen 20 yil once verilmis oldugundan daha rahat bir tasarim yaparsin.
Bu arada Modbus sadece bir protokol yani iletimin fiziksel yonuyle pek ilgilenmiyor. Iletimde RS485 veya optik hat kullanmak senin ihtiyacina gore degisir. (Optik Hat :) ) RS485 ile uygulama gelistirmis arkadaslarin paylastigi tecrubeler bir miktar olsun onune isik tutacaktir.
Kolay Gelsin

Pyrodigy

Alıntı yapılan: "Erol"Oncelikle hosgeldin;
Modbus ile ilgili aklinda birseyler canlandiysa ne mutlu bize !
Modbus gibi standart bir protokol kullanmanin guzel avantajlari var.
Mesela kendi protokolunu kurmak icin harcayacagin zamani Modbus i anlamak icin harcarsin. Boylece sorunlari buyuk olcude cozulmus bir protokolun olmuş olur. Universal bir cihaza sahip olmuş olursun. Soracagin sorularin cevaplari muhtemelen 20 yil once verilmis oldugundan daha rahat bir tasarim yaparsin.
Bu arada Modbus sadece bir protokol yani iletimin fiziksel yonuyle pek ilgilenmiyor. Iletimde RS485 veya optik hat kullanmak senin ihtiyacina gore degisir. (Optik Hat :) ) RS485 ile uygulama gelistirmis arkadaslarin paylastigi tecrubeler bir miktar olsun onune isik tutacaktir.
Kolay Gelsin

Merhaba Erol hoşbulduk.Senin araştırmaların ve yazıların modbus protokolüyle ilgilenmemi sağladı ayrıca teşekkür ederim! :)
Şimdi en azından ne aradığımı biliyorum.Benim yardım almak istediğim konu Modbus protokolüyle VB. den PIC e veri transferi deyebiliriz.
Bana bu konuda paratik yardımları nereden ve nasıl alacağım hakkında bilgi verirsen sevinirim.Benim elektronik konusunda fazlaca bilgim yok.sadece programlama dili vb.ile çalışmalarım oldu.İlk mesajımdan sonra biraz araştırma yaptım.Modbus ile henüz tanışmamış arkadaşlar için modbus'un resmi sitesinden vermiş olduğum linkte indireceğiniz pdf dosyaları ile Modbus'un teoriğini anlayabilirler..
http://www.modbus.org/default.htm[url]
Saygılar teşekkürler.
Persistance is the name of the game in this business....

mhk

Sevgili dostlar.RS485 haberleşmesi ile başım belada. Bir yere sıramatik
benzeri bir sistem kurdum. 1 master,27 adet slave cihaz var. slavelerin
12 adeti el terminali, 12 adet kapı üzerindeki displayler ve 12
göstergeli ( herbir gösterge 0-99 rakamlarını gösteriyor)iki büyük iki
küçük pano.Sorun şu. slaveler masterden gelen verileri tam alamıyor.
Bazen alıyor bazen alamıyor. Veri alamadığında belirli bir süre sonra
kapatma özelliği var. Dolayısıyla veri alamadığında displayler
sönüyor.Sistemin çalışma mantığı ise şöyle, Master el terminallerine
kendi adreslerini yolluyor ve onlardan üzerindeki bilgileri
topluyor.Tüm veri toplama işlemi bittikten sonra yine RS485 hattından
slavelere bu bilgileri gönderiyor. Sistemi kurmadan önce kendi
atölyemizde sorunsuz çalıştı , lakin yerine kurduğumuzda sorunlarla
uğraşıyoruz. Kullandığım RS485 entegresi max485.Kullanılan hat ise
telefon kablosu.Birde Master ve slavelerden birine toplam ikisine bias
dirençleri taktım. Yani +5V tan 560 ohm direnci A ucuna, GND den 560
ohm direncide B ucuna taktım. Sanırım bu dirençler gürültüyü azaltmak
için kullanılıyor.Tabi 120 ohm luk sonlandırıcı dirençleride taktım.Ben
taktığım 560 ohm luk bias dirençlerinden şüpheleniyorum nasip olursa bu
gün onları deneyeceğim. Sizlerden bu soruna önerilerinizi bekliyorum.
Birde RS232 donanım kesmesi kullanarak sıralı veri almayı yapan
arkadaşlar varsa ( örneğin adres gönderip arkasından o adresle ilgili
verileri toplayan)yardımcı olursanız sevinirim. Kullandığım dil pic basic pro ve serin serout komutları ile haberleşme sağlanıyor.İyi çalışmalar.
"Ya olduğun gibi görün, Ya da göründüğün gibi ol..." Mevlana

mhk

Yukardaki yazıyı 2 gün önce göndermiştim. Lakin cevap alamadığım için buraya yazdım. Bugün telefon kablosu yerine sadece haberleşme için kullanacağımız cat5 kabloyu çektik. Yine haberleşmede sorunlar çıktı. Dün sorun çıktığı için haberleşme hızını 2400 baud'tan 300'e düşürmüştüm. Elterminallerinden sadece biri çalıştı. İlginç bir gözlem yaptım. Haberleşme hızını bugün yine 2400 baud hızına çıkardım ve el terminalleri çalışmaya başladı lakin slave panodan veri okuyamadım.Belki donanım arızalanmış olabilir. Max 485 entegresinde alt baud hız kavramı varmı ? Yarın birde 9600 baud hızını deneyeceğim belki o zaman düzelebilir. Max 485 standart alt limit hızı hakkında bilgisi olan varmı? 9600 baud'ta RS485 hat üzerinden benim gibi cat5 kablo kullanıp yaklaşık 30 cihaz bağlayıp 200 metreye veri göndermede yeteneksiz arkadaşlar varmı? Aslında hayret edilecek olanda şu bir sistemi atölye ortamında test ederseniz ve taktığınız yerde problem çıkarır. Herhalde bir çok arkadaşın başına gelmiştir bu problem.Arkadaşalar Yukarda yazdığım interrupt kullanılarak yapılmış adresli veri gönderip bunları çözme işi ile uğraşmış arkadaşlardan yorum bekliyorum. Hepinize iyi çalışmalar.
"Ya olduğun gibi görün, Ya da göründüğün gibi ol..." Mevlana

bsivgin

aşağıdaki linkte önemli noktaları okumanı tavsiye ederim

Ground connection for RS 422/485

For correct operation of the transmitter and the receiver, a return signal path between the grounding of individual devices is required. It may be realised either by a third wire, or by grounding each device (third pole in the mains socket). If a third (ground) wire is used, resistors (approx. 1kOhm) should be connected in series to eliminate unwanted currents resulting from ground potential differences.  

Maximum data transfer speeds
2) When the line length exceeds 10m, we have to take into consideration losses caused by capacities and the so-called skin effect, when the current begins to flow only on the surface of the conductors. The rule for standart TP cables says, that data transfer speed (Mbit/s) multiplied by cable length (m) is less than 10^8. So, for example, if a cable is 100m long, we get maximum data transfer speed of 1Mbit/s.  

3) Last limitation applies to very long cables. Speed is limited by the ohmic resistance of the line, and following the signal loss. Maximum cable length is determined by its resistance, which should be less than the line impedance - 100Ohm. Standard TP cable, diameter 2x0.6mm has a resistance of arround 100W/Km. Capacity of the cable needs to be considered as well.

This table is for orientation only, but still very useful:

Data transfer speed 1200bd 2400bd 4800bd 9600bd 19200bd 38400bd 57600bd 115200bd
Max. cable capacity 250nF 120nF 60nF 30nF 15nF 750pF 500pF 250pF



http://www.hw.cz/english/docs/rs485/rs485.html


Saygılarımla
Bülent ŞIVGIN
www.diyot.com

mhk

Teşekkür ederim bsivgin. İyi çalışmalar
"Ya olduğun gibi görün, Ya da göründüğün gibi ol..." Mevlana