GE 1050 LeBlonde Rgl L033 85


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

{7/24/90, Added InitProg globally to posts with this remark, DWB}

{9/24/91
Updated: GE 1050 LeBlonde Rgl L033.56
For: Gibbs & Associates
Updated to Version 4.0 per Fanuc 6M M001.82 Format.
KM}

{12/12/91
Modified: GE 1050 LeBlonde Rgl L033.82
For: Gibbs & Associates
Made necessary minor changes.
Updated to Version 4.1 per Fanuc 10T MS [-] L001.82 Format.
Rapid is not used, RapidF and FeedRate instruct the control.
This Post Processor only supports Canned Simple Turn/Bore Cycles.
However, there was no documentation to verify its validity.
DWB}

{12/19/97
Updated: GE 1050 LeBlonde Rgl L033.82.1
Created: GE 1050 LeBlonde Rgl L033.85
For: Gibbs & Associates/General Hone Corporation
Versions: Catalyst v4.21.30(mac)/ComPost2 1.1b3
Updated for Catalyst v3.35C per Fanuc 10T MS [-] L001.85.02e Format.
DWB}

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

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

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

{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

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

FeedNoCan:
FeedC
RETURN

FeedRateNoCan:
FeedRateC
RETURN

ApproachSP:
IF ApproachFace?
SeqC StockOnNoCan XSPC EOL
SeqC StockOff ZOpCPC EOL
StockOnNoCan
IF NotEqual? CycleStartZ# ZOpCP#
SeqC FeedNoCan ZSPC FeedRateNoCan EOL
END
ELSE { ODApproach/IDApproach }
SeqC StockOnNoCan ZSPC EOL
SeqC StockOff XOpCDC EOL
StockOnNoCan
IF NotEqual? CycleStartX# XOpCD#
SeqC FeedNoCan XSPC FeedRateNoCan EOL
END
END
RETURN

AppMove:
StockOff ThisOpEntryZCP OpToolID LatheOffset CoolOn RapidF
RETURN

Approach: { NOT FOR TAILSTOCK, .82 }
Feed
IF ApproachOD?
SeqC ThisOpEntryXCP AppMove EOL
ELSE
IF ApproachID?
SeqC XOpCD AppMove EOL
ELSE {ApproachFace}
SeqC StockOnNoCan XSP AppMove EOL
END
END
ApproachSP
RETURN

GetSpeedRPM:
TABLE(1,SpeedRPM#,1)
RETURN

GetCalcRPM1:
TABLE(1,CalcRPM1#,1)
RETURN

TurnCSSOn:
SeqC CSSOn 'G96R' CycleStartX# GetSpeedRPM EOL
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?
IF LAST ConstantSurfaceFeed?
IF NotEqual? SpeedRPM# LAST SpeedRPM#
CSSOff GetSpeedRPM
END
ELSE
CSSOn GetCalcRPM1
END
ELSE
IF LAST ConstantSurfaceFeed?
CSSOff 'G97' GetSpeedRPM
ELSE
IF NotEqual? SpeedRPM# LAST SpeedRPM#
CSSOn GetCalcRPM1
END
END
END
IF LAST ProgStop?
SeqC {SpeedC} SpinOn EOL
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 ArcIJ
RETURN

CkCRC: { 4.2 }
IF XMove? OR ZMove? { Approach Length Feature and Multiple Pockets }
IF LastFeat?
CRCOffC { Exit Length Feature }
ELSE
CRCOnC { Entry Length Feature }
END
END
RETURN

GetRapidFC:
IF NOT EmptyLine?
RapidFC
END
RETURN

ToolPath:
EACHFeat
GetToolTip
IF LastFeat?
IF Drilling?
IF Tap?
SeqC SpinOff EOL
SeqC 'G04X20000' EOL
SeqC GetSpeedRPM InverseSpinOn EOL
ELSE
IF Dwell?
SeqC 'G04X' Dwell# EOL
END
END
END
END
IF PointFeat?
SeqC MoveSXYC EOL
ELSE
IF RapidFeat?
IF NOT FirstFeat? AND LAST ThreadFeat?
SeqC Feed MoveXC MoveZC RapidF EOL
SetFlagF('1') { Do not force Feed and RapidF at CheckRapid and CheckRapidF }
ELSE
SeqC FeedC MoveXC MoveZC GetRapidFC EOL
END
ELSE
IF LineFeat?
SeqC CkCRC FeedC MoveXC MoveZC FeedRateC EOL
ELSE
IF ArcFeat?
EACHQuadrant { Do not use NOT, LAST, FIRST or NEXT modifiers in this loop }
SeqC FormatArc FeedRateC EOL
NEXTQuadrant
ELSE
IF ThreadFeat?
SeqC 'G33' MoveXC MoveZC ThrdLead EOL
SetFlag('1') { Force Feed and RapidF at CheckRapid and CheckRapidF }
END
END
END
END
END
NEXTFeat
RETURN

CheckRapid:
CRCOffC
IF Flag?('1') { LAST Threading }
Feed
ELSE
FeedC
END
RETURN

CheckRapidF:
IF Flag?('1') { LAST Threading }
SetFlagF('1')
RapidF
ELSE
GetRapidFC
END
RETURN

GetTurret:
IF GreaterThan? Tool# Num#('8')
NegSideLathe
ReverseXZArcs
ELSE
PosSideLathe
StandardXZArcs
END
RETURN

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

{setup and initializations}
InitProg
XsAreRadii
NoIJKSigns
SetMaxRPM('2500')
SetFlagF('1') { Force Feed and RapidF at CheckRapid and CheckRapidF for Threading }
IF Metric?
SetMaxFeed('12700')
ELSE
SetMaxFeed('500')
END
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 NullFoot EOL
'$1' 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
GetTurret
DoOpComments
DoPostScript
Plane
Seq AbsOrInc EOL
SeqC Preset Home EOL
SeqC 'G95' GetSpeedRPM OpToolID '00' SpinOn EOL { Inches Per Revolution }
Approach
ELSE
IF NewTool?

{Finish off last Operation}

StockOff {.62}
CheckRapid
IF LAST ApproachOD?
SeqC LAST OpExitXCPC CheckRapidF EOL
ELSE
IF LAST ApproachID?
SeqC LAST XOpECDC CheckRapidF EOL
END
END
SeqC LAST OpExitZCPC CheckRapidF EOL
DoEndOpPS
SeqC NewHome LOfstOff '00' EOL
IF LAST ProgStop?
SeqC 'M00' EOL
ELSE
SeqC ProgStop EOL
END

{Start new Operation}

GetTurret
DoOpComments
DoPostScript
Seq Preset Home EOL
SeqC 'G95' GetSpeedRPM OpToolID '00' SpinOn EOL { Inches Per Revolution }
Approach
ELSE
IF SameTool? {.62}

{Start new Operation}

StockOff
DoOpComments
IF LAST StraightConnect?
CheckOffset
CheckRapid
SeqC StockOnNoCan XSPC ZSPC CheckRapidF EOL
ELSE
CheckRapid
IF ApproachOD?
IF LAST ApproachOD?
SeqC LAST XOpECDC CheckRapidF EOL
ELSE {around}
IF LAST ApproachID?
SeqC LAST XOpECDC CheckRapidF EOL
END
SeqC LAST OpExitZCPC CheckRapidF EOL
SeqC LAST OpExitXCPC CheckRapidF EOL
END
ELSE
IF ApproachID?
IF LAST ApproachID?
SeqC LAST XOpECDC CheckRapidF EOL
ELSE
IF LAST ApproachOD? {around}
SeqC LAST OpExitXCPC CheckRapidF EOL
END
SeqC LAST OpExitZCPC CheckRapidF EOL
SeqC XOpCDC CheckRapidF EOL
END
ELSE {ApproachFace}
IF LAST ApproachFace?
SeqC LAST ZOpECPC CheckRapidF EOL
ELSE
IF LAST ApproachOD? {around}
SeqC LAST OpExitXCPC CheckRapidF EOL
ELSE {LAST ApproachID}
SeqC LAST XOpECDC CheckRapidF EOL
END
SeqC LAST OpExitZCPC CheckRapidF EOL
END
END
END
CheckOffset
ApproachSP
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#
TurnCSSOn
END
ELSE
SeqC Preset MaxRPM EOL
TurnCSSOn
END
ELSE
SeqC Preset MaxRPM EOL
TurnCSSOn
END
END
IF CannedCycle?
StockOff
IF Roughing?
IF RoughSimple?
StockOn
SetPass1
IF NOT ApproachFace?
SeqC LCycle 'X' CalcDeltaX 'H' CalcNumCuts EOL
SeqC Feed FinZ FeedRate EOL
END
END
END
ELSE
StockOn
SetPass1
ToolPath
IF AutoFinish? { .82.1c }
StockOff
IF Turning?
IF ApproachFace?
SeqC FeedC ZOpECPC GetRapidFC EOL
ELSE
SeqC FeedC XOpECDC GetRapidFC EOL
END
ApproachSP
SeqC FeedC StockOff StrtPosC GetRapidFC EOL
ToolPath
ELSE
IF Roughing? AND NOT RoughSimple?
SetPass2
SeqC FeedC XSPC ZSPC GetRapidFC EOL
SeqC FeedC StockOff StrtPosC GetRapidFC EOL
ToolPath
SetPass1
ELSE
IF Threading?
SeqC 'X' MUL# Num#('1') ADD# FinishXRadius# Taper# EOL
SeqC 'G33'
IF Taper?
XatFinZ
END
FinZ ThrdLead EOL
SeqC Feed XSP RapidF EOL
SeqC ZSP EOL
SetFlagF('1') { Do not force Feed and RapidF at CheckRapid and CheckRapidF }
END
END
END
END
END
IF Drilling? AND Tap?
SeqC SpinOff EOL
SeqC 'G04X20000' EOL
SeqC GetSpeedRPM SpinOn EOL
END
NextOp {loops back to EachOP until last Operation}

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

{finish last operation}
StockOff
CheckRapid
IF ApproachOD?
SeqC OpExitXCPC CheckRapidF EOL
ELSE
IF ApproachID?
SeqC XOpECDC CheckRapidF EOL
END
END
SeqC OpExitZCPC CheckRapidF EOL
DoEndOpPS
SeqC CoolOff EOL
SeqC FirstHome OpToolID '00' SpinOff EOL
SeqC UnTool '00' EOL
IF ProgStop?
SeqC 'M00' EOL
END
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 1050 HLX Hardinge L124 85 1
GE 1050 HLB CS L520 85 1
GE 1050 LeBlonde [DEW] L250 82
GE 1050 Burgmaster [TC] M858 85
GE 1050T LeBlonde L105 85 1
GE 1050T LB Rgl [GH] L690 85 1
GE 550T LeBlonde L082 82
GE 1050 Monarch ( R) L090 82
GE 1050T LeBlonde [CM] L249 82
GE 1050T [GT] Baron L591 85
GE 2000 Bullard VTL L502 85
GE 550 LeBlonde [KSW] L219 82 8
GE 1050 B&S 1500VC M554 87
GE 7542 Monarch TC75 L395 85 01
GE 550 LeBlonde L080 82
GE 1050 MCL Mon [GI] MY25 87 2
GE 1050 L&S L191 82

więcej podobnych podstron