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 or Create an account to join the conversation.

More
1 year 4 months ago - 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
Last edit: 1 year 4 months ago by Hakan.

Please Log in or Create an account 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 or Create an account 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 or Create an account to join the conversation.

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

Please Log in or Create an account 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


 
The following user(s) said Thank You: esmurf

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

Time to create page: 0.072 seconds
Powered by Kunena Forum