Documentation search search close
CONTENTS
https://www.speedgoat.com/help/slrt/page/icon_documentation.jpg
v10.0.1.x for R2026a
View other versions

IO644 - Receive

IO644 - Receive — Receives cyclic data from the CANopen master

Library

Simulink Real-Time - Speedgoat

Description

This block is used to receive data from the CANopen master.

Your model can contain only one Receive block for each I/O module in your target machine.

Ports

Outputs

One vector of data type UINT8 which the block reads from the RX area of the dual-port memory. This area contains data which has been received from the CANopen master. Use Byte Unpacking blocks to extract specific data. The Number of Bytes parameter sets the length of this vector.

The RX area has a length of 512 bytes. Each byte is represented by a RX application object in the CANopen object dictionary.

Byte numberObject Index:Sub-index [hex]Byte offset in the RX area
12200:010
22200:021
.........
1282200:80127
1292201:01128
.........
2562201:80255
2572202:01256
.........
3842202:80383
3852003:01384
.........
5122203:80511

The slave receives data via process data objects (PDO). The maximum number of RX PDOs is 64. One PDO can contain up to 8 application objects and therefore has a maximum length of 8 bytes. The link of an application object to a position in a process data object is stored in the PDO mapping configuration. The I/O module retrieves the PDO mapping from the master during the connection process. The corresponding manual of the master device describes how to configure communication objects in the master.

The RX PDOs are included in the CANopen object dictionary from addresses 0x1400 to 0x143F. The mapping information for each RX PDO is stored in the CANopen object dictionary from 0x1600 to 0x163F.

Type: scalar | vector

Data Type: uint8

Inputs

This block does not have any inputs ports.

Parameters

Module ID

This ID defines the link to the corresponding Setup block

Number of Bytes

The number of bytes that should be read from the RX data area. This parameter sets the length of the output port.

Sample Time

Defines the base sample time at which this driver block gets its sample hit. This parameter can also be set to -1 for inherited sample time. The units are in seconds.

[Caution]Caution

All blocks that interface with the same I/O module must have identical sample times.