Simulation Mode
2 minute read
The main purpose of using simulation mode is to create a application without having your physical hardware connected, for this the following tasks are required:
- Enable simulation mode in config.json
- Set simulation parameters inside linking.json
- Add simulated ECAT-devices inside ECAT-Tool
- Link simulated ECAT-device parameters to motorcortex parameters
Note
For simulation, it can be that some safety parameters need to be overwritten like a physical E-stop button, this is done by set parameter inside linking.json.
The next steps will explain you in detail how to set up your application in simulation mode:
-
Inside config.json, set system mode to
Simulation. -
In simulation mode, linking with systemMode:
"Simulation",and"All",are applied and can be adjusted in the xxx.link.json. -
In the Domain Configuration Panel you can enable the
Simulationswitch, but this is not necessary because the system is inSimulation mode. Simulation of a domain is only required inproductionmode, for example if you want tosimulateone or multiple etherCAT devices.
-
Each
domaincan contain multipleetherCAT devices. In order to simulate the device PDO’s, you have to assign a simulation link to each simulated etherCAT device, so motorcortex knows that the device is included to the simulator. TheLink Simulationshould be assigned to the following path:root/DriveLogic/driveSimulation.Note
Beware to assign the correct channel to the devices, linking of multiple devices to the same channel will result in improper simulated etherCAT devices!
-
EtherCAT devices contain
rxPDOandtxPDOparameters that can be linked to a path, for simulation use:root/Simulator/.... For example target position should be linked toroot/Simulator/targetPosition,channel 0because this is linked to the first axis.
Press
to open property menu and enablesimulation switchtheturnsblue, this means that the link is only used if the system is in simulation mode! -
Step 5 can also be used for all
root/Simulator/...parameters:
| PDOmapping: | Description: | Link to Motorcortex Parameter: |
|---|---|---|
| rxPDO | ||
| 0x607A | Target Position | root/Simulator/targetPosition |
| 0x60B2 | Target Offset | root/Simulator/targetTorqueOffset |
| 0x6071 | Target Torque | root/Simulator/targetTorque |
| txPDO | ||
| 0x6064 | Position Actual Value | root/Simulator/positionValue |
| 0x6077 | Torque Actual Value | root/Simulator/torqueValue |
For parameters in an array like root/Simulator/targetPosition you need to define the index, starting at 0 till 5, respectively for axis 1 till 6.
After linking the PDO entries you are able to run the application in simulation mode.