Can LinuxCNC work on a Rotary Transfer Machine?
- gpasotti
- Topic Author
- Visitor
31 Jul 2024 09:31 #306480
by gpasotti
Can LinuxCNC work on a Rotary Transfer Machine? was created by gpasotti
Hello,
I am new here and overall in the CNC world.
I just wondered if LinuxCNC is suitable for Multi-Station like Rotary and Linear Transfer Machines, that have many Units and Axis, at least many more than what I have seen in the examples.
And if not what would take to make it so?
Thanks in advance,
G.Pasotti
I am new here and overall in the CNC world.
I just wondered if LinuxCNC is suitable for Multi-Station like Rotary and Linear Transfer Machines, that have many Units and Axis, at least many more than what I have seen in the examples.
And if not what would take to make it so?
Thanks in advance,
G.Pasotti
Please Log in or Create an account to join the conversation.
- Aciera
- Away
- Administrator
Less
More
- Posts: 3969
- Thank you received: 1717
31 Jul 2024 09:35 - 31 Jul 2024 09:45 #306482
by Aciera
Replied by Aciera on topic Can LinuxCNC work on a Rotary Transfer Machine?
Attachments:
Last edit: 31 Jul 2024 09:45 by Aciera.
Please Log in or Create an account to join the conversation.
- gpasotti
- Topic Author
- Visitor
31 Jul 2024 09:56 #306484
by gpasotti
Replied by gpasotti on topic Can LinuxCNC work on a Rotary Transfer Machine?
By Rotary transfer I mean a milling machine with a rotary table with multiple stations, each station is like higly customized lathe, it holds a working piece and has multiple Units that perform a specific work on the piece.
Each Unit is composed by multiple axis depending on the complexity of the work, for certain a spindle and at least the z axis, but could even have x y z axis.
Something like this:
I also foud this to help define it: en.wikipedia.org/wiki/Rotary_transfer_machine
Each Unit is composed by multiple axis depending on the complexity of the work, for certain a spindle and at least the z axis, but could even have x y z axis.
Something like this:
I also foud this to help define it: en.wikipedia.org/wiki/Rotary_transfer_machine
Attachments:
Please Log in or Create an account to join the conversation.
- Aciera
- Away
- Administrator
Less
More
- Posts: 3969
- Thank you received: 1717
31 Jul 2024 10:08 - 31 Jul 2024 10:12 #306488
by Aciera
Replied by Aciera on topic Can LinuxCNC work on a Rotary Transfer Machine?
Ah, I see.
I'm afraid not. LinuxCNC is not multi-channel capable so it cannot synchronize axes moving along different tool paths at the same time.
[edit]
The only way this could work would be to use a different installation of LinuxCNC for each station and synchronize the program execution using digital IO
I'm afraid not. LinuxCNC is not multi-channel capable so it cannot synchronize axes moving along different tool paths at the same time.
[edit]
The only way this could work would be to use a different installation of LinuxCNC for each station and synchronize the program execution using digital IO
Last edit: 31 Jul 2024 10:12 by Aciera.
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19435
- Thank you received: 6517
31 Jul 2024 10:30 #306490
by tommylight
Replied by tommylight on topic Can LinuxCNC work on a Rotary Transfer Machine?
Pretty sure something like that can be done with LinuxCNC, as almost all motions are unique and repeat all the time, so each station has a single motion to do.
Probably most can be done with separate stepgens or siggens and some hal fiddling to ensure the tools are in place before moving the main part holder.
Add a VCP for editing values tools have to move and....
-
This is from back when i started using LinuxCNC and thinking what can be controlled by it, so just stuff in my head as i never had a chance to try and build such a machine.
Probably most can be done with separate stepgens or siggens and some hal fiddling to ensure the tools are in place before moving the main part holder.
Add a VCP for editing values tools have to move and....
-
This is from back when i started using LinuxCNC and thinking what can be controlled by it, so just stuff in my head as i never had a chance to try and build such a machine.
Please Log in or Create an account to join the conversation.
- gpasotti
- Topic Author
- Visitor
31 Jul 2024 12:44 #306516
by gpasotti
Replied by gpasotti on topic Can LinuxCNC work on a Rotary Transfer Machine?
So, if I got that right, It is not intended but with some coding and abstraction it could be done...
Also I am not sure I can propose a solution with a PC controller for each Station or Unit, but I'll try to develop this idea too.
Meanwhile I found something that I think is related on github:
github.com/LinuxCNC/linuxcnc/issues/2716
github.com/LinuxCNC/linuxcnc/issues/2143
The #2143 particularly mentions this branch, but is 10 years old:
github.com/LinuxCNC/linuxcnc/tree/unified-build-candidate-3
Also I am not sure I can propose a solution with a PC controller for each Station or Unit, but I'll try to develop this idea too.
Meanwhile I found something that I think is related on github:
github.com/LinuxCNC/linuxcnc/issues/2716
github.com/LinuxCNC/linuxcnc/issues/2143
The #2143 particularly mentions this branch, but is 10 years old:
github.com/LinuxCNC/linuxcnc/tree/unified-build-candidate-3
Please Log in or Create an account to join the conversation.
- Aciera
- Away
- Administrator
Less
More
- Posts: 3969
- Thank you received: 1717
31 Jul 2024 13:21 - 31 Jul 2024 13:22 #306518
by Aciera
If a station only needs a single axis (eg a Z axis) then there might be a way to use the 'extra joints' feature, which are axes that are not linked to any of the nine possible axis letters (XYZABCUVW) but are managed independently by 'limit3' hal components. As soon as you need two axes to move in a coordinated manner you need to do this through the motion planner (ie GCODE). A single LinuxCNC installation can only run one coordinated motion at the same time. So for example on a lathe with two independent tool posts it is not possible to have one tool post follow a contour and the other tool post follow another contour at the same time. It would be possible to run one after the other has finished but that is usually not idea.
Multi-channel capability comes up sporadically in discussions, mostly in the context of lathes with front and back spindles. Looks like there have been tentative attempts here and there but whether that it will actually ever work is really anybody's guess.
Personally I certainly wouldn't count on it.
Replied by Aciera on topic Can LinuxCNC work on a Rotary Transfer Machine?
So, if I got that right, It is not intended but with some coding and abstraction it could be done...
If a station only needs a single axis (eg a Z axis) then there might be a way to use the 'extra joints' feature, which are axes that are not linked to any of the nine possible axis letters (XYZABCUVW) but are managed independently by 'limit3' hal components. As soon as you need two axes to move in a coordinated manner you need to do this through the motion planner (ie GCODE). A single LinuxCNC installation can only run one coordinated motion at the same time. So for example on a lathe with two independent tool posts it is not possible to have one tool post follow a contour and the other tool post follow another contour at the same time. It would be possible to run one after the other has finished but that is usually not idea.
Multi-channel capability comes up sporadically in discussions, mostly in the context of lathes with front and back spindles. Looks like there have been tentative attempts here and there but whether that it will actually ever work is really anybody's guess.
Personally I certainly wouldn't count on it.
Last edit: 31 Jul 2024 13:22 by Aciera.
The following user(s) said Thank You: gpasotti
Please Log in or Create an account to join the conversation.
- gpasotti
- Topic Author
- Visitor
01 Aug 2024 09:25 #306596
by gpasotti
Replied by gpasotti on topic Can LinuxCNC work on a Rotary Transfer Machine?
Is there a limit on those "extra joints" ?
But "extra joints" can be used only as one axis? or each has it's set of axis?
What is limiting the coordinated motion to run at the same time? maybe there is a way to create multiple instances of motion controller ?
I'll try to catch up with the developer manual
But "extra joints" can be used only as one axis? or each has it's set of axis?
What is limiting the coordinated motion to run at the same time? maybe there is a way to create multiple instances of motion controller ?
I'll try to catch up with the developer manual
Please Log in or Create an account to join the conversation.
- Aciera
- Away
- Administrator
Less
More
- Posts: 3969
- Thank you received: 1717
01 Aug 2024 10:18 #306597
by Aciera
Replied by Aciera on topic Can LinuxCNC work on a Rotary Transfer Machine?
An extra joint is just a single 'axis' .
LinuxCNC can handle 16 joints in total (any combination of XYZABCUVW plus 'extra joints')
So if you need XYZA for your coordinated station then you have 16-4=12 extra joints left.
If your coordinated station needs a tandem axis (eg for a gantry) then you have 16-4-1=11 extra joints left.
Extra joints can have a homing procedure, min / max limits, max velocity and max acceleration values.
Extra joints can be moved by setting the 'in' pin of the assigned 'limit3' hal component, this can also be done from GCode using a custom Mcode.
I'm afraid I don't know what would be needed to add multi-channel capability to LinuxCNC but I'm sure there aren't many people who know the code base well enough to even think of taking on such a challenge.
LinuxCNC can handle 16 joints in total (any combination of XYZABCUVW plus 'extra joints')
So if you need XYZA for your coordinated station then you have 16-4=12 extra joints left.
If your coordinated station needs a tandem axis (eg for a gantry) then you have 16-4-1=11 extra joints left.
Extra joints can have a homing procedure, min / max limits, max velocity and max acceleration values.
Extra joints can be moved by setting the 'in' pin of the assigned 'limit3' hal component, this can also be done from GCode using a custom Mcode.
I'm afraid I don't know what would be needed to add multi-channel capability to LinuxCNC but I'm sure there aren't many people who know the code base well enough to even think of taking on such a challenge.
The following user(s) said Thank You: gpasotti
Please Log in or Create an account to join the conversation.
- Aciera
- Away
- Administrator
Less
More
- Posts: 3969
- Thank you received: 1717
01 Aug 2024 10:40 - 01 Aug 2024 10:52 #306599
by Aciera
Replied by Aciera on topic Can LinuxCNC work on a Rotary Transfer Machine?
If I were to try and do something like this I would get a few RPis with Linuxcnc running on each of them and figure out a way to feed them with gcode from a master PC. The synchronization would be through hardware IO shared between the individual installations.
[edit]
This really seems the most sensible way of doing this as you really just have a number of machines running in parallel without the problem of one interfering in the space of the other. Each station runs it's own Gcode and simply waits for the signal to start. Once it is done it sets a hardware output so the master installation knows when to rotate the carousel. This would also eliminate the need for fancy CAM solutions to generate multi channel gcode and you would have total freedom in the design of the individual stations.
[edit]
This really seems the most sensible way of doing this as you really just have a number of machines running in parallel without the problem of one interfering in the space of the other. Each station runs it's own Gcode and simply waits for the signal to start. Once it is done it sets a hardware output so the master installation knows when to rotate the carousel. This would also eliminate the need for fancy CAM solutions to generate multi channel gcode and you would have total freedom in the design of the individual stations.
Last edit: 01 Aug 2024 10:52 by Aciera.
The following user(s) said Thank You: gpasotti
Please Log in or Create an account to join the conversation.
Time to create page: 0.156 seconds