UDP Send

Send data over UDP network to specified remote machine


Instrument Control Toolbox


The UDP Send block sends data from your model to the specified remote machine using the UDP protocol.


You need a license for both the Instrument Control Toolbox™ and Simulink® software to use this block.

The UDP Send block has one input port and it accepts both 1-D vector and matrix data. This block has no output ports. The block inherits the data type from the signal at the input port.

Other Supported Features

  • This block supports the use of Simulink Accelerator™ mode, but not Rapid Accelerator or code generation.

  • The block supports the use of model referencing, so that your model can include other Simulink models as modular components.

For more information on these features, see the Simulink documentation.



You can enter MATLAB variables in the text edit fields in the UDP Send Block Parameters dialog box, except for these fields: Local address and Remote address.

Remote address

Specify the IP address, name, or the Web server address of the machine to which you need to send data. This field is empty by default.

Remote port

Specify the remote port on the host you need to send the data to. The default port value is 9090. Valid port values are 1 to 65535.

Local address

Specify the IP address, name, or the Web server address of the local host. This is the same as the UDP interface localhost property. This field is empty by default.

Local port

Specify the port to bind on the local machine. The default value is -1, which automatically binds to an available port.

Enable local port sharing

Use to enable port sharing. UDP ports can be shared by other applications to allow for multiple applications to listen to the UDP datagrams on that port. You can bind a UDP object to a specific LocalPort number, and in another application bind a UDP socket to that same local port number so both can receive UDP broadcast data. Enabling this option allows other UDP sockets to bind to the UDP object’s LocalPort. It is off by default.

Verify address and port connectivity

Click this button to:

  • Check if the specified remote address is correct.

  • Establish connection with the specified remote address and port.

UDP packet size

Use to set the OutputDatagramPacketSize property. The UDP packet size is controlled by the OutputDatagramPacketSize property. You can specify the size, in bytes, between 1 and 65,535, and the default value is 512. You can increase or decrease the packet size if necessary.

Byte order

When using binary or binblock format with more than 8 bits, you can specify the instrument's byte order for the data. Your options are BigEndian or LittleEndian.

Enable blocking mode

Specify if you want to block the simulation while sending data. This option is selected by default. Clear this check box if you do not want the write operation to block the simulation.

The following diagrams show the difference between sending data using blocking mode and nonblocking mode.

Blocking Mode

In this example, you start the simulation at time (t=0). At time step (T1), data output is initiated and simulation stops until the block of data (B1) is sent to the specified remote address and port. After the data is sent, simulation resumes until time step (T2), where the block initiates another data output and simulation is blocked until the block of data (B2) is sent to the remote address and port, and the simulation resumes.

Nonblocking Mode – Scenario 1

In this scenario, the data output outpaces the simulation speed. Data output is initiated at the first time step (T1) and the corresponding block of data (B1) is sent to the specified remote address asynchronously. The simulation runs continuously in this mode.

Nonblocking Mode – Scenario 2

In this scenario, the simulation is nonblocking and occurs faster than the data initiation.

  • At time step T1: The block of data (B1) is sent to the specified remote address and port asynchronously.

  • At time step T2: The simulation is blocked until the block of data (B1) is sent completely. When the (B1) is completely sent, the new block of data (B2) is sent asynchronously, and the simulation resumes.


Several factors, including network connectivity and model complexity, can affect the simulation speed. This can cause both nonblocking scenarios to occur within the same simulation.

Introduced in R2007b