GE 1050T Farrel L311 82 3


{Change Comments ***********************************************************}

{10/11/88
Created: Generic GE 1050
For: Varec
Machine: Manarch TC-1 Lathe
Control: GE 1050T
No Canned Cycles supported.
Lathe has 2 Turrets.
Upper Turret: Tools 1 - 8, PosSideLathe, StandardXZArcs, SpinForward = M03, Offsets T0100 - T0800.
Lower Turret: Tools 1 - 8 ( 21 - 28 in ncCam Tool List ), NegSideLathe, ReverseXZArcs,
SpinForward = M04, Offsets T1000 - T8000.
JR}

{11/7/88
Deleted XsAreRadii, Lathe Xs are Diameter.
Deleted NegSideLathe and ReverseXZArcs for Lower Turret.
Both are PosSideLathe, StandardXZArcs and SpinForward = M03
JR}

{5/10/90, Updated: GE 1050T Monarch L074.56 to .69.4 format, JR}
{7/24/90, Added InitProg globally to posts with this remark, DWB}

{12/12/91
Modified: GE 1050T Monarch L074.70
For: Gibbs & Associates
Updated to Version 4.1 per Fanuc 10T MS [-] L001.82 Format.
Rapid is not used, RapidF and FeedRate instruct the control.
DWB}

{5/6/93
Copied & modified: GE 1050T Monarch L074.82
For: Braden Eng / Twigg Aerospace Components
Control: GE1050T
Machine: W&S 242 VFR Vertical Turret Lathe
5 station turret, each can hold 2 tools that can work on either + or - X axis.
Modified GetToolNum for this special handling of tool number and axis output.
Modified ToolTypeComment to reflect actual turret and tool
Added 'M17' tool change command.
Changed G01, G02, G03 to G21, G22, G23
Changed to output decimal point format without leading or trailing zeros.
Added XsAreRadii to initializations to output radius values for X.
Modified GearRange to output M50(low) & M51(High) with change over at 80 RPM.
Updated to .82ż format.
Jim Radcliffe}

{10/27/93
Modified: GE 1050T W&S 242 VFR L284.82
For: Braden Eng / Twigg Aerospace Components
Deleted XsAreRadii to get Diameter output.
Jim Radcliffe}

{11/18/93
Modified: GE 1050T W&S 242 VFR L284.82.1
For: Braden Eng / Twigg Aerospace Components
Added XsAreRadii to get Radius output, the only diameter value is the Home line.
Modified the Home lines to get a diameter value.
Changed 'G4X1.' to 'G04X2.'
Added leading zeros to G, M & N codes.
Deleted SpinOff from end of program.
Deleted G95 from very beginning of operation, read further for implementation.
Deleted M58, it is not used on this machine.
Modified GearRange to change over at 150 RPM.
Output M80 to set Rapid, M81 to set feed. Modal.
Output G94 (IPM) for Rapid, G95 (IPR) for Feed. Modal.
Jim Radcliffe}

{10/11/94
Copied & modified: GE 1050T W&S 242 VFR L284.82.2
For: J-Pitt Steel
Control: GE 1050T
Machine: Farrel Roll Lathe
Machine has a single tool post using a manual tool change.
No Program ID
No Gear Range. Al work done in M41 High Gear.
Coolant commands have no output.
Differing formats used on Speed for G97, G96 or Preset.
Misc other formatting changes per manual and sample outputs.
This should be a good first draft!
Jim Radcliffe}

{1/26/95
Updated: GE 1050T Farrel L311.82.2
For: J-Pitt Steel
Versions: ncCad 4.33/ncCAM 4.33/ncPost 4.33.04/Compost 4.21.25
Versions: Catalyst v2.14.24C/Catalyst v2.14.24PPC/Compost 4.21.25
Changes made per Fred Hagerich at J-Pitt Steel.
Updated to Version 4.1 per Fanuc 10T MS [-] L001.82.1c Format.
Corrected FORMAT3 from '########;0' to '#######0'.
Added call to CheckG94 at ToolPath ThreadFeat.
Modified non-CannedCycle AutoFinish.
Method of testing for IF NOT Drilling? AND NOT Grooving? AND NOT RoughSimple? AND NOT Threading?
did not allow for AutoFinish pass of IF Turning?
Rewrote to test for IF Turning? ELSE IF Roughing? AND NOT RoughSimple?
Added support for AutoFinish of non-Canned Threading Cycle.
Changed all occurances of SpinOn to literal 'M03'.
Customer stated that they never program CounterClockwise Spindle Direction, regardless of the
setting in the Tool Definition Dialog.
The only exception is InverseSpinOn at ToolPath.
Added literal 'M81', Set for Feed moves, following SpinOn block at FirstOperation.
Moved 'M80' and 'M81' output to be on a block by itself, just prior to block that it was being
output on.
Combined CheckG94 and CheckM80 subs into one CheckG94M80 sub.
Combined CheckG95 and CheckM81 subs into one CheckG95M81 sub.
Deleted use of Flag(2) since this can all be accomplished using Flag(1).
Replaced IF LAST ProgStop coding with SpinOff block followed by two literal 'M00' blocks at NewTool.
The second M00 block is a Double Program Stop to alert operator.
Deleted literal 'G70', Inch Mode block at NewTool.
Deleted literal 'M41', High Gear block at NewTool.
Replaced IF ProgStop coding with SpinOff block followed by literal 'M00' block at end of Prog.
Added SetTTOff at setup and initializations.
Customer requested that all output values be to the center of the radius of the insert.
DWB}

{Prog Numeric Format Definitions *******************************************}

#1 = '#.00'
#2 = '##.####;0'
#3 = '#######0'
#4 = '##.#;0'
#5 = '000^0000'
#6 = '0000'

FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(ADD#,2) { Non-Canned Threading AutoFinish }
FORMAT(CycleStartX#,2)
FORMAT(Dwell#,2) {.72}
FORMAT(Program#,3) {.72}
FORMAT(Operation#,3) {.72}
FORMAT(Tool#,3) {.72}
FORMAT(SUB#,3)
FORMAT(RapidF#,4)
FORMAT(CalcRPM1#,5)
FORMAT(SpeedRPM#,5)
FORMAT(SpeedSFPM#,6)

{Prog Subroutines **********************************************************}

RestoreScale:
IF Metric? {CAM file is in Metric, tools and tool path}
SetScale('.03937007874') { change to English, this is an English post}
END
RETURN

DoOpComments:
IF UseComments?
SetScale('1')
IF OperationIDComment?
'( OPERATION ' Operation# ': ' OperationType$ ' )' EOL
END
IF OperationComment?
'( ' OperationComment$ ' )' EOL
END
IF WorkGroupComment?
'( ' WorkGroupComment$ ' )' EOL
END
IF ToolTypeComment?
'( TOOL ' Tool# ': ' ToolSize$ ' ' ToolType$ ' )' EOL
END
IF ToolComment?
'( ' ToolComment$ ' )' EOL
END
RestoreScale
END
RETURN

PSInit: {reset flags from last Op, .70}
RETURN

PSStuff:
RETURN

DoPostScript:
PSInit
EachPS
SeqC PostScript EOL {literals}
PSStuff {commands}
NextPS
RETURN

DoEndOpPS:
PSInit
EachEOPS
SeqC EndOpPS EOL {literals}
PSStuff {commands}
NextPS
RETURN

CheckG94M80: { Called before Rapid blocks }
IF Flag?('1')
{ We are already in G94 Rapid }
ELSE
SeqC 'G94' EOL { Set to IPM for Rapid moves }
SeqC 'M80' EOL { Set for Rapid moves }
SetFlag('1')
END
RETURN

CheckG95M81: { Called before Feed blocks }
IF Flag?('1')
SeqC 'G95' EOL { Set to IPR for Feed moves }
SeqC 'M81' EOL { Set for Feed moves }
SetFlagF('1')
ELSE
{ We are already in G95 Feed }
END
RETURN

StockOnNoCan:
IF NOT CannedCycle?
StockOn {need stock for SP positioning, if not a canned cycle}
END
RETURN

FeedNoCan:
IF NOT CannedCycle?
FeedC
END
RETURN

FeedRateNoCan:
IF NOT CannedCycle?
FeedRateC
END
RETURN

ODApproachSP:
SeqC StockOnNoCan ZSPC EOL
SeqC StockOff XOpCDC EOL
StockOnNoCan
IF NotEqual? CycleStartX# XOpCD#
CheckG95M81
SeqC FeedNoCan XSPC FeedRateNoCan EOL
END
RETURN

IDApproachSP:
SeqC StockOnNoCan ZSPC EOL
SeqC StockOff XOpCDC EOL { for SameTool ApproachID }
StockOnNoCan
IF NotEqual? CycleStartX# XOpCD#
CheckG95M81
SeqC FeedNoCan XSPC FeedRateNoCan EOL
END
RETURN

FaceApproachSP:
SeqC StockOnNoCan XSPC EOL { for SameTool ApproachFace }
SeqC StockOff ZOpCPC EOL
StockOnNoCan
IF NotEqual? CycleStartZ# ZOpCP#
CheckG95M81
SeqC FeedNoCan ZSPC FeedRateNoCan EOL
END
RETURN

AppMove:
StockOff ZCP RapidF
RETURN

Approach: { NOT FOR TAILSTOCK, .82 }
CheckG94M80
Feed
IF ApproachOD?
SeqC StockOff XCP AppMove EOL
SeqC CoolOn EOL
ODApproachSP
ELSE
IF ApproachID?
SeqC StockOff XOpCD AppMove EOL
SeqC CoolOn EOL
IDApproachSP
ELSE {ApproachFace}
SeqC StockOnNoCan XSP AppMove EOL
SeqC CoolOn EOL
FaceApproachSP
END
END
RETURN

CheckOffset:
DoEndOpPS
IF LAST ProgStop?
SeqC 'M00' EOL
ELSE
IF CoolOff? AND LAST NOT CoolOff?
SeqC CoolOff EOL
END
END
IF NewToolOffset?
SeqC LOfstOff '00' EOL
SeqC OpToolID LatheOffset EOL
END
IF ConstantSurfaceFeed?
SeqC {skip until we are at the start position}
ELSE
IF LAST ConstantSurfaceFeed?
SeqC CSSOff 'G97' Speed
END
END
IF LAST ProgStop?
SeqC SpeedC 'M03' EOL { SpinOn }
SeqC CoolOn EOL
ELSE
SeqC SpeedC EOL
IF NOT CoolOff? AND LAST CoolOff?
SeqC CoolOn EOL
END
END
DoPostScript
RETURN

FormatArc:
IF ArcCW?
CWArcC
ELSE
CCWArcC
END
MoveXC MoveZC ArcIJC
RETURN

GetRapidFC:
IF NOT EmptyLine?
RapidFC
END
RETURN

ToolPath:
EACHFeat
GetToolTip
IF LastFeat?
IF Drilling?
IF Tap?
SeqC SpinOff EOL
SeqC 'G4X2.' EOL
SeqC Speed InverseSpinOn EOL
ELSE
IF Dwell?
SeqC 'G04X' Dwell# EOL
END
END
END
END
IF PointFeat?
SeqC MoveSXYC EOL
ELSE
IF RapidFeat?
CheckG94M80
SeqC FeedC MoveXC MoveZC GetRapidFC EOL
ELSE
IF LineFeat?
CheckG95M81
SeqC FeedC MoveXC MoveZC FeedRateC EOL
ELSE
IF ArcFeat?
EACHQuadrant { Do not use NOT, LAST, FIRST or NEXT modifiers in this loop }
CheckG95M81
SeqC FormatArc FeedRateC EOL
NEXTQuadrant
ELSE
IF ThreadFeat?
CheckG95M81
SeqC 'G33' MoveXC MoveZC ThrdLead EOL
CheckG94M80
Feed
END
END
END
END
END
NEXTFeat
RETURN

{Start of executable Prog **************************************************}

{setup and initializations}
InitProg
XsAreRadii
PosSideLathe
StandardXZArcs
NoIJKSigns
SetTTOff
SetMaxRPM('659')
SetMaxFeed('500')
SetFlagF('1') { used for G94M80/G95M81, Flag? true is we are in G94 Rapid }
IF PSComment? AND UseComments?
'PostScript:' EOL
' Literals: put between single or double quotes.' EOL
' Separate commands and literals with at least one space.' EOL
' A CR ( RETURN key ) will start a new line.' EOL
' Commands: must be all capital letters when typed in.' EOL
' ENDOP -' EOL
' all literals and commands before an ENDOP command' EOL
' will appear at the beginning of the operation. All ' EOL
' literals and commands after an ENDOP command will appear' EOL
' at the end of the operation. ' EOL
END
EachOp {Start of post processing *********************}
GetLCycle
IF FirstOperation?
EOR EOL
IF UseComments?
IF ProgramNameComment?
'( PROGRAM: ' ProgramName$ ' )' EOL
END
IF ProgramComment?
'( ' ProgramComment$ ' )' EOL
END
IF FormatNameComment?
'( FORMAT: ' FormatName$ ' )' EOL
END
IF TimeComment?
'( ' Date$ ' AT ' Time$ ' )' EOL
END
IF MovesComment?
'( OUTPUT IN ' MoveType$ ' INCHES )' EOL
END
END
RestoreScale
OpenSub
StockOff {.71.2}
SetHome
Plane { No Output }
Seq 'G70' EOL { Inch Mode }
SeqC AbsOrInc EOL
DoOpComments
DoPostScript
SeqC 'M41' EOL { High Gear }
SeqC Preset Home EOL
SeqC OpToolID LatheOffset EOL
SeqC CSSOff 'G97S'
IF ConstantSurfaceFeed?
CalcRPM1#
ELSE
SpeedRPM#
END
EOL
SeqC 'M03' EOL { SpinOn }
SeqC 'M81' EOL { Set for Feed moves }
Approach
ELSE
IF NewTool?

{Finish off last Operation}

StockOff {.62}
CheckG94M80
FeedC
IF LAST ApproachOD?
SeqC XCPC GetRapidFC EOL
ELSE
IF LAST ApproachID?
SeqC LAST XOpECDC GetRapidFC EOL
END
END
SeqC ZCPC GetRapidFC EOL
DoEndOpPS
SeqC NewHome GetRapidFC EOL
SeqC LOfstOff '00' EOL
SeqC SpinOff EOL
SeqC 'M00' EOL
SeqC 'M00' EOL { Double Program Stop to alert operator }

{Start new Operation}

Seq AbsOrInc EOL
DoOpComments
DoPostScript
SeqC Preset Home EOL
SeqC OpToolID LatheOffset EOL
SeqC CSSOff 'G97S'
IF ConstantSurfaceFeed?
CalcRPM1#
ELSE
SpeedRPM#
END
EOL
SeqC 'M03' EOL { SpinOn }
Approach
ELSE
IF SameTool? {.62}

{Start new Operation}

StockOff
DoOpComments
IF LAST StraightConnect?
CheckOffset
CheckG94M80
SeqC FeedC StockOnNoCan XSPC ZSPC GetRapidFC EOL
ELSE
CheckG94M80
FeedC
IF ApproachOD?
IF LAST ApproachOD?
SeqC LAST XOpECDC GetRapidFC EOL
ELSE {around}
IF LAST ApproachID?
SeqC LAST XOpECDC GetRapidFC EOL
END
SeqC ZCPC GetRapidFC EOL
SeqC XCPC GetRapidFC EOL
END
CheckOffset
ODApproachSP
ELSE
IF ApproachID?
IF LAST ApproachID?
SeqC LAST XOpECDC GetRapidFC EOL
ELSE
IF LAST ApproachOD? {around}
SeqC XCPC GetRapidFC EOL
END
SeqC ZCPC GetRapidFC EOL
SeqC XOpCDC GetRapidFC EOL
END
CheckOffset
IDApproachSP
ELSE {ApproachFace}
IF LAST ApproachFace?
SeqC LAST ZOpECPC GetRapidFC EOL
ELSE
IF LAST ApproachOD? {around}
SeqC XCPC GetRapidFC EOL
ELSE {LAST ApproachID}
SeqC LAST XOpECDC GetRapidFC EOL
END
SeqC ZCPC GetRapidFC EOL
END
CheckOffset
FaceApproachSP
END
END
END
END
END
END {common point for all operations}
IF ConstantSurfaceFeed?
IF SameTool?
IF LAST ConstantSurfaceFeed?
IF NotEqual? MaxRPM# LAST MaxRPM#
SeqC Preset MaxRPM EOL
END
IF NotEqual? SpeedRPM# LAST SpeedRPM#
SeqC CSSOn 'G96R' CycleStartX# 'S' SpeedSFPM# EOL
END
ELSE
SeqC Preset MaxRPM EOL
SeqC CSSOn 'G96R' CycleStartX# 'S' SpeedSFPM# EOL
END
ELSE
SeqC Preset MaxRPM EOL
SeqC CSSOn 'G96R' CycleStartX# 'S' SpeedSFPM# EOL
END
END
StockOn
SetPass1
ToolPath
IF AutoFinish? { .82.1c }
StockOff
IF Turning?
SetPass1
CheckG94M80
FeedC
IF ApproachFace?
SeqC ZOpECPC GetRapidFC EOL
FaceApproachSP
ELSE
SeqC XOpECDC GetRapidFC EOL
IF ApproachOD?
ODApproachSP
ELSE {ApproachID}
IDApproachSP
END
END
SeqLabC StockOff StrtPosC EOL
ToolPath
ELSE
IF Roughing? AND NOT RoughSimple?
SetPass2
CheckG94M80
SeqC FeedC XSPC ZSPC GetRapidFC EOL
SeqC StockOff StrtPosC EOL
ToolPath
ELSE
IF Threading?
SetPass1
CheckG94M80
SeqC 'X' ADD# FinishXRadius# Taper# EOL
CheckG95M81
SeqC 'G33'
IF Taper?
XatFinZ
END
FinZ ThrdLead EOL
CheckG94M80
SeqC Feed XSP EOL
SeqC ZSP EOL
END
END
END
END
IF Drilling? AND Tap?
SeqC SpinOff EOL
SeqC 'G04X2.' EOL
SeqC Speed 'M03' EOL { SpinOn }
END
NextOp {loops back to EachOP until last Operation}

{End of program ************************************************************}

{finish last operation}
StockOff
CheckG94M80
FeedC
IF ApproachOD?
SeqC XCPC GetRapidFC EOL
ELSE
IF ApproachID?
SeqC XOpECDC GetRapidFC EOL
END
END
SeqC ZCPC GetRapidFC EOL
DoEndOpPS
SeqC CoolOff EOL
SeqC FirstHome GetRapidFC EOL
SeqC OpToolID '00' EOL
SeqC SpinOff EOL
SeqC 'M00' EOL
SeqC EOP EOL
Post
EOR EOL
Close
IF UseComments?
SetScale('1') {restore scale for comments}
Reopen
IF FileBytesComment?
'( FILE LENGTH: ' FileBytes# ' CHARACTERS )' EOL
END
IF FileFeetComment?
'( FILE LENGTH: ' FileFeet# ' FEET )' EOL
END
IF FileMetersComment?
'( FILE LENGTH: ' FileMeters# ' METERS )' EOL
END
Close
END


Wyszukiwarka

Podobne podstrony:
GE 1050T Monarch L074 82
GE 1050T (T&CSD) L136 82
GE 1050T LeBlonde [CM] L249 82
GE 1050T (R&M) L151 82
GE 550T LeBlonde L082 82
GE 1050 Monarch ( R) L090 82
GE 550 L&S [GV] L293 82 3
GE 1050T [GT] Baron L591 85
GE 1050T W&S 1SC L587 85
GE 1050T LB Kngt [GH] L691 85 2
GE 1050T LeBlonde L105 85 1
GE 550 LeBlonde L080 82
GE 2000 Monarch L116 82
GE 1050T LB Rgl [GH] L690 85 1
GE 1050T W&S 242 [HP] L401 85
GE 550L LeBlonde L083 82

więcej podobnych podstron