Sending data to UDP Receive Block Simulink

2 次查看(过去 30 天)
Hey! I need to send data (two rotation matrix) through UDP port. The size of my data is a 3x6 matrix and i'm using this code to send it to a UDP Receive Block on Simulink:
host='192.168.135.240';
port='3333';
echoudp('on',3333);
u=udp(host,3333);
fopen(u);
a=rand(3,3);
b=ones(3,3);
data=[a b];
fwrite(u,data(:),'double');
fclose(u);
delete(u);
clear('u');
echoudp('off');
I do receive the data on my UDP receive block and display them in the simulink model, but my problem is that i need to run three times the mfile before the data are shown on the display. The block parameters in the simulink model are shown in figure.
Have you any idea how to solve this problem? Thank you!

采纳的回答

Mahesh Pai
Mahesh Pai 2017-3-29
编辑:Mahesh Pai 2017-3-29
It is my understanding that you need to send a UDP packet multiple times for successfully receiving it on the other machine. The configuration you have mentioned above looks correct. The below document mentions some troubleshooting steps for the UDP interface in MATLAB:
The troubleshooting document also mentions that UDP is not a reliable protocol and packets can be dropped. You may need to try sending or receiving multiple times.

更多回答(1 个)

m8freckles
m8freckles 2017-3-31
Ok,thank you for your help!

类别

Help CenterFile Exchange 中查找有关 Development Computer Setup 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by