GE 550 LeBlond (HAC) L115 82


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

{8/1/89
Copied & modified: GE 550 LEBLOND L080.56
For: Hughes
Machine: Leblond Tapeturn Regal
Control: GE 550 Mark Century.
No G codes.
Miscellaneous other FORMAT stuff.
JR}

{11/3/89
Copied & modified: GE 550 LeBlond (HAC) L115.56
Added space codes to end of prog same as beginning
JR}

{7/18/90
Copied & modified: GE 550 LeBlond (HAC) L115.61
Updated to Version 3.2 per Fanuc 10T MS [-] L001.70 Format
DWB}

{10/25/90
Added AbsOrInc at FirstOperation per Pete's request.
DWB}

{9/23/91
Copied and modified: GE 550 LeBlond (HAC) L115.70.1
For: Hughes
Updated to Version 4.0 per Fanuc 10T MS [-] L001.82 Format
Bill Thobe at Hughes supplied the following information:
Post is entirely incremental, non-decimal trailing zero format.
No G or M codes.
Only addresses allowed are N, X, Z, I, K, F, S and T.
Maximum axis move = 9.9998, Minimum = 0.0002
RapidF = 100 ipm.
Dwell is programmed 'X' Dwell# 'F0'.
CWSpindle = '+'. CCWSpindle = '-'.
RPM is to be output using TABLE(5001,SpeedRPM#,1) command.
Programmed stop is output as 'S00'.
Thread move is designated with a literal 'F900' code.
Tapered Threads require I ( Cosine) and K ( Sine/Pitch ) outputs.
Added MATH Formulas for Tapered Thread calculations.
All motion lines require a FeedRate or RapidF as they are not modal.
No Canned Cycles are supported.
Corrected SetMaxAxis('9.9998') bug per GE 550 LeBlonde [KSW] L219.80.3.
DWB}

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

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

FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(ADD#,2)
FORMAT(MUL#,2)
FORMAT(FeedIPR#,2)
FORMAT(Dwell#,2) {.70}
FORMAT(Program#,3) {.70}
FORMAT(Operation#,3) {.70}
FORMAT(Tool#,3) {.70}
FORMAT(ToolOffset#,4)
FORMAT(RapidF#,5)

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

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
IF Metric? {CAM file is in Metric, tools and tool path}
SetScale('.03937007874') { change to English, this is an English post}
END
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

GetSpeedRPM:
'S'
IF CWSpindle?
'+'
ELSE
'-'
END
TABLE(5001,SpeedRPM#,1)
RETURN

GetRapidF:
IF NOT EmptyLine?
RapidF
END
RETURN

GetFeedRate:
IF NOT EmptyLine?
FeedRate
END
RETURN

RecallX:
Recall# Num#('1')
RETURN

RecallZ:
Recall# Num#('2')
RETURN

DoLoadFeat:
LoadFeat RecallZ RecallX
RETURN

StartLoadFeat:
SetStatusOff
SetAbs
RETURN

EndLoadFeat:
DoLoadFeat
SetInc
SetStatusOn
RETURN

DoRapidX:
EachPiece
SeqC MoveXC GetRapidF EOL
NextPiece
RETURN

NoTTRapidX:
SetTTOff DoRapidX SetTTOk
RETURN

DoFeedX:
EachPiece
SeqC MoveXC GetFeedRate EOL
NextPiece
RETURN

NoTTFeedX:
SetTTOff DoFeedX SetTTOk
RETURN

DoRapidZ:
EachPiece
SeqC MoveZC GetRapidF EOL
NextPiece
RETURN

NoTTRapidZ:
SetTTOff DoRapidZ SetTTOk
RETURN

DoFeedZ:
EachPiece
SeqC MoveZC GetFeedRate EOL
NextPiece
RETURN

NoTTFeedZ:
SetTTOff DoFeedZ SetTTOk
RETURN

DoRapidXZ:
EachPiece
SeqC MoveXC MoveZC GetRapidF EOL
NextPiece
RETURN

NoTTRapidXZ:
SetTTOff DoRapidXZ SetTTOk
RETURN

DoFeedXZ:
EachPiece
SeqC MoveXC MoveZC GetFeedRate EOL
NextPiece
RETURN

NoTTFeedXZ:
SetTTOff DoFeedXZ SetTTOk
RETURN

ODApproachSP:
StartLoadFeat
Save# Num#('2') StockOn CycleStartZ# { ZSPC }
EndLoadFeat
NoTTRapidZ
StartLoadFeat
Save# Num#('1') StockOff XOpCD# { XOpCDC }
EndLoadFeat
NoTTRapidX
StartLoadFeat
Save# Num#('1') StockOn CycleStartX# { XSPC }
EndLoadFeat
NoTTFeedX
RETURN

IDApproachSP:
StartLoadFeat
Save# Num#('2') StockOn CycleStartZ# { ZSPC }
EndLoadFeat
NoTTRapidZ
StartLoadFeat
Save# Num#('1') StockOff XOpCD# { XOpCDC }
EndLoadFeat
NoTTRapidX { for SameTool ApproachID }
StartLoadFeat
Save# Num#('1') StockOn CycleStartX# { XSPC }
EndLoadFeat
NoTTFeedX
RETURN

FaceApproachSP:
StartLoadFeat
Save# Num#('2') StockOff ZOpCP# { ZOpCPC }
EndLoadFeat
NoTTRapidX { for SameTool ApproachFace }
NoTTRapidZ
StartLoadFeat
Save# Num#('2') StockOn CycleStartZ# { ZSPC }
EndLoadFeat
NoTTFeedZ
RETURN

Approach: { NOT FOR TAILSTOCK, .82 }
Save# Num#('2') ZStockMax# { ZCP }
IF ApproachOD?
StartLoadFeat
Save# Num#('1') XStockMax# { XCP }
EndLoadFeat
NoTTRapidXZ
ODApproachSP
ELSE
IF ApproachID?
StartLoadFeat
Save# Num#('1') XOpCD# { XOpCD }
EndLoadFeat
NoTTRapidXZ
IDApproachSP
ELSE {ApproachFace}
StartLoadFeat
Save# Num#('1') StockOn CycleStartX# StockOff { XSP }
EndLoadFeat
NoTTRapidXZ
FaceApproachSP
END
END
RETURN

CheckOffset:
DoEndOpPS
IF LAST ProgStop?
SeqC 'S00' EOL { ProgStop }
END
IF NewToolOffset?
SeqC OpToolID ToolOffset# EOL
END
IF LAST ProgStop?
SeqC GetSpeedRPM EOL
ELSE
IF NotEqual? SpeedRPM# LAST SpeedRPM#
SeqC GetSpeedRPM EOL
END
END
DoPostScript
RETURN

FormatArc:
MoveXC MoveZC ArcIJC
RETURN

GetICosine:
IF Taper?
'I' MUL# FeedIPR# DIV# Taper# FinishZInc#
END
RETURN

ToolPath:
EACHFeat
GetToolTip
IF LastFeat?
Save# Num#('1') EPX# { MoveXC }
Save# Num#('2') EPZ# { MoveZC }
IF Drilling?
IF Tap?
SeqC SpinOff EOL
SeqC 'X20000F0' EOL { Dwell }
SeqC 'S'
IF CWSpindle? { InverseSpinOn }
'-'
ELSE
'+'
END
TABLE(5001,SpeedRPM#,1) EOL
ELSE
IF Dwell?
SeqC 'X' Dwell# 'F0' EOL
END
END
END
END
IF PointFeat?
SeqC MoveSXYC EOL
ELSE
IF RapidFeat?
DoRapidXZ
ELSE
IF LineFeat?
IF CannedCycle? AND Drilling? AND Tap?
EachPiece
SeqC MoveXC MoveZC 'K' FeedIPR# 'F900' EOL
NextPiece
ELSE
DoFeedXZ
END
ELSE
IF ArcFeat?
EACHQuadrant { Do not use NOT, LAST, FIRST or NEXT modifiers in this loop }
SeqC FormatArc GetFeedRate EOL
NEXTQuadrant
ELSE
IF ThreadFeat?
EachPiece
SeqC MoveXC MoveZC GetICosine ThrdLead 'F900' EOL
NextPiece
END
END
END
END
END
NEXTFeat
TrackXNO# RecallX
TrackZNO# RecallZ
RETURN

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

{setup and initializations}
InitProg
SetInc
PosSideLathe
StandardXZArcs
XsAreRadii
SetMaxAxis('9.9998')
SetMaxRPM('10000')
SetMaxFeed('500')
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?
ASCII('13')
' ' 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 INCREMENTAL INCHES )' EOL
END
END
IF Metric? {CAM file is in Metric, tools and tool path}
SetScale('.03937007874') { change to English, this is an English post}
END
OpenSub
StockOff {.71.2}
SetHome
DoOpComments
DoPostScript
Plane
Seq GetSpeedRPM OpToolID ToolOffset# EOL
Approach
ELSE
IF NewTool?

{Finish off last Operation}

StockOff {.62}
IF LAST ApproachOD?
StartLoadFeat
Save# Num#('1') XStockMax# { XCPC }
EndLoadFeat
NoTTRapidX
ELSE
IF LAST ApproachID? {.71.2}
StartLoadFeat
Save# Num#('1') LAST ClearancePlane3# { LAST XOpECDC }
EndLoadFeat
EachPiece
SeqC SETLASTOP MoveXC GetRapidF EOL
NextPiece
END
END
StartLoadFeat
Save# Num#('2') ZStockMax# { ZCPC }
EndLoadFeat
NoTTRapidZ
DoEndOpPS
StartLoadFeat
Save# Num#('1') NewHomeX# { NewHome }
Save# Num#('2') NewHomeZ# { NewHome }
EndLoadFeat
NoTTRapidXZ
SeqC 'T0' EOL
IF LAST ProgStop?
SeqC 'S00' EOL { ProgStop }
ELSE
SeqC ProgStop EOL
END

{Start new Operation}

' ' EOL
DoOpComments
DoPostScript
Seq GetSpeedRPM OpToolID ToolOffset# EOL
StartLoadFeat
Save# Num#('1') HomeX# { Home }
Save# Num#('2') HomeZ# { Home }
EndLoadFeat
NoTTRapidXZ
Approach
ELSE
IF SameTool? {.62}

{Start new Operation}

DoOpComments
StockOff
IF LAST StraightConnect?
CheckOffset
StartLoadFeat
Save# Num#('1') StockOn CycleStartX# { XSPC }
Save# Num#('2') StockOn CycleStartZ# { ZSPC }
EndLoadFeat
NoTTRapidXZ
ELSE
IF ApproachOD?
IF LAST ApproachOD?
StartLoadFeat
Save# Num#('1') LAST ClearancePlane3# { LAST XOpECDC }
EndLoadFeat
DoRapidX
ELSE {around}
IF LAST ApproachID?
StartLoadFeat
Save# Num#('1') LAST ClearancePlane3# { LAST XOpECDC }
EndLoadFeat
DoRapidX
END
StartLoadFeat
Save# Num#('2') ZStockMax# { ZCPC }
EndLoadFeat
NoTTRapidZ
StartLoadFeat
Save# Num#('1') XStockMax# { XCPC }
EndLoadFeat
NoTTRapidX
END
CheckOffset
ODApproachSP
ELSE
IF ApproachID?
IF LAST ApproachID?
StartLoadFeat
Save# Num#('1') LAST ClearancePlane3# { LAST XOpECDC }
EndLoadFeat
DoRapidX
ELSE
IF LAST ApproachOD? {around}
StartLoadFeat
Save# Num#('1') XStockMax# { XCPC }
EndLoadFeat
NoTTRapidX
END
StartLoadFeat
Save# Num#('2') ZStockMax# { ZCPC }
EndLoadFeat
NoTTRapidZ
StartLoadFeat
Save# Num#('1') XOpCD# { XOpCDC }
EndLoadFeat
NoTTRapidX
END
CheckOffset
IDApproachSP
ELSE {ApproachFace}
IF LAST ApproachFace?
StartLoadFeat
Save# Num#('2') LAST ClearancePlane3# { LAST ZOpECPC }
EndLoadFeat
DoRapidZ
ELSE
IF LAST ApproachOD? {around}
StartLoadFeat
Save# Num#('1') XStockMax# { XCPC }
EndLoadFeat
NoTTRapidX
ELSE {LAST ApproachID}
StartLoadFeat
Save# Num#('1') LAST ClearancePlane3# { LAST XOpECDC }
EndLoadFeat
DoRapidX
END
StartLoadFeat
Save# Num#('2') ZStockMax# { ZCPC }
EndLoadFeat
NoTTRapidZ
END
CheckOffset
FaceApproachSP
END
END
END
END
END
END {common point for all operations}
StockOn
SetPass1
ToolPath
IF AutoFinish?
IF NOT Drilling? AND NOT Grooving? AND NOT RoughSimple?
StockOff
IF Threading?
IF Taper?
StartLoadFeat
Save# Num#('1') ADD# FinishXRadius# MUL# Taper# NumSc#('1') { XTapAtZ }
EndLoadFeat
NoTTRapidX
StartLoadFeat
Save# Num#('1') FinishXRadius# { XAtFinZ }
Save# Num#('2') FinishZ# { FinZ }
EndLoadFeat
SetTTOff
EachPiece
SeqC MoveXC MoveZC GetICosine ThrdLead 'F900' EOL
NextPiece
SetTTOk
ELSE
StartLoadFeat
Save# Num#('1') FinishXRadius# { XAtFinZ }
EndLoadFeat
NoTTRapidX
StartLoadFeat
Save# Num#('2') FinishZ# { FinZ }
EndLoadFeat
SetTTOff
EachPiece
SeqC MoveZC ThrdLead 'F900' EOL
NextPiece
SetTTOk
END
StartLoadFeat
Save# Num#('1') CycleStartX# { XCSP }
EndLoadFeat
NoTTRapidX
StartLoadFeat
Save# Num#('2') CycleStartZ# { ZCSP }
EndLoadFeat
NoTTRapidZ
ELSE
IF Turning?
SetPass1
ELSE
SetPass2
END
StartLoadFeat
Save# Num#('1') CycleStartX# { StrtPos }
Save# Num#('2') CycleStartZ# { StrtPos }
EndLoadFeat
NoTTRapidXZ
ToolPath
END
END
END
IF Drilling? AND Tap?
SeqC SpinOff EOL
SeqC 'X20000F0' EOL { Dwell }
SeqC GetSpeedRPM EOL { SpinOn }
END
NextOp {loops back to EachOP until last Operation}

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

{finish last operation}
StockOff
IF ApproachOD?
StartLoadFeat
Save# Num#('1') XStockMax# { XCPC }
EndLoadFeat
NoTTRapidX
ELSE
IF ApproachID? {.71.2}
StartLoadFeat
Save# Num#('1') ClearancePlane3# { XOpECDC }
EndLoadFeat
DoRapidX
END
END
StartLoadFeat
Save# Num#('2') ZStockMax# { ZCPC }
EndLoadFeat
NoTTRapidZ
DoEndOpPS
StartLoadFeat
Save# Num#('1') FirstHomeX# { FirstHome }
Save# Num#('2') FirstHomeZ# { FirstHome }
EndLoadFeat
NoTTRapidXZ
SeqC 'T0' EOL
IF ProgStop?
SeqC 'S00' EOL { ProgStop }
END
EOR EOL
Post
' ' 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 550 LeBlonde [KSW] L219 82 8
GE 550 LeBlonde (CCD) L178 82
GE 550 LeBlonde L080 82
GE 1050T LeBlonde [CM] L249 82
GE 1050 LeBlonde [DEW] L250 82
GE 550 Okuma LS N L059 82 1
GE 550 HNC [AMC] L246 82
GE 102C Leblond [GV] L073 82 2
GE 550T LeBlonde L082 82
GE 550 L&S [GV] L293 82 3
GE 550L LeBlonde L083 82
GE 550L LeBlonde [R&R] L241 82
GE 550 L&S L184 82 5
GE 1050 LeBlonde Rgl L033 85
GE 550 DeVlieg 4K M908 89
GE 550 M087 87
GE 550 MC [SN] NMU25 87 1
GE 550 L&S [FC] L407 85
GE 1050T LeBlonde L105 85 1

więcej podobnych podstron