19. Tambahkan fungsi Wait (ms), isi inputnya dengan klik kanan, pilih Create, pilih Constant, isi dengan angka 100. Kemudian hubungkan icon Stop Button ke input Loop Condition.
Gambar 16. Tambahkan fungsi Wait (ms), isi dengan 100, dan hubungkan Stop Button dengan Loop Condition
20. Di Block Diagram, di dalam While Loop, ada Wait (ms) dengan nilai 100 dan Stop Button terhubung dengan Loop Condition.
Gambar 17. Block Diagram berisi While Loop dengan isi fungsi Wait(ms) = 100 dan Stop Button terhubung ke Loop Condition
21. Tempatkan icon Cluster ke dalam While Loop, hubungkan dengan fungsi Cluster to Array, dan kemudian ke fungsi Search 1D Array, dengan input element diberi nilai True constant.
Gambar 18. Hubungkan Cluster dengan fungsi Cluster to Array dan Search 1D Array
22. Ambil Case Structure, dari kategori Structure, dan hubungkan input tanda tanya dengan output Search 1D Array. Secara otomatis label True akan berubah menjadi 1, dan label False, Default akan berubah menjadi 0, Default. Tempatkan objek Pilihan ke dalam While Loop.
Gambar 19. Tempatkan Case Structure, hubungkan ke output Search 1D Array, dan juga tempatkan objek Pilihan ke dalam While Loop
23. Perbanyak Case dengan klik kanan label Case Structure, pilih Add Case After, dan buat secara berturut-turut label 2 hingga 8, kemudian di label 0, klik kanan, pilih Add Case Before, isi label dengan -1, dan klik kanan, pilih Make This The Default Case. Gambar berikut menunjukkan hasil penambahan Case tersebut.
Gambar 20. Pilih Add Case After untuk menambah Case 2 - 8 dari Case 1, dan pilih Add Case Before untuk menambah Case -1 dari Case 0, buat Case -1 menjadi Default Case
24. Tambahkan Shift Register dengan cara klik kanan While Loop, pilih Add Shift Register, kemudian beri nilai awal Shift Register yang kiri dengan Numeric Constant, isi dengan angka -1. Hubungkan Shift Register kiri dengan Shift Register kanan, melalui Case -1 pada Case Structure.
Gambar 21. Tambahkan Shift Register, hubungkan melalui Case -1
25. Untuk Case 0 sampai 8, hubungkan input tanda tanya Case Structure dengan terminal Shift Register yang kanan, melalui terusan (kotak kecil) yang telah dibuat di Case -1. Hubungkan juga objek Pilihan dengan garis Shift Register, dengan tambahan fungsi Increment (+1).
Gambar 22. Untuk Case 0 sampai 8, hubungkan input tanda tanya dengan terminal Shift Register yang kanan, hubungkan juga objek Pilihan dengan garis data Shift Register dengan tambahan increment
26. Tempatkan Play Button di dalam While Loop. Klik kanan Tab Control, pilih Create Local Variable, tempatkan di dalam While Loop. Klik kanan input Local Variable Tab Control, pilih Create Constant, pilih Page-2. Tambahkan Case Structure, dan hubungkan input tanda tanya dengan Play Button. Dengan kode program seperti itu, setiap kali penekanan tombol Play Button akan membuat Tab Control menampilkan Page-2.
Gambar 23. Buat setiap kali tombol Play Button ditekan, Tab Control menampilkan Page-2
27. Berikutnya diinginkan ada tahapan proses sebanyak 10 buah, dengan masing-masing proses memakan waktu 5 detik, atau sama dengan nilai counter 50 untuk interval 100 milidetik. Untuk itu tambahkan Shift Register, beri nilai awal dengan fungsi Initialize Array, dengan nilai element 50 dan dimension size 10. Hubungkan Array Counter ke garis data Shift Register ini.
Gambar 24. Tambahkan Shift Register, dengan nilai awal berupa Array 10 anggota, masing-masing bernilai 10, hubungkan garis data Shift Register ini ke Array Counter
28. Diinginkan, Array Counter mensimulasikan tahapan proses, dengan nilai waktu akan berjalan mundur, dan ketika nilai waktu mencapai 0, maka akan menjalankan proses berikutnya. Untuk membuat hal ini, sisipkan Replace Array Subset pada garis data Shift Register Array Counter. Beri nilai indeks 0, dan new element dengan nilai dari Shift Register yang dikurangi 1 apabila nilainya lebih dari 0.
Gambar 25. Menambahkan fungsi Replace Array Subset, yang nilainya dikurangi 1 mulai dari indeks pertama, dan pengurangan berhenti ketika nilainya sudah mencapai 0
29. Diinginkan pengurangan tidak hanya ketika nilai lebih dari 0, tetapi juga ketika Tab Control menampilkan Page-2. Untuk itu sisipkan fungsi AND, kemudian tambahkan Tab Control, fungsi Equal dan Page-2 constant.
Gambar 26. Buat agar syarat pengurangan tidak hanya ketika nilai yang dikurangi lebih dari 0, tetapi juga ketika Tab Control menampilkan Page-2
30. Agar proses berlanjut ke tahapan berikutnya, tambahkan Shift Register untuk menghasilkan pertambahan nilai indeks, yang akan bertambah 1 ketika nilai waktu di indeks sebelumnya telah mencapai 0.
Gambar 27. Ketika nilai mencapai 0, maka nilai indeks akan bertambah 1 untuk menjalankan proses berikutnya
31. Ketika nilai belum mencapai 0, maka tidak dilakukan penambahan indeks
Gambar 28. Ketika Case False, maka tidak ada penambahan indeks pada garis data Shift Register indeks
32. Jalankan program LabVIEW, tekan tombol Play Button (Start Proses), maka Page 2 muncul, dan Array Counter akan mengurangi angka mulai dari angka di indeks pertama, kemudian setelah mencapai 0, berlanjut ke indeks berikutnya, dan berhenti ketika semua nilai di indeks 0 - 10 telah bernilai 0.
Gambar 29. Jalankan program LabVIEW, tekan tombol Play Button (Start Proses), maka Array Counter akan menghitung mundur, mulai dari kotak pertama, dan ketika mencapai 0, akan berlanjut ke kotak berikutnya
33. Berikutnya, diinginkan angka di Array Counter bervariasi mengikuti pilihan menu jenis kopi, yaitu sesuai dengan Tabel 2. Untuk itu, putus garis data Shift Register Array Counter, lewatkan pada Case Structure di Case -1.
Gambar 30. Putus garis data Shift Register Array Counter, lewatkan di Case -1
34. Di Case 0 (pilihan Ristretto), buat Array Constant, dengan jumlah kotak 10, dengan isi berturut-turut 50,0,50,0,0,0,0,50,0,0 mengikuti Tabel 2. Hubungkan output Array ini dengan terusan data ke garis data Shift Register Array Counter.
Gambar 31. Di Case 0, buat Array Constant, isi dengan data 50,0,50,0,0,0,0,50,0,0
35. Di Case 1 (pilihan Espresso), buat Array Constant, dengan jumlah kotak 10, dengan isi berturut-turut 100,0,100,0,0,0,0,100,0,0 mengikuti Tabel 2. Hubungkan output Array ini dengan terusan data ke garis data Shift Register Array Counter.
Gambar 32. Di Case 1, buat Array Constant, isi dengan data 100,0,100,0,0,0,0,100,0,0
36. Di Case 2 (pilihan Lungo), buat Array Constant, dengan jumlah kotak 10, dengan isi berturut-turut 150,0,150,0,0,0,0,150,0,0 mengikuti Tabel 2. Hubungkan output Array ini dengan terusan data ke garis data Shift Register Array Counter.
Gambar 33. Di Case 2, buat Array Constant, isi dengan data 150,0,150,0,0,0,0,150,0,0
37. Di Case 3 (pilihan Americano), buat Array Constant, dengan jumlah kotak 10, dengan isi berturut-turut 150,0,50,0,0,100,0,50,0,0 mengikuti Tabel 2. Hubungkan output Array ini dengan terusan data ke garis data Shift Register Array Counter.
Gambar 34. Di Case 3, buat Array Constant, isi dengan data 150,0,50,0,0,100,0,50,0,0
38. Di Case 7 (pilihan Vienna), buat Array Constant, dengan jumlah kotak 10, dengan isi berturut-turut 50,0,50,50,100,0,0,50,50,100 mengikuti Tabel 2. Hubungkan output Array ini dengan terusan data ke garis data Shift Register Array Counter.
Gambar 35. Di Case 7, buat Array Constant, isi dengan data 50,0,50,50,100,0,0,50,50,100
39. Di Case 8 (pilihan Cacao), buat Array Constant, dengan jumlah kotak 10, dengan isi berturut-turut 50,50,0,100,50,0,50,0,100,50 mengikuti Tabel 2. Hubungkan output Array ini dengan terusan data ke garis data Shift Register Array Counter.
Gambar 36. Di Case 8, buat Array Constant, isi dengan data 50,50,0,100,50,0,50,0,100,50
40. Berikutnya, agar penambahan indeks tidak berjalan terus-menerus, tambahkan syarat, selain ketika nilai di indeks sebelumnya bernilai 0, juga ketika Tab Control menampilkan Page-2, serta nilai indeks kurang dari 10. Gunakan fungsi Compound Arithmetic, pilih fungsi AND.
Gambar 37. Tambahkan syarat untuk penambahan indeks, yaitu tidak hanya bernilai 0, tetapi juga ketika Tab Control menampilkan Page-2, dan nilai indeks kurang dari 10
41. Agar status proses yang berjalan dapat terlihat, masukkan objek Array Status, tambahkan fungsi Initialize Array dengan element True Constant dan dimension size = 10, Hubungkan output Initialize Array ke Array Status melewati fungsi Replace Array Subset. Beri nilai indeks Replace Array Subset dengan garis data Shift Register indeks, dan nilai new element dengan nilai True.
Gambar 38. Buat agar proses yang sedang berjalan dapat ditampilkan dalam bentuk nyala LED di Array Status
42. Tempatkan Array Status berdampingan dengan Array Counter dan Keterangan Proses, di Page-2, seperti gambar berikut.
Gambar 39. Tempatkan Array Status, Array Counter dan Keterangan Proses di Page-2
43. Ketika proses selesai, diinginkan dapat kembali ke Page-1, untuk itu tambahkan Jump Button, yang diambil dari kategori Silver, Boolean, Buttons, Jump Button. Buat program seperti Play Button, yaitu dengan Create Local Variable Tab Control, kemudian di input Local Variable Tab Control, klik kanan, Create Constant, dan pilih Page-1. Tambahkan Case Structure agar perpindahan ke Page-1 hanya bisa dilakukan ketika tombol Jump Button ini ditekan.
Gambar 40. Tambahkan Jump Button yang akan membuat Tab Control berpindah ke Page-1 setiap kali tombol ini ditekan
44. Diinginkan ada tampilan tulisan "Mesin kopi sedang membuat ..." di mana jenis kopinya bisa mengikuti jenis kopi yang dipilih. Untuk menampilkan jenis kopi yang dipilih, klik kanan objek Pilihan, pilih Create Property Node, pilih Ring Text, pilih Text.
Gambar 41. Agar bisa menampilkan jenis kopi yang dipilih dalam teks, klik kanan objek pilihan, Create Property Node, pilih Ring Text, pilih Text.
45. Tambahkan fungsi Concatenate String, beri input pertama dengan String yang berisi tulisan: "Mesin Kopi sedang membuat ", kemudian di input kedua hubungkan dengan Property Node Ring Text, dan di output dari Concatenate String, klik kanan, pilih Create Indicator.
Gambar 42. Gunakan fungsi Concatenate String untuk menyambung tulisan "Mesin Kopi ini sedang membuat " dengan jenis kopi yang dipilih
46. Berikutnya, di Front Panel, tempatkan objek Ring Picture bergambar kopi Ristretto (berlabel Pengisian), dan juga objek Ring Picture kotak kosong (berlabel Penutup). Tempatkan keduanya saling bertumpuk dengan gambar Penutup di atas gambar Pengisian, tempatkan sesuai posisinya di Page-2. Diinginkan objek Label Penutup ini akan bergerak ke atas, membuka gambar pengisian di bawahnya.
Gambar 43. Di Front Panel, tempatkan gambar Penutup di atas gambar Pengisian, dan tempatkan di Page-2 sesuai posisinya
47. Setelah kedua objek ditempatkan, di Block Diagram, klik kanan icon Penutup, pilih Create Property Node, pilih Position, pilih Top.
Gambar 44. Untuk mengetahui posisi awal dari icon Penutup, klik kanan icon ini, pilih Create Property Node, pilih Position, Pilih Top
48. Klik kanan output icon Top Penutup ini, pilih Create Indicator. Jalankan program LabVIEW dan perhatikan nilai posisi icon Penutup ini di Front Panel.
Gambar 45. Klik kanan output icon Top Penutup, pilih Create Indicator
Gambar 46. Jalankan program LabVIEW, perhatikan nilai Top posisi Penutup
49. Setelah mengetahui nilai posisinya, buat Shift Register untuk posisi penutup ini, beri nilai awal Shift Register ini dengan nilai yang muncul di Front Panel. Buat pengurangan nilai 0.5 ketika nilai indeks mencapai angka 5 hingga 9 (nilai indeks 5 = penuangan air, 6 = penuangan coklat, 7 = penuangan kopi, 8 = penuangan susu, 9 = penuangan krim). Ketika nilai Top objek dikurangi, maka posisinya menjadi semakin ke atas.
Gambar 47. Kurangi nilai Top Penutup dengan 0.5 setiap kali nilai indeks berada di angka 5 sampai 9
51. Ketika nilai indeks di luar angka 5 - 9, maka tidak dilakukan pengurangan pada nilai Top Penutup
Gambar 48. Tidak dilakukan pengurangan apabila nilai indeks tidak berada pada nilai 5 - 9
52. Terakhir, buat fungsi reset (kembali ke nilai awal) untuk Shift Register nilai indeks dan juga Shift Register nilai Top Penutup. Gunakan tombol Play Button mengaktifkan fungsi reset ini, dan gunakan Select untuk pengaturannya.
Gambar 49. Kembalikan ke nilai awal untuk nilai indeks dan nilai Top Penutup, yang akan dilakukan setiap kali tombol Play Button ditekan
53. Agar setiap kali program LabVIEW dijalankan, tampilan Tab Control selalu menampilkan Page-1, buat Tab Control menjadi Indicator, kemudian klik kanan kaki input Tab Control, Create Constant, pilih Page-1. Juga hubungkan Picture Ring Pengisian ke Shift Register pilihan.
Gambar 50. Agar setiap kali program LabVIEW dijalankan, tampilan Tab Control selalu dimulai dari Page-1, klik kanan kaki input Tab Control, Create Constant, pilih Page-1, hubungkan juga Picture Ring ke Shift Register pilihan
54. Untuk memudahkan rekan-rekan dalam pembuatan program di atas, silahkan rekan-rekan bisa mengunduh hasil pembuatan program HMI ini di link ini:
terimakasih sudah menyempatkan diri membuat tutorial yg sangat detail pak
BalasHapusTerimakasih sudah berkunjung
Hapus