Ethercat protocol not responding

More
11 Aug 2023 13:04 #277639 by RDA
Yes they do work together.

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

More
28 Aug 2023 11:07 #279150 by fdarling

I just opened an issue on Sascha Ittner's linuxcnc-ethercat GitHub repository:

supporting separate LRD/LWR commands instead of an LRW command · Issue #121 · sittner/linuxcnc-ethercat
 

After a lot of research and experimentation with mostly broken example code, I managed to interface with a Yaskawa EtherCAT servo drive from a standalone C program using EtherLab.org's "EtherCAT Master" library. This is the same library that the LinuxCNC EtherCAT driver uses, and I was able to apply what I learned to modify that "linuxcnc-ethercat" driver to have separate read/write domains, and therefore work with Yaskawa EtherCAT.

To get it to work in the short term I disabled compiling the non-generic drivers, as well as disabled some FSoE (Functional Safety over EtherCAT) related code because it was unclear which process data domain it needed to interact with. Once I update the per-device drivers to use the new dual-domain API and fix the FSoE support, I can submit a pull request to get my changes mainlined.

I'll keep you guys posted...
The following user(s) said Thank You: sharp_reaper, RDA

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

More
More
30 Aug 2023 09:20 #279359 by fdarling

Probably the best repo to work with is mine. That way  it will get to a hosted .deb in a repository 
github.com/rodw-au/linuxcnc-ethercat
As long as it does not break any existing stuff it will be fine.


What kind of EtherCAT hardware do you have to test with?

I only have a couple servo drives, and a Beckhoff EK1818 . Unfortunately it seems the Beckhoff EK1818 isn't supported directly by linuxcnc-ethercat, so I will have to use it as a generic device (though I would be willing to add support!)

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

More
06 Oct 2023 05:44 #282418 by bkt
interesting post Thanks to all
The following user(s) said Thank You: tommylight

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

More
11 Oct 2023 09:00 #282735 by sharp_reaper
Hi @fdarling,
How did you manage to a working configuration with Yaskawa Ethercat?
I have the same problem, can you guide me?

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

More
19 Oct 2023 05:36 #283271 by fdarling

Hi @fdarling,
How did you manage to a working configuration with Yaskawa Ethercat?
I have the same problem, can you guide me?
 

I did manage to get it working, but I had to disable some FSoE (Function Safety over EtherCAT) related code that I didn't fully understand, and I also had to disable compiling most of the drivers (the non "generic" one) because I needed to make some API changes that would require making small changes to all of the code. So in other words, I did a "hack" that works perfectly for my use case, but in general is a step backwards for the codebase. I need to take the time to finish the changes, and I don't have time at the moment... Perhaps I should post my progress as a fork on GitHub though...
The following user(s) said Thank You: sharp_reaper

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

More
25 Oct 2023 09:11 #283781 by sharp_reaper
It's something, if you manage to fork it I would appreciate that.
Thank you!

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

More
30 Oct 2023 11:07 #284117 by curious_tux
I managed to split domains add assign pdos to respective domain. It works will with other ethercat slaves (with one read domain and one write ) but for yaskawa I am getting AA12.

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

More
30 Oct 2023 12:47 #284123 by curious_tux
To add more, I did several changes to get generic slaves working. changed lcec_master to accommodate two domain and two of domain related things (domain registers,domain register length, pdo register) also modified lcec_slave to add r_count and w_count which is total no of EC_DIR_IN and EC_DIR_OUT registers.Also changed signature of proc_init to take bot r_pdo_regs and w_pdo_regs,also changed slave read and write functions to use the correct domain. In slave parse function added functionality for keeping track of r_count and w_count, and allocated r_pdo_regs and w_pdo_regs accordingly. Also used correct domain in process and queue .

And yet I am getting the damn A12. I am almost in stage of giving up..
The following user(s) said Thank You: sharp_reaper

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

Time to create page: 0.133 seconds
Powered by Kunena Forum