Troubleshoot etherCAT
3 minute read
Log
The system log is a record of system events, this is used to troubleshoot the system when errors occur, log files can be retrieved:
Via GUI (motorcortex running = yes):
- Download log via the GUI/Diagnostics Tab/System Logs.
- or view the current log in the GUI/Logs.
Via SHH (motorcortex running = no):
- Review the last system log, by means of entering:
mcx-lastlog
command. - Review list of log files.
Via Browser:
- Download log files via the browser with:
https://[Controller_IP_Address]/log/browse/
.
The system log subdivided in:
1. Application Information
- Component Versions: Provides component version Information
- Hardware Key: Device specific registry.
- List off components: Active components needed for the application.
- List of features: Active features included to the application.
- License information
2. System Config
In here is listed the config.json
3. System events
A record of system events like:
- [INFO] - Successful System Activities
- [INFO_SM] - State Switching Activities
- [WARNING] - No Successful System Activities(non critical)
- [ERROR] - Information about non functional system activities
- [FATAL] - The system crashed, resulting with a massage what went wrong, used to trouble shoot.
Dmesg
Dmesg show the kernel logs, you can use dmesg
command after you ssh
to your controller.
In case the Motorcortex System Reports an Error, you can use dmesg
command to troubleshoot the system:
EtherCAT WARNING 0-main-1: Slave does not support changing the PDO mapping!
Sometimes etherCAT hardware manufacturers do not allow personalized PDO mappings, resulting in the following warning:
[ 388.264575] EtherCAT WARNING 0-main-1: Slave does not support changing the PDO mapping!
[ 388.264577] EtherCAT WARNING 0-main-1: Currently mapped PDO entries: 0xF788:00/8. Entries to map: 0xF788:00/16
The warning comes with header: EtherCAT WARNING 0-main-1
, Concluding: etherCAT device with alias number 1 contains wrongly mapped PDO entry.
The hardware expects: Currently mapped PDO entries: 0xF788:00/8
, what you configured: Entries to map: 0xF788:00/16
. Change the etherCAT configuration to what the hardware expects and the error is solved. Change entry 0xF788:00 bit size from 8 to 16.

Press Deploy
to deploy configuration on the controller. Use dmesg
command to check if the warning is resolved.
Slave errors
If a slave reported and error, the GUI will provide with an: ES_SLAVE_ERROR
.
The typ of error can be read out via the GUI/Diagnostics/Drive Data Objects(SDO)
, after pressing READ SDOs
. This will request the Drive Error code and Error Description.
Note
The Error Code
and Error Description
are linked to drive SDOs. If they are not defined in etherCAT configuration the READ SDOs will not display the data
Bus_Error
The Error Handler displays a ES_BUS_ERROR
.
This error is caused if the etherCAT configuration does not match the etherCAT devices on the bus.