- Posts: 72
- Thank you received: 0
Rotary Axis Locking
5 years 4 months ago #211440
by jochen91
Rotary Axis Locking was created by jochen91
Hi Folks,
as we know it's possible to lock a rotary axis with the "Locking Indexer" function which works fine.
But a pure indexer function is not always wanted. A programm for a rotary axis may include G0 and G1 which brings up the problem, that the Locking Indexer function only works with G0.
So my question is: How can a locking/unlock function with G1 feed moves be implemented?
I know that LinuxCNC does lock ahead in the G code. So it should be possible to determine when to lock/unlock (wait till unlock/lock) and than continue the processing of G code. Or to determine if its worth locking if i.e one line of g1 ends but in the second next line a G1 comes again.
Greetings,
Jochen
as we know it's possible to lock a rotary axis with the "Locking Indexer" function which works fine.
But a pure indexer function is not always wanted. A programm for a rotary axis may include G0 and G1 which brings up the problem, that the Locking Indexer function only works with G0.
So my question is: How can a locking/unlock function with G1 feed moves be implemented?
I know that LinuxCNC does lock ahead in the G code. So it should be possible to determine when to lock/unlock (wait till unlock/lock) and than continue the processing of G code. Or to determine if its worth locking if i.e one line of g1 ends but in the second next line a G1 comes again.
Greetings,
Jochen
Please Log in to join the conversation.
5 years 4 months ago #211549
by andypugh
The way that I would like to do it is to remove the restriction to G0 moves. And I would also quite like to remove the restriction to only working on rotary axes. The lock/unlock pins would be a really good way to handle the old-style CNCs with one motor that is clutched on to each axis on-demand.
As a workaround I came up with a HAL component that sets feed-override to 0.0001% (it needs to be tiny but non-zero, so that it can see if an axis is moving). If it sees no rotary move then it locks the axis, otherwise it unlocks, waits for an "is-unlocked" and then allows normal motion.
I thought that I had written such a HAL component, but I can't find it now.
A possibly more reliable approach would be to run the G-code through a filter file (this can be configured to happen automatically) that inserts command unlock - wait for is-unlocked ..... command lock - wait for is-locked G-code as required in the input file.
Replied by andypugh on topic Rotary Axis Locking
jochen91 wrote: So my question is: How can a locking/unlock function with G1 feed moves be implemented?
The way that I would like to do it is to remove the restriction to G0 moves. And I would also quite like to remove the restriction to only working on rotary axes. The lock/unlock pins would be a really good way to handle the old-style CNCs with one motor that is clutched on to each axis on-demand.
As a workaround I came up with a HAL component that sets feed-override to 0.0001% (it needs to be tiny but non-zero, so that it can see if an axis is moving). If it sees no rotary move then it locks the axis, otherwise it unlocks, waits for an "is-unlocked" and then allows normal motion.
I thought that I had written such a HAL component, but I can't find it now.
A possibly more reliable approach would be to run the G-code through a filter file (this can be configured to happen automatically) that inserts command unlock - wait for is-unlocked ..... command lock - wait for is-locked G-code as required in the input file.
Please Log in to join the conversation.
5 years 4 months ago #211633
by jochen91
Replied by jochen91 on topic Rotary Axis Locking
Hi Andy,
yes thats a great idea to make the locking more universal.
For the old style mills and for the trend building 4 or even 5th axis machines with Linux. Linux is such an extrem capable piece of software it's nearly a shame that such a basic feature is not nativly supported yet.
By any chance, could you post your HAL Component here if you find it? I would be realy happy, cause i dont wanna miss this feature on my rotary axis.
Kind regards,
Jochen
yes thats a great idea to make the locking more universal.
For the old style mills and for the trend building 4 or even 5th axis machines with Linux. Linux is such an extrem capable piece of software it's nearly a shame that such a basic feature is not nativly supported yet.
By any chance, could you post your HAL Component here if you find it? I would be realy happy, cause i dont wanna miss this feature on my rotary axis.
Kind regards,
Jochen
Please Log in to join the conversation.
Time to create page: 0.607 seconds
