Documentation

Packet Input

Read unformatted binary data from port, file, or CAN device

Library

Simulink® Desktop Real-Time™

Description

Read unformatted binary data from a port or file. After you add a Packet Input block to your model, double-click the block to set its parameters.

The driver must be Standard Devices > Serial Port, Standard Devices > UDP Protocol, Standard Devices > File, or Vector > CAN Device. When you install a UDP device, enter port addresses in decimal format in the Standard Devices UDP Protocol dialog box.

Parameters

Install new board

Click this button to register a board with Simulink Desktop Real-Time.

When you click Install new board, the software displays a list of manufacturers of supported boards. When you select a manufacturer, the software displays a list of boards available from that manufacturer. When you select a board, the software adds the board to the list of registered boards and makes that board the current board.

By default, the initial selection in the list of registered boards is < no board selected >. When you select a board in the list, the Delete current board and Board setup buttons become active.

Delete current board

Click this button to delete the current board. The initial selection of the list of registered boards changes to < no board selected >, and the Delete current board and Board setup buttons become inactive.

Board setup

Click this button to set up the board.

A board-specific dialog box opens for you to use to set up the board. For more information to set up the board, see the board manufacturer documentation.

Sample time

Enter a value representing how frequently you want the block to execute and interact with the I/O hardware. The block also synchronizes your model with the real-time clock at this sample rate.

    Tip   If you are using a fixed-step solver, you must enter the value that you entered in the Fixed step size box in the Configuration Parameters dialog box, or an integer multiple of that value.

Maximum missed ticks

In Normal Mode, enter the number of timer ticks that your model can lag behind the real-time kernel. When the model lags by this number or less, the software assumes that the lag is temporary and allows the model to catch up, even if the model misses some ticks. When the model lags by more than this number, the software reports an error and simulation stops.

In External Mode, the software ignores this value.

Show "Missed Ticks" port

In Normal Mode, select this check box to display the number of missed ticks as a block output.

In External Mode, The "Missed Ticks" port displays zero.

Yield CPU when waiting

In Normal Mode, select this check box to grant other programs more CPU time while the kernel waits for a response from the hardware.

In External Mode, the software ignores this value.

Packet identifier

Enter the ID of the packet to process. If your protocol does not have packet IDs, this parameter is disabled.

Extended identifier

Select this check box if Packet identifier is an extended identifier.

Input packet size

Enter the number of bytes expected in each input packet. This number must be the same as the number of bytes required by the type specifications in Block output data types.

Block output data types

Enter a string, or a cell array of strings, that specifies how the data in each packet obtained from the device is to be typed and grouped for input to the application. The Packet Input block has an output port corresponding to each string in Block output data types. Changing the number of strings changes the number of output ports.

Each string has the format [n*]datatype. The data that the string describes has the type specified by datatype and the width specified by n, or 1 if n is not specified. For example, 'double' means one double value, and '4*int8' means a vector of four int8 values. You can also type 'CAN_MESSAGE' to specify a single CAN_MESSAGE value.

By providing a cell array of such strings, you can convert an input packet into the types required, packaged into vectors. For example, specifying {'int16','int16','double'} creates three ports. The first and second each output an int16 value, and the third outputs a double. Specifying {'2*int16','double'} creates two ports: a vector of two int16 values, and a scalar double.

    Note:   The software forces an out-of-range value to the maximum value for that data type.

Input packet field byte order

From the list, select:

  • Little Endian (default) — Send multibyte values in little-endian format.

  • Big Endian — Send multibyte values in big-endian format.

Show "Data Ready" port

Select this check box to indicate that the block has an output port that signals 1 if the block has new data available, and 0 otherwise.

Show "Data Error" port

Select this check box to indicate that the block has an output port that signals 1 if a data error has occurred, and 0 otherwise.

Show packet timestamp port

Select this check box to show the time stamp for the CAN message packets. If your protocol does not have packet time stamps, the block ignores this value.

Was this topic helpful?