RS485 Makel Sayaç Okuma Sorunu

Katılım
15 Ara 2018
Mesajlar
5
Puanları
1
Yaş
29
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
 
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
KNX Standardı, küçük bir rezidansın içerisindeki aydınlatma, perde panjur, klima kontrolünden, Dünya’nın en büyük havalimanlarındaki aydınlatma otomasyonu gibi çözümler için tercih edilen bir Dünya standardıdır.
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,
 
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.
 

Forum istatistikleri

Konular
127,963
Mesajlar
913,927
Kullanıcılar
449,609
Son üye
cherrywine

Yeni konular

Geri
Üst