Re: PT & G Indicate/Range Rods or "Grizzly" Rods
<div class="ubbcode-block"><div class="ubbcode-header">Originally Posted By: m1k3</div><div class="ubbcode-body">I'm learning so here's my thoughts on it,
1. No spaces make it a difficult read and to troubleshoot.
2. M08 is coolant on, that should be at the start, M09 should be at the end.
All machine controllers are a little different but I thought those would be easy to see and pretty standard regardless of machine.
How'd I do Chad?
Mike </div></div>
<div class="ubbcode-block"><div class="ubbcode-header">Quote:</div><div class="ubbcode-body">All machine controllers are a little different but I thought those would be easy to see and pretty standard regardless of machine.</div></div>
Actually only certain things become proprietary. The movements G1, G2, G3, stuff is pretty standard. Cutter comp and tool height stuff is too. G40, 41, 42, 43, etc (43 is more for mills I guess)
The M codes (modal codes) get a little weird sometimes. Things like the spindle lock ignore/activate, parts catchers, bar feeders, etc. Those often change, but the basic on/off, movement, spindle, coolant functions stay the same.
%
(REM700 TENNON THREADING CYCLE)
#1 No safety line present-dangerous!
Should have: G54 (work offset) G80 (canned cycle cancel) G97 (kill the constant surface speed) G99 (feed in IPR)
T0202(OD THREADER)
#2 M05S3500 (M05 shuts the spindle off, you goin nowhere fast) S3500 means your trying to thread a 1.0625 OD thread at 3500 rpm. It'll never happen. The turret can't move fast enough to keep up.
#3 Also your surface speed is too much for the carbide with this type of material (barrel steels) You'd need to slow it down to around 1500rpm.
#4 G96S600 (G96 is constant surface speed on, can't use this with a threading cycle. Each depth of cut increase also increases the spindle RPM, this would result in a feed rate change for every pass made. Can't do that on a threading cycle as the encoders won't process the new feedrate. Most machines will just ignore this if you forget to give it a G97, some won't. The S600 means 600 feet of surface per minute. Meaning the tool will travel 600ft/mn regardless of whether its at the center of the part or at the very edge. (think merry go round)
#5 G55S4500 (G55 is a spindle RPM lock when using CSS. Meaning it won't exceed the rpm level in the S4500 portion no matter how bad it wants to with the depth of cut increase. Typically don't exceed the mean spindle rpm (m05/M03 callout earlier) Using CSS is cool but it can also be hard on shit as the spindle is always accelerating/slowing down depending on where the tool is in X. Use for finish passes only in most cases is the best bet. You also have to be careful with it as you can exceed RPM and hurt stuff. (mostly yourself) If your using a big ass chuck for instance you could exceed its safe RPM rating. As the tool moves the center the spindle increases RPM in the attempt to keep the SFM at the tool equal across the face (diameter) of the part.
#6 G0X1.0Z.01 (This is the first real "whammy" of the program. Your line of code here is the <span style="font-weight: bold">start/retract </span>position. The G0 is a rapid so you better be on the spot with this as most modern CNC's are using 1000+ipm rapid rates. Things can go to hell in a hurry. If were cutting 1.055 OD threads we need to stay above this. The X value here should be 1.1" or something like that. Anything over 1.055 is good. In this case the tool would rapid to 1.0 in X and .01 in Z. It would then pick up the first line in the threading cycle. It would pull out to 1.055" and feed to the proper Z depth at the proper pitch. THEN it would RAPID INTO the part by .055" and RAPID to the start Z position- meaning it'll crash into the cylinder and then drag its way to the breech face at 1000 ipm. Well, it's going to try like hell to do it anyway. In addition to destroying your insert it's going to ruin the barrel tennon. You'd have a real mess on your hands that resulted in a bout $500-$600 worth of damage at best.
#6.5 You should never start a threading cycle .01 in front of the part (Z value) Modern CNC's are good, robust, powerful tools. They are also heavy. My turret alone is over 1000lbs. Trying to accelerate that much mass from zero to .0625"/rev@4500rpm in a distance of only .01" isn't a good idea. Your thread pitch won't be accurate for the first rev and a half.) As a practice you should always start at least .100" in front of the tennon. Especially on .0625" pitch threads cause your moving at a good clip in the Z axis. Equiment reps may argue this a bit, but experience shows its just a good practice. It adds a nanosecond to the cycle time of the program and saves wear/tear on the servos/ball screws.
<span style="font-weight: bold">G90</span>X1.055Z-.95<span style="font-weight: bold">R.1</span>F.0625<span style="font-weight: bold">M09 </span>
#7 G90 is a canned <span style="font-weight: bold">turning </span>cycle in standard FANUC programming. The encoder isn't picking up the spindle clock/start position so your going to double track, side track, and make a mess of your tennon. Should have read as a G92. (or G71, 73)
#8 R.1 means your threading on a taper. (think pipe thread) Not always a bad thing! I use it alot with certain "custom" actions due to thread taper down by the lugs. Problem is here it's going the WRONG WAY. It should read -.1" Actually it should read more like -.005" because 100 thousandths is insane with only a .955 length of thread. If we used this our thread would be .100 deeper at the tennon/shoulder junction. Like a reverse pipe thread! That'd fit awesome!
#8.5 IF say in a previous program we had a G98 that'd mean inches per minute for feedrate. If we didn't have the G99 in our safety line we'd of threaded our barrel at .0625"/minute instead of .0625"/rev of spindle. That is one SUPAH fine thread my friends!
#9 As you said, the M09 turns the coolant off right when you need it most.
This is all good. The program would just loop with an absolute X position change for each pass. We could write as many X values as we wanted. Hell, do it a .0001" at a time if you want. It'll wear your tool out and likely work harden the barrel, but it could be done this way I guess. If I showed this to a production guy or a tooling tech rep they'd likely tell me my depth of cut is too conservative. In a production setting they are 100% correct. Carbide needs a certain degree of load/pressure in order to work well over the long haul. I use .01 because I have some other parts to my program that fit the thread to each individual receiver. This would be the "roughing portion."
X1.05
X1.04
X1.03
X1.02
X1.01
X1.0
X.992
G0X5.0Z5.0M08 (M08 should be M09 to turn the coolant OFF- part of #9
M99
#10 M99 is an endless loop. Since it wasn't good enough to grenade the barrel/tool the first time I decided to have it repeat over and over to ensure I munch it up really well. It should read M30 which is end of program.
%
All machine controllers are a little different but I thought those would be easy to see and pretty standard regardless of machine.