Visual Basic ile Elektronik Sayaç Okuma

kodun son hali aşağıdaki gibi oldu altı çizili satırda hata veriyor.
0.0.0(02624233) sayaçtan bu bilgiyi okuduktan sonra hata veriyor.

Dim i As String
Dim stmp As String

Do
Buffer = Buffer & ComData.Input
i = InStr(Buffer, vbCrLf)
If i > 0 Then
stmp = Left(Buffer, i - 2)
Buffer = Mid(Buffer, i + 2)
i = InStr(stmp, "(")
If i > 0 Then
stmp2 = Mid(stmp, i)
stmp = Left(stmp, i - 1)
i = InStr(2, stmp2, "(")
vsgrid.AddItem stmp & vbTab & IIf(i = 0, stmp2, Left(stmp2, i - 1)) & vbTab & IIf(i = 0, "", Mid(stmp2, i))
Else
vsgrid.AddItem stmp
End If
Else
Exit Do
End If
Loop Until Buffer = ""
 
Projeyi bitirmek üzereyim. Tüm Elektrik sayaçlarını okuyabilen bir program geliştirdim. Mantığı da şöyle:

Sayacın markası Makel...

Mscom ayarları program ilk açılışında "300,e,7,1" olacak.

1. Önce sayaca "/?! vbcrlf" gönderilecek.

2. Ardından sayaç "/MSY5<1>M310.2218" cevabını gönderecek. Bu bilgi içinde "MSY" sayacın flag kodu, "5" sayacın maksimum bağlantı hızı, diğerleri fasa fiso :)

1 gelirse sayaç 300 bps ile, 2 gelirse 600 bps, 3 gelirse 2400 bps, 4 gelirse 4800 bps, 5 gelirse 9600 bps, 6 gelirse 19200 bps olarak haberleşme devam ettirilecek.

3. Ardından Chr$(6) & "050" & vbCrLf gönderelecek ve bu gönderiden sonra mscom ayarları 2. aşamadaki hıza çıkartılacak. Makel de 5 geldiği için "9600,e,7,1" olacak.

4. Sayaçtan bilgiler dökülmeye başlayacak ve gelen bilgiler textboxa yazdırılacak.

Şu an buraya kadar herşey başarılı. Ancak takıldığım bölüm sayaçtan aldğım bilgiler;

0.0.0(14655158)
0.8.0(15*min)
0.9.1(10:41:24)
0.9.2(15-05-11)
0.9.5(1)
1.8.0(00000.000*kWh)
1.8.1(00000.000*kWh)
1.8.2(00000.000*kWh)
1.8.3(00000.000*kWh)
1.8.4(00000.000*kWh)

şeklinde devam ediyor. Benim istediğim bu bilgileri her satır için ayrı ayrı oluşturduğum textboxlara yazdırması. Mesela ilk satırı parantez dışındakiler ile parantez içindekileri ayrı olarak textboxlara yazdırmak. 0.0.0 ayrı bir textboxa, 14655158 ayrı bir textboxa... Bu konda yardımcı olabilecek varsa çok memnun olurum.

Yaptığım çalışmanın kaynak kodlarını forum içinden isteyenler ile paylaşabilirim.

arduino ile sayaç okuma işlemi yapmaya çalışıyorum. siz verileri rs485 ten mi yoksa optik porttan mı okudunuz yardımcı olabilirmisiniz?
 
ufukes bana kaynak kodları mail atabilirmisin? Ben C de okumaya çalışıyorum.
 
Projeyi bitirmek üzereyim. Tüm Elektrik sayaçlarını okuyabilen bir program geliştirdim. Mantığı da şöyle:

Sayacın markası Makel...

Mscom ayarları program ilk açılışında "300,e,7,1" olacak.

1. Önce sayaca "/?! vbcrlf" gönderilecek.

2. Ardından sayaç "/MSY5<1>M310.2218" cevabını gönderecek. Bu bilgi içinde "MSY" sayacın flag kodu, "5" sayacın maksimum bağlantı hızı, diğerleri fasa fiso :)

1 gelirse sayaç 300 bps ile, 2 gelirse 600 bps, 3 gelirse 2400 bps, 4 gelirse 4800 bps, 5 gelirse 9600 bps, 6 gelirse 19200 bps olarak haberleşme devam ettirilecek.

3. Ardından Chr$(6) & "050" & vbCrLf gönderelecek ve bu gönderiden sonra mscom ayarları 2. aşamadaki hıza çıkartılacak. Makel de 5 geldiği için "9600,e,7,1" olacak.

4. Sayaçtan bilgiler dökülmeye başlayacak ve gelen bilgiler textboxa yazdırılacak.

Şu an buraya kadar herşey başarılı. Ancak takıldığım bölüm sayaçtan aldğım bilgiler;

0.0.0(14655158)
0.8.0(15*min)
0.9.1(10:41:24)
0.9.2(15-05-11)
0.9.5(1)
1.8.0(00000.000*kWh)
1.8.1(00000.000*kWh)
1.8.2(00000.000*kWh)
1.8.3(00000.000*kWh)
1.8.4(00000.000*kWh)

şeklinde devam ediyor. Benim istediğim bu bilgileri her satır için ayrı ayrı oluşturduğum textboxlara yazdırması. Mesela ilk satırı parantez dışındakiler ile parantez içindekileri ayrı olarak textboxlara yazdırmak. 0.0.0 ayrı bir textboxa, 14655158 ayrı bir textboxa... Bu konda yardımcı olabilecek varsa çok memnun olurum.

Yaptığım çalışmanın kaynak kodlarını forum içinden isteyenler ile paylaşabilirim.
 
Projeyi bitirmek üzereyim. Tüm Elektrik sayaçlarını okuyabilen bir program geliştirdim. Mantığı da şöyle:

Sayacın markası Makel...

Mscom ayarları program ilk açılışında "300,e,7,1" olacak.

1. Önce sayaca "/?! vbcrlf" gönderilecek.

2. Ardından sayaç "/MSY5<1>M310.2218" cevabını gönderecek. Bu bilgi içinde "MSY" sayacın flag kodu, "5" sayacın maksimum bağlantı hızı, diğerleri fasa fiso :)

1 gelirse sayaç 300 bps ile, 2 gelirse 600 bps, 3 gelirse 2400 bps, 4 gelirse 4800 bps, 5 gelirse 9600 bps, 6 gelirse 19200 bps olarak haberleşme devam ettirilecek.

3. Ardından Chr$(6) & "050" & vbCrLf gönderelecek ve bu gönderiden sonra mscom ayarları 2. aşamadaki hıza çıkartılacak. Makel de 5 geldiği için "9600,e,7,1" olacak.

4. Sayaçtan bilgiler dökülmeye başlayacak ve gelen bilgiler textboxa yazdırılacak.

Şu an buraya kadar herşey başarılı. Ancak takıldığım bölüm sayaçtan aldğım bilgiler;

0.0.0(14655158)
0.8.0(15*min)
0.9.1(10:41:24)
0.9.2(15-05-11)
0.9.5(1)
1.8.0(00000.000*kWh)
1.8.1(00000.000*kWh)
1.8.2(00000.000*kWh)
1.8.3(00000.000*kWh)
1.8.4(00000.000*kWh)

şeklinde devam ediyor. Benim istediğim bu bilgileri her satır için ayrı ayrı oluşturduğum textboxlara yazdırması. Mesela ilk satırı parantez dışındakiler ile parantez içindekileri ayrı olarak textboxlara yazdırmak. 0.0.0 ayrı bir textboxa, 14655158 ayrı bir textboxa... Bu konda yardımcı olabilecek varsa çok memnun olurum.

Yaptığım çalışmanın kaynak kodlarını forum içinden isteyenler ile paylaşabilirim.

Arkadaşım çok zaman geçmiş ama programı paylaşabilir misin?
 
Ufuk usta veriyi hangi formatta görderiyorsunuz?
 
teşekkürler tüm yanıtlar için çok işime yarıycak
 
arduino ile sayaç okuma işlemi yapmaya çalışıyorum. siz verileri rs485 ten mi yoksa optik porttan mı okudunuz yardımcı olabilirmisiniz?


....................
iyi günler,tek bir sayaç ile çalışıyorum makele ait ben de arduino ile sayaçtan veri okumaya çalışıyorum.mühendislik fakültesi son sınıf öğrencisiyim.yardımcı olursanız çok sevinirim.
 
Projeyi bitirmek üzereyim. Tüm Elektrik sayaçlarını okuyabilen bir program geliştirdim. Mantığı da şöyle:

Sayacın markası Makel...

Mscom ayarları program ilk açılışında "300,e,7,1" olacak.

1. Önce sayaca "/?! vbcrlf" gönderilecek.

2. Ardından sayaç "/MSY5<1>M310.2218" cevabını gönderecek. Bu bilgi içinde "MSY" sayacın flag kodu, "5" sayacın maksimum bağlantı hızı, diğerleri fasa fiso :)

1 gelirse sayaç 300 bps ile, 2 gelirse 600 bps, 3 gelirse 2400 bps, 4 gelirse 4800 bps, 5 gelirse 9600 bps, 6 gelirse 19200 bps olarak haberleşme devam ettirilecek.

3. Ardından Chr$(6) & "050" & vbCrLf gönderelecek ve bu gönderiden sonra mscom ayarları 2. aşamadaki hıza çıkartılacak. Makel de 5 geldiği için "9600,e,7,1" olacak.

4. Sayaçtan bilgiler dökülmeye başlayacak ve gelen bilgiler textboxa yazdırılacak.

Şu an buraya kadar herşey başarılı. Ancak takıldığım bölüm sayaçtan aldğım bilgiler;

0.0.0(14655158)
0.8.0(15*min)
0.9.1(10:41:24)
0.9.2(15-05-11)
0.9.5(1)
1.8.0(00000.000*kWh)
1.8.1(00000.000*kWh)
1.8.2(00000.000*kWh)
1.8.3(00000.000*kWh)
1.8.4(00000.000*kWh)

şeklinde devam ediyor. Benim istediğim bu bilgileri her satır için ayrı ayrı oluşturduğum textboxlara yazdırması. Mesela ilk satırı parantez dışındakiler ile parantez içindekileri ayrı olarak textboxlara yazdırmak. 0.0.0 ayrı bir textboxa, 14655158 ayrı bir textboxa... Bu konda yardımcı olabilecek varsa çok memnun olurum.

Yaptığım çalışmanın kaynak kodlarını forum içinden isteyenler ile paylaşabilirim.

kaynak kodları paylaşırsanız sevinirim yada pm atarsanız.
teşekürler
 

Forum istatistikleri

Konular
129,852
Mesajlar
930,756
Kullanıcılar
452,706
Son üye
nurbay aktaş

Yeni konular

Çevrimiçi üyeler

Geri
Üst