EtherCAT simulation is possible via a physical network adapter, or also virtually, to realize a completely simulated machine setup. Configuring the simulation instance is seamless using the ENI file of the real network.
With EC-Simulator it is possible to react to Process Data (PDOs), send and receive Service Data (SDOs), interact with the Slave Stack, and more. This is all possible to be programmed via the API available for C/C++ or .NET, enabling the connection of EtherCAT data to various other professional software tools for the imitation of real-world systems.
Use Cases
Master Software Development
- Run the EtherCAT Master application without real EtherCAT slave devices
- Convenient and easy integration of the EtherCAT master stack software with the master application, for example, implement and test functions for slaves which aren't available
- Enable implementing and testing of advanced EtherCAT features like Hot Connect, Firmware download via FoE, etc.
- Validate the master application with different network configurations and topologies → As simple as loading a different ENI file into EC-Simulator
- User-friendly debugging of complex topologies and complicated scenarios with numerous varying slave types
- Replace manual test procedures by automatic programmable test procedures
- Simulate slave errors like when a slave drops down from OP to SAFEOP state
- Simulate cable breaks, frame loss, bad connections, etc.
- Simulate large networks with many slaves and large amounts of process data
- Simulate error scenarios at precise locations within the network, including before or after real slaves
- Implement enhanced test scenarios like simulating topology changes
- Develop and test applications based on a software emulation (Digital Twin) of the machine logic
- Test and optimize the application at a very early stage of the development prior to having any real target hardware and devices
- Test error scenarios that are dangerous and/or could lead to physical damage
- Develop slave firmware before real hardware is available
- EC-Simulator is based on the Beckhoff® EtherCAT Slave Stack ET9300, and all standard APPL_XXX() functions are available on the application layer
- Develop firmware in Windows or Linux with a convenient and easy-to-use IDE
- Use recorded network frames or generated test data as process data input for slave firmware
- Capture and trace process data outputs and states to files
- Test upload and download of parameters via CoE and VoE
- Test firmware downloads via FoE
All slaves are simulated
In this scenarios the System-Under-Test (SUT) is communicating via a physical EtherCAT compliant cable with the EC-Simulator software running on an external hardware, referred to as the HiL System. The HiL System can be a standard PC or an embedded microprocessor as it doesn't require any special hardware. Just a standard Ethernet controller and interface can be used.
In this setup the EtherCAT master along with the master application requires no changes from how it is implemented when connected with real slaves, and can be tested using the standard physical Ethernet network interface.
Mix of real slaves and simulated slaves
- A HiL System with one Ethernet port must be the last device on the network
- A HiL System with multiple ports can be connected anywhere in the network, even between real slaves
- Define the slaves to be simulated in acontis' EtherCAT configuration tool EC-Engineer. The resulting network configuration (ENI) contains all slaves, with the simulated slaves indicated as such.
- Create a Digital Twin step-by-step: partly simulated combined with partly real slaves
- Simulate error scenarios at any location, including before or after the real slaves
The EC-Simulator software is available and ready-to-run on various operating systems (Linux, Windows, QNX, VxWorks, etc.) and makes use of the acontis Real-time Ethernet drivers, the so called acontis Link Layers
EC-Simulator offers a C/C++ language Application Programing Interface (API) for integration into the application.
Software-in-the-Loop (SiL) Simulation
In this scenarios the EtherCAT network is simulated by a software running on the System Under Test (SUT) and there is no need for a separate hardware.
Instead of communicating with the Ethernet Controller, the acontis EtherCAT Master software EC-Master is directly exchanging EtherCAT frames with the simulation software.
Software Architecture
EC-Simulator replaces the Ethernet controller driver normally used for the physical interface. No physical network interface required!
Programing Interface (API)
Process Data Provider
Numerous options are available for handling the process data in the application. The desired option can be selected individually for each slave.
- Default implementation (Slave 1):
- Process data logic implemented by customer application from process data image
- Use integrated sample application (Slave 2):
- Process data provided by sample application (e.g. CiA 402) instead of process data image
- Behavior of sample application cannot be changed
- Select “Sample application” in EC-Engineer
- Implement own slave firmware (Slave 3):
- Interface for developing and testing own slave firmware: Hook existing own APPL_XXX() slave functions to own code
- Control EtherCAT State Machine, handle process, CoE objects
- Change the network topology
- Disconnect/connect/move a slave
- Power down/up a slave
- Change a slave state like switching to PREOP state
- API to simulate lost frames at a specific slave / port
- API to simulate a lost link at a specific slave / port
- API to read and write slave registers, for example, read slave states
- API to read and write slave EEPROM content
- API to read simulator object dictionary
- API to evaluate the network topology
- RAS server for connecting EC-Lyser or EC-Engineer
- Slaves with and without mailbox protocol support
- Mailbox protocol CAN application protocol over EtherCAT (CoE)
- PDO configuration and assignment commands via CoE
- Mailbox protocol Vendor over EtherCAT (VoE)
- Mailbox protocol File access over EtherCAT (FoE)
- Support for all mailbox initialization commands
- Basic object dictionary
- Support for distributed clocks
- Supported Masters: acontis EC-Master, Beckhoff TwinCAT®, CoDeSys®
Please request additional information in the acontis technologies download area