send if AXIS, DIRECTION, STATE
in english programing description something like this:
def do_jog(self, axis, direction, state):
if state = true the jog the axis in direction times rate
if not state stop axis jogging
Nerd wrote: @Chris,
One of my dream's is to make a material library in the program for cutting steel and inox and alu.
The purpose is to select a material and thickness.
The rest of the parameters are automaticly transferred to the plasma inverter with motbus in the cutting program.
Also the thc value's is then read in from the modbuss.
A lot of customer's want this build in function in the software. It make's life easer for them.
Its great to see this all come together for you Nerd.
The simplest way to manage your material library would be to include a copy of Sheetcam with your products. I think you could even convince Les Newell the author to build a post processor for you that works for your machines and provide your customers with basic nesting capabilities. I had a similar idea to your dream and thought that I'd look for a python database library that I could use. There are several of them and I'd look for a fully self contained library rather than something that interfaces with a SQL server.
I think SQL has been used for tool changers and there is some code around but I have not looked at what it does or how to use it. I suspect Andy will know a lot more. wiki.linuxcnc.org/cgi-bin/wiki.pl?ToolDatabase
Unfortunately I think he got discouraged from an apparent lack of interest from other developers.
The tool table does leave something to be desired.
The integrated tooltable in Linux can be great for plasma machines.
For example :
This software Italian made and has also a integrated tool table.
Swiftcut has it on all their machines.
Swiftcut is a Englisch company and produces at the moment max. 300 gantry machines every year. It's my biggest concurrent at the moment. They spent lot's of money on advertising Google. Swiftcut has a big investor behind the company. That's the only
reason that they are so big at the moment.
But. Linux is more and more powerfull then the Libellula software. If you don't know how to do. You buy Libellula and your machine will work.
It is maybe a good stratagy to build the tooltable extend's in the software. And also other functions. (negative adaptive speed etc.)
As you say Chris, a lack of interest has also i think to do with financial question's. If there is a budget to write software then the lack of interest can be converted to a great product in relative short time. I am willing to make a financial support to the linux community or the software developers who made this possible.
I think that you need to be careful in determining what your total user requirements are and which ones of those are in scope of Linuxcnc. Off the top of my head, I think LinuxCNC's scope covers off on your negative adaptive feed, torch height control (THC) and the features required to support THC. In short, its scope is defined to managing the cutting process after a nest has been processed by a post processor and the Gcode for that nest has been generated. Its been said that plasma is an orphan CNC process because it is so different to other machines such as lathes and Mills).
I think the biggest advance that LinuxCNC could make is to build robust PID based THC components that the trajectory planner controls without this nonsense of external THC's (eg Proma, CandCNC Neuron etc). Thats how Hypertherm and the big boys do it and when Linuxcnc cracks that nut, it will be disruptive technology as it will potentially put many THC companies out of business (but it needs to be driven by a plasma manufacturer not a hobbiest). Dewey Garrett one of the core development team members has made the first steps with the external offsets branch. To my knowledge, only two of us have played with this with plasma machines and neither of us yet has a result yet but neither of us has had the time or resources to try very hard. You need Dewey on your development team.
I've written a couple of components that support the software THC model (eg corner lock, torch voltage sampling) but have yet to build a working kerf crossing (void crossing) component that works.
The other key component that needs to be added (and I see this as being part of the LinuxCNC GUI interface (be it Gmocappy, Axis or Grotius's own). In my view, this is not a tool table but a materials table that knows this material and this thickness requires these settings. If I was writing that, it would have a number of database tables (eg material, thickness, plasma machine make and model, book cutting speeds. Lets call it a database for now. So this database needs to expose itself to the world via a web based API or shared database structure so a nesting program can access the data. In today's world, I think this is probably a web based server that accepts and returns XML or JSON data structures. Such a web based system is probably 10 lines of python code (ok, maybe 100). I have a background in the printing industry and in that industry there is a communication standard called JDF (Job Definition Format) that allows a connected workflow control itself and be coordinated by a MIS system. I don't know if there is an equivalent industry standard for CNC machines, but this would be where a plasma manufacturer could build competitive advantage. Build an open source interface to the machine and let companies like Libellula to talk to it.
I had a look at the Libullela video. In my view this component of a plant control system is clearly out of scope of LinuxCNC and the accompanying GUI module that manages the materials database except that it needs to be able to access the materials database and send a nest to the CNC system via a defined interface. This software makes intensive use of maths (for nesting), graphics (for displaying the nest) and databases (for customers, materials, scrap material, quotes, invoices and so on). All of these systems needs to be analysed and distilled into data entities and the required fields, then the relationships that connect these separate data entities documented. From there the database structures can be defined.
I know I've rambled on a bit here but whilst I am just a hobbyist on this forum, I've purchased a lot of profile cut parts and some of those parts are cut on tables that are 90 metres long. Whilst it might be ambitious, I think Grotius or any other aspiring plamsa manufacturer needs to develop a functional block diagram of a production facility software model and then decide how much of the action it wants to take on.
The key today is software interoperability so determine your niche, select the building blocks you want to build and ensure you expose your system via robust API's so others can partner with you to provide the pieces you can't or don't want to build.