### Navigation

- index
- next |
- previous |
- OpenSplice Simulink Guide »

# 11. Reader Block

The Reader block represents a DDS data reader entity.

In DDS - “To access the received data, the application must use a typed DataReader attached to the subscriber.”

Port Type | Optional | Name | Description | Output consumed by
--- | --- | --- | --- | ---
Input | yes | psub | DDS Subscriber entity instance |
Input | no | topic | DDS Topic entity instance |
Output | yes | status | 0 for successful reader creation |
Output | no | data | BUS | user
Output | yes | info | BUS | user
Output | yes | samples read | Number of samples read | user

## 11.1. Reader Block Parameters

### 11.1.1. Data Tab

The Data tab is used to set:

- Bus Type

  > The output data type (BUS) for the data output port

- Mode: take or read

  > Specify whether the reader block is accessing the samples using DDS take or DDS read.

- Sample Time

  > “The sample time of a block is a parameter that indicates when, during simulation, the block produces outputs and if appropriate, updates its internal state.” -Simulink documentation

  > Default is -1, meaning it will inherit the Simulink sample time from inputs or the model. Valid values: -1 and Numeric > 0

- Bus Width

  > The bus width is the maximum number of samples that can be read or take(n) per block step. Valid values for the bus width are: integers >= 1.

- Wait for

  > Checking the Historical Data field in the Wait for section specifies that the Reader will wait for historical data to arrive. The Timeout field is for setting time period (in seconds) determining how long the Reader should wait for the historical data. If the timeout is reached, then any remaining historical data may be interleaved with new data.

  > The Data Available field is for specifying whether the Reader should read only if the data is available. The following Timeouts field determines how long the Reader should wait for the availability of data. If the timeout is reached, then the block returns no data and the simulation continues.

### 11.1.2. Ports Tab

The Ports tab allows the user to toggle on or off optional ports.

### 11.1.3. QoS Tab

The QoS tab is used to set the QoS profile. By default, the OSPL default profile is used.

In DDS - The Data-Distribution Service (DDS) relies on the usage of QoS. A QoS (Quality of Service) is a set of characteristics that controls some aspect of the behavior of the DDS Service.

Each DDS block has an associated QoS profile. By default, the OSPL default profile is used. An XML file that specifies QoS profiles can be used to set the QoS of a DDS block.

### 11.1.4. Filters Tab

The filters tab allows for the filtering of incoming samples. The filtering can happen based on a query and/or on a sample read condition(s).

Query

Expression: The expression is a SQL condition.

Parameters: N parameters in the format {‘a’, ‘b’} Each parameter element must be a char array (string).

Note: Query expressions are only validated at runtime.

Read Condition

The read conditions specified will filter the samples that are read or take(n).

Example: For a reader, the Sample State has Read selected and Not Read deselected.

Only samples with a Sample State Read will be processed with read or take. Any samples with the Not Read sample state will not be read or take(n).

Note: At least one read condition must be selected for each category of Sample State, View State, or Instance State. If not, an error will be thrown when a diagram simulation is run.

### Navigation

- index
- next |
- previous |
- OpenSplice Simulink Guide »