Ethercat HAL driver

More
13 years 3 days ago #40365 by Coyote
Replied by Coyote on topic Ethercat HAL driver
Sorry to disapoint, but it has the name of IgH EtherCAT Master:

IgH EtherCAT Master for Linux

All the source code available through IgH is licensed under the GPLv2 license.

Notice

The license above concerns the source code only. Using the EtherCAT technology and brand is only permitted in compliance with the industrial property and similar rights of Beckhoff Automation GmbH.


Well, at the end it seems that at least building the CNC for own use does not harm anybody, that's nice because there are lot of surpuls Beckhoff terminals on ebay.
More
13 years 3 days ago #40366 by roschi
Replied by roschi on topic Ethercat HAL driver
Hello,

Just what is in my mind:
if you do some programming and design a code which could communicate with EtherCAT-Slaves you can name it whatever you want. You can distribute this code under GPL. No Problem so far.
But there is a Worldwide industrial property rights (patent) from Beckhoff which gives the right to them to forbid you to do that (means you can do it as long as there is no lawyer rings your door bell). And there is no doubt about the protected claims in the patetent (WO03054644) because you communicate with propritary EtherCAT-Slaves.

Next point is that the owner of this industrial property rights (e.g. WO03054644) can assign licenses to persons or companies so that they are allowed to use/sell/distribute that. This license in special for a Master-Stack implementation is free and everyone can get this license.

And now we are on the point that where the conflict for distributing a software project under GPL. GP-License does not allow a "connection" to such industrial licenses.

In my opinion the EtherCAT-Master will not be included in LinuxCNC but perhaps can be distributed as standalone kernel module so that you have something like a 'tainted' kernel if you use this code at your installation of LinuxCNC.

Best Regards Andreas
More
13 years 3 days ago #40367 by Oscmol
Replied by Oscmol on topic Ethercat HAL driver

Coyote wrote: From my point of view, the real-time communication is better to be consistent. I wouldn't mix on the same network ethercat, modbus, ethernet... I would use a second NIC instead. There are few real time protocols that use ethernet as physical layer: Ethercat, Profinet, Sercos iii,..., others are non-real time and I don't see the need of implementing them in RT part.

Next, with use of Ethercat drive, you will always have to use an engineering tool provided by servo manufacturer. Each servo drive is one autonomous device, with its paramaters, you may also want to tune, adjust servo loops, etc...the connection to external world is communication (Ethercat). The PDO is choosen to suit the application needs, can be pre-prepared standard telegram or user made PDO list. Once the PDO list is choosen we need to link PC and drvie together, Bekhofff uses its own configurator while we want to have our own HAL configurator.
Now, if we stop and look arround we will notice that all Ethercat drives shall support Beckhoff TwinCAT (same is with Profinet, all drives shall support Siemens software).
Currently the proposed way is to use TwinCAT configurator to configure PDO list, so that it matches one configured in the drive and then export it in XML file and rearange it to match linuxcnc ethercat generic HAL driver, however if you use terminal blocks of Beckhoff there are already made HAL device drivers.

The only license problem as I see is that you need to reverse-engineer XML output file from TwinCAT configurator, and of course you need a licensed TwinCAT software. As I don't have the knowledge in laws, I don't understand all paragraphs in licenses declarations. With my logical thinking my modest conclusion is that we are not allowed to make a slave EtherCAT device, master use is possible as IgH sells its own kits for professionals and there is no mention about some fee to 3rd party.

As I work with Lenze servos, I tried to configure one drive with Lenze L-Force Engineer software. A nice feature is pre-prepared configuration with CIA402 drive profile telegram, I did further research over internet and have found that also Omron, Moog, Mitsubishi, Stoeber and many others support the configuration of standarized telegram named CiA402 drive profile. May this be a good start point to embed in linuxcnc, a device driver compatible for many servo drives.

Regards, Marko.


Hi Marko

I work at Omron and i am working with our Ethercat systems all days long.
But i am not really shure how this is working here now, so maybe alot of stupid questions.

Step 1: Install linux cnc
Step 2: Install the EtherCat HAL driver and were will i find this and is this for free or something i need to buy?
Step 3: I will do all the tuning of my drives in another software so that they will work correctly.
Step 4: PDO mapping, this part i dont really understand how to do. Should i make this in anothoer software and the import as an XMl file?
So in tbhe end i can not make any servo settings from the Linux software?

What will i need to do inside Linux cnc to get the HAl driver to work so my drives will follow the position tha linux is sending out?
Will this system still be a closed loop so that the software is reading the postion from the drives?
When we use our drives in projects with our controller the position loop is always in the drive and the controller is just sending the position to follow, is the same princip here also?

So if i have an drive to play with and a computer i dont need to buy anything to get this to work or there is some license cost in some way?
because i don't really understand all the talking about GPL license and so on.

best Regards
Oscar
The following user(s) said Thank You: Nico2017
More
13 years 3 days ago #40368 by andypugh
Replied by andypugh on topic Ethercat HAL driver

Oscmol wrote: Step 1: Install linux cnc
Step 2: Install the EtherCat HAL driver and were will i find this and is this for free or something i need to buy?


Step 1 is right, and this is most easily done from the LiveCD.
You then need the EtherCAT master from IgH: www.etherlab.org/en/ethercat/index.php
And then to link the two together, Sasha's HAL driver. This is available as a patch file, so you will need to re-compile LinuxCNC.
wiki.linuxcnc.org/cgi-bin/wiki.pl?EtherCatDriver

What will i need to do inside Linux cnc to get the HAl driver to work so my drives will follow the position tha linux is sending out?

You will need to make a HAL file to connect the position commands from LinuxCNC to the EtherCAT HAL driver.
I haven't seen any example HAL files, so I am not 100% sure what HAL pins the driver creates. Hopefully someone else can help there.

Will this system still be a closed loop so that the software is reading the postion from the drives?
When we use our drives in projects with our controller the position loop is always in the drive and the controller is just sending the position to follow, is the same princip here also?

LinuxCNC tends to assume that it has control of the servo loop, but the stepper-motor configs show that this does not have to be the case.
What LinuxCNC does is send out a set of axis positions every 1mS. The axis acceleration and velocity limits are implicit in these position updates.

So if i have an drive to play with and a computer i dont need to buy anything to get this to work or there is some license cost in some way?

No, all the Licenses being discussed are free (zero-cost). LinuxCNC is also Free, and the other parts all claim to be too, but their status is less clear due to the Beckhoff claims.
More
13 years 3 days ago #40369 by Coyote
Replied by Coyote on topic Ethercat HAL driver
What I wrote was my reasumption from my point of view of work that it's not mine, please read the entire post from begining. You will find ethercat master on Sacha Ittner's page:

github.com/sittner/ec-debianize

Read the tutorial and see the video from Andreas very carefuly.

I am posing the same questions, like you, how to integrate servo into linuxcnc, except I didn't bought a servo yet. You can view tutorials and post your solution, it seems not so difficult if you have TwinCAT and you're able to export XML configuration file.
Now, which data are being sent over ethercat in your case, there must be a list of that, an ethercat master configuration.
More
13 years 3 days ago #40370 by roschi
Replied by roschi on topic Ethercat HAL driver
Hi Oscar,

Oscmol wrote: I work at Omron and i am working with our Ethercat systems all days long.
But i am not really shure how this is working here now, so maybe alot of stupid questions.


I've written the tutorial to get the drives from Bosch Rexroth to work with LinuxCNC. (Only commanded values for speed and position go over EtherCAT,control loops are done on the drive as usual)

My advise is before you start with LinuxCNC / HAL download the Soft-Master for EtherCAT from etherlab.org, build it, install it, start the soft master, disconnect your drive (I guess Accurax G5?) from a working machine which is in idle mode, connect it to the ethernet port of your pc, type in command line 'ethercat slaves' and whatch the result.

If there is some output you can test for ethercat slaves -v, ethercat pdos or ethercat states op,...and so on.

If all seems nice then go to LinuxCNC, HAL

Regards Andreas
The following user(s) said Thank You: Nico2017
Time to create page: 0.241 seconds
Powered by Kunena Forum