EtherCAT master in Simulink Desktop Real-Time

14 次查看(过去 30 天)
Hello,
is it possible to use a model containing the SimulinkRealTime.etherCat blocksets in the Simulink Desktop Real-Time environment? I would like to avoid using an embedded real-time target and use my computer for the task. AFAIK EtherCAT master doesn't need any special hardware requirements and can be run with any ethernet network adapter. Is it possible to use the Real-Time desktop environment to access the computers ethernet card and use it with the EtherCAT master stack to communicate with slaves?
Thank you in advance.
Best regards Max Partenfelder

回答(2 个)

Ivo Houtzager
Ivo Houtzager 2020-7-7
See example on the File Exchange Simple EtherCAT Master for Simulink Windows Desktop which uses the SOEM library and WinPcap driver. It works only in normal or accelerator mode with Simulink Desktop Real-Time block. External mode will not work, because the clang compiler is too basic to compile the SOEM library. Also distributed clock feature will not work as the Simulink Desktop Real-Time execution block has no feature to synchronize its clock with the clock of the EtherCAT slave. Alternatively, an example with self made real-time execution block is provided which sample time can be synchronized based on the slave distributed clock.

Stefanie Schwarz
Stefanie Schwarz 2021-10-12
编辑:Stefanie Schwarz 2023-5-12
The short answer is no. Simulink Real-Time (SLRT) and Simulink Desktop Real-Time (SLDRT) are fundamentally different products and you cannot use driver blocks from one product with the other product.
SLDRT does not support EtherCAT. Ivo's comment looks like a possible workaround but this EtherCAT Master will not run in the actual real-time kernel. See the following post to understand what different the simulation modes mean in the SLDRT context:

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by