rs 485 portları nasıl çoklanabilir? (tersten)

Başlatan sahteker, 03 Aralık 2010, 03:00:13

sahteker

arkdaşlar merhaba,
bir sayaç projem var iki tane rs 485 iletişimi olan elektrik sayaçlarındaki verileri bilgisayara iletmem gerekiyor
50 m lik kablolu uzatmanın ardından bu iki sayaçın veri kablolarını birleştirerek bilgisayra vermem gerekiyor
bu projenin şartı :(
ama her ne şekilde olursa olsun bağlantıyı yapma hakkım var yani iki adet rs 485 bilgisayara kadar gelip bir çoklayıcı yardımı ile birleştirildikten sonra
ister rs232 (seri port) , ister usb, ister ethernet ile bilg.a verilebilir yani hepsi olabilir...
ben rs485 i usb ye çeviren yada 232 ye çeviren converter lar buldum bu mesele değil ama iki tane olunca iş karışıyor biraz malum
bu konuda fikri olan varmı acaba nasıl birleştireceğim bu uçları yardımcı olablirseniz çok sevinirim:(
ayrıca birde elektronik sayaçlar ne tür veri gönderir acaba bilen varmı arkdaşlar "iona tx data" diye bişeyler duydum
biraz araştırdım ama pek bişeylere ulaşamadım :(
şimdiden teşekkür ederim, hayırlı günler...
kimi, sevap için Kabeye varır... Kabe kapınızda! Bilmez misiniz?

RcALTIN

#1
Ben yanlış bilmiyorsam rs485 demek zaten, rs232nin aynı hat üzerinde iki ve daha çok cihazın haberleşmesini sağlayabilen geliştirilmiş halidir... Dolayısıyla çoğaltıcı diye birşeye gerek yok. rs485 kullanan endüstriyel cihazlar genelde modbus protokolüyle iletişim sağlarlar, bir rs485 ağı kısaca 1 master ve 247'ye kadar(aslında sınır 255 olsada 247 den sonraki bus adresleri rezerve edilmiştir) slave node içerir. BURADA bir USB-RS485 çevirici çalışmam oldu, kendi projemdeki slave node'lar ile, kullandığım ft232'nin bir özelliği olarak seri port aracılığıyla(usb donanım seri port gibi davranıyor) sorunsuz iletişim kurabiliyorum. Dikkat edilmesi gereken nokta çevirici üzerine takılacak transceiverla ve hat mesafesiyle alakalı, ihtiyacınıza göre bus üzerinde en fazla kaç cihaz olacaksa ona göre transceiver seçilmeli; örneğin max485 32 cihaz destekliyor ve 64,128,255 adet destekleyen başka transceiverlar da mevcut, hat uzunluğu ise master'a en uzak node ile master arasında en fazla 1200m(1.2km) mesafe olmalı(multimaster yapıda geçerli değil, öyle olunca birbirine en uzak 2 cihaz en fazla 1200m olmalı)... Kısaca belirttiğim gibi bir çevirici kullanıp sayaçları bilgisayara bağlamış olacaksınız(geçekten rs485 ise) daha sonra seri port kullanan sayaçlarınıza uygun protokol ile haberleşen yazılımlarla istediğinizi gerçekleştirebilirsiniz ve eğer bu yok ise yazılımınızı kendiniz üreteceksiniz; C# biliyorsanız ve cihazlar modbus kullanıyorsa, yeni araştırma konunuz "nmodbus"...
KİMSEYİ ENGELLEDİĞİM YOK, ÖZEL İLETİ DEVRE DIŞI !

sahteker

Çok teşekkür ederim Recep hocam verdiğiniz bilgilerden dolayı...
slave ile çoğaltma işini duydum ama nasıl yapacağımı bilmiyorum şimdilik onu araştırıyorum zaten dediğiniz gibi 485 232 nin bi üst modeli
cihaz sayısı ve mesafeleri uzatabilmek için geliştirilmiş...
bu arada kesinlikle dediğiniz kadar uzunluktaki mesafelere ve o kadar cihaza ihtiyacım olmıcak aman diyim hocam :)
daha yeni başladım zaten bu işlerde acemiyim korkutmayın beni :)
kısaca bahsetmek gerekirse iki tane sayaçtan aldığımız rs485 iletişimlerini 50 metre uzatıcaz ardından bir çeviriciye girecekler o çeviricide bilgs.a max:1 metre uzaklıkta olacak dolayısıyla cihazların toplam uzunlukları 50-51 metreyi geçmicek ve sayısıda zaten kesin durumda ve 2 tane...
bu arada transceiver olayını ilk defa duydum bunuda araştırıyorum şmdi :)
çok teşekkür ederim tekrardan :)
kimi, sevap için Kabeye varır... Kabe kapınızda! Bilmez misiniz?

alayli

Alıntı yapılan: sahteker - 03 Aralık 2010, 08:58:20
Çok teşekkür ederim Recep hocam verdiğiniz bilgilerden dolayı...
slave ile çoğaltma işini duydum ama nasıl yapacağımı bilmiyorum şimdilik onu araştırıyorum ................................

çok teşekkür ederim tekrardan :)

Okumak istediğiniz sayaçlar üzerinde jumper, dip switch gibi donanımsal veya erişelebilir bir menu düzeneği üzerinden yazılımsal bir kimlik verme düzeneği bulunması lazım. Eğer sayaçlarda RS485 desteği varsa bunlara slave ID numarası vermenin de bir yolu olmalı. Öncelikle bunu araştırıp her bir sayacın kimlik numarasını ayrı ayrı ayarlamalısınız. Küçük ihtimal ama böyle bir düzenek yoksa sayaçların RS485 A-B uçlarını anahtarlayacak bir devre eklemeniz lazım araya.
Anca kazganmiş itmiş ilimiz törümüz erti. Türk Oguz begleri budun esiding. Üze tengri basmasar, asra yir telinmeser, Türk budun, ilingin törüngin kim artati? (udaci erti)

dombilik

Eğer sayaç da RS485 bağlantısı mevcut ise mutlaka belirli bir haberleşme protokolü de kullanılıyordur.
Öncelikle sayacın haberleşme protokolünü araştırmak lazım.Sonrada kullanılan protokole göre sayacın registerlerini incelemek gerekir.
Bildiklerini kime miras bıraktın?kimseyemi? O zaman bildiklerinin ne önemi kalır. ******** /////////// ******** PROTON-ASM PROTEUS 7.4 SP3 EAGLE 5.40

drmp

evet arkadaşın dediği gibi rs485 bir protokol değil iletimin le alakalı bir olay bu yüzden nasıl slave veya master yapabilirim demek zaten yanlış olur 
amacınız sayaçlarla alakalı olduğu için şöyle söylenebilir  öncelikle donanım olarak değil yazılım olarak sayaçlarımıza hakim olmak zorunda kalıyoruz 

sahteker

Alıntı yapılan: alayli - 03 Aralık 2010, 10:22:44
Alıntı yapılan: sahteker - 03 Aralık 2010, 08:58:20
Çok teşekkür ederim Recep hocam verdiğiniz bilgilerden dolayı...
slave ile çoğaltma işini duydum ama nasıl yapacağımı bilmiyorum şimdilik onu araştırıyorum ................................

çok teşekkür ederim tekrardan :)

Okumak istediğiniz sayaçlar üzerinde jumper, dip switch gibi donanımsal veya erişelebilir bir menu düzeneği üzerinden yazılımsal bir kimlik verme düzeneği bulunması lazım. Eğer sayaçlarda RS485 desteği varsa bunlara slave ID numarası vermenin de bir yolu olmalı. Öncelikle bunu araştırıp her bir sayacın kimlik numarasını ayrı ayrı ayarlamalısınız. Küçük ihtimal ama böyle bir düzenek yoksa sayaçların RS485 A-B uçlarını anahtarlayacak bir devre eklemeniz lazım araya.

çok teşekkür ederim arkdaşlar ilgilendiğiniz için hepinize...
umarım araya başka bir devre eklemek zorunda kalmam Alaylı kardeş :(
o iyice sıkıntıya sokar beni yoksa :( :( :(
sayaç marklarını yada adreslerini burda vermemin umarım bir sıkntısı olmaz
sayaçlarım şunlar:
inşlh hbaerleşme portu var en azından özelliklerinde yazıyor :(

http://www.elektromed.com.tr/Urunler.aspx?UrunID=5
kimi, sevap için Kabeye varır... Kabe kapınızda! Bilmez misiniz?

sahteker

Alıntı yapılan: dombilik - 03 Aralık 2010, 10:37:17
Eğer sayaç da RS485 bağlantısı mevcut ise mutlaka belirli bir haberleşme protokolü de kullanılıyordur.
Öncelikle sayacın haberleşme protokolünü araştırmak lazım.Sonrada kullanılan protokole göre sayacın registerlerini incelemek gerekir.

diğer sayaçda bu Dombilik kardeş:

http://www.kohlersayac.com.tr/Tr/Urunlerimiz.html

(teknik özellikler dökümanında ael-mf-04 diye bir şey)

iec-en 61038 normları kullanılıyor anladığım kadarıyla
inşalah başka bir donanımsal sıkıntıyla karşılaşmam :(
eğer öyle olursa yardımlarınıza başvurmaktan başka çarem kalmıcak gene :)
çok teşekkür ederim tekrardan ilgilenen tüm arkdaşlara Allah razı olsun hepinizden....
kimi, sevap için Kabeye varır... Kabe kapınızda! Bilmez misiniz?

My75

#8
SN75176 32 adet desteklediği halde ben bir binanın interkom sisteminde 76 adet modülü sorunsuz çalıştırdım ve hala çalışmakta.Sanırım 32 aygıt 1200m hat üzerindeki standart,üstelik bina tesisatında aşırı gürültü mevcut buna rağmen hiç sorun yaşamadım.(maşallah).Şimdi anımsadım ya kesin sorun çıkar. :)

Unutmadan 2 adet 485 hattını AND kapılarıyla birleştirebilirsin,aynı anda data çakışması olmazsa sorun olmaz. ;) .Bunla ilgili foruma bir çizim eklemiştim sanırım,8 adet 485 hattını birleştiriyordu.

https://www.picproje.org/index.php/topic,29899.msg205893.html#msg205893
Tomurcuk için çaba göstermeyen dal,odun kalmaya mahkumdur...

sahteker

Alıntı yapılan: My75 - 03 Aralık 2010, 13:53:39
SN75176 32 adet desteklediği halde ben bir binanın interkom sisteminde 76 adet modülü sorunsuz çalıştırdım ve hala çalışmakta.Sanırım 32 aygıt 1200m hat üzerindeki standart,üstelik bina tesisatında aşırı gürültü mevcut buna rağmen hiç sorun yaşamadım.(maşallah).Şimdi anımsadım ya kesin sorun çıkar. :)

Unutmadan 2 adet 485 hattını AND kapılarıyla birleştirebilirsin,aynı anda data çakışması olmazsa sorun olmaz. ;) .Bunla ilgili foruma bir çizim eklemiştim sanırım,8 adet 485 hattını birleştiriyordu.

https://www.picproje.org/index.php/topic,29899.msg205893.html#msg205893

teşekkür ederim mY75 Hocam o sayfadaki eklediğiniz resmede baktım ama pek bişey anlayamadım :(
daha katetmem gereken çok yol var anlaşılan, araştırmaya devam başka çaremiz yok napalım :)
hocam bu arada data çakışması dedinizde aklıma geldi ben daha çok bilgisayrla ilgilendiğim için sadece aklıma geldi merak ettim:
bu syaçların bize göndereceği veriler neticede taş çatlasa 1 er kb tan 2 kb eder hadi bilemediniz 2 MB etsin
koskoca bilgisayr tonla veri iletişimi (hardisklerde mesela yüzlerce MBayt) yaparken bişey olmuyoda
bu kadarcık veriyi alırken neden bi veri çakışması olur onu söyleyebilirmisiniz size zahmet :(
neticede bilgisayrın hızı bu cihazların yüzerce katı ikisi aynı anda tüm güçlerini kullansa bilgisayrı bi nefes almak kadar bile zorlayamaması lazım yani
çakışmaması lazım öyle değilmi :D :)
ben nereyi atlıyorum bilemediğim yer neresi ? :(

teşekkürler...
kimi, sevap için Kabeye varır... Kabe kapınızda! Bilmez misiniz?

My75

#10
Veri çakışması derken aynı anda 2 sayaç data gönderirken demek istedim,benim verdiğim şema daha çok RS485 hattında yıldız bağlantı olmaması ve daha çok slave aygıt kullanmak içindir.Örnek,normalde 8 kanalın hepsini paralel bağlamak Rs485 standartına aykırıdır(kısa mesafeler hariç),fakat verdiğim şema ile her kanala 32 aygıt bağlanabilir,kanallardan gelen verileri sadece master okur ama master' ın gönderdiği veri her kanala dolayısı ile 8x32 tüm slavlere iletilir.Zaten slave aygıtlar kafasına göre veri göndermezler,ya master sorgulaması gerekir yada insan iradesi yada bir olay olması lazım.İnsan iradesi ve bir olay ile slave kanallardan gelen verinin çakışması çok zordur,özel bir çaba gerektirir çünkü 1200baud hızındaki 8 byte veri için geçen süre 1000/1200=0,83ms/bit ,1 byte=8 bit  ,8 byte=64bit (start/stop hariç) 0,83x64=53ms 'dir ki  1200baud hız çok düşük hız sınıfına girmektedir.Yani 9600baud olsa 8byte veri için geçen süre ortalama 6,6ms' dir.Konuya hakim olman için açıklayıcı yazdım.

Anlamadığım bu saatlerin çıkışı Rs485 ise zaten paralel bağlayıp verilerini okuyabilirsin,tek gerekli olan 485/232 konvertör. Büyük ihtimalle sayaçların kimlikleri seri numaralarıdır.
Tomurcuk için çaba göstermeyen dal,odun kalmaya mahkumdur...

sahteker

Alıntı yapılan: My75 - 03 Aralık 2010, 15:54:22
Veri çakışması derken aynı anda 2 sayaç data gönderirken demek istedim,benim verdiğim şema daha çok RS485 hattında yıldız bağlantı olmaması ve daha çok slave aygıt kullanmak içindir.Örnek,normalde 8 kanalın hepsini paralel bağlamak Rs485 standartına aykırıdır(kısa mesafeler hariç),fakat verdiğim şema ile her kanala 32 aygıt bağlanabilir,kanallardan gelen verileri sadece master okur ama master' ın gönderdiği veri her kanala dolayısı ile 8x32 tüm slavlere iletilir.Zaten slave aygıtlar kafasına göre veri göndermezler,ya master sorgulaması gerekir yada insan iradesi yada bir olay olması lazım.İnsan iradesi ve bir olay ile slave kanallardan gelen verinin çakışması çok zordur,özel bir çaba gerektirir çünkü 1200baud hızındaki 8 byte veri için geçen süre 1000/1200=0,83ms/bit ,1 byte=8 bit  ,8 byte=64bit (start/stop hariç) 0,83x64=53ms 'dir ki  1200baud hız çok düşük hız sınıfına girmektedir.Yani 9600baud olsa 8byte veri için geçen süre ortalama 6,6ms' dir.Konuya hakim olman için açıklayıcı yazdım.

Anlamadığım bu saatlerin çıkışı Rs485 ise zaten paralel bağlayıp verilerini okuyabilirsin,tek gerekli olan 485/232 konvertör. Büyük ihtimalle sayaçların kimlikleri seri numaralarıdır.

çok teşekkürler hocam tekrardan ayrıntılı blgi için, sizide çok yorduk kusura bakmayın hakkınızı helal edin :)
inşlh veri iletişim hızında bi sorun çıkmaz diye umuyorum hocam, siz 1200 baud düşük bir hız demişsiniz
sayaçların teknik özelliklerinde 300-4800 Baud yazıyor umarım bir aksilik çıkmaz :(

ayırca malum konuya hakim değilim henüz bir çok şeyi arştırma safhasındayım :)
eğer dediğiniz gibi (en son satırda) bir converter la işi yapabilirsem çok daha mutlu olurum benim için de kolay daha kolay olur
neticede hoca dnanım seçimimde çok fazla sorun çıkarmıyor istediğimi kullanabilirmişim ama tez de bayya bi zorlayacağını çok iyi biliyorum :D :D
neyse oraya kadar bi gelelim hayırlısıylada ondan sonrasıda Allah kerimdir inşlah :)
tekrardan teşekkürler hocam elleriniz dert görmesin hayırlı akşamlar... :)
kimi, sevap için Kabeye varır... Kabe kapınızda! Bilmez misiniz?

My75

Hız ne kadar düşük o kadar sağlam iletişim demek,1200 düşük derken pc standartına göre düşüktür yoksa ben çoğu uygulamamda 4800 üstüne çıkmam.Sayaçlarda 485 bağlantısı paralel,sen sadece sayaçların pc yazılımını edinip kullanacaksın yada protokolünü öğrenip ona göre sayaçları sorgulayıp verileri alacaksın..Kolay gelsin.
Tomurcuk için çaba göstermeyen dal,odun kalmaya mahkumdur...

dombilik

http://www.kohlersayac.com.tr/Download/KullanimKlavuzu/monofaze.pdf

Yukarıdaki pdf'in 9.sayfasında bir kaç örnek veri tipi vermiş ama beni tatmin etmedi açıkçası..
Bildiklerini kime miras bıraktın?kimseyemi? O zaman bildiklerinin ne önemi kalır. ******** /////////// ******** PROTON-ASM PROTEUS 7.4 SP3 EAGLE 5.40

sahteker

Alıntı yapılan: My75 - 03 Aralık 2010, 18:33:29
Hız ne kadar düşük o kadar sağlam iletişim demek,1200 düşük derken pc standartına göre düşüktür yoksa ben çoğu uygulamamda 4800 üstüne çıkmam.Sayaçlarda 485 bağlantısı paralel,sen sadece sayaçların pc yazılımını edinip kullanacaksın yada protokolünü öğrenip ona göre sayaçları sorgulayıp verileri alacaksın..Kolay gelsin.


o pc yazılımınıda biz yapıcaz hocam nasipse :(
(nasıl yapıcaksak artık :) -)
tekrardan teşekkürler hocam, sağolun...
kimi, sevap için Kabeye varır... Kabe kapınızda! Bilmez misiniz?