Initialize EtherCAT Master node with data in the EtherCAT Network Information (ENI) file
Simulink Real-Time / EtherCAT
The EtherCAT Init block initializes the EtherCAT® master stack. The block specifies the Ethernet interface cards in the network.
Before you use this block, create and save an EtherCAT Network Information (ENI) file. You export the ENI file from the Beckhoff® TwinCAT® or the Acontis EC-Engineer. See Configure EtherCAT Network with TwinCAT 3.
The Beckhoff ET9000 configurator is no longer supported.
To find the ENI file, click Browse. To read the ENI file and store the data in the EtherCAT Init block, click Refresh Data.
The Simulink® Real-Time™ software supports multiple EtherCAT networks. To use multiple networks:
Use a different Ethernet card interface for each EtherCAT network.
In the model, use one EtherCAT Init block for each network.
If you configure EtherCAT distributed clocks in master shift mode, using the IEEE 1588 Sync Execution block in the same model produces a build error. To include EtherCAT distributed clocks and IEEE® 1588 synchronized execution in the same model, use EtherCAT bus shift mode.
Status— Status information about the EtherCAT network
Status vector contains six values:
ErrVal — Error status:
Error: Value less than
ErrVal shows the latest error
status, the propagation of errors can hide the original error.
To find the original error, add an EtherCAT Get
Notifications block and use
print the status codes that the EtherCAT stack transmits.
MasterState — Operating state of the
|1||Initialization – The system finds slave devices and initializes the communication controller.|
|2||Preoperational — The system uses the communication controller to exchange system-specific initialization data. In this state, the network cannot transmit or receive signal data.|
|4||Safe operational — The network is running and ready for full operation. The master sends input data to the slave device. The slave device output remains in a safe state.|
|8||Operational — The network is in full operation. The master sends input data to the slave device. The slave device responds with output data.|
DCErrVal — DC error status for the
master shift controller:
DC Error for master shift controller:
DC error for master shift controller: Value from EtherCAT Init Block DC Error Values.
When master shift controller mode is selected, the value
0 indicates successful clock
DCErrVal does not apply
when the distributed clock is disabled or when using the bus
shift controller mode.
MasterToNetworkClkDiff — Time
difference, in nanoseconds, between the master stack clock and
the clock on the first slave
that has enabled DC.
DCInitState — Operating state of the
DC not enabled, not initialized, or single EtherCAT DC
DC has been started and the EtherCAT DC slaves are in
sync with each other:
NetworkToSlaveClkDiff — Time
difference, in nanoseconds, between the clock on the first
the least closely locked clock on the remaining slave devices.
This value applies only to slave devices that have enabled DC.
If only one
the network has enabled DC, this value is
Config file (ENI)— ENI file from the EtherCAT configurator
Specify the ENI file that you exported from the EtherCAT configurator.
You can specify the full path name or a partial path name. If you specify only the file name, the software searches for the file in the current folder and on the MATLAB® path. If more than one file with that name exists on the path, MATLAB displays a message box where you select the file that you want.
Clicking Browse inserts a full, editable path name.
Device index— EtherCAT Ethernet card identifier
A unique integer in the range
0–15 that identifies the
Ethernet card for an EtherCAT network.
For each EtherCAT network, the software generates a unique device index. The software inserts that device index as Device index into the EtherCAT Init block that represents the network.
PCI function— PCI function number of Ethernet card
0(default) | integer
Enter the PCI function number for the Ethernet card.
DC Tuning— Distributed clock initialization parameter
Large model(default) |
Enter the distributed clock initialization parameter, one of these values:
Large model (default) — Sends
16,000 timing initialization packets and
1 second of settling time. Provides best
initial synchronization between multiple slaves that have DC
Medium model — Sends
8,000 timing initialization packets and
0.3 seconds of settling time. The model
reaches operational state about a second earlier than it does with
Large model setting.
Small model — Sends
2,000 timing initialization packets and
0.2 seconds of settling time. The model
reaches operational state earlier than it does with the other
Monitor device synchronization at the moment that the model enters the operational state. Check that the devices are synchronized closely enough for your application.
Enable Log and Debugging— Access to debugging and logging block parameters
Selecting Enable Log and Debugging makes these parameters visible: Log link layer error messages, Log master state changes, Log all state changes, Log base clock changes, Log master config changes, and Target log filename.
Target log filename— Name of log file on target computer
Enter the name of the log file on the
target computer, in
single quotes. The default value is
If the target computer does not have a usable disk partition, the software does not create the log file.
To make these parameters visible, select Enable Log and Debugging.