04-24-2014 02:10 AM
mantab udah bisa kak trnyta hehe, sip2. ternyata editnya satu satu yah.
04-24-2014 02:38 AM
kak nny lagi knp gamau di convert ke decimal outputan dr VISA read kok kyny bukan string ya, aneh gt kebacanya. trus sy cb pake hexadecimal string to number kga mau ke conpret.
https://www.dropbox.com/s/3385ekzg7117cix/Modbus%20NI%20VISAA.vi
kl boleh bantuin edit VI sy kurang apa kak ?
04-24-2014 03:22 AM
Hayo, usaha dulu, hehehe...
Nanti kalo udah mentok baru saya beri ini...
SR
04-24-2014 03:36 AM
loh pakek itu jg bs kak ? hebat, td sy browsing2 ketemu ini nih
http://digital.ni.com/public.nsf/allkb/346E5EA4EEC7160886256ECC00736246
sy jadiin subvi tp bisa jg, mantab boleh jg dcoba nnti,
trus gini kak kan kadang visa read error, nah pas error kan ada delay nya kan, 3 apa 5 detik gt delayny sebel bgt dah. itu bs di skip gak sih kl read visa error ? biar pembacaan lancar ga ngadat2 gt.
04-24-2014 10:10 AM
setelah VISA Write, jangan langsung VISA Read, kasih delay dulu, 100-250ms.
Data mengalir dari PC-->USBRS485-->Modbus-->USBRS485-->PC kan ga instant. Cara-nya, pakai Flat Sequence Structure, taruh Wait(ms) di dalam, letakkan di antara VISA Write dan VISA Read. Pastikan error cluster masuk dan keluar Flat Sequence Structure.
Saran saya jangan pakai String Subset, kenapa, karena posisi bisa beda, tergantung buffer. Pakai Match Pattern.
05-01-2014 09:52 PM
OK kak udah sy pakein Flat Sequence tp kadang masih ada bbrp data yang hilang tuh apakah msh ada kesalahan pada program ? berikut screenshotnya
kadang2 tiba2 data jd bgtu tinggi :
05-01-2014 10:15 PM
Data hilang itu maksudnya yang lompat tiba-tiba ke 0? mohon dijelaskan gambarnya juga, jangan asumsi saya langsung mengerti masalah anda. Kalau ga dijelaskan ya jelas bingung.
Kalau asumsi saya benar, maka itu termasuk hal yang wajar. Kenapa? Karena VISA Read-nya, input "byte count"-nya anda buat 100, artinya dia membaca 100 bytes sampai timeout terjadi. Misalnya, dalam Serial Buffer tidak ada 100 bytes, maka timeout terjadi dan output "read buffer" akan menjadi empty-string, atau kosong, karena memang tidak ada data.
Saran saya, output "read buffer", cek, apakah string-nya kosong? Kalau kosong, tidak usah lakukan proses parsing-data (string subset dan konversi dari string ke number). Gunakan case-structure.
05-02-2014 04:40 AM
iya kak tiba-tiba ke 0, td byte count-ny uda sy pas-in sesuai byte di read buffer, sy rubah jadi 25 nilainya. malah gantian nilai pembacaan read buffer yg jadi terlalu besar.
tp kadang juga loss nilainya jadi 0, kadang2 doang sih ga sesering pas byte count ny 100.
ini kak screenshot nilai pembacaan pada saat nilai terlalu besar ( lihat di write buffer sm nilai volt & ampere )
mksutnya bisa diakalin pake case structer ? jadi kalau nilai >20.000 (misal pembacaan pada amperemeter) tidak akan melakukan proses parsing-data, seperti itu kak ?
05-03-2014 11:54 AM
begini loh logika maksud saya:
1. Baca Serial Port
2. Kalau Serial Port Kosong (empty), maka kembali ke step 1
3. Kalau Serial Port ada isinya (/=empty) maka ke step 4
4. Pisahkan data, Volt, Ampere dan Power
5. Plot data Volt, Ampere dan Power
Tips:
- Gunakan Bytes at Port untuk mengecek bytes yang ada dalam buffer Serial Port, jadi tidak usah kasih fix berapa byte yang harus dibaca
05-05-2014 03:57 AM
gmn sih kak puyeng, kga bs2.
soalny gini kl pembacaan tiba2 0 tu dia engga empty di read buffernya dari VISA Read, msh ada 0A di read buffer. cb cek video ini kak
https://www.dropbox.com/s/st6qs1cbtr72m0m/bandicam%202014-05-05%2015-06-09-546.avi
bs bntu editin VI sy kak yg logikanya kakak itu ? msh pemula blm ngrti struktur2
https://www.dropbox.com/s/ggyhu50l1fx6l4o/Modbus%20CVM%20NRG.vi