Main Content

UDP Receive

Receive UDP packet

Add-On Required: This feature requires the Embedded Coder Support Package for AMD SoC Devices add-on.

Description

The UDP Receive block receives UDP packets from an IP network port and saves them to its buffer.

With each sample, the block output the contents of a single UDP packet as a data vector.

  • UDP Receive block

Ports

Outputs

expand all

The UDP Receive block outputs the received UDP packets as an N-by-1 data vector. The Data type for Message and Length parameters set the vector data type and length, N, respectively.

This port is unnamed while Output variable-size signal is enabled.

Data Types: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean

This port outputs the length of the message vector signal on port Message.

This port is hidden while Output variable-size signal is enabled.

Data Types: single

Parameters

expand all

Enter the IP port number on your hardware board that receives UDP data packets.

Note

On Linux®, to set the IP port number below 1024, run MATLAB® with root privileges. For example, at the Linux command line, enter:

sudo matlab

Enter the IP address from which to accept packets. Entering a specific IP address blocks UDP packets from other addresses. To accept packets from any IP address, enter '0.0.0.0'.

Make the receive buffer large enough to avoid data loss caused by buffer overflows.

Enter the maximum length, in vector elements, of the data output vector. Set this parameter to a value equal or greater than the data size of a UDP packet. The system truncates data that exceeds this length.

If you disable Output variable-size signal, the block outputs a fixed-length output the same length as the Maximum length for Message.

Set the data type of the vector elements in the Message output. Match the data type with the data input used to create the UDP packets.

To support signals of varying length in your model, select this parameter. To support fixed-length signals, clear this parameter. When you clear this parameter, the block:

  • Emits the data vector of fixed-length, set by the Maximum length for Message, from the Message output.

  • Emits the length of the valid data from the Length output.

  • If the UDP packet contains less data than the fixed-length output, the difference contains invalid data.

In both cases, the block truncates data that exceeds the Maximum length for Message.

For each sample, wait this length of time for a UDP packet before returning control to the scheduler. This value defaults to inf, which indicates to wait indefinitely.

Enter how often the scheduler runs this block. Enter a value greater than zero. In real-time operation, setting this option to a large value reduces the likelihood of dropped UDP messages.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.