LabVIEW Team Indonesia

cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple connection TCP/IP configuration

Halo semuanya,


Saya baru saja mempelajari LabVIEW dan saat ini saya bekerja pada sebuah proyek pengujian mesin.


Mesin-mesin yang diuji menggunakan hardware NI, terhubung melalui USB ke komputer, semua koneksi berada dalam koneksi lokal. Saat ini ada 15 VI, masing-masing berkomunikasi dengan hardware tunggal. Program utama (main.vi) bertugas memanggil VI untuk tingkat yang lebih rendah (15 VI) berdasarkan script. Saya ingin membuat windows service yang bisa memantau 15 modul tersebut secara terus menerus (windows service ON saat komputer ON, dan terus memantau 15 VI secara kontinu), dan hanya mengirim data ketika main.vi sebagai program utama meminta value (value yang dikirim harus real-time value).

Sebelumnya saya sudah mempelajari bagaimana menggunakan STM dan multi-connection TCP/IP, hanya saja karena jumlah VI yang cukup banyak dan cukup kompleks, saya butuh masukan untuk pengembangan program yang mudah di maintain dan flexible.

N.B : Terlampir current system block diagram dan future system block diagram.

Terima kasih,


Stefan

0 Kudos
Message 1 of 10
(5,548 Views)

interesting.

yang belum dijelaskan, ke 15 VI itu dalam 1 komputer? atau ada 15 komputer dengan VI masing-masing di dalamnya?

bisa diberikan contoh kecil VI yang sudah dibuat seperti apa? biar dapat gambaran.

Certified LabVIEW Developer (CLD)
Certified TestStand Developer (CTD)
Using LabVIEW 8.5.1 (2008) to LabVIEW 2024
0 Kudos
Message 2 of 10
(4,722 Views)

Halo,

15 VI itu ada di dalam satu komputer, masing - masing VI mengakses satu hardware. Jadi ada 15 VI untuk 15 hardware, dengan konfigurasi yang berbeda - beda. Jadi bisa dibilang bahwa projectnya membuat "abstraction layer" yang menjembatani antara VI Hardware, dan VI utama (main.vi). Pembuatan abstraction layer ini agar setiap pertambahan jumlah hardware, saya bisa langsung menambahkan di windows service, daripada satu persatu ke main.vi.

Contoh saya lampirkan di bawah.

ai_cont.vi & ai_cont_n.vi adalah hardware VI; main.vi adalah VI utama

Salam,

Stefan

Download All
0 Kudos
Message 3 of 10
(4,722 Views)

1. keren, sudah pakai FGV walaupun tidak terlihat seperti apa didalamnya

2. banyak missing VInya mas, saya tidak bisa lihat programnya, terlalu banyak missing VI

Coba buka main.vi, pilih Save As, lalu pilih Duplicate Hierarchy to new location. Agar semua subVInya terbawa.

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

pertanyaan saya pertama:

1. kenapa harus windows service?

2. konsep abstraksi hardware itu menarik. baru kali ini saya ketemu orang indo yang kepikiran Pertanyaan saya, 15 hardware ini sama persis secara model dan merk? Kalau iya, ini sangat mungkin sekali. Kalau tidak sama, ini susah, maka pendekatan harus via OOP.

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

Halo Mas Khrisna Wisnu,

Terimakasih atas replynya. Saya akan coba save VInya besok pagi.

Untuk pertanyaannya :

1. Windows service itu kan mulainya ketika komputer juga mulai mas, jadi pikiran saya, jika di bagian production start testing, mereka tidak harus otak-atik komputer. Jadi begitu start komputer, semua sistem otomatis ON. Nah, kalau dikaitkan dengan HAL, HAL inilah yang jadi windows service, jadi HAL monitor module2 untuk hardware (15 VI ini) di background, dan ketika main.vi start, otomatis recognize dan HAL transfer realtime data dari 15 VI ini.

2. Semuanya sama, karena semua dari analog values saja, dan semuanya menggunakan NI cDAQ. Ada ide jika menggunakan HAL ini bisa mempermudah sistem, apalagi ketika hardware ini bertambah jadi 20,30,40 dst, jadi daripada saya otakatik dari main.vi, lebih baik saya otakatik dari HAL yang tentunya lbh mudah. Selain itu juga, sistem ini bukan hanya di satu komputer, jadi misalkan ada 10 komputer dan ada 20 hardware baru, maka saya harus re-arrange masing2 VI sebanyak 10 komputer x 20 hardware (200 kali). Jadi semestinya jauh lbh mudah.

Sekali lagi terimakasih untuk jawabannya. Have a good weekend

Salam,

Stefan

0 Kudos
Message 6 of 10
(4,722 Views)

terakhir, datanya single-point atau continuous (streaming)? Maksud continuous disini, data harus tersample secara berurutan. Kalau single-point, cuma last data saja.

Certified LabVIEW Developer (CLD)
Certified TestStand Developer (CTD)
Using LabVIEW 8.5.1 (2008) to LabVIEW 2024
0 Kudos
Message 7 of 10
(4,722 Views)

Iya mas Khrisna, datanya continous. Jadi dari module yang baca hardware baca terus menerus, begitu tersambung ke server, server terima data real-time streaming.

0 Kudos
Message 8 of 10
(4,722 Views)

ini coba lihat referensi saya:

1. main memanggil slave (segala VI) yang ada di folder slave

2. main menerima data dari setiap slave menggunakan "Queue", menjamin kalau data continuous, tidak ada yang hiilang

3. main menghentikan slave VI dengan global variable stop (mungkin metode ini perlu diganti ke depannya)

intinya, main sudah terpisah dengan slave. Merubah atau menambah slave tidak mengubah main program.

Certified LabVIEW Developer (CLD)
Certified TestStand Developer (CTD)
Using LabVIEW 8.5.1 (2008) to LabVIEW 2024
0 Kudos
Message 9 of 10
(4,722 Views)

Selamat siang Mas Khrisna,

Terimakasih atas jawabannya, sebelumnya saya minta maaf karena baru bisa reply, NI kemarin websitenya sedang maintainance, jadi saya tidak bisa buka.

Saya sudah save main.vi seperti saran Mas Khrisna. Saya lampirkan di bawah.

Salam,

Stefan

0 Kudos
Message 10 of 10
(4,722 Views)