06-22-2014 10:43 AM
Selamat malam dan salam kenal,
Saat ini saya sedang mengerjakan tugas akhir yang menggunakan arduino dan membutuhkan GUI, dan memutuskan menggunakan labview untuk membuat GUInya. Saya baru belajar sekitar 2 minggu dengan referensi buku Dian Artanto (bukunya sangat membantu:)). FYI, Labview saya gunakan untuk monitoring sensor2 dan memberikan nilai pada variabel di arduino (nilai tersebut saya simpan pada memory external i2c 24c256)
Nah yang jadi pertanyaan saya adalah Bagaimana membuat pop up window/menu pada labview? seperti misalnya pada word jika kita memilih menu page setup, window page setup akan muncul.
kondisinya saya sudah googling(dan nemunya cmn org2 ngasih contoh proyek mereka) dan melihat contoh2 dari example finder, tapi saya masih ga ngerti cara bikinnya karena meskipun ada penjelasan, saya masih gatau step2 jelasnya.
Sekalian pertanyaan lain.
-saat pertama kali menyambungkan labview pada arduino gagal timbul tulisan (Error 1 occurred at Property Node (arg 1) in VISA Configure Serial Port (Instr).vi->Untitled 1.vi) , sedangkan berhasil pada percobaan kedua, baru bisa. (jadi harus dirun matiin sekali dulu). Kenapa ya kira2?
-apa pertimbangan menggunakan komunikasi arduino dengan firmata dengan pakai visa biasa. Kalau saya sih prefer visa biasa karena lebih paham.
-adakah yang berkenan apabila saya tanyakan secara pribadi apabila saya ada pertanyaan(bisa pertanyaan mungkin sepele atau sulit) biar saya juga lebih mudah paham
Terima kasih
06-22-2014 09:47 PM
Bagaimana membuat pop up window/menu pada labview?
--> pop up window yang simple, bisa pakai dialog box saja, sama seperti MsgBox kalau dibahasa C dan VB:
Atau kalau mau pilih yang lebih customized, maka kita gunakan SubVI (VI di dalam VI yang lain disebut dengan SubVI) dengan property Dialog "di-enable-kan". Kalau kurang mengerti tentang SubVI, silahkan disearch di ni.com dulu.
- SubVI Popup 2013 --> untuk LV versi 2013
- SubVI Popup 8.6 --> untuk LV versi dibawah 2013 dan di atas 8.6
Untuk menggunakan VI tersebut, buka Blank VI, lalu letakkan VI SubVI Popup 2013.vi ke dalam Block Diagram, lalu Run.
Untuk membuat VI yang popup seperti itu, maka pastikan VI Properties dari VI tersebut diset menjadi Dialog
Maaf, pertanyaan seputar LIFA atau Arduino saya tidak berkompeten untuk menjawab. Tapi yang bisa saya jawab:
-apa pertimbangan menggunakan komunikasi arduino dengan firmata dengan pakai visa biasa. Kalau saya sih prefer visa biasa karena lebih paham.
--> untuk yang tidak fasih programming Arduino secara low level dan tidak fasih dengan komunikasi Serial Port di Arduino dan LabVIEW, maka LIFA sangat berguna. Kalau fasih dikeduanya, pakai saja low level VISA. LIFA lahir agar orang tidak usah susah payah belajar Serial Port dan C untuk menggunakan Arduino dengan LabVIEW.
-adakah yang berkenan apabila saya tanyakan secara pribadi apabila saya ada pertanyaan(bisa pertanyaan mungkin sepele atau sulit) biar saya juga lebih mudah paham
--> inilah gunanya forum ini. Tidak ada pertanyaan sepele atau salah, yang salah adalah dengan tidak bertanya atau diam dikala ada sesuatu yang mengganjal.
Semoga berguna.
06-23-2014 05:38 AM
terima kasih pak atas responnya
saya sudah mencoba attachment bapak. kalau misalnya di .vi utama ada tombol kemudian muncul pop up window bagaimana caranya ya pak? saya mencoba pakai case structure di control pake push button, bisa, namun sepertinya tidak elegan . maksud pertanyaan saya adalah karena contoh2 yang saya dapat dari forum2 tidak menggunakan cara saya
pertanyaan lain bagaimana mengatur agar pop up menu dipanggil lewat run time menu? dan bagaimana misal di run time menu tersebut saya ingin menyisipkan exit?
terima kasih sekali lagi.
06-23-2014 10:30 AM
wah, di LabVIEW pilihan if-else itu cuman Case Structure sama Select? saja. Soal elegan atau tidak elegan bergantung dari penggunaan desain-pattern (State Machine, Producer Consumer). Mungkin bisa kasih referensi forum2 yang anda temukan? Biar sama-sama belajar.
Run Time Menu maksudnya yang ada di kiri atas berupa "File", "About", dll? Kalau yang dimaksud run time menu tersebut, ada dua flavor:
1. built-in LabVIEW: http://digital.ni.com/public.nsf/allkb/17803AA31C8C07C986256CFD0080D609
2. pakai .NET: https://decibel.ni.com/content/groups/ui/blog/2012/09/02/toolstrip-toolkit-for-labview-net
Saya sendiri suka pakai yang .NET karena lebih menarik. Kalau mau tambah exit gampang kok, jadinya seperti tombol dan dihandle sebagai event structure dalam coding.
semoga berguna.
06-29-2014 03:57 AM
maaf saya baru balas
jadi dari contoh pop up yang dapat mereka menggunakan event, yang mana saya sama sekali belum mengerti cara pakainya. mungkin sedikit penjelasan lagi pak
pertanyaan lain mungkin pak.
bagaimana cara mengirim bilangan real lewat serial ya? terutama melalui table.
saya sudah coba-coba, trik yang saya gunakan adalah misal dari array bertipe single presicion(32bit) saya kalikan dengan 100 kemudian saya ubah menjadi tipe long(32bit) kemudian saya ubah dengan typecast lalu dikirim. nanti di arduinonya saya baca sebagai tipe long(32bit) dan diubah ke float dan dibagi 100 lagi berikut saya lampirkan hasil coba2 saya
apakah ada cara lain?
terutama apabila saya ingin menggunakan table sebagai user inputnya.
masalahnya adalah table bertipe string array 2D, tidak bisa dikalikan 100. selain itu klo saya tahu caranya nantinya saya jadi mengerti cara mengolah data dari table
terima kasih
06-29-2014 04:36 PM
maaf saya baru balas
jadi dari contoh pop up yang dapat mereka menggunakan event, yang mana saya sama sekali belum mengerti cara pakainya. mungkin sedikit penjelasan lagi pak
pertanyaan lain mungkin pak.
Sekedar mengomentari saja ya. Event Structure ayng digunakan itu untuk menangkap segala aktivitas user terhadap Front Panel, misalnya, user menekan tombol A, maka program bereaksi sesuatu. Atau misalnya menggerakkan mouse mendekati tombol A, maka program bereaksi sesuatu.
bagaimana cara mengirim bilangan real lewat serial ya? terutama melalui table.
saya sudah coba-coba, trik yang saya gunakan adalah misal dari array bertipe single presicion(32bit) saya kalikan dengan 100 kemudian saya ubah menjadi tipe long(32bit) kemudian saya ubah dengan typecast lalu dikirim. nanti di arduinonya saya baca sebagai tipe long(32bit) dan diubah ke float dan dibagi 100 lagi berikut saya lampirkan hasil coba2 saya
apakah ada cara lain?
Kalau saya lebih prefer seperti ini:
data real (atau double-precision, DBL) --> gunakan Fungsi Number to Fractional String (bisa gunakan input width untuk membatasi jumlah digit yang digunakan)--> data dikirim via VISA Write
Nanti di arduino, tinggal dibaca saja String-nya, lalu konversikan ke real kembail dengan melihat data tersebut, cari tanda koma atau titik sebagai pemisah antara satuan dan pecahan.
terutama apabila saya ingin menggunakan table sebagai user inputnya.
masalahnya adalah table bertipe string array 2D, tidak bisa dikalikan 100. selain itu klo saya tahu caranya nantinya saya jadi mengerti cara mengolah data dari table
Kalau ini sedikit tricky, karena datatipe di LabVIEW dan di Arduino berbeda, jadi kita harus gunakan bahasa dan data yang dimengerti keduanya. Saran saya:
--> Kirim data header dulu, misalnya 1-byte, yang mempunyai informasi, berapa row dan berapa column (jadi dua data pertama adalah informasi ROW dan informasi COLUMN)
--> Kirim data satu persatu dahulu, dimulai data ROW(n) dan COLUMN(n), diteruskan dengan ROW(n) dan COLUMN(n+1) dst. Sampai ROW dan COLUMN yang terakhir
--> Nanti di arduino tinggal direconstruct lagi table-nya.
Semoga membantu.
08-30-2014 10:08 AM
malam pak, saya kembali lagi, terima kasih atas jawaban2 sebelumnya .sekarang saya sedang merapikan interface dan otak atik sedikit program saya
saya ingin bertanya
1.bagaimana cara membatasi jumlah data table yang "boleh diisi", table yang dimaksud adalah table string seperti pertantaan sebelumnya. saya menggunakan trik dengan menghide scrollbar dan mensetting properti NumRows dan NumCols menjadi 15 (mengincar 15x15). Tetapi dengan cara ini ukuran tampilannya lumayan makan tempat, sebenernya saya ingin menggunakan scrollbarnya tapi kalau divisiblekan kalau ditekan enter terus jumlah data yang bisa diinput jadi tidak terbatas.
2.karena program saya bertujuan membaca sensor2, maka dibutuhkan pengiriman data dari arduino. namun yang terjadi jika yang dikirim lebih dari satu data(satu data berukuran 2 byte), data yang dibaca terkadang kacau, padahal kalau saya lihat di lcd pembacaannya normal2 saja. solusinya bagaimana ya?
3. setiap saya menyambungkan arduino labview, kalau lama, komputer saya suka kena error blue screen (BSOD). solusinya bagaimana ya?
4.kira kira bisa tidak ya menconnect/disconnect sambungan VISA/serial dengan arduino saat kondisi program masih run? menurut saya bisa tapi saya belum ketemu metodenya
terima kasih sebelumnya kepada KrisnaWisnu atas jawaban2nya selama ini.
berikut saya lampirkan program yang saya susun ulang
09-04-2014 10:49 AM
maaf baru balas, baru sempat buka forum.
1. saya pernah buat contoh table, tapi pas saya buat, table tidak dibatasi. Sekarang saya batasi dengan "Limit Row". Secara logika, saya cek saja, apakah table sekarang row-nya lebih-dari-atau-sama-dengan "Limit Row", kalau iya, row pertama ditable dibuang, lalu data baru dimasukkan ke row terakhir. Contoh terlampir.
2. kalau terkirim lebih dari satu data (satu data=2byte), maka pas VISA READ kan berarti ada 2byte atau 4byte, tinggal hitung saja dulu byte-nya pakai String Length, kalau 2byte ya proses dua, kalau lebih dari dibagi aja datanya.
3. kalau bluescreen saya rasa ada masalah di handshake data di dalam driver USB-RS232nya. Coba reinstall driver FTDI-nya. Kalau saya ga salah pake FTDI secara umum.
4. bisa. Kan ada VISA Open dan VISA Close
kalau masih belum mudeng silahkan tanya lagi.
09-23-2014 09:44 PM
maaf nanya lagi, karena belum mudeng
buat poin satu, contoh yang pak Krisna berikan, saya belum ketemu apa bisa menyelesaikan masalah saya, soalnya kalau dari contoh ibaratnya tiap auto enter itu row paling pertama di delete, kalau saya rencananya kalau row terakhir di enter, tidak nambah row alias tetep di cell situ saja. waktu itu metode saya scrollbarnya dihide tapi karena saya ingin tabelnya tidak besar besar amat ukurannya saya pengen tau kalau scrollbarnya divisible kan apakah bisa rownya dibatasi. Pertanyaan saya juga dimaksudkan buat column juga sih
terima kasih sebesar-besarnya
09-25-2014 09:55 AM
hmmm...
jadi misalnya row terakhir di enter, tetap disitu saja. Maka data baru akan kemana? bagaimana melihatnya?
coba buat gambaran tentang apa yang sampeyan mau.