07-23-2020 02:59 AM
Mau bertanya, jadi saya lagi membuat proses mencata data dengan ditampilkan di tabel. Pertama ketika saya tekan tombol start data akan tambil setiap detik di Tabel 1. Lalu saya akan menekan Tombol Logging, data terakhir di tabel 1 akan masuk ke Tabel Logging dan akan terus mencatat setiap detik. Tetapi Tabel 1 tetap akan jalan semestinya.
Masalahnya disini saya ketika menekan tombol logging, data terakhir tabel 1 sudah masuk ke Tabel Logging tetapi tabel 1 prosesnya berhenti dan berpindah ke tabel logging.
Ingin saya Tabel 1 tetap bekerja walaupun tabel Logging saya tekan.
Front Panel
Block Diagram
Solved! Go to Solution.
07-23-2020 09:02 PM
Hi,
Kamu dapat menggunakan arsitektur state machines untuk membuatnya.
http://www.ni.com/tutorial/7595/en/
*Sebaiknya jangan menambahkan while loop di dalam while loop
Agus Yulianto
Certified LaVIEW Developer (CLD)
07-23-2020 11:34 PM
Hi duviky,
Ketika ditekan tombol logging pasti program tidak akan berhenti kecuali anda tekan tombol Stop pada toolbar. Karena ketika tombol loggin di click, program akan menjalankan loop yang paling dalam dan tidak akan stop karena condition terminal loop-nya di sambungkan dengan konstanta FALSE.
Jika ingin solusi simple, saran saya remove aja while loop pada lapis ketiga beserta node wait (ms). Kemudian shift registernya diletakkan di loop ke dua saja.
Note: seperti yang bapak agus sarankan, pakai state machine akan mempermudah pekerjaan bapak.
Reza
haliatech.com
07-24-2020 02:14 AM
Apakah menggunakan state machine bisa parallel Loops ?
Saya ingin Tabel 1 tetap bekerja walaupun tombol loging saya tekan yang akan mengaktifkan Tabel Logging
07-24-2020 02:22 AM
Saya ingin Tabel 1 tetap bekerja walaupun tombol loging saya tekan yang akan mengaktifkan Tabel Logging.
Karena saya menginginkan Tabel Logging ini mengambil data pertama kali dari data terakhir tabel 1 saat saya menekan tombol Logging.
Seperti Gambar dibawah ini.
Tabel 1 data terakhirnya di jam 2:50:06 PM yang akan menjadi data pertama Tabel Logging.
Masalahnya saat itu juga Tabel 1 Berhenti bekerja dan Tabel Logging bekerja setiap detiknya. Tetapi Tabel Logging ini juga isi datanya sama tidak ada perubahan.
Apakah state machine bisa parallel loop ? karena barusan saya coba gagal. Mungkin program state machine saya salah
07-26-2020 02:30 AM - edited 07-26-2020 02:46 AM
Hi,
Sebenarnya berjalan paralel bisa-bisa saja, namun perlu effort lebih dan anda tidak memerlukan itu.
Untuk menyelesaikan masalah anda, anda dapat memisahkan state logging tabel 1 dengan logging tabel 2 ( atau menambahkan state baru). Jadi ketika tombol logging TRUE, dia akan menuju state logging tabel 2 . Jika FALSE maka kembali ke proses awal.
Salam
Reza
haliatech.com
07-26-2020 08:32 PM
apakah seperti ini ?
Sudah saya coba tidak bisa. Saya menginginkan ketika Tombol Logging ditekan Tabel Logging akan berjalan dan Tabel 1 tetap berjalan tidak berhenti
07-27-2020 08:59 PM
hi duviky
Saya kira anda jadi menggunakan konsep state machine.
Jika anda mengikuti saran saya yang pertama, menghilangkan loop yang ketiga (loop rekam data tabel logging). Anda tidak perlu menambahkan case lagi untuk logging table 1 dan tidak perlu fungsi OR untuk table ke dua.
Dari program yang pertama anda buat, saya hanya melakukan perubahan sedikit, antara lain:
1. Menghilangkan loop ke 3.
2. Merubah constant boolean pada condition terminal menjadi control boolean pada loop ke-2 untuk stop logging.
3. Merubah mechanical action tombol Logging menjadi Switch When Pressed.
Note: Anda bisa menguunaka fitur Clean Up diagram (CTRL+U)untuk merapikan block diagram. Untuk mempermudah orang lain membaca program anda.
Reza
07-27-2020 09:21 PM
07-28-2020 01:17 AM