LabVIEW Team Indonesia

cancel
Showing results for 
Search instead for 
Did you mean: 

Mengirimkan hasil data dari labview ke matlab dan menampilkan kembali di labview

Salam

Saya mempunyai hasil data di LabVIEW, setelah itu saya ingin mengirimkan data tersebut ke Matlab, saya sudah mencoba menggunakan matlab script dan mathscript tapi terdapat beberapa bagian yang tidak di mengerti (error) padahal kalau dijalankan di matlab, program tersebut bisa di jalankan..

Saya membaca beberapa artikel dan banyak yang mengatakan untuk mencoba menggunakan TCP/IP, tapi saya kurang mengerti ttg TCP/IP ini, saya sudah coba lihat example yang di LabVIEW dan masih kurang mengerti bagaimana menggunakan TCP/IP untuk mengirimkan data dari LabVIEW ke Matlab dan menampilkan kembali ke LabVIEW..

Mohon bantuan dan penjelasannyaa...

terima kasih banyak..

0 Kudos
Message 1 of 10
(6,904 Views)

waalaikumsalam ulan,

kalau di sudut pandang saya, jangan dua software lempar2an data. Ada kekurangannya:

1. Lambat. Running LV dan MATLAB sama-sama itu menyiksa PC

2. Delay/Jitter. Data yang mengalir antara dua software tidak akan real-time, karena banyak delay.

memang Mathscript tidak sempurna seperti MATLAB, beda waktu development. Tapi setahu saya 95% lebih fungsi standar MATLAB disupport kok. Bisa di share m-filenya? dan LabVIEW yang dipakai versi berapa?

LabVIEW TCP/IP itu mudah. MATLAB TCP/IP itu saya tidak tahu. Prinsipnya kan gampang untuk TCP/IP, ada yang mengirim, ada yang menerima. Jadi kalau mengirim pakai TCP Write. Kalau menerima pakai TCP Read. Tapi saya belum pernah dengan ada yang pakai TCP/IP untuk transfer data antara software. Agak aneh sih. Karena TCP/IP tujuannya untuk networking atau share data dalam network, bukan dalam 1-pc, walaupun secara teori bisa.

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

function [Kin_Input_Features] = Compute_Kin_Features(Leg,knee_angle, knee_rot, knee_aad)

% knee_angle - A vector representing the Flexion/Extension of knee for one gait cycle computed using LABVIEW

% knee_rot - - A vector representing the Internal/External Rotation of knee for one gait cycle computed using LABVIEW

% knee_aad - A vector representing the Abdcution/Adduction of knee for one gait cycle computed using LABVIEW

if (Leg==0) % Left Leg

    ushifted_knee = -knee_angle;

    ushifted_kneer = -knee_rot;

    ushifted_kneea = knee_aad;

elseif (Leg==1) % Right Leg

    ushifted_knee = knee_angle;

    ushifted_kneer = knee_rot;

    ushifted_kneea = -knee_aad;

end

% Percentages of the Gait Cycle (GC) Phases

start_1=0;

end_1=length(knee_angle)-1;

diff=end_1-start_1;

s(1) = start_1;

e(1) = round(start_1+diff*10/100);

s(2) = e(1)+1;

e(2) = round(start_1+diff*30/100);

s(3) = e(2)+1;

e(3) = round(start_1+diff*50/100);

s(4) = e(3)+1;

e(4) = round(start_1+diff*60/100);

s(5) = e(4)+1;

e(5) = round(start_1+diff*73/100);

s(6) = e(5)+1;

e(6) = round(start_1+diff*87/100);

s(7) = e(6)+1;

e(7) = round(start_1+diff*100/100);

% Compute RMS, MAX and STD parameters for each phase of the GC

knee_rms=0;

knee_max=0;

knee_std=0;

kneer_rms=0;

kneer_max=0;

kneer_std=0;

kneea_rms=0;

kneea_max=0;

kneea_std=0;

for jj=1:7

    knee_rms(jj) = sqrt(mean((ushifted_knee(s(jj):e(jj))).^2));

    knee_std(jj) = std(ushifted_knee(s(jj):e(jj)));

    knee_max(jj) = max(ushifted_knee(s(jj):e(jj)));

    kneer_rms(jj) = sqrt(mean((ushifted_kneer(s(jj):e(jj))).^2));

    kneer_std(jj) = std(ushifted_kneer(s(jj):e(jj)));

    kneer_max(jj) = max(ushifted_kneer(s(jj):e(jj)));

    kneea_rms(jj) = sqrt(mean((ushifted_kneea(s(jj):e(jj))).^2));

    kneea_std(jj) = std(ushifted_kneea(s(jj):e(jj)));

    kneea_max(jj) = max(ushifted_kneea(s(jj):e(jj)));

end

KGC_data = [knee_rms,knee_std, knee_max, kneer_rms,kneer_std, kneer_max,kneea_rms,kneea_std, kneea_max];

Kin_Input_Features = KGC_data;

Bagian yang saya blod gak bisa di LabVIEW-nya mas.. error gitu..

Saya pakai LabVIEW 2013..

saya liat di sini mas >> https://www.youtube.com/watch?v=LLeazR5nNUs

tapi dia ngirim data aja ke matlab tapi enggak dibalikin lagi ke LabVIEW, tp setelah saya coba-coba masih tidak bisa..

0 Kudos
Message 3 of 10
(5,290 Views)

yang tcp/ip nanti dulu. saya tidak punya matlab terinstall untuk mencoba.

untuk mathscriptnya dulu, ulan bisa kasih contoh input yang digunakan di fungsi di atas? maksudnya contoh input, input seperti apa yang diharapkan atau yang valid untuk variable dibawah ini?

Leg

knee_angle

knee_rot

knee_aad

biar saya coba trace function-nya.

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

kalau untuk Leg inputnya hanya angka 0 atau 1..

Sedangkan untuk knee_angle, knee_rot, knee_aad inputnya berupa bilangan real..

contohnya untuk knee_add

0.749

0.434

0.176

-0.023

-0.165

-0.252

-0.285

-0.265

-0.194

-0.075

0.091

0.301

0.552

0.842

1.169

1.530

1.920

2.339

2.782

3.248

3.731

4.230

4.742

5.264

5.792

6.325

6.859

7.392

7.921

8.443

8.957

9.461

9.952

10.429

10.889

11.333

11.758

12.162

12.547

12.910

13.251

13.570

13.867

14.142, dst


0 Kudos
Message 5 of 10
(5,290 Views)

sepertinya tipe data, knee_angle, knee_rot, knee_aad berbentuk bilangan real dalam array

bisa beri contoh input dan output yang valid seperti apa ? copas saja dari matlab

misal:

Leg = 1

knee_angle = [ 0.749 0.434 0.176 -0.023 -0.165]

......

Kin_Input_Features = [0 1 2  3 4]

0 Kudos
Message 6 of 10
(5,290 Views)

tadi setelah saya coba sudah bisa untuk yg program matlab ini.. saya hapus bagian function dan di bagian

for jj=1:7

    knee_rms(jj) = sqrt(mean((ushifted_knee(s(jj):e(jj))).^2));

    knee_std(jj) = std(ushifted_knee(s(jj):e(jj)));

   dst.....

sudah bisa di LabVIEW..

Tapi, saya mencoba satu program lagi tapi sampai sekarang belum bisa.. 

......

svl=VL(s(j):e(j));

[cvl,lvl] = wavedec(svl,5,'db4');

ca5_vl = appcoef(cvl,lvl,'db4',5);

cd1_vl = detcoef(cvl,lvl,1);

cd2_vl = detcoef(cvl,lvl,2);

cd3_vl = detcoef(cvl,lvl,3);

cd4_vl = detcoef(cvl,lvl,4);

cd5_vl = detcoef(cvl,lvl,5);

 

MAV_ca5_vl=mean(abs(ca5_vl));

MAV_cd1_vl=mean(abs(cd1_vl));

MAV_cd2_vl=mean(abs(cd2_vl));

MAV_cd3_vl=mean(abs(cd3_vl));

MAV_cd4_vl=mean(abs(cd4_vl));

MAV_cd5_vl=mean(abs(cd5_vl));

STD_ca5_vl=std(ca5_vl);

STD_cd1_vl=std(cd1_vl);

STD_cd2_vl=std(cd2_vl);

STD_cd3_vl=std(cd3_vl);

STD_cd4_vl=std(cd4_vl);

STD_cd5_vl=std(cd5_vl);

   

lt=(e(j)-s(j)+1)*(1/SR);

[Eavl,Edvl] = wenergy(cvl,lvl);

POW_ca5_vl=Eavl/lt;

POW_cd1_vl=Edvl(1)/lt;

POW_cd2_vl=Edvl(2)/lt;

POW_cd3_vl=Edvl(3)/lt;

POW_cd4_vl=Edvl(4)/lt;

POW_cd5_vl=Edvl(5)/lt; .....................

yang saya bold itu gak bisa baik di mathscript ataupun matlabscript.. padahal bisa di Matlab..

apa ini artinya syntax-nya gak bisa di LabVIEW?

terima kasih

0 Kudos
Message 7 of 10
(5,290 Views)

dear Ulan,

perlu diketahui, yang di cover oleh Mathscript itu adalah fungsi dasar dari MATLAB. Kalau fungsi "wavedec" itu kan dari wavelet toolbox, jadi ini addon terhadap MATLAB. Fungsi seperti ini tidak semua disupport oleh Mathscript. Jadi kalau tidak di support ya error seperti itu.

alternatifnya menggunakan fungsi Wavelet dalam LabVIEW.

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

Oo begitu mas..

Iya ini saya mencoba menggunakan fungsi wavelet yg di LabVIEW..

Tapi ada satu bagian yang saya cari kok gak ada di fungsi wavelet ya mas?

di matlab saya pake wenergy untuk mengecek enrgi untuk wavelet,

kalau di wavelet LabVIEW saya kok gak nemu ya, atau memang tidak ada?

terima kasih

0 Kudos
Message 9 of 10
(5,290 Views)

wavergy tidak ada di LabVIEW. Yang ada cuma fungsi Wavelet Decomposition.

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