RS485 Makel Sayaç Okuma Sorunu

Katılım
15 Ara 2018
Mesajlar
2
Puanları
1
Yaş
25
Makel firmasının c500.kmy.2251 modeli sayacında bulunan verileri okumak için uğraşıyorum.

İlk aşamada baud=300 databit=7 stopbit=1 parity=E iken ID sorgulaması yaptırıyorum.

ser.write(b"/?!MSY\r\n")
time.sleep(0.25)
response_2 = ser.readall()
print(response_2)
time.sleep(1)

aldığım veri ; b'/MSY5<1>C500.KMY.2251\r\n'

2. kısımda ise
ser.write(b'ACK 050\r\n')
time.sleep(0.25)
response_4 = ser.readall()
print(response_4)
time.sleep(1)

kodları ile haberleşme için yeni baud atamaya çalışıyorum. fakat cihazdan yanıt gelmiyor.

Bu konuda yardımcı olabilirseniz çok sevinirim

İyi Çalışmalar
 

rcanr

Üye
Katılım
3 Nis 2009
Mesajlar
111
Puanları
3
Yaş
35
Sorunu çözebildiniz mi?
 

mikro27

Üye
Katılım
21 Tem 2007
Mesajlar
67
Puanları
3
Yaş
36
Nasıl sorunu çözebildiniz mi?
 

realman

Üye
Katılım
22 Ağu 2007
Mesajlar
1
Puanları
1
Yaş
36
Makel firmasının c500.kmy.2251 modeli sayacında bulunan verileri okumak için uğraşıyorum.

İlk aşamada baud=300 databit=7 stopbit=1 parity=E iken ID sorgulaması yaptırıyorum.

ser.write(b"/?!MSY\r\n")
time.sleep(0.25)
response_2 = ser.readall()
print(response_2)
time.sleep(1)

aldığım veri ; b'/MSY5<1>C500.KMY.2251\r\n'

2. kısımda ise
ser.write(b'ACK 050\r\n')
time.sleep(0.25)
response_4 = ser.readall()
print(response_4)
time.sleep(1)

kodları ile haberleşme için yeni baud atamaya çalışıyorum. fakat cihazdan yanıt gelmiyor.

Bu konuda yardımcı olabilirseniz çok sevinirim

İyi Çalışmalar
buradaki hatan şu. ilk id sorgulamasını yaptığında sana sayacın seri numarasını gönderir. bunu aldığında hemen baudrate ini 9600 yapacaksın. ondan sonra sorgu göndereceksin.

bauderate(300), databit=7, stopbit=1, parity=E
ser.write(b"/?!MSY\r\n")
time.sleep(0.25)
response_2 = ser.readall()
print(response_2)
time.sleep(1)

2. kısımda ise
bauderate(9600), databit=7, stopbit=1, parity=E
ser.write(b'ACK 050\r\n')
time.sleep(0.25)
response_4 = ser.readall()
print(response_4)
time.sleep(1)

kolay gelsin,
 
Konu Sah
E
Katılım
15 Ara 2018
Mesajlar
2
Puanları
1
Yaş
25
yok hocam mesele o değilmiş baudrate değiştiği için flush () fonksiyonunu çağırmak gerekiyormuş. Bu arada ben bu işe python ile bilgisayardan yaptım. Bu işi mikro denetleyici veya geliştirme kartı ile c diliyle yapmış olan biri paylaşabilirse sevinirim.
 

Sponsor Bağlantı

Forum istatistikleri

Konular
111,886
Mesajlar
787,701
Kullanıcılar
411,612
Son üye
canbabo

Yeni konular

Üst