ethercat-conf.xml pdoentry limits?

More
1 year 4 months ago #329533 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?

 

Please Log in to join the conversation.

More
1 year 4 months ago #329535 by Hakan
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

Please Log in to join the conversation.

More
1 year 4 months ago #329536 by esmurf
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 to join the conversation.

More
1 year 4 months ago #329537 by Hakan
I don't know that, but if you have static data you can set that using the SDO instead.

Please Log in to join the conversation.

More
1 year 4 months ago #329539 by esmurf
is this the <initcmd> tag?

Please Log in to join the conversation.

More
1 year 4 months ago #329545 by Hakan
Like this
Code:
      <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
Code:
ethercat -p 0 upload 0x6064 0  # Read actual position ethercat -p 0 download 0xregister subindex value #  write value to register


 

Please Log in to join the conversation.

More
1 year 4 months ago #329588 by Soccer Kid
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.

Please Log in to join the conversation.

More
1 year 4 months ago #329592 by esmurf
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 to join the conversation.

More
1 year 4 months ago #330442 by SwitchWitch
Any progress so far? Did you manage to do internal homing cycles with the A6?

Please Log in to join the conversation.

More
1 year 4 months ago #330443 by esmurf
Yes it works for me.
However right now, i do not yet have the actual machine ready, only the servos mounted next to each other on a piece of chipboard.
I can home and run the "demo" that comes with Axis Gui.

Please Log in to join the conversation.

Time to create page: 0.091 seconds
Powered by Kunena Forum