EtherCAT Async SSC/SoE Download

Transmit data asynchronously to slave device represented by service data object

  • Library:
  • Simulink Real-Time / EtherCAT


The EtherCAT Sync SSC/SoE Download block provides asynchronous SERCOS interface (SErial Real time COmmunication Specification) over EtherCAT® (SoE) download. The block selects an IDN in the specified slave and sends a download (write) request. After sending the request, the block immediately continues processing its input data.



expand all

Input data for writing to the EtherCAT slave device. The data signal has the type specified in Data Type and vector dimension given by Dimension.

The Enable input is level sensitive and the block remains enabled while the input is non-zero. To send a value just once, you can enable the block with a single sample time pulse. There is a lag of approximately three cycles after the pulse for the data to send.

A value 0 disables downloads. A value greater than or equal to 1 enables the block to download data.


expand all

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 list of error codes, see EtherCAT Error Codes.


expand all

Identify parameters.

The documentation for your EtherCAT device specifies the IDN values. You can select the IDN as a character vector that represents a 16-bit integer (according to IEC 61800 -7 -204), such as S-0-0150 or P-0-0150 with:

  • First field (bit 15): S for Standard data, P for Product specific data

  • Second field (bit 14 - 12): 0..7 for Parameter set

  • Third field (bit 11 - 0): 0..4095 for Data block number

Programmatic Use

Block Parameter: idn

Specify the decimal index of the drive.

SoE blocks only apply for motor controllers. A single slave can support one or more drive or motor channels. The drive number is the 0-based index of the drive or motor channel on this slave at which this block is aimed. In SoE terminology, the drive is the logic that sends control signals to the motor. Typically, this logic is a small processor inside the slave.

Programmatic Use

Block Parameter: drive

To identify the data type for the IDN, check the slave documentation for the description of the IDN and the data type it uses. From the list, select the data type of the IDN.

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 dimension of data for this IDN.

To identify the dimension of data (vector size) for the IDN, check the slave documentation for the description of the IDN and the number of data type values (the dimension) it uses. Enter a value of 1. EtherCAT blocks support only scalars and vectors.

Programmatic Use

Block Parameter: sig_dim

To associate a block with an EtherCAT network, copy 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 IDN.

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

Programmatic Use

Block Parameter: slave_name

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

Programmatic Use

Block Parameter: sample_time

Enter the number of milliseconds to wait for a response from the EtherCAT slave.

Programmatic Use

Block Parameter: timeout

Introduced in R2018b