Open Source Controller with internal THC
I am after some advice to point me in the right direction on how to go about getting some software written that I can use on my new line of CNC plasma tables I intend to build and sell in the Australian market.
Firstly I have designed and built a large industrial machine using CandCNC controller and CommandCNC software,
This machine works well and it is used everyday for production.
What I want to acheive is basically what CandCNC have done but my problem is they are not local to me and shipping costs for parts become expensive when spares are needed.
I want to develop a open source controller using LinuxCNC that uses minimal hardware parts and has software THC.
I have contacted Hypertherm about buying there controllers but they are not cheap and they dont want to sell to me.
Can anyone give me some guidance on what is needed to design open software that will include software based THC and the ability to drive servo motors via Ethercat.
The forum messaging is not very reliable. You can contact me via this link
Or just phone me on one of the numbers on that page.
I've recently written a document that summarises how to build a high performance THC system with LinuxCNC.
You will be able to build a table with superior performance to CommandCNC without using external THC hardware. The Mesa THCAD board is a very reliable method of reading torch voltage. Armed with that, you can do everything in software in real time just like Hypertherm does it.
There is an Ethercat module that has been adopted by LinuxCNC users. Unfortunately, it can't be integrated into the mainstream Linuxcnc code base due to incompatible licensing. But its still open source.
EDIT: contact us here www.vmn.com.au/contact-us
Thank you for your offer to help,
Can you link me to the document you wrote about building the THC system,
Also what do you mean about incompatible licensing?
As a hobby of mine I have been looking for ways to retrofit old six axis robotic arms, I have found this start up in South Korea that offer a open source robot controller that is based on Linux and can control AC servo motors via ethercat,
The controller hardware is based on the raspberry Pi,
I assumed that the driver they use is the same one that is available for Linuxcnc?
I have brought a controller from them but have not had time to play around with developing the control interface yet.
Beckhoff who own the Ethercat standard have some licensing restrictions on their stuff. the Open source movement and their attorneys are very picky and risk averse. This restriction prevents LinuxCNC from adopting it as its not issued under the same GPL license that LinuxCNC is. (even different open source licenses are not always compatible).
There is a very long Ethercat thread here:
And some stuff on the LinuxCNC Wiki.
I've not had the need to look at Ethercat, but I'm sure it would not be hard to implement. There seems to be more and more of it getting about. Therefore I can't advise you about that controller.
I've played with a Pi over the years but the word around here is that the screen handling is far too slow for LinuxCNC. Machinekit (a fork of LinuxCNC) does use it but as a remote headless controller that you connect from another PC. I don't see the point of adding complexity.
I think if I was building a system, I'd adopt Mesa ethernet cards and use an USFF N3160 CPU based system. You can get these with 3-4 ethernet interfaces for firewalls etc. That would give you 1 Ethernet card for Mesa, 1 for Ethercat and still have at least one spare to connect your system to a wired network. I would try to talk to Hypertherm's RS485 using the Mesa UART. (No ones's done that yet but I want to give it a go. I think it should be doable). That way, the only connection to your table would be 2 Ethernet cables and there is no serial port woes. Nice and neat and good for noise resistance!
I would like to keep the hardware to a minimum, the more things the software can do the easier and I feel more robust the system will be.
Do you have any idea on how CommandCNC was built? Was it build entirely on linuxcnc?
Where would be a good starting point for me to learn to create my own user interface that uses linuxcnc in the background.
I have a working THC based on the THCad board. My code isn't that good and really needs to be cleaned up. Rodw's implementations is much cleaner. I have implementations for both the master branch and the external-offsets branch. In the last few months there have been a couple of new configurations proposed that may save you a lot of work.
I called the technical service desk from Beckhoff about 3 weeks ago. What they say is, you can use it with linuxcnc, no problem.
But you may not change the source code of Ethercat. In the document's of Etherlab, there is a point where they talk about coding.
* $Id: ecdb.h 908 2007-08-10 15:27:08Z fp $
* Copyright (C) 2006 Florian Pose, Ingenieurgemeinschaft IgH
* This file is part of the IgH EtherCAT Master.
* The IgH EtherCAT Master is free software; you can redistribute it
* and/or modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
* The IgH EtherCAT Master is distributed in the hope that it will be
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with the IgH EtherCAT Master; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
* The right to use EtherCAT Technology is granted and comes free of
* charge under condition of compatibility of product made by
* Licensee. People intending to distribute/sell products based on the
* code, have to sign an agreement to guarantee that products using
* software based on IgH EtherCAT master stay compatible with the actual
* EtherCAT specification (which are released themselves as an open
* standard) as the (only) precondition to have the right to use EtherCAT
* Technology, IP and trade marks..
So they say. Don't change the source code. Don't make a mix between Ethernet and Ethercat, what we could do in theory.
This week i get my Ethercat test box. I will try to integrate it with current Linuxcnc version. It will take a few weeks i think.
But if you do nothing, you will get nothing to work.
So for Australian marked. Ethercat with Linuxcnc plasma is a master piece of a product.
Switcut is nothing with mach3, unless they sold 500 tables this year, including Australia.
From the Developers email list
Our policy is that any code added to LinuxCNC has to be compatible with
the license terms "GPL version 2 or any later version".
Anything that imposes a restriction on how the software can be used (for
example, if it is claimed that using the software requires an additional
license, as Beckhoff Automation GmbH reportedly does) cannot be
There is no problem using it, its just it can't be incorporated into the core source distribution because of this legal restriction.
They cannot restrict to GPL if published before.
Hmm. The German's where the provider of world war 2. more then 2 milion peolple into the gas chamber. I am not forgotten. Now they think they can restrict us for the second time?
Fuck the moffen zou me opa zeggen. ( In English : Fuck the moffen should my grandfather say. )
Their password is heil hitler. But beckhoff can not restrict any document's to open source. In other way. Provide a brand new source code and get rid of this malifide automation company.
We have modbuss on lower level, on higher level, devicenet, profibus and ethercat.
I will try to make a brand new code. I think when i start from zero it's brand new code or not?