05-05-2014 11:15 AM
hmmm not bad. Tuh VI-nya sedikit lagi beres.
Kalau saya edit VI-nya langsung jawabannya donk, jadi ga belajar nanti. Karena ada character 0A, itu biasanya termination character (setahu saya ya, atau disebut line feed, atau LF). Jadi begini aja, gunakan dua logika:
- Kalau String =empty
ATAU
- Kalau String =0A
maka, jangan lakukan parsing data. Else, lakukan parsing data.
05-05-2014 09:18 PM
nih kak msi ttp ga bisa
sy cm kasih equal aja krna emg ga pernah empty di read buffer kok. tp knp dia msi parsing data ya
apanya yang salah ?
05-05-2014 09:42 PM
kalo dikasih probe "pasti false terus"..... betul nggak? Apa yang dirimu bandingkan?
05-05-2014 09:58 PM
mksdny gmn ? msh bngung . probe tu yg mana sih kak hehe
05-05-2014 10:44 PM
Oke gini saja, banyak kan yang bisa di compare?
Pertama, hasil akan valid jika byte count nya 49.
Kedua, hex yang diparsing akan valid jika depannya sesuai dengan pattern.
Ketiga, jika kamu mau compare jika "hex" A0 maka data tidak valid juga bisa... (ini yang ingin dirimu lakukan)
Dll...
Probe adalah tool yang dipakai untuk mengetahui value yang melewati wire dan cara yang paling mudah untuk memasukannya adalah dengan right click wire yang ingin di probe lalu pilih probe.
SR
05-05-2014 10:50 PM
loh iya ya kok False terus
iya itu kak sy mau compare jika read buffer 0A maka tidak melakukan pharsing data, itu sy make equal = 0A kok msh aja ttp false. yg salah yg mana ya ?
UPDATE : UDA BISA ternyata string yang di equal harus format HEX.
TERIMA KASIH kak suryo kak wisnu
05-05-2014 11:57 PM
ternyata compare byte count hasilnya lebih perfect kak
gada yg naik gada yg turun hehe
05-08-2014 08:59 PM
kak ada mslh lagi nih, kok byte count nya lama kelamaan naik ya gamau turun2, kmrn smpt mau turun.
cb liat video ini, kira2 mslhny dimana ya ? aneh
https://www.dropbox.com/s/0scz8c2c02pgoic/Byte%20Count%20Increase.avi
05-11-2014 07:49 AM
itu masalahnya kalau melakukan:
- if byte count = 49, then VISA Read and Parse Data
- else, do nothing
Artinya bagaimana? misalnya ada suatu ketika, data dalam Serial Buffer menjadi 55, maka tidak akan dibaca menggunakan fungsi VISA Read kan? lalu data berikutnya ada 49, tetapi yang 55 tadi kan belum kebaca, jadi dalam Serial Buffer ada berapa? 55+49= 104, jadi fungsi Byte Count akan menjadi 104. Melihat fungsi program LabVIEW sampeyan, kalay Byte Count = 104, apa yang terjadi? Do Nothing. maka ada lagi data berikutnya datang, ada 49, jadi dalam Serial Buffer sekarang ada berapa? 55+49+49= 153, jadi fungsi Byte Count akan menjadi 153. dan ini akan berulang terus dan terus.
Itulah yang terjadi pada video yang anda berikan. Jadi bukan aneh LabVIEWnya ya, tidak ada yang aneh kok, yang benar memang programnya bekerja seperti itu tapi tidak sesuai keinginan anda.
Solusinya? Bisa banyak. Yang paling cepat, ganti fungsi menjadi
- if byte count = 49, then VISA Read and Parse Data
- else, VISA Read (don't do anything else)
Atau kalau mau rapi ya ikut saran saya sebelumnya.
05-12-2014 11:27 PM
oh begitu, ok2
iya kak, sy pke cara yg sblumny compare string hehe uda bisa
Thanks~