Main Content

EtherCAT Async SDO Upload

Read data asynchronously from slave device represented by service data object

  • Library:
  • Simulink Real-Time / EtherCAT

  • EtherCAT Async SDO Upload block

Description

The EtherCAT Async SDO Upload block selects a CANopen register by Index value in the specified EtherCAT® slave and sends a read request. It then immediately returns whatever value was returned from the device on an earlier call to the block.

Ports

Input

expand all

A value of 0 disables uploads. A constant value of 1 will send a new request each time the status returns to the idle state.

Output

expand all

Returns data received from the EtherCAT slave device.

Status of asynchronous data transfer:

  • 0 — Mailbox transfer object idle, transfer not running

  • 1 — Mailbox transfer object running, transfer not complete

  • 2 — Transfer successfully executed

  • 3 — Error occurred during transfer request

If no error occurs, this port transmits 0. Otherwise, it transmits a nonzero value. For a list of error codes, see EtherCAT Error Codes.

Parameters

expand all

Specify the hexadecimal (for example, 0x7) or decimal index of the CANopen register.

If you specify an invalid index, the block returns a 3 through the Status output and a nonzero value through the Error output.

Programmatic Use

Block Parameter: index

Specify the hexadecimal (for example, 0x7) or decimal subindex of the CANopen register.

If you specify an invalid subindex, the block returns a nonzerio value through the Error output.

Programmatic Use

Block Parameter: subIndex

From the list, select the data type of the CANopen register.

If you select a data type that does not match the type of the entry, the block returns a nonzero value through the Error output.

Programmatic Use

Block Parameter: sig_type

Specify the row and column dimension of the CANopen register.

Enter the vector length as found in the CoE description for the slave in its manual.

Programmatic Use

Block Parameter: sig_dim

To associate a block with an EtherCAT network, enter the Device index value from the EtherCAT Init block representing that network into the Device index for the block.

Programmatic Use

Block Parameter: device_id

From the list, select the name of the slave that contains the CANopen register.

The block populates this drop-down list with the contents of the configuration file.

Programmatic Use

Block Parameter: selected_slave

Enter the base sample time or a multiple of the base sample time. -1 means that the sample time is inherited.

Programmatic Use

Block Parameter: sample_time
Introduced in R2020b