03-25-2013 05:29 AM
Halo semuanya,
Saya mau belajar membuat low pass filter secara manual berdasarkan link ini http://en.wikipedia.org/wiki/Low-pass_filter . Dari link tersebut ada persamaan untuk low pass filter yaitu y = y[i-1] + alfa * (x - y[i-1]) dengan nilai alfa = 0,5. Saya mencoba menggunakan persamaan tersebut di LabView namun tidak ada data yang tampil di grafik akhir. Berikut saya lampirkan file lvm yg saya gunakan dan juga vi yang telah saya buat. Saya bingung kenapa tidak ada data yang tampil ya? Apakah data yang diolah harus diubah menjadi data array terlebih dahulu daripada menggunakan dynamic data?
Trims
Fino
03-25-2013 10:31 PM
Sepertinya memang harus diubah ke array. Kemudian di-index sehingga while loop bisa ber-iterasi sebanyak elemen array.
kemudian kondisi stop harus diubah. Jangan berdasarkan kondisi true-false dari EOF.
03-26-2013 09:50 AM
setuju sama mas chandra. ada dua kesalahan di dalam program anda:
1. while loop nya tidak diperlukan
2. penggunaan DDT (Dynamic Data Type) yang salah --> itu wire yang warna biru tebal. Output dari Express VI pasti DDT.
3. harusnya menggunakan For Loop
Di contoh saya dibawah ini sepertinya jalan dengan baik dan benar:
03-26-2013 08:57 PM
Oh iya menggunakan For Loop lebih simple daripada While Loop untuk kasus ini. Simpelnya kita tidak harus "mengatur syarat" untuk auto-stop aplikasi hehe
03-26-2013 11:10 PM
Terima kasih buat mas Chandra & Pak Krisna buat jawabannya...
Iya ternyata memang harus diubah ke array dulu, saya memang masih agak bingung soal Dynamic Data ini .... Saya sudah coba program saran dari Pak Krisna dan berjalan sesuai yang saya inginkan. Plus, sebelumnya juga saya mencoba menggunakan while loop dan agak ribet memang tapi sepertinya berjalan sama. Terima kasih sekali lagi untuk bantuannya
03-27-2013 12:44 AM
Mas, fino
03-27-2013 03:35 AM
Oiya Mas Chandra soal poin pertama betul juga, jadi lebih sederhana.... untuk poin 2 & 3 nanti juga akan saya coba. Trims mas
03-27-2013 08:46 PM
haha, mas chandra bisa aja.
Betul sekali. jangan pakai Express VI kalau bisa, karena menurut saya ini tidak baik untuk membuat aplikasi yang stabil dan efisien.
sama seperti makan Indomie atau Mie Sedap, segala jenis makanan yang express pasti tidak baik untuk badan kita. Sama seperti Express VI mempengaruhi kesehatan program kita. haha. ngomong apa saya ini
03-27-2013 10:23 PM
Hahaha analoginya lucu pak
Oiya kalo boleh nanya lagi, kenapa kalo pakai ekspress vi kurang stabil dan efisien pak?
03-31-2013 09:26 PM
Express VI dibuat oleh LabVIEW R&D untuk orang yang ga ingin ribet dan ingin cepat dalam programming LabVIEW. Indikasi Express VI, subVInya berwarna biru muda dan datatype nya adalah Dynamic Data Type (DDT).
Masalah pertama, Express VI bisa kita sebut High Level programming. Contoh kalau kita ingin menulis data/string ke dalam File, maka prosesnya adalah:
- buka file
- tulis data.string
- tutup file
Dalam Express VI yang terjadi dalam satu blok adalah ketiga-tiganya, buka file, tulis data/string dan tutup file. Sehingga kalau kita taro Express VI dalam loop, yang terjadi adalah,
buka, tulis, tutup, buka, tulis, tutup, buka, tulis, tutup, dst.
--> ada ketidakefisienan dalam buka dan tutup.
--> lebih efisien kalau buka file di luar loop, tulis data/string di dalam loop dan tutup file di luar loop.
Masalah kedua, Dynamic Data Type. Wah ini masalah, karena dia bukan standard Data Type dalam LabVIEW yang seperti: Boolean, String, Numeric, atau container seperti Cluster, Array, Waveform dll. Dynamic Data Type bisa apa saja dan hanya sumber data yang menentukan tipe apa yang ada di dalam DDT.
--> masalah DDT lah yang terjadi sama VI fino yang pertama.
Semoga membantu. Saya memang orang anti-Express VI