Sending data to UDP Receive Block Simulink
6 次查看(过去 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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/161956/image.png)
Have you any idea how to solve this problem? Thank you!
0 个评论
采纳的回答
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.
0 个评论
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Development Computer Setup 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!