Ethercat HAL driver

More
14 Aug 2017 06:25 #97441 by sirop
Replied by sirop on topic Ethercat HAL driver
Yes, you guessed the most things about RAW sdo right.

But I tried to explain to you how to avoid RAW sdo.

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

More
21 Aug 2017 11:29 #97813 by cnclanka
Replied by cnclanka on topic Ethercat HAL driver
Dear ETHERCAT Forum,
I have been following you for a long time an quite confident that I want to set-out on a project I have been thinking for a long time.

layout


I need to use the ETHERCAT Technology with matching bus coupler and motors and spindle to integrate a 3 Axis small but reliable CNC Router.

I was hoping to get your opinion on whether I could use a board like the following
www.casanovasadventures.com/catalog/comp...HOPPING#.WZqx3Liddq3

For Single Board Computer to run LinuxRT and LinuxCNC

I know in the forum various solutions have been successful, my plan is to package final solution in a industrial package.
Please let me know your views.
I see this Forum a GREAT resource for real Enthusiasts.

regards,
ajith

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

More
21 Aug 2017 14:52 #97818 by sirop
Replied by sirop on topic Ethercat HAL driver

cnclanka wrote: Dear ETHERCAT Forum,

I was hoping to get your opinion on whether I could use a board like the following
www.casanovasadventures.com/catalog/comp...HOPPING#.WZqx3Liddq3

ajith


Keep in mind that if the network driver of the board has no adjusted version within sourceforge.net/p/etherlabmaster/code/ci/default/tree/devices/ , then you'll have to put up with higher latency of the
so called "generic" driver.

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

More
24 Aug 2017 07:39 #97959 by cnclanka
Replied by cnclanka on topic Ethercat HAL driver
Sure I will double check the ETHERNET side of things with the supplier, thanks.

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

More
31 Aug 2017 05:40 #98263 by sqmathlete
Replied by sqmathlete on topic Ethercat HAL driver
Hi Sirop,

I found that great attention must be paid to the formatting of the .xml file. I basically cleaned it up and LinuxCNC was able to communicate with the servo amp. :)

That being said I can now initialize the amp through hal command once LinuxCNC is running but issuing commands to 6060 Control Word doesn't seem to work in the hal setup files however, setting 6040 Mode to 0x08 (CSP Mode)seems to work? I can see in Roschi's files that he is initializing the amp by breaking the out PDO's into bits and then connecting those to LinuxCNC enable.in etc which is then reflected in the status word value. This all makes sense but, makes me wonder if a custom gui might be useful for the ethercat hal driver?

That being said, what is really bothering me about Roschi's files is where he defines some halType="special32"? is this some custom wizardry that handles converting + scaling LinuxCNC float (e.g. position value) output to a s32 value that the servo amp is expecting for that PDO?
Also, while figuring out the scale value for conversion of position value to machine units I defined the servo amps target position (607A) as a float in the xml, scaled by 100000 in hal not expecting it to work but it did...interesting, no? When LinuxCNC is sending a position command what exactly is it sending? Pos in Machine Units? which is then scaled to Pulse/mm which would be based on lead screw pitch(mm),gear ratio, and max rpm of motor. I think this is defined as Pulse of User-defined Unit in the manual...

Cheers,
Dan

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

More
31 Aug 2017 08:43 #98267 by sirop
Replied by sirop on topic Ethercat HAL driver

sqmathlete wrote: Hi Sirop,
That being said I can now initialize the amp through hal command once LinuxCNC is running but issuing commands to 6060 Control Word doesn't seem to work in the hal setup files however, setting 6040 Mode to 0x08 (CSP Mode)seems to work?


Hard to guess what's going on without seeing your xml config file.

I can see in Roschi's files that he is initializing the amp by breaking the out PDO's into bits and then connecting those to LinuxCNC enable.in etc which is then reflected in the status word value.


I only know halType="complex" as in github.com/sittner/linuxcnc-ethercat/blo...-conf_X.xml#L98-L116

Also, while figuring out the scale value for conversion of position value to machine units I defined the servo amps target position (607A) as a float in the xml, scaled by 100000 in hal not expecting it to work but it did...interesting, no? When LinuxCNC is sending a position command what exactly is it sending? Pos in Machine Units?


In case of TARGET POSITION INDEX 0X607A would be motor counts. How you transform your kinematics or CNC code to motor counts, is a question that goes beyond EtherCAT.
The following user(s) said Thank You: sqmathlete

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

More
31 Aug 2017 09:27 - 31 Aug 2017 09:29 #98270 by roschi
Replied by roschi on topic Ethercat HAL driver
Hi,

I can mention that the "halType=special32" was an intermediate solution which only worked for the forked development find here: github.com/aschiffler/linuxcnc

I recommend to use the latest development from S. Ittner and therefore the halType=complex
See here:
github.com/sittner/linuxcnc-ethercat/blo.../ethercat-conf_X.xml
lines 98 -116
EDIT
Also sirop has given this answer.

Regards Andreas
Last edit: 31 Aug 2017 09:29 by roschi.
The following user(s) said Thank You: sqmathlete

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

More
09 Sep 2017 21:16 - 09 Sep 2017 21:21 #98746 by bkt
Replied by bkt on topic Ethercat HAL driver
Sorry, I ask here but not sure the right place ... using pcie slave card (ixxat, hilscher CIFX 50E-RE seems more suitable but there are other producer ) I would run linuxcnc as slave Ethercat ... Master is an other pc or plc .... without starting experiments that go blank then I would like to know if it is possible, according to the experiences of master ethercat lcnc developers, to build a lcnc slave based on these cards, and what are the attentions that need to be devoted to the development of the "glue" between the card drives and Lcnc ... or what are the critical points?

Or installing the latest versions from github you can already use Lcnc as a slave with some kind of slave cards?

You can suggest me some more suitable pci/pcie/minipcie card for these'

regards
giorgio
Last edit: 09 Sep 2017 21:21 by bkt.

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

More
09 Sep 2017 23:32 #98749 by sirop
Replied by sirop on topic Ethercat HAL driver

k-1 wrote: Sorry, I ask here but not sure the right place ... using pcie slave card (ixxat, hilscher CIFX 50E-RE seems more suitable but there are other producer ) I would run linuxcnc as slave Ethercat
giorgio


I never tried out any of these slave cards but it schould be possible to use such a card similar to the way MESA PCIE cards are used.
The EtherCAT chip on the PCIE card would garantee that an ethercat frame traverses the card within under 1 us.

Your main attention then schould be paid to sync-ing of other procceses that deliver input for the slave card.

As an alternative: XMOS, kind of FPGA for the poor www.synapticon.com/product/ethercat-development-kit .
The following user(s) said Thank You: bkt, kenedy1

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

More
10 Sep 2017 08:01 #98759 by bkt
Replied by bkt on topic Ethercat HAL driver

sirop wrote: Your main attention then schould be paid to sync-ing of other procceses that deliver input for the slave card.


what do you mean by that? processes that come from the master (ex. plc -> external to Lcnc) or processes that come from Lcnc itself? Those should synchronize with a normal file hal ... or in the case of motion data with the kinematic ... Iunderstand badly?

regards
Giorgio

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

Time to create page: 0.206 seconds
Powered by Kunena Forum