MATLAB Answers


TCP/IP communication using Simulink- blocs (send/receive) under Real- Time Windows Target

Asked by Juri
on 27 Mar 2013

Hello community,

I try to connect two PC using Simulink Blocks TCP/ IP send and receive. The Problem is, that I need this communication in Real- Time. I know, that this is not really possible with TCP/ IP, but if it can run under RTWT, then it would have a lower interupt mask and this would be enough for me.

I'm able to applicate the communication under the "Generic Real- Time Target" code generation. If I choose "Real- Time Windows Target", then everything is fine and i get the information:"Successful completion of build procedure for model: **"

The Problem is, that the receive- block has no Data containing and so the scope plots "0" and Matalb displays:"Warning: Simulink cannot upload data to 'sinuskurve/IP Receive' because it has no input ports". With wireshark I can detect, that Data between the two Systems is transmitted.

Now my question: Why there is no Input in the receive- bloc although there is a communication and how can I fix this problem?

I hope there is someone out there, who solved such a problem and can give me advises for my project. By the way: my Matlabversion is 2012b.

Best regards

Juri Romanez


Log in to comment.

1 Answer

Answer by Jan Houska
on 28 Mar 2013
 Accepted Answer

The IP Send and IP Receive blocks are not usable in Real-Time Windows Target. Instead, please try to use blocks from Real-Time Windows Target library - either Packet or Stream I/O (based on your data format) and the UDP driver.


Thanks for the answer. I managed to create a communication with the blocks from the RTWT library.

Sorry, that I didn't describe the whole problem. I need to communicate by sending XML- strings. The aim is, to control a KUKA robot with RTWT over RSI- XML. For that I need to send and receive XML- Data with TCP/IP or UDP.

The packet in- and output -block seems to send and receive unformatted binary data. That is a good sign. The question is: Can I send and receive char strings with this blocks? Can you tell me, if this has a chance to succeed? Or do you know, how to send char strings with the usage of this RTWT blocks?

Thanks for help.

Use Stream Input and Output blocks instead. They are designed for formatted text data and are better suited for XML. Please see the rtstreamio example.

Log in to comment.

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today