Tool life management
19 Oct 2020 12:56 #186579
by COlger81
Tool life management was created by COlger81
Has anyone written tool life management code?
Please Log in or Create an account to join the conversation.
19 Oct 2020 21:59 #186628
by cmorley
Replied by cmorley on topic Tool life management
AFAIK no one has. I think it stats with the fact the tooltable layout is hard coded in linuxcnc so it is difficult to add information to it
There was work on a tooltable database that would allow such expansions of utility but it seems abandoned.
Chris
There was work on a tooltable database that would allow such expansions of utility but it seems abandoned.
Chris
Please Log in or Create an account to join the conversation.
02 Nov 2020 11:54 #188096
by spma
Replied by spma on topic Tool life management
I've been interested in this for a while now but haven't seen any work related to it.
I'd like to maybe take a look at what has been done and maybe try to finish it, do you know who worked on it?
I'd like to maybe take a look at what has been done and maybe try to finish it, do you know who worked on it?
Please Log in or Create an account to join the conversation.
02 Nov 2020 13:47 #188108
by andypugh
Replied by andypugh on topic Tool life management
It isn't so much abandoned as put on the back-burner.
The tool database was documented here: wiki.linuxcnc.org/cgi-bin/wiki.pl?ToolDatabase
A branch containing some initial work is here: github.com/LinuxCNC/linuxcnc/commits/andypugh/tooltable
Take a look around November 2013.
OK, so it is somewhere behind the back-burner
It isn't done exactly as I would do it now. But here is the idea...
LinuxCNC currently passes the whole tool table in to the realtime layer to make it available to the trajectory planner to do lookahead and motion buffering.
We need to abandon this, and accept that the queue is cleared any time the tool data changes. (possibly with exceptions).
Then any time the tool data changes, the system stops and makes a tool data request back to Userspace, where a query is made to get the data that the system needs out of the tool database.
I think that the logical way to do this is with a default, but editable, set of database queries (as the query _has_ to come from C++ code). In the 2013 work I had a Python layer (toolstore.py) , but I think that might not be useful.
Whatever the answer is, there needs to be a way for the integrator to configure the query.
Points of note:
What happens to tool data changes made in the realtime layer (for example when a G10 command is executed. How do we synchronise the internal and database states?
The GUIs need to understand this, and ToolEdit needs to learn a lot.
Back in 2013 I did not know enough Python to modify ToolEdit. If I was doing it now I might even _start_ there.
The tool database was documented here: wiki.linuxcnc.org/cgi-bin/wiki.pl?ToolDatabase
A branch containing some initial work is here: github.com/LinuxCNC/linuxcnc/commits/andypugh/tooltable
Take a look around November 2013.
OK, so it is somewhere behind the back-burner
It isn't done exactly as I would do it now. But here is the idea...
LinuxCNC currently passes the whole tool table in to the realtime layer to make it available to the trajectory planner to do lookahead and motion buffering.
We need to abandon this, and accept that the queue is cleared any time the tool data changes. (possibly with exceptions).
Then any time the tool data changes, the system stops and makes a tool data request back to Userspace, where a query is made to get the data that the system needs out of the tool database.
I think that the logical way to do this is with a default, but editable, set of database queries (as the query _has_ to come from C++ code). In the 2013 work I had a Python layer (toolstore.py) , but I think that might not be useful.
Whatever the answer is, there needs to be a way for the integrator to configure the query.
Points of note:
What happens to tool data changes made in the realtime layer (for example when a G10 command is executed. How do we synchronise the internal and database states?
The GUIs need to understand this, and ToolEdit needs to learn a lot.
Back in 2013 I did not know enough Python to modify ToolEdit. If I was doing it now I might even _start_ there.
Please Log in or Create an account to join the conversation.
02 Nov 2020 13:50 #188109
by andypugh
Replied by andypugh on topic Tool life management
Also be aware that Rene was looking at this more recently.
It's probably worth finding out where he got to, I can't see anything obvious in his github (rene-dev)
It's probably worth finding out where he got to, I can't see anything obvious in his github (rene-dev)
Please Log in or Create an account to join the conversation.
02 Nov 2020 19:30 #188137
by scotth
Replied by scotth on topic Tool life management
Accumulated tool runtime and current limit would be nice to track.
Please Log in or Create an account to join the conversation.
04 Nov 2020 11:19 - 04 Nov 2020 11:19 #188302
by spma
Replied by spma on topic Tool life management
Ok, just so I understand this, the problem here is that the current tool table is somewhat locked inside the realtime layer and to much stuff depend on it being there, so extracting it means a whole lot of other components need to be updated, right?
Now, assuming we can move the database onto userspace, I think that in the early stages we can create some kind of realtime interface to the new userspace database that mimics the current database API, so we don't need to mess with the components that depend on the database being on the realtime layer.
Any thoughts on this??
Now, assuming we can move the database onto userspace, I think that in the early stages we can create some kind of realtime interface to the new userspace database that mimics the current database API, so we don't need to mess with the components that depend on the database being on the realtime layer.
Any thoughts on this??
Last edit: 04 Nov 2020 11:19 by spma.
Please Log in or Create an account to join the conversation.
24 Feb 2024 20:41 #294250
by faber33
Replied by faber33 on topic Tool life management
Hi. Is there any progress on this topic?
Please Log in or Create an account to join the conversation.
Time to create page: 0.076 seconds