4th axis must move to shortest distance 355-360-5deg
Moderator: cnckeith
-
- Posts: 116
- Joined: Fri Jun 10, 2011 8:31 am
- Allin1DC CNC Controller: Yes
- CNC Control System Serial Number: none
- DC3IOB: Yes
- CNC11: Yes
- CPU10 or CPU7: Yes
4th axis must move to shortest distance 355-360-5deg
The 4-axis is currently unable to rotate in the nearest direction. For instance, when it is from 355 degrees to 5 degrees, it will go to 5 degrees via 340 degrees and 330 degrees in this direction.
I need it to be able to rotate directly from 355 degrees to 5 degrees.
I need it to be able to rotate directly from 355 degrees to 5 degrees.
(Note: Liking will "up vote" a post in the search results helping others find good information faster)
-
- Posts: 2541
- Joined: Thu Sep 23, 2021 3:49 pm
- Acorn CNC Controller: Yes
- Allin1DC CNC Controller: No
- Oak CNC controller: No
- CNC Control System Serial Number: 6433DB0446C1-08115074
- DC3IOB: No
- CNC12: Yes
- CNC11: No
- CPU10 or CPU7: No
- Location: Germany
Re: 4th axis must move to shortest distance 355-360-5deg
New mill version is with M151 unwind rotary
G0 A355
G91 A10
M151 /A
Uwe
G0 A355
G91 A10
M151 /A
Uwe
Last edited by suntravel on Mon Jul 29, 2024 4:01 am, edited 1 time in total.
(Note: Liking will "up vote" a post in the search results helping others find good information faster)
-
- Posts: 116
- Joined: Fri Jun 10, 2011 8:31 am
- Allin1DC CNC Controller: Yes
- CNC Control System Serial Number: none
- DC3IOB: Yes
- CNC11: Yes
- CPU10 or CPU7: Yes
Re: 4th axis must move to shortest distance 355-360-5deg
Well my postprocess will need this I didn't do the manual programming.
Most postprocess take the shortest path ...not possible to add those codes
Most postprocess take the shortest path ...not possible to add those codes
(Note: Liking will "up vote" a post in the search results helping others find good information faster)
-
- Posts: 2541
- Joined: Thu Sep 23, 2021 3:49 pm
- Acorn CNC Controller: Yes
- Allin1DC CNC Controller: No
- Oak CNC controller: No
- CNC Control System Serial Number: 6433DB0446C1-08115074
- DC3IOB: No
- CNC12: Yes
- CNC11: No
- CPU10 or CPU7: No
- Location: Germany
Re: 4th axis must move to shortest distance 355-360-5deg
ok, CNC12 does not feature the shortest path calculation in rapids with rotary, but in most postprocessors, it is possible to integrate such a function.
Uwe
(Note: Liking will "up vote" a post in the search results helping others find good information faster)
-
- Posts: 116
- Joined: Fri Jun 10, 2011 8:31 am
- Allin1DC CNC Controller: Yes
- CNC Control System Serial Number: none
- DC3IOB: Yes
- CNC11: Yes
- CPU10 or CPU7: Yes
Re: 4th axis must move to shortest distance 355-360-5deg
What about time my sequence have 20such moves
Also I am not a end user .my customer has 3fanuc 4th axis m.c how can I justify three m.c take shortest path and one can't.
Also I am not a end user .my customer has 3fanuc 4th axis m.c how can I justify three m.c take shortest path and one can't.
(Note: Liking will "up vote" a post in the search results helping others find good information faster)
-
- Posts: 2541
- Joined: Thu Sep 23, 2021 3:49 pm
- Acorn CNC Controller: Yes
- Allin1DC CNC Controller: No
- Oak CNC controller: No
- CNC Control System Serial Number: 6433DB0446C1-08115074
- DC3IOB: No
- CNC12: Yes
- CNC11: No
- CPU10 or CPU7: No
- Location: Germany
Re: 4th axis must move to shortest distance 355-360-5deg
Which CAM is your customer using?
Uwe
Uwe
(Note: Liking will "up vote" a post in the search results helping others find good information faster)
Re: 4th axis must move to shortest distance 355-360-5deg
If the requirements could be clearly defined, then I am sure Centroid would consider adding it to the to-do list.
But first, the requirements need to be clear.
Currently, Centroid does not recognize wraparound of rotary axes. A5.0 is one place; A365.0 is a different place. If you are at A355.0, and you want to move forward ten degrees, you program A365.0.
I understand from your post that, given code like:
... you would like the move on N20 to go forward ten degrees.
I assume also that you would like the move on N40 to go forward five degrees. That implies that you expect the control to automatically reset/unwind the rotary axis when crossing 360/0, so that when the move on N20 is done, the control considers the axis to be at 5.0, and not at 365.0; or perhaps that all rotary moves are to reassess the shortest path.
In your ideal control, how would you program a rotary feedrate move that exceeds 180 degrees?
Currently on a Centroid control, you can run code like this:
... to cut ten turns of a 5 revs/inch spiral. At the end of that cut, if you have CNC12 v5.10 or newer, you could program "M151/A" to reset the position so that A3600.0 becomes A0.0.
I am guessing that you want the shortest-path rule to apply only to rapid (G0) moves, and never to feedrate (G1, G2 or G3) moves.
I am guessing that, after such a rapid move is complete, you want the starting position to be reset so that any subsequent feedrate move is considered to start from a local position greater than or equal to +0.0, and less than +360.0.
Should there be any way to program a rapid move that exceeds 180 degrees?
While a rapid move of more than 180 degrees probably serves no useful purpose in production machining (except perhaps if there is excessive backlash in the rotary table drive, so you are trying to approach every cut from the same side), I use 360-degree rapid moves all the time when setting up and testing a new installation. I suppose one could get used to using "G1 F10000" for such moves instead.
But first, the requirements need to be clear.
Currently, Centroid does not recognize wraparound of rotary axes. A5.0 is one place; A365.0 is a different place. If you are at A355.0, and you want to move forward ten degrees, you program A365.0.
I understand from your post that, given code like:
Code: Select all
N10 G90 G0 A355.0 Z0.1
N20 A5.0
N30 G1 F10 Z-0.2
N40 G1 F720 A10.0
I assume also that you would like the move on N40 to go forward five degrees. That implies that you expect the control to automatically reset/unwind the rotary axis when crossing 360/0, so that when the move on N20 is done, the control considers the axis to be at 5.0, and not at 365.0; or perhaps that all rotary moves are to reassess the shortest path.
In your ideal control, how would you program a rotary feedrate move that exceeds 180 degrees?
Currently on a Centroid control, you can run code like this:
Code: Select all
N10 G0 G90 X0.0 A0.0 Z0.1
N20 G1 F10 Z-0.1
N30 G1 F500 X2.0 A3600.0
N40 G0 Z0.1
I am guessing that you want the shortest-path rule to apply only to rapid (G0) moves, and never to feedrate (G1, G2 or G3) moves.
I am guessing that, after such a rapid move is complete, you want the starting position to be reset so that any subsequent feedrate move is considered to start from a local position greater than or equal to +0.0, and less than +360.0.
Should there be any way to program a rapid move that exceeds 180 degrees?
While a rapid move of more than 180 degrees probably serves no useful purpose in production machining (except perhaps if there is excessive backlash in the rotary table drive, so you are trying to approach every cut from the same side), I use 360-degree rapid moves all the time when setting up and testing a new installation. I suppose one could get used to using "G1 F10000" for such moves instead.
(Note: Liking will "up vote" a post in the search results helping others find good information faster)
-
- Posts: 116
- Joined: Fri Jun 10, 2011 8:31 am
- Allin1DC CNC Controller: Yes
- CNC Control System Serial Number: none
- DC3IOB: Yes
- CNC11: Yes
- CPU10 or CPU7: Yes
Re: 4th axis must move to shortest distance 355-360-5deg
Thanks
G1F10000 is useful
G1F10000 is useful
(Note: Liking will "up vote" a post in the search results helping others find good information faster)