Why dont you program it using long hand using incremental values ?
Then you can move to eject the part
Sorry guys, this is kind of a noob question, but in the Hardinge Conquest T42 Programmer's manual under section 16, page 16-19 it shows an example of transferring a part from the sub-spindle to the main spindle.
In this example, it shows setting two work offsets - the first G10 sets the Z axis (which works as expected), and the second G10 sets the sub-spindle work offset. This is so that you can command both relative to the zero-offset of the part being produced. Makes sense this way.
Except... G10 P0 Y-1.75 doesn't seem to have an effect. The sub-spindle moves in absolute coordinates regardless of the work-shift offset I choose.Code:N84 (TRANSFER TO MAIN) ; Sequence Number and Operator Message G10 P0 Z-1.75 ; Main Spindle Work Shift G10 P0 Y-1.75 ; Sub-Spindle Work Shift for Workpiece Transfer G97 S2500 M14 ; Main Spindle 2500 RPM Reverse M98 P1 ; Call Safe Start Program O1 M32 ; Sub-Spindle Sync to Main Spindle M21 ; Main Spindle Collet Open M36 ; Main Spindle Air Blast ON G0 Y-1. ; Rapid Part 1" into Main Spindle (Figure 16.16) M67 ; Sub-Spindle Axis Drive to Low Torque Mode G4 U.2 ; Dwell .2 Seconds M22 ; Main Spindle Collet Close G4 U.2 ; Dwell .2 Seconds M37 ; Main Spindle Air Blast OFF M56 ; Sub-Spindle Collet Open G4 U0.5 ; Dwell .5 Seconds M66 ; Sub-Spindle Axis Drive OFF M68 ; Sub-Spindle Axis Drive to Normal Torque Mode G53 Y# 5024 ; Y Axis Position Verification G28 V0. ; Rapid Sub-Spindle to Home Position (Figure 16.17) M1 ; Optional Stop
I tested this using
G10 P0 Z-5.0
G10 P0 Y-5.0
G0 Z0
G0 Y5
and both the turret and the face of the sub-spindle line up at 5" from the main spindle. This should have placed the Y-axis (the sub-spindle) 5" further out (that is, 10" from the main spindle nose.)
Why does the Z work offset function correctly, but not the Y-axis? Can any of you provide a sub-spindle transfer example that you know works?
Torin...
Similar Threads:
Why dont you program it using long hand using incremental values ?
Then you can move to eject the part
What is this? Is there an offset besides workshift for the sub spindle? All the machines I have ran with a sub spindle have an offset for that axis.
G53 Y# 5024 ; Y Axis Position Verification
Yes, on my Hardinge T42 there is an additional "Workshift" offset for each of the axes in the workshift offsets page (shown below) that is different from G53, and G54 through G59. The so-called "5024 position verification" is used for verifying the location of the spindle after returning from low torque mode. I don't know why they do it this way.
But getting back on topic...
The G0 P0 X_ Y_ Z_ command is a convenience function (on the T42 anyway) for setting a work shift offset for each of the axes. That way, both the turret and sub-spindle can reference the same location instead of calculating absolute positions. This is actually very convenient... if only it would work.
I've added a pair of photos to illustrate the problem. In photo #1, I use MDI to use the G10 P0 command to set the work-shift offset for both Z (my turret) and Y (my sub-spindle).
In photo #2, you can see in Settings->Page Right->Page Right->WRKSHFT page that the Z offset has taken hold as expected, but the Y workshift has not. Something is preventing the G10 P0 from overwriting this value, and I want to know why. I can overwrite it manually on this page... but not programmatically. Why does it work for Z and not Y?
Hopefully this answers mbservice's question too; the manual says it can, but reality demonstrates otherwise, and I want to know why. Perhaps there is some other parameter blocking the Y workshift from being set? I don't know.
G10 Px is just generic "write to this spot" command. It is not a Hardinge thing.
I asked about the G53 because lathes the have workshift usually dont also have work offsets G53-59 Hardinge maybe using that for your in position check.
Does it have a work offset register? G54-59 If yes does it have a Y field?
Agreed. G10 P0 is a generic write parameter function, but it usually takes an L argument as well.
I tried with L2, and it correctly wrote to the Y register but not in he workshift file. Instead it wrote to the Common (G53) Offsets file. Yes, the Hardinge has both a “workshift” file, and also has G53 through G59. They all have XYZCA and one other axis name I can’t remember at the moment.
Hardinge, I think uses the standalone P0 in a proprietary way, modifying a work shift file. Well... for Z anyway.
problem solved
jog your Y to where you want your zero to be and put that into your g54. Then call it in the program g0 g54 y0.
Here is an example for a Mori NLX that is using the top of the sub chuck jaws or collet and the face of the part as the zero point. You can also call the gripping position zero if you would rather.
That workshift is old school. G54 acomplishes the same thing but cleaner.I have seen that in Hardinge books before. Recommending to use G50 and stuff that is more complicated than it needs to be.
I use this at the top of the program so the data is always relevant and present for the next setup
(MORI-3 OFFSETS)
(54)
G10L2P1Z-8.6C0.B-20.2725
(55)
G10L2P2Z6.157C0.
N60(TRANSFER \ CUT OFF)
(CHECK TOOL NUMBER AND SPINDLE DIRECTION)
(HOLDER #RF123H098-16BM)
(INSERT #N123H-0400-0003-CR 2135)
(TOOL SET LENGTH 2 1/4")
G28U0V0W0
M09
M479
M201
M46
G54 (G54 FOR MAIN SPINDLE TOOL SETTER)
G0T1212
M211
G0Z.02
M34 (SYNC BY PHASE)
M251 (AIR BLOW)
M252 (AIR BLOW)
G0G54B.1 (SUB "B" G54 VALUE IS SUB SIDE WORKHOLDING TOP PLANE(Z-) AND WORKPIECE Z ZERO (Z+) INTERSECTION)
G1G98B-.45F50. (SUB MOVING OVER PART)
(PICK-OFF POINT)
M210 (SUB CLOSE)
G4U.5
M257 (AIR BLOW OFF)
M259 (AIR BLOW OFF)
M11 (MAIN OPEN)
G4U.5
B1.095F50.(FINISH PART LENGTH IS 1.345)
M10
G4U.5
G04U.5
G97S500M4
G50S2000
G96S200
G0X1.25Y0.M478
G1G99X.95F.002
U.005
X.85F.003
U.005
X.75
U.005
X.65
U.005
X.55
U.005
X.45
U.005
X.35
U.005
X.25
U.005
X.05
G330
G0X2.W.02
G30U0V0W0M479
M36
M5
#501=#501+1.
M200
M1
The Y axis verify is used because of collet drawback in the Sub-Spindle and the subsequent pulling pressures on the Sub's ways. It rechecks the position to ensure accuracy after chucking..
You should be entering into low torque mode when closing the Sub collet onto the material. Then back into normal torque. Then Y axis verify.
Forget the G10 and work shift stuff with this machine. More importantly, (as I believe I tried to tell you before) is to use the P1 & P3 subroutines for the Main and Sub respectively. P2 & P4 are not needed. Machine your part on the main using P1 at the top and end of each tool. When your part is done on the main. Dial up with the Sub and find your closing point. Make note of the Y POS. Program that value into the Sub Program and use the Sub transfer procedure in the book. After cut off, clear the X and just G28 V0 and the Sub will rapid home. Make sure to use P3 when programing the Sub. And you may need to tweek the W(Z) value in the P3 subroutine to make it a safe index distance. This can give you fits. Too much and the machine will do nutty things. Too little and it gets too close to the Sub. And things get twisted around and values can be not what they seem when doing this. There is a sweet spot. You have to find it. I like the turret to move about .500 off (toward the Sub) from P1 when P3 is called. No more. (There MUST be a shift) That number, you will need to find by overriding and seeing what the Turret does.
At part eject. Do the same thing. Dial up the Y to the catcher and record the Y POS value. Program it and repeat.
Last edited by JohnnyTurn; 04-18-2018 at 05:21 PM.
O1111(PVC BUSHING)
G20(STICK OUT .250)
N1
M05
M98P1
T0505(BAR PULLER)
X1.5Z.250
G1G98Z-.125F50.0
X0.0
G4U1.0
M21
G4U1.0
Z1.025
G4U1.0
M22
G4U2.0
X1.5
M98P1
M1
N2
G97S2000M03
M98P1
M08
T1111(FTF)
X1.2Z0.0
G1G99X-.030F.004
X.980
X1.050,C.035F.001
Z-1.050F.004
X1.2
M98P1
M1
N3
G97S2000M03
M98P1
M08
T0101(.844 DRILL F/X)
X0.0Z.250
G1G99Z.020F.010
G65P9136K-1.125B.020F.003W.200C.100A.5
M98P1
M1
N4
G97S2000M03
M98P1
M08
T0707(BB)
X1.1Z.250
G1G99Z0.0F.005
X.890,C.025F.001
Z-1.050F.003
X0.0
G00Z.100
G97S250M03
M98P1
M1
N5
G97S1000M04
M98P1
M09
T0303(.093 CUT OFF / TRANSFER)
X1.5Z0.0
M36
G1X1.2F5.0
M32(SUB SYNC)
M36
M07(SUB SYNC ORI)
M56(SUB COLLET OPEN)
G00Y3.250
G1Y1.450F15.0
M67(LOW TORQUE)
G4U1.0
M57(SUB COL. CLOSE)
G4U1.0
M66(SUB DR. AXIS OFF)
M68(SUB NORMAL TORQUE)
M37(AIR BLAST OFF)
M08
G1G99X.700F.0015
G4U1.0
G00X4.0
S250
M09
G4U.5
G53Y#5024(Y AXIS VERIFY)
G28V0(SUB HOME)
M36
G4U3.0
M37
M98P1
M05
M1
N6
G4U1.0
G97S2000M33
M98P3
M08
T0606(SUB FTF)
X.750Z-.250
G1G99Z0.0F.010
X1.048,C.035F.001
Z.040
X1.2
M98P3
M1
N7
G97S2000M33
M98P3
M08
T0714(SUB BB)
X1.2Z-.250
G1G99Z0.0F.010
X.890,C.025F.0008
Z.030
X.860F.005
Z-.100F.010
M98P3
T0400
M1
N8(PART CATCH)
M98P3
M09
M35(SUB STOP)
M26(PART CATCH EXT.)
G00Y8.125
M56(SUB COL. OPEN)
G4U3.0
M25(PART CATCH HOME)
G53Y#5024
G28V0
M1
M31
M30
This was a HUGE help. I've figured out how to use the work shift and it's really simple to use. I think the biggest problem with these old machines is some of this stuff just takes a lot of trial and error to figure them out. I would say a little on the archaic side. Once you figure out the method to the madness, it all comes together and makes sense. These older machines are less idiot proof than today's interfaces.