DRF7020D20 yardımı hocam

Başlatan sahinler64, 10 Nisan 2013, 17:23:02

sahinler64

hocam ve değerli doslar merhabalar.
geçen gün DRF7020D20 yi aldım bu gün çalıştırayım dedim ama bir türlü çalıştıramadım. hocam sizden ricam bu modülle ilgili daha önce çalışmalarınız arasında varsa yardım bekliyorum.
bir kaç bilgi istiyorum ki şöyle.
ben bu modüllerle beraber tek yönlü iletişim kurabilirmiyim. yani 12f675 kullanarak karşıdaki tek röleyi "SEROUT2 GPIO.5,396,["D","M","R",VER]" ve "SerIn2 GPIO.2,396[WAIT("DMR"), AL] komutlarını kullanarak açıp kapatmak istiyorum.
bu konuda bilgisi olan arkadaşlarımdan yardım ve bilgi istiyorum....

ete

Bu modülü kullandımmı kullanmadımmı hatırlayamadım. Ancak data sheet ine baktım ve şunları gördüm.
1 modülü çalıştırmak için EN pini HIGH , SET pini HIGH yapılacak.
2 modül standart olarak 9600 baud ve no parity modunda çalışıyor. Sende komutlarını bu parametreye uydurman gerekiyor.
Aslında set pini low a çekilerek bazı parametreleri değiştirilebiliyor. Ancak bu konuya hiç girmemeni öneririm.
Ete

sahinler64

hocam kusura bakmayın.
kod bilgisini şu şekilde gönderiyorum.
hserout ["(WR_433920_3_9_0_0)","shn",KOD]
ve karşıda
hSerIn 500,A,[WAIT("shn"),KOD]
şeklinde bekliyorum ama hiç bir hareket olmuyor.
hocam size zahmet şu işe bir el atsanız.
verici ve alıcı taraflarının ikisindede EN ve SET pinlerini hıgh yaptım ama işin içinden çıkamadım.
yardım ederseniz sevinirim.

ete

Ne dedim set değerleri değiştirmek yerine önce haberleşmeyi denesen olmazmı. ?
Önce onu başar sonra değerlerle oynarsın.
Uzun boylu data sheet inceleyecek durumda değilim maalesef. Bu nedenle dediklerimi yapsan iyi olur. Set değer değiştirmek için önce set pinini low a çekip sonra yazma yapman gerekir. Daha sonra set pinini tekrar high yapıp modülden gelecek bilgiyi alman gerekir. Hatırladığım budur.
Ete

efsanepoldem

   Bu modülle daha önce çalışmıştım. Data gönderirken baş tarafta bir işaretçi koymana gerek yok.

gönderme:
SEROUT ModulTx,T9600,[göndereceğin datayı buraya yaz hex formatında olacak   $FB,$FF  gibi]

alma:
serin MODUL_RX,T9600,500,ERROR,B1  gibi

modüller default değeri 9600 baud hızında herhangibir ayary yapmana gerek yok. Ama yok bunları değiştirmek istiyorsan datashettte gösterdiği gibi yapacaksın. Ha ayrıca önemli bir konu da  şu: SET ve EN pinlerini high yaptıktan sonra datashette 50 ms yazıyor fakat sen en az 100 ms bekle daha sonra datayı gönder hepsi bu

sahinler64

hocam yanıtını yeni gördüm ve hemen denedim. sonuç olumlu. çalıştırabildim sayende.
bilmediğimiz modülle uğraştıkmı bu iş zor. ama işi çözdükmü çok iyi.
iki yada üç gündür gözümüze uyku girmiyor. allah razı olsun ki  yardım işe yaradı.
modülleri dirençnetten aldım ve 12f675 ile iletişim kurayım dedim. haberleşme yapamadım ve yardım istedim. neyse biraz konuştuktan sonra tx ve rx pini olan işlemci kullanman gerek bu işlemciyle bu olmaz dediler ve devreyi komple yeniledim. ama senin dediğin gibi yaptım şu an 675 ler le haberleşme yapabiliyorum. artı dediğin gibi işaretçi bir veride göndermiyorum. tekrar saol.

ihsan

konu eski ama bakan varsa faydalansın diye yazıyorum. DRF7020D20 yi programlarken WR_433920_9_3_0_0 vs gibi bilgiler gönderirken bu bilgileri hex olarak göndermek gerekliymiş. mesela W nin hex karşılığı 0x87, R nin hex karşılığı 0x82, alttan tre(_) nin hex karşılığı 0x20 gibi. bu WR_433920_9_3_0_0 kodunun tamamını hex olarak göndericeksiniz yani.

ete

#7
Bu gibi şeyler çok anlamsız. Siz sayıyı hangi formatta verirseniz verin o sayı iletilirken binary olarak yani bit-bit iletilir. Hal böyle olunca hex vermişsin Dec vermişsin hiç farkı olmaz.
Fark olmaz derken, SAYI=23 olduğunu düşünelim.
Bu sayıyı başına bir şey eklemeden direk değişken değeri olarak yolladığınız zaman karşıya 23 değeri tek byte olarak iletilir.
DEC 23 olarak iletmek isterseniz bu 50 ve 51 olarak iletilir.  Burada 50 sayısı 2 saysıının ASCII karşılığıdır. 51 sayısı ise 3 rakamının ASCII karşılığıdır. Ama, alıcıda buna hazırlıklı olup gelenleri 2 byte olarak almak zorundadır. Yani karşıdaki alma sisteminde bu sayı DEC SAYI olarak alınmalıdır. Böylece işlemci gelecek sayının 2 byte olarak alınacağını bilir.

23 sayısının HEX karşılığı 17 dir bunu hex olarak yollarsanız karşıya 49 ve 55 Olarak iletilir. 49sayısı  1 rakamının ASCII karşılığıdır. 7 rakamının ASCII karşılığı ise 55 dir.

Ete

atasev

slm arkadaşlar bu modülü (drf7020d27) master-slave yada rs485 formatında kullanan oldumu birden fazla plc'ye bağlamak istiyorum
en azından bende fikir oluşur.Şimdiden herkese tşkler.

Powered by EzPortal