IEC 62056-21 sayaç okuma

Kullanıcı avatarı
recog
Mesajlar: 15
Kayıt: 14 May 2018, 09:49
İletişim:
Durum: Çevrimdışı

IEC 62056-21 sayaç okuma

Mesaj gönderen recog »

dvp 12 se plc ile IEC 62056-21 sayaç okuma okuması nasıl yapabiliriz.
Kullanıcı avatarı
Uğur
Mesaj Panosu Yöneticisi
Mesajlar: 8888
Kayıt: 06 Mar 2018, 10:37
Konum: İstanbul
İletişim:
Durum: Çevrimdışı

Re: IEC 62056-21 sayaç okuma

Mesaj gönderen Uğur »

Daha önce haberleşmesini yaptığım bir cihaz değil ama protokolüne baktığımda kendine has bir protokol yapısı var. Bu noktada PLC içerisinde protokolünü oluşturmaktan başka bir alternatif malesef yok. PLC RS komutu ile istediği dataları ona göndermek suretiyle cevabı işleyebilirsiniz.

Protokol --> 300 bps 7 Bit Even Party 1 Stop ASCII şeklinde görünüyor.

Kod: Tümünü seç

---->
/?1!
<----
/SAT6EM72000654321 
Siz cihaza /?1! sorgusunu gönderince cihaz kimlik bilgisini /SAT6EM72000654321 şeklince cevap olarak vermektedir. Tüm veriler ASCII'dir. Bu şekilde işlemek gerekmektedir.

Ekte protokol dosyası mevcut, ayrıca örnek bir program oluşturmaya çalıştım. Aşağıdaki linkte Türkçe anlatım mevcut inceleyebilirsiniz.
IEC 62056-21 Türkçe Anlatım
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
Uğur Birdal - Technical Support Team Manager - DELTA Electronics Turkiye

Bildirimler İçin Whatsapp Kanalımıza Katılın
Whatsapp Kanal

https://www.linkedin.com/in/ugurbirdal
Kullanıcı avatarı
recog
Mesajlar: 15
Kayıt: 14 May 2018, 09:49
İletişim:
Durum: Çevrimdışı

Re: IEC 62056-21 sayaç okuma

Mesaj gönderen recog »

IEC 62056-21 Protokol --> 300 bps 7 Bit Even Party 1 Stop ASCII şeklinde görünüyor. DVP 12SE plc nin com3 portu rs485 te yanlızca 8bit destekler deniliyor. Ben mi yanlış anladım acaba.
Kullanıcı avatarı
Uğur
Mesaj Panosu Yöneticisi
Mesajlar: 8888
Kayıt: 06 Mar 2018, 10:37
Konum: İstanbul
İletişim:
Durum: Çevrimdışı

Re: IEC 62056-21 sayaç okuma

Mesaj gönderen Uğur »

COM3 portu için değil COM2 portunu kullanacaksınız. ASCII modda 7-8 bit RTU modda 8 bit destekler. Siz zaten ASCII mod kullanıyorsunuz.
Uğur Birdal - Technical Support Team Manager - DELTA Electronics Turkiye

Bildirimler İçin Whatsapp Kanalımıza Katılın
Whatsapp Kanal

https://www.linkedin.com/in/ugurbirdal
Kullanıcı avatarı
recog
Mesajlar: 15
Kayıt: 14 May 2018, 09:49
İletişim:
Durum: Çevrimdışı

Re: IEC 62056-21 sayaç okuma

Mesaj gönderen recog »

Merhabalar uğur bey göndermiş olduğunuz programı plc yükledik ancak çalışmadı. hata verdi. ASC komutunda yanlışlık var sanırsam.
Asc yerine mov komutu ile data verilerini yükledim örneğin
/ için ascii karşılığı olan desimal 47
? yerine desimal 63 gibi
plc nin rs485 portuna makel 3 faz sayaç bağlı.
sorunu çözemiyorum.

sayaç programından gelen log dosyası aşağıda.

26.06.2018 00:59:53.744 --> /?!

26.06.2018 00:59:54.965 <-- /MSY6<1>T510.2251

26.06.2018 00:59:54.981 --> 057

26.06.2018 00:59:56.229 <-- 0.0.0(4125956)
0.8.0(15*min)
0.9.1(09:26:42)
0.9.2(17-02-26)
0.9.5(7)
0.1.0(00)
0.1.2*1(00-00-00,00:00)
0.1.2*2(00-00-00,00:00)

26.06.2018 00:59:56.433 <-- 0.1.2*3(00-00-00,00:00)
0.1.2*4(00-00-00,00:00)
0.1.2*5(00-00-00,00:00)
0.1.2*6(00-00-00,00:00)
0.1.2*7(00-00-00,00:00)
0.1.2*8(00-00-00,00:00)
0.1.2*9(00-00-00,00:00)
0.1.2*1
Kullanıcı avatarı
Uğur
Mesaj Panosu Yöneticisi
Mesajlar: 8888
Kayıt: 06 Mar 2018, 10:37
Konum: İstanbul
İletişim:
Durum: Çevrimdışı

Re: IEC 62056-21 sayaç okuma

Mesaj gönderen Uğur »

Bence öncelikle PC ye bağlayarak bir terminal programı ile veri gönderip cevap alma yoluna gidin. Orada başarılı olduğunuz kod yapısına ulaştıktan sonra PLC içerisinde onu oluşturmak daha iyi olacaktır.
Uğur Birdal - Technical Support Team Manager - DELTA Electronics Turkiye

Bildirimler İçin Whatsapp Kanalımıza Katılın
Whatsapp Kanal

https://www.linkedin.com/in/ugurbirdal
Kullanıcı avatarı
recog
Mesajlar: 15
Kayıt: 14 May 2018, 09:49
İletişim:
Durum: Çevrimdışı

Re: IEC 62056-21 sayaç okuma

Mesaj gönderen recog »

Uğur yazdı: 28 Haz 2018, 09:02 Bence öncelikle PC ye bağlayarak bir terminal programı ile veri gönderip cevap alma yoluna gidin. Orada başarılı olduğunuz kod yapısına ulaştıktan sonra PLC içerisinde onu oluşturmak daha iyi olacaktır.
Uğur bey dediğinizi yaptım ancak plc herhangi bir veri göndermiyor. Acaba dvp 12 se plc için özel bir durum (kaydedici ayarı) mı var bilemedim.
Kullanıcı avatarı
Uğur
Mesaj Panosu Yöneticisi
Mesajlar: 8888
Kayıt: 06 Mar 2018, 10:37
Konum: İstanbul
İletişim:
Durum: Çevrimdışı

Re: IEC 62056-21 sayaç okuma

Mesaj gönderen Uğur »

Komutun manuel girildiği program örneği ektedir. Ama bir terminal yazılımı ile durumu lütfen kontrol edin. oradan elde ettiğiniz olumlu sonuca göre PLC de devam etmek gereksiz uğraşın önüne geçecektir.
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
Uğur Birdal - Technical Support Team Manager - DELTA Electronics Turkiye

Bildirimler İçin Whatsapp Kanalımıza Katılın
Whatsapp Kanal

https://www.linkedin.com/in/ugurbirdal
Kullanıcı avatarı
muratguenduez
Mesajlar: 18
Kayıt: 09 Nis 2018, 14:04
İletişim:
Durum: Çevrimdışı

Re: IEC 62056-21 sayaç okuma

Mesaj gönderen muratguenduez »

forum tekrar hayırlı olsun öncelikle,

uğur bey ben bu sayaçlarla c# ile çok çalıtım. delta ve c# cok fazla proje yaptım.
ben köhler kullandım.

hata şurda alınabilir, rs de en son k18 diye düşünmüşsünüz ya o sadece sizin denediğiniz sayaç için geçerlidir. başka sayaçlar 19 23 gibi değerlerle cevap verebilir. ayrıca bu sayaçlarda readout diye bir okuma yöntemi var aralarda \r\n var yani char(0x13) char(0x10) bu bildiğimz alt satıra geç asci kodu enter için düşünebiliriz.

kaldı ki sorgu yaptınız ve sayaç marka modeline göre bir bi kaç data aldınız, daha sonra readout okuma yapabilmek için baud hızınızı değiştirmeniz gerekiyor. bu da sayacın desteklediği en yüksek hız olmalı. örneğin /SAT6EM72000654321 bu bilgide hız sınırını belli eden bikarakter var ona göre de yine 300 ile 050 051 gibi değrleri yine sonunda \r \n olarak göndermelidir. öncelikle ack diye bir cevap gelecektir ve bu okunamz sa başka iletişim kurulmaz. ack ise "onayladım ben bu talebi" demektir ve dataları 9600 olarak göndermeye başlayacaktır. bu 050 gönderilmesindeki data yazma hızına göre örneğin 3 + 2 = 5 byte olduğunda o da 8*5 = 40 bit yapar. 300 bps de ise 40 bit 40/300 = 0,133 saniye yapar. bukadar bir gecikme beklemeliyiz porta yazsın diye . ben 200 kullanıyorum. sonra baud rate i 9600 e çekip okumaya başlıyorum. bi ton data geliyor ve onalrı parse lamak gerekiyor. sayaca göre değişen ve her bilgi arasında gelen sabit bir karakter var. bir de terminateing char dedikleri en son datadan sonra gelen bi karakter var ki bu sayaclarda bu karakter ! işaretidir. saf data alıp matematik yapacaksanız aralardaki parantezlere göre yine parçalamanız lazım ki conversion da hata almayalım.

ben de plc ile okumak istiyorum. ayrıca bu sayaçalr herzaman doğru data göndermiyor. bazen aradaki parantez gelmiyor, bazen noktalama göndermiyor (000000.000) formatında gelmek zorunda yani burdda süzme yaparken, parantezlere göre süzdükten sonra 10 data olmak zorunda gibi bir şart koymanız gerekiyor yoksa kaymış olarak 9 data da gelebiliyor ki bu da 10 katı hata demek.... buna benzer problemler yaşadım. yaklaşık 12 şart flaan var datanın doğru gelip gelmediğiyle ilgili benim yazılımımda.

özel okumalar ise tamamen farklı bi düzende oluyor ve herzamn değişken olduğu için her sorgu sonuna bi bcc karakter eklemek gerekiyor. bcc hesaplamak tamamen sizn gönderdiğiniz sorgu ile hesaplanıyor ve en sonuna ekleniyor. cevap gelince o gönderdiğiniz aynı ise hata olmadığı anlaşılıyor onu da kontrol etmek gerekiyor data alımı bitince. bazen 26 satır datadan 10 kes hatalı geliyor peş peşe.

sniffer ya da port kontrol yazılımlarında da ascii okurken okuyamadığı karakterlerin yerine nokta görünür. 1.8.0 daki noktalar ile karıştırılmamalıdır aslında ascii o yüzden kontrol ederken kendi yazılımıyla falan, byte byte bakın gelen gidenlere.
https://www.asciitable.com/ bu site baya yardımcı olmuştu çözümlememde.

faydalı olmuştur umarım

delta ile çalışcam çünkü yaptığım işte modbus altyapısı isteniyor. tcp den delta yazaçlarını modbus ile sunacağım.
Kullanıcı avatarı
muratguenduez
Mesajlar: 18
Kayıt: 09 Nis 2018, 14:04
İletişim:
Durum: Çevrimdışı

Re: IEC 62056-21 sayaç okuma

Mesaj gönderen muratguenduez »

sadece gönder ya da sadece oku komutu yok mu ?

çünkü okumam için H6 H0 H5 H0 HD HA göndermem lazım sonrasında da hızı 9600 yani H86 yapıp okumam lazım. rs den başka komut bulamadım.
bilen var mı ?
Cevapla

“PLC Forum” sayfasına dön