1. sayfa (Toplam 1 sayfa)

Getchars Null elde etme

Gönderilme zamanı: 05 Mar 2019, 14:37
gönderen Zek_De
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.

Re: Getchars Null elde etme

Gönderilme zamanı: 05 Mar 2019, 14:42
gönderen Turhan
Kullandığınız GETCHARS komutu ve bu komut ile aldığınız örnek karakter dizisini mesajda paylaşabilirmisiniz?

Re: Getchars Null elde etme

Gönderilme zamanı: 05 Mar 2019, 14:52
gönderen Zek_De
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)

Re: Getchars Null elde etme

Gönderilme zamanı: 05 Mar 2019, 14:54
gönderen Zek_De
HMI'ya gönderdiğim dizi şöyle bişey

AA00000000000000000000000000000000000000000000000000000000000000000000000000000000BB -->0 lar NULL olarak gönderiyorum karakter 0 değil

Re: Getchars Null elde etme

Gönderilme zamanı: 05 Mar 2019, 17:34
gönderen Turhan
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.

getchars.png
getchars_1.png
getchars_2.png