ethercat-conf.xml pdoentry limits?

More
02 Jun 2025 07:32 #329533 by esmurf
ethercat-conf.xml pdoentry limits? was created by esmurf
i have the attached ethercat-conf.xml (for stepperonline A6 servos).
Each time i add more than 10 pdoentry tags, i get the following error in /var/log/messages:

Jun  2 09:04:11 cnc kernel: EtherCAT ERROR 0-1: SDO download 0x1A00:0B (4 bytes) aborted.
Jun  2 09:04:11 cnc kernel: EtherCAT ERROR 0-1: SDO abort message 0x06090011: "Subindex does not exist".
Jun  2 09:04:11 cnc kernel: EtherCAT WARNING 0-1: Failed to map PDO entry 0x60FD:00 (32 bit) to position 11.
Jun  2 09:04:11 cnc kernel: EtherCAT WARNING 0-1: Currently mapped PDO entries: 0x6041:00/16 0x6061:00/8 0x6064:00/32 0x606C:00/32 0x6077:00/16 0x60BA:00/32 0x60BC:00/32 0x60B9:00/16 0x603F:00/16 0x60F4:00/32 0x60FD:00/32. Entries to map: 0x6041:00/16 0x6061:00/8 0x6064:00/32 0x606C:00/32 0x6077:00/16 0x60BA:00/32 0x60BC:00/32 0x60B9:00/16 0x603F:00/16 0x60F4:00/32 0x60FD:00/32
Jun  2 09:04:11 cnc kernel: EtherCAT WARNING 0-1: Failed to configure mapping of PDO 0x1A00.
Jun  2 09:04:11 cnc kernel: EtherCAT 0: Domain 0: Working counter changed to 3/12.
Jun  2 09:04:13 cnc kernel: EtherCAT ERROR 0-1: Failed to set SAFEOP state, slave refused state change (PREOP + ERROR).
Jun  2 09:04:13 cnc kernel: EtherCAT ERROR 0-1: AL status message 0x001E: "Invalid input configuration".
Jun  2 09:04:13 cnc kernel: EtherCAT 0-1: Acknowledged state PREOP.

If i remove / comment out any one pdoentry, the error goes away.
master idx="0" has no error, idx="1" - idx="3" have the error.  
There seems to be a limit of max 10 entries?
How can i work around this?

 
Attachments:

Please Log in or Create an account to join the conversation.

  • Hakan
  • Away
  • Platinum Member
  • Platinum Member
More
02 Jun 2025 08:11 - 02 Jun 2025 08:52 #329535 by Hakan
Replied by Hakan on topic ethercat-conf.xml pdoentry limits?
It is not uncommon for devices to have a limit on how much data they can exchange.
But do you need all of those PDOs? I guess not.
So just delete the ones you do not use from ethercat-conf.xml
Last edit: 02 Jun 2025 08:52 by Hakan.

Please Log in or Create an account to join the conversation.

More
02 Jun 2025 08:58 #329536 by esmurf
Replied by esmurf on topic ethercat-conf.xml pdoentry limits?
These servos have so many functions and parameters, that 10 is a really small limit.
Is there a way to split the pdoentry tags into multiple pdos?
Or change them during operation, e.g. have a different ethercat-conf.xml during homing vs. normal operation?

Please Log in or Create an account to join the conversation.

  • Hakan
  • Away
  • Platinum Member
  • Platinum Member
More
02 Jun 2025 09:02 #329537 by Hakan
Replied by Hakan on topic ethercat-conf.xml pdoentry limits?
I don't know that, but if you have static data you can set that using the SDO instead.

Please Log in or Create an account to join the conversation.

More
02 Jun 2025 09:47 #329539 by esmurf
Replied by esmurf on topic ethercat-conf.xml pdoentry limits?
is this the <initcmd> tag?

Please Log in or Create an account to join the conversation.

  • Hakan
  • Away
  • Platinum Member
  • Platinum Member
More
02 Jun 2025 10:27 #329545 by Hakan
Replied by Hakan on topic ethercat-conf.xml pdoentry limits?
Like this
      <sdoConfig idx="2002" subIdx="0"><sdoDataRaw data ="0a 00 00 00" /></sdoConfig> <!-- Lowpass filter pole frequency try 10 Hz -->
place before all syncmanagers in ethercat-conf.xml
Only thing to say here is that the byte order is reversed. Least significant byte comes first.

You can try to read out and set manually using
ethercat -p 0 upload 0x6064 0  # Read actual position
ethercat -p 0 download 0xregister subindex value #  write value to register


 
The following user(s) said Thank You: esmurf

Please Log in or Create an account to join the conversation.

More
03 Jun 2025 07:36 - 03 Jun 2025 07:37 #329588 by Soccer Kid
Replied by Soccer Kid on topic ethercat-conf.xml pdoentry limits?
The PDO entries of the EtherCAT master are 128 in number. Any error will occur if the number exceeds this limit. For the same type of enumerated points, you can use the abbreviated form for writing. For example:<pdoEntry idx="6000" subIdx="01" bitLen="32" halPin="bit-in" halType="bit"/> Here, an input point with a sub-index ranging from 1 to 32 is declared.
Attachments:
Last edit: 03 Jun 2025 07:37 by Soccer Kid.

Please Log in or Create an account to join the conversation.

More
03 Jun 2025 08:36 #329592 by esmurf
Replied by esmurf on topic ethercat-conf.xml pdoentry limits?
When i created this thread, i didn't know, where this 10 limit comes from.
Later i searched the servo drives docs and even found the limit mentioned there...
Will try to move some settings to SDO.
But its still annoying, because homing alone has more than 10 PDO parameters (eg speed, torque limit, time limits, etc). Many of them are somewhat just "nice to have".
But it seems, if i want to use them, i would need to switch ethercat-conf.xml (multiple times) during a linuxcnc program run. If that is even possible.
However in the near term i will go the simple route and stay within the 10 limit.

Please Log in or Create an account to join the conversation.

Time to create page: 0.128 seconds
Powered by Kunena Forum