Merhabalar,
başka bir cihazdan aldığım xxx tane veri var ve içlerinde null değerlerde duruma göre fazla olabiliyor.Getchars ile null dan sonra gelen değerleri alamıyorum iletişim kesiliyor.Buna nasıl çözüm getiriyorsunuz. Teşekkürler.
Önemli Bilgilendirme!
Forum sayfamızdan sınırsız faydalanmak için kullanıcı kaydı oluşturup giriş yapmalısınız. Özellikle mesaj eklentileri, linkler kullanıcı girişi yapmazsanız görüntülenmeyecektir. Aşağıdaki linke tıklayarak üye değilseniz kullanıcı oluşturabilirsiniz.
https://destek.delta-turkey.com/ucp.php?mode=register
Forum sayfamızdan sınırsız faydalanmak için kullanıcı kaydı oluşturup giriş yapmalısınız. Özellikle mesaj eklentileri, linkler kullanıcı girişi yapmazsanız görüntülenmeyecektir. Aşağıdaki linke tıklayarak üye değilseniz kullanıcı oluşturabilirsiniz.
https://destek.delta-turkey.com/ucp.php?mode=register
Getchars Null elde etme
- Zek_De
- Mesajlar: 3
- Kayıt: 05 Mar 2019, 14:35
- İletişim:
- Durum: Çevrimdışı
- Turhan
- Mesajlar: 8438
- Kayıt: 07 Mar 2018, 16:06
- Konum: İstanbul
- İletişim:
- Durum: Çevrimdışı
Re: Getchars Null elde etme
Kullandığınız GETCHARS komutu ve bu komut ile aldığınız örnek karakter dizisini mesajda paylaşabilirmisiniz?
DELTA Electronics Turkey
Forum mesajlarınız, kullandığınız ürünlere ait tam model kodları ve detaylı teknik açıklamalar içermelidir.
Forum mesajlarınız, kullandığınız ürünlere ait tam model kodları ve detaylı teknik açıklamalar içermelidir.
- Zek_De
- Mesajlar: 3
- Kayıt: 05 Mar 2019, 14:35
- İletişim:
- Durum: Çevrimdışı
Re: Getchars Null elde etme
Tabiki buyrun,
CLEARCOMBUFFER(0,0)
$4=INITCOM(0,0,1,0,0,12,0)
SELECTCOM(0)
FILLASC($1,"AA")
FILLASC($2,"BB")
FILLASC($3,"CC")
#FILLASC($300,"00000000000000000000000000000000000000000000000000000000000000000000000000000000")
$300 = $1
$301 = $3
$339 = $2
$4 = GETCHARS($500, 80,50)
IF $500 == $1
IF $539 == $2
#yankı yaparak verinin doğrulunu onaylat
$4 = PUTCHARS($500, 80, 50)
BMOV($400,$500, 40)
BMOV($99,$500, 40)
#$400 ve $439'u değiştirerek
#sürekli buraya girişi engelle
FILLASC($500,"--")
FILLASC($539,"--")
ENDIF
ENDIF
#yankı işlemi sonrası olağan veri
#akışına devam et
$4 = PUTCHARS($300, 80, 50)
CLEARCOMBUFFER(0,0)
CLEARCOMBUFFER(0,0)
$4=INITCOM(0,0,1,0,0,12,0)
SELECTCOM(0)
FILLASC($1,"AA")
FILLASC($2,"BB")
FILLASC($3,"CC")
#FILLASC($300,"00000000000000000000000000000000000000000000000000000000000000000000000000000000")
$300 = $1
$301 = $3
$339 = $2
$4 = GETCHARS($500, 80,50)
IF $500 == $1
IF $539 == $2
#yankı yaparak verinin doğrulunu onaylat
$4 = PUTCHARS($500, 80, 50)
BMOV($400,$500, 40)
BMOV($99,$500, 40)
#$400 ve $439'u değiştirerek
#sürekli buraya girişi engelle
FILLASC($500,"--")
FILLASC($539,"--")
ENDIF
ENDIF
#yankı işlemi sonrası olağan veri
#akışına devam et
$4 = PUTCHARS($300, 80, 50)
CLEARCOMBUFFER(0,0)
- Zek_De
- Mesajlar: 3
- Kayıt: 05 Mar 2019, 14:35
- İletişim:
- Durum: Çevrimdışı
Re: Getchars Null elde etme
HMI'ya gönderdiğim dizi şöyle bişey
AA00000000000000000000000000000000000000000000000000000000000000000000000000000000BB -->0 lar NULL olarak gönderiyorum karakter 0 değil
AA00000000000000000000000000000000000000000000000000000000000000000000000000000000BB -->0 lar NULL olarak gönderiyorum karakter 0 değil
- Turhan
- Mesajlar: 8438
- Kayıt: 07 Mar 2018, 16:06
- Konum: İstanbul
- İletişim:
- Durum: Çevrimdışı
Re: Getchars Null elde etme
Aşağıdaki makro komutları ile test ettiğim kadarı ile HMI "AA BB" gibi bir karakter dizisi ile(Boşluklar için H00 Null karakterini kullandım.) "AA000000BB" karakter dizisini sorunsuz okuyabiliyor.
Makro komut satılarınıza gözattığımızda $4 = GETCHARS($500, 80,50) komut satırında 80Byte'lik karakter dizisini 50ms. içerisinde alma işlemi tamamlayamadığınız için HMI time out'a düşüyor olabilir. Time out süresini büyük bir değer tanımlayıp karakter dizisini almayı deneyebilirsiniz.
Makro komut satılarınıza gözattığımızda $4 = GETCHARS($500, 80,50) komut satırında 80Byte'lik karakter dizisini 50ms. içerisinde alma işlemi tamamlayamadığınız için HMI time out'a düşüyor olabilir. Time out süresini büyük bir değer tanımlayıp karakter dizisini almayı deneyebilirsiniz.
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
DELTA Electronics Turkey
Forum mesajlarınız, kullandığınız ürünlere ait tam model kodları ve detaylı teknik açıklamalar içermelidir.
Forum mesajlarınız, kullandığınız ürünlere ait tam model kodları ve detaylı teknik açıklamalar içermelidir.