@@ -942,7 +942,7 @@ It is an error if :
942942(((G33 Spindle Synchronized Motion)))
943943
944944----
945- G33 X- Y- Z- K-
945+ G33 X- Y- Z- K- $-
946946----
947947* 'K' - distance per revolution
948948
@@ -954,6 +954,10 @@ This command might be part of a program to produce a 16TPI thread.
954954Another example in metric, 'G33 Z-15 K1.5' produces
955955a movement of 15mm while the spindle rotates 10 times for a thread of 1.5mm.
956956
957+ The (optional) $ argument sets which spindle the motion is synchronised
958+ to (default is zero). For example G33 Z10 K1 $1 will move the spindle in
959+ synchrony with the spindle.N.revs HAL pin value.
960+
957961Spindle-synchronized motion waits for the spindle index and spindle at speed
958962pins, so multiple passes line up. 'G33' moves end at the programmed endpoint.
959963G33 could be used to cut tapered threads or a fusee.
@@ -976,8 +980,11 @@ finishes accelerating to the proper speed, and can immediately begin
976980cutting a good thread.
977981
978982.HAL Connections
979- The pins 'spindle.N.at-speed' and the 'encoder.n.phase-Z' for the
980- spindle must be connected in your HAL file before G33 will work.
983+ The pin 'spindle.N.at-speed' must be set or driven true for the motion to
984+ start. Additionally spindle.N.revs must increase by 1 for each revolution
985+ of the spindle and the spindle.N.index-enable pin must be connected to
986+ an encoder (or resolver) counter which resets index-enable once per rev.
987+
981988See the Integrators Manual for more information on spindle synchronized motion.
982989
983990.G33 Example
@@ -1004,10 +1011,11 @@ It is an error if:
10041011(((G33.1 Rigid Tapping)))
10051012
10061013----------------
1007- G33.1 X- Y- Z- K- I-
1014+ G33.1 X- Y- Z- K- I- $-
10081015----------------
10091016* 'K' - distance per revolution
10101017* 'I' - optional spindle speed multiplier for faster return move
1018+ * '$' - optional spindle selector
10111019
10121020[WARNING]
10131021For Z only tapping preposition the XY location prior to calling G33.1 and only
@@ -1023,8 +1031,8 @@ for each revolution of the spindle.
10231031A rigid tapping move consists of the following sequence:
10241032
10251033. A move from the current coordinate to the specified coordinate, synchronized
1026- with the spindle at the given ratio and starting from the current coordinate
1027- with a spindle index pulse.
1034+ with the selected spindle at the given ratio and starting from the
1035+ current coordinate with a spindle index pulse.
10281036. When reaching the endpoint, a command to reverse the spindle, and speed up
10291037 by a factor set by the multiplier (e.g., from clockwise to counterclockwise).
10301038. Continued synchronized motion beyond the specified end coordinate
@@ -1496,7 +1504,7 @@ It is an error if:
14961504(((G74 Left-hand Tapping Cycle Dwell)))
14971505
14981506----
1499- G74 (X- Y- Z-) or (U- V- W-) R- L- P-
1507+ G74 (X- Y- Z-) or (U- V- W-) R- L- P- $-
15001508----
15011509
15021510The 'G74' cycle is intended for tapping with floating chuck and dwell at the bottom of the hole.
@@ -1508,7 +1516,7 @@ The 'G74' cycle is intended for tapping with floating chuck and dwell at the bot
15081516
15091517 3. Move the Z-axis at the current feed rate to the Z position.
15101518
1511- 4. Stop Spindle.
1519+ 4. Stop the selected spindle (chosen by the $ parameter)
15121520
15131521 5. Start spindle rotation clockwise.
15141522
@@ -1526,7 +1534,7 @@ In example S100 F125 gives pitch of 1.25MM per revolution.
15261534(((G76 Threading Cycle)))
15271535
15281536----
1529- G76 P- Z- I- J- R- K- Q- H- E- L-
1537+ G76 P- Z- I- J- R- K- Q- H- E- L- $-
15301538----
15311539
15321540.G76 Threading
@@ -1558,6 +1566,11 @@ threading cut will be 'K' beyond the 'thread peak' position.
15581566
15591567Optional settings
15601568
1569+ * '$-' - The spindle number to which the motion will be synchronised
1570+ (default 0). For example is $1 is programmed then the motion will begin
1571+ on the reset od spindle.1.index-enable and proceed in synchrony with the
1572+ value of spindle.1.revs
1573+
15611574* 'R-' - The 'depth degression'. 'R1.0' selects constant depth on successive
15621575threading passes. 'R2.0' selects constant area. Values between 1.0 and
156315762.0 select decreasing
@@ -2094,7 +2107,7 @@ It is an error if:
20942107(((G84 Right-hand Tapping Cycle Dwell)))
20952108
20962109----
2097- G84 (X- Y- Z-) or (U- V- W-) R- L- P-
2110+ G84 (X- Y- Z-) or (U- V- W-) R- L- P- $-
20982111----
20992112
21002113The 'G84' cycle is intended for tapping with floating chuck and dwell at the bottom of the hole.
@@ -2106,7 +2119,7 @@ The 'G84' cycle is intended for tapping with floating chuck and dwell at the bot
21062119
21072120 3. Move the Z-axis at the current feed rate to the Z position.
21082121
2109- 4. Stop spindle
2122+ 4. Stop the seleted spindle (chosen by the $ parameter)
21102123
21112124 5. Start spindle rotation counterclockwise.
21122125
@@ -2143,7 +2156,7 @@ for drilling or milling.
21432156(((G86 Boring, Spindle Stop, Rapid Move Out)))
21442157
21452158----
2146- G86 (X- Y- Z-) or (U- V- W-) R- L- P-
2159+ G86 (X- Y- Z-) or (U- V- W-) R- L- P- $-
21472160----
21482161
21492162The 'G86' cycle is intended for boring. This cycle uses a P number
@@ -2154,7 +2167,7 @@ for the number of seconds to dwell.
21542167 . Move the Z-axis only at the current <<sec:set-feed-rate,feed rate>> to the Z
21552168 position.
21562169 . Dwell for the P number of seconds.
2157- . Stop the spindle turning.
2170+ . Stop the selected spindle turning. (Chosen by the $ parameter)
21582171 . The Z-axis does a <<gcode:g0,rapid move>> to clear Z.
21592172 . Restart the spindle in the direction it was going.
21602173
@@ -2340,7 +2353,8 @@ controlled point should move a certain number of inches per revolution
23402353of the spindle, depending on what length units are being used and which
23412354axis or axes are moving. G95 is not suitable for threading, for
23422355threading use G33 or G76.
2343- G95 requires that spindle.N.speed-in to be connected.
2356+ G95 requires that spindle.N.speed-in to be connected. The actual spindle
2357+ to which the feed is synchronised is chosen by the $ parameter
23442358
23452359It is an error if:
23462360
@@ -2353,22 +2367,26 @@ It is an error if:
23532367(((G96, G97 Spindle Control Mode)))
23542368
23552369----
2356- G96 <D-> S- (Constant Surface Speed Mode)
2357- G97 (RPM Mode)
2370+ G96 <D-> S- <$-> (Constant Surface Speed Mode)
2371+ G97 S- <$-> (RPM Mode)
23582372----
23592373
23602374* 'D' - maximum spindle RPM
23612375* 'S' - surface speed
2376+ * '$" - the spindle of which the speed will be varied.
23622377
23632378* 'G96 D- S-' - selects constant surface speed of 'S' feet per minute
23642379 (if G20 is in effect) or meters per minute
23652380 (if G21 is in effect). D- is optional.
23662381+
23672382When using G96, ensure that X0 in
23682383the current coordinate system (including offsets and tool lengths) is
2369- the center of rotation or LinuxCNC will not give the desired spindle speed.
2384+ the center of rotation or LinuxCNC will not give the desired ssurface speed.
23702385G96 is not affected by radius or diameter mode.
23712386
2387+ To achieve CSS mode on selected spindles programme successive G96 commands
2388+ for each spindle prior to issuing M3.
2389+
23722390* 'G97' selects RPM mode.
23732391
23742392.G96 Example Line
0 commit comments