Main Content

UDP Receive

Receive UDP packet

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

  • UDP Receive block

Libraries:
Embedded Coder Support Package for Intel SoC Devices

Description

The UDP Receive block receives UDP packets from an IP network port and saves them to its buffer. With each sample, the block outputs the contents of a single UDP packet as a data vector.

Examples

Ports

Output

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 message 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

Programmatic Use

Block Parameter: localPort
Default: 25000

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'.

Programmatic Use

Block Parameter: remotePort
Default: 0.0.0.0

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

Programmatic Use

Block Parameter: recvBufferSize
Default: 8192

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.

Programmatic Use

Block Parameter: dims
Default: 255

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.

Programmatic Use

Block Parameter: signalDatatype
Default: uint8

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.

Programmatic Use

Block Parameter: isVarSize
Default: on

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.

Programmatic Use

Block Parameter: blockingTime
Default: inf

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.

Programmatic Use

Block Parameter: sampletime
Default: 0.01

Extended Capabilities

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

Version History

Introduced in R2014b