LabVIEW Team Indonesia

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW Nugget of the week - Modbus Communication -

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.

konfig7.png

Certified LabVIEW Developer (CLD)
Certified TestStand Developer (CTD)
Using LabVIEW 8.5.1 (2008) to LabVIEW 2021
0 Kudos
Message 21 of 30
(1,518 Views)

nih kak msi ttp ga bisa

Equal.jpg

sy cm kasih equal aja krna emg ga pernah empty di read buffer kok. tp knp dia msi parsing data ya

Equal 2.jpg

apanya yang salah ?

0 Kudos
Message 22 of 30
(1,518 Views)

kalo dikasih probe "pasti false terus"..... betul nggak? Apa yang dirimu bandingkan?

0 Kudos
Message 23 of 30
(1,518 Views)

mksdny gmn ? msh bngung . probe tu yg mana sih kak hehe

0 Kudos
Message 24 of 30
(1,518 Views)

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

Message 25 of 30
(1,518 Views)

loh iya ya kok False terus

Probe.jpg

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

Message 26 of 30
(1,518 Views)

ternyata compare byte count hasilnya lebih perfect kak

PERFECT Modbus CVM NRG.jpg

gada yg naik gada yg turun hehe

Message 27 of 30
(1,518 Views)

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

0 Kudos
Message 28 of 30
(1,518 Views)

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.

Certified LabVIEW Developer (CLD)
Certified TestStand Developer (CTD)
Using LabVIEW 8.5.1 (2008) to LabVIEW 2021
Message 29 of 30
(1,518 Views)

oh begitu, ok2

iya kak, sy pke cara yg sblumny compare string hehe uda bisa

PERFECT Modbus CVM NRG.jpg

Thanks~

Message 30 of 30
(1,518 Views)