LabVIEW Team Indonesia

cancel
Showing results for 
Search instead for 
Did you mean: 

[bertanya] mengosongkan data array 2D

bismillahirrahmaanirrahiim...

Mohon maaf pada semua penghuni forum ini saya merepotkan lagi...

Ingin bertanya, saya membuat sebuah tabel menggunakan data array 2D. Selama waktu beberapa menit yang ditentukan, tabel ini diisikan data, kemudian apabila waktunya telah terpenuhi, data ini di "report" kan di ms. word. Nah, keinginan saya, setelah data ini di "report" kan ke ms. word atau apabila waktu yang ditentukan telah terpenuhi, data array 2D pada tabel menjadi kosong kembali seperti semula, kemudian setelah data array 2D pada tabel tersebut kosong, saya ingin menulis kembali seperti saya mengisikan data pada tabel yang awal.

Sedangkan yang saya alami sekarang adalah apabila waktu sudah selesai, data yang ada tidak terhapus sehingga ketika di "report" kan ke ms.word datanya berlanjut dari data sebelumnya, tidak membuat data yang baru...

kira-kira bagaimana ya? Mohon maaf merepotkan..

Best Regards,,

0 Kudos
Message 1 of 11
(7,341 Views)

Hallo bro,

harusnya masalah ini nggak susah nih bro, tapi lebih baik kalo ada screenshot program nya, jadi buat yang coba bantu bisa lebih ngerti.

Paling gampang sih harusnya bikin inisialisasi array aja, yang biasanya pake array kosong. Contohnya bs diliat disini: http://www.ni.com/white-paper/7571/en/

Tapi kalo pake sistem itu, array nya jadi kosong cuma kalo program nya selesai, stop seluruh .vi, baru dijalankan lagi. (nggak berlaku kalo program tetap berjalan setelah save ke Word, untuk isi data selanjutnya).

Alternativ, bikin sequence aja di belakang block yang untuk save ke Word. Di sequence itu, bikin local variable dari 2D-array nya. Jadi setiap abis eksekusi "save",

langsung data nya dikosongin.

test.png

salam,

Yan.

0 Kudos
Message 2 of 11
(5,548 Views)

maaf gan ini via hh soalnya... nanti ane screen list programnya deh... tp programnya acak2an masih newbie mas bro malu, hehe..

oh gitu kalo cara ngosongin ya gan... tapi itu kalo abis dikosongin data masuk, datanya dari pertama lagi atau cuma ngehapus yg sebelumnya tapi baris tabel ngelanjutin sebelumnya ya??

ane move ke desktop dlu deh mas bro...

0 Kudos
Message 3 of 11
(5,548 Views)

data.PNG

mas bro ini list program ane buat bikin data tabel dari array 2D... terus ke ms.wordnya ane masukin aja tabel 6 ke word easy table nya... kira2 gimana mas bro?

TK 1, 2, 3, 4, itu data dari komunikasi serial dilapangan mas bro... mohon bantuannya mas bro...

0 Kudos
Message 4 of 11
(5,548 Views)

Halo,

 

Saya tidak akan bisa menjawab pertanyaan anda dalam satu reply ini, karena masalah yang anda punya cukup complex. Saya coba pecah dulu masalahnya:

1. Dataflow (Sequencing)

--> coba lihat link ini tentang masalah yang terjadi karena dataflow tidak didesain dengan tepat: https://forums.ni.com/t5/LabVIEW-Team-Indonesia/bagaimana-merekam-dan-menyimpannya-gelombang-di-labv...

2. Local Variable.

--> saya sangat tidak suka Local Variable. Sangat membenci malah. Tidak akan menggunakan Local Variable kalau tidak ada pilihan lain. Kenapa?

  • Local Variable itu mematahkan dataflow dalam LabVIEW
  • Angka atau nilai di dalam Local Variable menjadi unpredictable saat run-time. Jadi logika di otak kita, sama yang terjadi di LabVIEW menjadi tidak sama, walaupun kita berpikir harusnya sama.

 

Saya lagi draft guide untuk state machine, mungkin akan berguna kalau anda lihat nanti. BTW, apakah anda sudah punya flowchart atau state diagram untu aplikasinya?

Certified LabVIEW Developer (CLD)
Certified TestStand Developer (CTD)
Using LabVIEW 8.5.1 (2008) to LabVIEW 2024
0 Kudos
Message 5 of 11
(5,548 Views)

kebetulan program saya buat saya akui sangat acak-acakan pak, karena saya baru sekitar 3 bulan ini memakai LabVIEW. Jadi, konsepnya sangat kurang matang ...

saya menggunakan local variabel dalam sebuah flat sequence pak, apa itu akan mematahkan dataflow?...

saya belum membuat  flowchartnya pak, tapi saya coba buat dulu pak...

0 Kudos
Message 6 of 11
(5,548 Views)

Flat sequence dan local variable adalah godaan setan dalam LabVIEW yang sering menghantui LabVIEW developers. Dua hal ini yang saya paling hindari dalam development LabVIEW, karena mereka cenderung "jalur singkat" dalam LabVIEW. Analogi-nya seperti makan IndoMie terus menerus, pasti ada efek sampingnya

Saran saya, buat dulu flow chartnya, nanti aplikasi LabVIEW akan mengikuti flow chart anda. Saya masih drafting guide#1 untuk State Machine.

Certified LabVIEW Developer (CLD)
Certified TestStand Developer (CTD)
Using LabVIEW 8.5.1 (2008) to LabVIEW 2024
0 Kudos
Message 7 of 11
(5,548 Views)

flow chart data tabel.PNG

ini pak krisna, kurang lebih seperti ini flowchartnya...

ada 4 data yang diinginkan, jadi saya mengirim dan 4 kali pada komunikasi serialnya dan ada 4 data yang ada di tabel ditambah waktu pencuplikan datanya...

oh iya pak terima kasih, ditunggu draft guidenya

0 Kudos
Message 8 of 11
(5,548 Views)

Saya setuju sekali dengan apa yang dikatakan mas Krisna soal local variable dan flat sequence. Sebisa mungkin dihindari karena sangat rentan terhadap race condition yang mengakibatkan pembacaan data menjadi tidak valid.

Sesuai dengan yang disarankan oleh mas Krisna, sebaiknya pake State Machine design pattern. Dengan cara ini akan lebih memudahkan anda ketika akan menambahkan fitur ke dalam program. Untuk referensi State Machines design pattern bisa refer ke sini.

Untuk implementasi dari flow chart ke state machines-nya, setiap proses dan decission making dalam flow chart akan menjadi state, dan anak panah sebagai transition-nya.

Untuk jawaban atas pertanyaan utamanya (megisi dan mengosongkan array), akan sangat mudah jika program anda sudah menggunakan desain pattern diatas. Cukup dengan membuat sebuah shift register 2D Array Data yang akan berfungsi sebagai media penampung data. Kemudian data diisi pada state tertentu (misalnya pada state store to table). Kemudian untuk mengosongkan arraynya cukup dengan membuat sebuah empty 2D array kemudian hubungkan ke terminal input shift register dari 2D Array Data.

Clear 2D Array.PNG

Message 9 of 11
(5,548 Views)

wah2, kudos to taufik.

Good reply. Terimakasih atas kontribusi-nya

Certified LabVIEW Developer (CLD)
Certified TestStand Developer (CTD)
Using LabVIEW 8.5.1 (2008) to LabVIEW 2024
0 Kudos
Message 10 of 11
(5,548 Views)