Picproje Elektronik Sitesi

DİJİTAL & ANALOG ELEKTRONİK => Şemalar & Diğer Elk-Elnk.Projeler => Konuyu başlatan: Muhittin22 - 10 Nisan 2015, 11:40:17

Başlık: Elektrik Sayacı Nasıl Okunur
Gönderen: Muhittin22 - 10 Nisan 2015, 11:40:17
ELEKTRIK SAYACI NASIL OKUNUR

Kendi yöntemimi anlatacağım.

Haberleşme Bağlantısı:
1-Sayaç üzerindeki optik alıcı verici IR göz ile seri haberleşme.
2-485 bağlantı ile seri haberleşme.

Gönderilen ve alınan veri karakter şeklindedir(ASCII). Örnek Port'a CHR"0" için bir byte 48 yollanır.
Sayaçtan bilgi almak için bir komut dizisi kullanılır. Buna OBIS kodu denilmektedir.

Bu kodun formatı, sayaçlardan endeks okunurken ekranda görülen formattadır.
Sayada  buton ile Toplam kW, T1,T2,T3 gibi seçimler yapıldıkça her biri için ekranda görülen menu formatıtır.
Ayrıca bu format sayaç kataloglarında da mevcuttur. İstenilecek daha özel kodlar katalogda yoksa sayaç firmasından mail ile istenebilir.
Ben öyle yaptım.

OBIS Örnekler:
0.0.0
0.9.2
0.9.1
1.8.0
1.8.1
1.8.2
1.8.3
1.8.4
5.8.0
8.8.0 gibi.

Şimdi bu kodları nasıl seri haberleşmeye yollayacağımızı ve nasıl alacağımızı ekleyelim.

Sayaç ilk haberleşmeyi 300 baud rate ile yapmaktadır.  Sonra 9600'e çıkmaktadır.

Öncelikle sayacı uyandıralım. Aşağıdakileri sırayla uygulayalım.

Bort uyandırma Bölümü:
Kendi cihazınızın portunu '300,e,7,1' set ediniz.

Portu string modda kullanacağınız varsayımıyla diziler şöyle olacak.
Not = (") Tırnak işaretleri veriye dahil değildir. String olduğunun ifadesidir. Yani "A" = rakamsal 65 dir.

Porta gönder ="/?!"+chr(13)+chr(10)

Bekle 200ms (siz belirleyin)

Porta gönder =  chr(6)+"050"+chr(13)+chr(10)

Bekle 200ms (siz belirleyin)

Burdan sonra baud rate 9600 dönecektir.
Kendi cihazınızın portunu '9600,e,7,1' set ediniz.

Porta gönder = chr(1)+"R2"+chr(2)+"0.0.0"+"()"+chr(3)+ "P"

Şimdi Portu okuyunuz:
Gelen bir veri varsa Uyandırma başarılı.

Şimdi tercih edeceğiniz Sayaç endeks vesair verileri alma bölümüne geldik.

"1.8.0" OBIS kodlu menü, toplam aktif enerji (+T) miktarını verir.

Porta gönder = chr(1)+"R2"+chr(2)+"1.8.0"+"()"+chr(3)+"Y"

Porttan gelen veriyi string modda oku.


Haberleşmeyi kapat
Porta gönder = chr(1)+"B0"+chr(3)+ "q"



Dizi sonlarındaki "P,q,Y" gibi karakterler BCC kodlarıdır. Bu aslında veriye göre hesaplanır.
Ancak Basit işler için size kolaylık olsun diye liste şeklinde veriyorum.

0.0.0     P
0.9.2     [
0.9.1     X
1.8.0     Y
1.8.1     X
1.8.2     [
1.8.3     Z
1.8.4     ]
5.8.0     İ
8.8.0     P
32.7.0    f
52.7.0    `
72.7.0    b
31.7.0    e
51.7.0    c
71.7.0    a
21.7.0    d
41.7.0    b
61.7.0    `
23.7.0    f
43.7.0    @
63.7.0    b
29.7.0    L
49.7.0    j
69.7.0    h
33.7.0    g
53.7.0    a
73.7.0    c   
34.7.0    @
Başlık: Ynt: Elektrik Sayacı Nasıl Okunur
Gönderen: ayhani - 10 Nisan 2015, 13:57:26
Alıntı yapılan: Muhittin22 - 10 Nisan 2015, 11:40:17
ELEKTRIK SAYACI NASIL OKUNUR

Kendi yöntemimi anlatacağım.

Haberleşme Bağlantısı:
1-Sayaç üzerindeki optik alıcı verici IR göz ile seri haberleşme.
2-485 bağlantı ile seri haberleşme.

Gönderilen ve alınan veri karakter şeklindedir(ASCII). Örnek Port'a CHR"0" için bir byte 48 yollanır.
Sayaçtan bilgi almak için bir komut dizisi kullanılır. Buna OBIS kodu denilmektedir.

Bu kodun formatı, sayaçlardan endeks okunurken ekranda görülen formattadır.
Sayada  buton ile Toplam kW, T1,T2,T3 gibi seçimler yapıldıkça her biri için ekranda görülen menu formatıtır.
Ayrıca bu format sayaç kataloglarında da mevcuttur. İstenilecek daha özel kodlar katalogda yoksa sayaç firmasından mail ile istenebilir.
Ben öyle yaptım.

OBIS Örnekler:
0.0.0
0.9.2
0.9.1
1.8.0
1.8.1
1.8.2
1.8.3
1.8.4
5.8.0
8.8.0 gibi.

Şimdi bu kodları nasıl seri haberleşmeye yollayacağımızı ve nasıl alacağımızı ekleyelim.

Sayaç ilk haberleşmeyi 300 baud rate ile yapmaktadır.  Sonra 9600'e çıkmaktadır.

Öncelikle sayacı uyandıralım. Aşağıdakileri sırayla uygulayalım.

Bort uyandırma Bölümü:
Kendi cihazınızın portunu '300,e,7,1' set ediniz.

Portu string modda kullanacağınız varsayımıyla diziler şöyle olacak.
Not = (") Tırnak işaretleri veriye dahil değildir. String olduğunun ifadesidir. Yani "A" = rakamsal 65 dir.

Porta gönder ="/?!"+chr(13)+chr(10)

Bekle 200ms (siz belirleyin)

Porta gönder =  chr(6)+"050"+chr(13)+chr(10)

Bekle 200ms (siz belirleyin)

Burdan sonra baud rate 9600 dönecektir.
Kendi cihazınızın portunu '9600,e,7,1' set ediniz.

Porta gönder = chr(1)+"R2"+chr(2)+"0.0.0"+"()"+chr(3)+ "P"

Şimdi Portu okuyunuz:
Gelen bir veri varsa Uyandırma başarılı.

Şimdi tercih edeceğiniz Sayaç endeks vesair verileri alma bölümüne geldik.

"1.8.0" OBIS kodlu menü, toplam aktif enerji (+T) miktarını verir.

Porta gönder = chr(1)+"R2"+chr(2)+"1.8.0"+"()"+chr(3)+"Y"

Porttan gelen veriyi string modda oku.


Haberleşmeyi kapat
Porta gönder = chr(1)+"B0"+chr(3)+ "q"



Dizi sonlarındaki "P,q,Y" gibi karakterler BCC kodlarıdır. Bu aslında veriye göre hesaplanır.
Ancak Basit işler için size kolaylık olsun diye liste şeklinde veriyorum.

0.0.0     P
0.9.2     [
0.9.1     X
1.8.0     Y
1.8.1     X
1.8.2     [
1.8.3     Z
1.8.4     ]
5.8.0     İ
8.8.0     P
32.7.0    f
52.7.0    `
72.7.0    b
31.7.0    e
51.7.0    c
71.7.0    a
21.7.0    d
41.7.0    b
61.7.0    `
23.7.0    f
43.7.0    @
63.7.0    b
29.7.0    L
49.7.0    j
69.7.0    h
33.7.0    g
53.7.0    a
73.7.0    c   
34.7.0    @

Güzel paylaşım. Favorilere ekledim. Klavyene sağlık.
Başlık: Ynt: Elektrik Sayacı Nasıl Okunur
Gönderen: Murat Mert - 10 Nisan 2015, 17:25:51
S.A.
Sağol Muhittin hocam bilgilerin çok güzel.
Başlık: Ynt: Elektrik Sayacı Nasıl Okunur
Gönderen: erenbasturk - 10 Nisan 2015, 17:35:42
Muhittin paylaştığın bilgilerde bazı eksiklik ve yanlışlar var. Sayaçlar okunurken kullandıkları protokoller göze önüne alınır dlms, iec gibi. Seni bahsettiğin protokol iec mode-c. Bu protokolde sayaç'a bir sorgu gönderirsin ve sayaç sana "/ACK0Z1 CR LF" şeklinde bir cevap gönderir sana buraki Z sayacın geçeceği bir sonraki baudrate değeridir. Okuma yaptıgın sayaç 9600 baud'una geçiyorsa sana "/ACK05 CR LF" cevabı gelmiştir buradaki 5 9600 baud'unu temsil etmektedir.
Başlık: Ynt: Elektrik Sayacı Nasıl Okunur
Gönderen: Muhittin22 - 20 Nisan 2015, 09:28:04
Marhabalar.

Mesajım içerisinde yanlışım varsa düzeltilmesini ifade edecektim unutmuşum özür dilerim.  erenbasturk arkasaşıma teşekkür ederim.

Benim kullandığım iki meşhur marka sayaçda bu şekilde sonuç almıştım. Delphi ve pic kullandım ikisinden de sonuç aldım.  Sonuç alana kadar epey uğraşmıştım. Başka arkadaşlarımda aynı uğraşıyı vermesin diye paylaştım. Ayrıca sayaçların tüm anlık değerlerinin okunmasında bazı aksamalar gördüm. Örneğin bir tanesi,  B fazı anlık kapasitif reaktif değeri vermiyordu, bir diğeri başka bir değeri vermiyordu. Sorunu firmayla paylaştığımda bu hatayı doğruladılar.

Yanıtlar için teşekkürler.

Başlık: Ynt: Elektrik Sayacı Nasıl Okunur
Gönderen: kamber7373 - 07 Ağustos 2015, 09:05:28
gerçekten işime çok yaradı muhittin bey. paylaşımınız için tekrar tekrar teşekkürler.
Başlık: Ynt: Elektrik Sayacı Nasıl Okunur
Gönderen: mmkaratokus - 13 Ekim 2020, 17:53:22
Merhabalar öncelikle bilgilendirmeniz için teşekkür ederim, takıldığım bir konu var, BCC hesabı yaptığımda sizin sonuçlarınızla bir olmuyor, BCC hesabını nasıl yapıyorsunuz ?

Başlık: Ynt: Elektrik Sayacı Nasıl Okunur
Gönderen: mustys - 18 Eylül 2023, 01:04:23
konuya biraz katkımız olsun
sayaca RS485 yada optik port üzerinden baglandıktan sonra ilk sorgulama İEC62056 standartlarına göre
/?!\r\n
bu şekilde yapıyorum.sonrasında makel sayaclarda kısa güç profili için
ACK0Z6\r\n
sorgusu ile

0.0.0(100026211)
0.2.0(V10.91)
0.9.1(00:29:42)
0.9.2(23-09-18)
0.9.5(1)
1.8.0(000064.804*kWh)
1.8.1(000036.128*kWh)
1.8.2(000015.350*kWh)
1.8.3(000013.326*kWh)
1.8.4(000000.000*kWh)
1.6.0(000.004*kW)(23-09-17,04:19)
96.1.3(23-04-11)
96.2.5(23-04-11)
32.7.0(230.7)
31.7.0(000.0)
14.7.0(50.0)
33.7.0(0.00)
!

cevabını alabiliyoruz.

RS485 haberleşmeli sayaclar maliyet olarak biraz fazla o yuzden rs485 portu olmayan sayaclar içinde şöyle bir optik prob maceramız mevcut buyrun bi göz atın
Başlık: Ynt: Elektrik Sayacı Nasıl Okunur
Gönderen: ibrahim96 - 29 Eylül 2023, 10:22:09
Merhaba kodu paylaşa bilirmisiniz rica etsem