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
Simulation
switch, but this is not necessary because the system is inSimulation mode
. Simulation of a domain is only required inproduction
mode, for example if you want tosimulate
one or multiple etherCAT devices. -
Each
domain
can 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 Simulation
should 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
rxPDO
andtxPDO
parameters that can be linked to a path, for simulation use:root/Simulator/...
. For example target position should be linked toroot/Simulator/targetPosition
,channel 0
because this is linked to the first axis.Press
simulation switch
theblue
, 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.