{Change Comments ***********************************************************}
{8/14/89
Copied & modified: GE 1050 LeBlonde Rgl L033.55
For: Lawrence Berkley Lab
Added Rapid to output 'G00'.
Deleted all occurances of RapidF.
Changed FORMAT to use decimal points.
Replaced TABLE command with SpinOn.
Replaced GEMill2 ToolPath with standard ToolPath.
Misc other requested changes.
Note: Still needs 'G68/G69' RoughContour & 'G84' Canned Cycles as requested.
JR}
{9/14/89
Modified: GE 1050 HLX LeBlond L117.55
Deleted RoughSimple Canned Cycle.
Added 'G68/G69' RoughContour Canned Cycle.
Note: Still needs Threading Canned Cycle as requested.
JR}
{7/24/90, Added InitProg globally to posts with this remark, DWB}
{12/12/91
Modified: GE 1050 HLX LeBlond L117.63
For: Gibbs & Associates
Updated to Version 4.1 per Fanuc 10T MS [-] L001.82 Format.
Full Canned Cycle Support, without documentation.
Canned Cycles were based on GE 1050 HLX Hardinge L124.82 which is a Diameter, PosSideLathe Post.
This Post is a Radius, ToolOver('8') is PosSideLathe, others are NegSideLathe.
DWB}
{5/2/96, Updated GE 1050 HLX LeBlond L117.82 to .85 format, JR}
{8/7/96
Initial: GE 1050 HLX LeBlond L117.85
Created: GE 1050 HLB LeBlond L000.85
ForUser: CIM Solutions / Century Specialties
Machine: Leblond Makino Baron 40
Control: GE Mark Century 1050 HLB
Develop: ComPost 4.21.37, Catalyst68K v3.04.10.C
Comment: New Processor per marked up readout from Tom Raymond
Single Turret PosSideLathe ReverseXZArcs
To simplify development, I just changed ToolOver?('8') to ToolOver?('0')!
Added G70 & G95 to beginning of tools.
Moved Preset to begining of tool and added Home.
Added 'M32' to beginning of tools, this allows centerline overtravel on the machine.
Added Rapid to first Approach move.
Changed LOfstOff/OpToolID '00' to 'T0000'.
Modified Threading CannedCyle to support G86 cycle as well as G84.
Jim Radcliffe}
{6/12/97,
made SetPass2 in GetGESP IF CannedCycle? conditional upon IF Roughing? being true, MPK}
{Prog Numeric Format Definitions *******************************************}
#1 = '#.00'
#2 = '###.####;0'
#3 = '########;0'
#4 = '###^##0'
#5 = '#.######;0'
#6 = '+###.####;0'
#7 = '###.#;0'
FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(CycleStartX#,2)
FORMAT(TAN#,2)
FORMAT(TrackX#,2)
FORMAT(TrackZ#,2)
FORMAT(GECSPX#,2)
FORMAT(GECSPZ#,2)
FORMAT(CycleStartX#,2)
FORMAT(FinishXRadius#,2)
FORMAT(FinishZ#,2)
FORMAT(Peck#,2)
FORMAT(Program#,3) {.72}
FORMAT(Operation#,3) {.72}
FORMAT(Tool#,3) {.72}
FORMAT(SpringPasses#,3)
FORMAT(Dwell#,4) {.72}
FORMAT(FeedIPR#,5)
FORMAT(CutDepth#,6)
FORMAT(ADD#,7)
{Prog Subroutines **********************************************************}
DoSubComment:
IF UseComments? AND SubComment?
'( SUBROUTINE FOR OPERATION ' Operation# ' )' EOL
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
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
SeqLabC PostScript EOL {literals}
PSStuff {commands}
NextPS
RETURN
DoEndOpPS:
PSInit
EachEOPS
SeqLabC EndOpPS EOL {literals}
PSStuff {commands}
NextPS
RETURN
StockOnNoCan:
IF NOT CannedCycle?
StockOn {need stock for SP positioning, if not a canned cycle}
END
RETURN
GetGESP:
IF CannedCycle?
SetStatusOff
IF Roughing?
SetPass2
END
Save# Num#('1') SPX#
Save# Num#('2') SPZ#
IF Roughing?
IF NOT RoughSimple?
Save# Num#('1') ADD# Recall# Num#('1') MUL# StockXRadius# Num#('1')
Save# Num#('2') ADD# Recall# Num#('2') ADD# StockZ# NumSc#('.1')
IF ApproachFace?
IF GreaterThan? CycleStartX# FirstMoveEPX# { ODFaceApproach }
Save# Num#('1') ADD# Recall# Num#('1') NumSc#('.1')
ELSE { IDFaceApproach }
Save# Num#('1') ADD# Recall# Num#('1') NumSc#('-.1')
END
END
EachFeat
IF LastFeat?
IF ApproachFace?
Save# Num#('2') EPZ#
ELSE
Save# Num#('1') EPX#
END
END
NextFeat
END
ELSE
IF Threading?
IF ApproachOD?
IF ToolOver?('0')
Save# Num#('1') ADD# FinishXRadius# MUL# ThreadXInc# Num#('1')
ELSE
Save# Num#('1') ADD# FinishXRadius# MUL# ThreadXInc# Num#('-1')
END
ELSE { ApproachID }
IF ToolOver?('0')
Save# Num#('1') ADD# FinishXRadius# MUL# ThreadXInc# Num#('-1')
ELSE
Save# Num#('1') ADD# FinishXRadius# MUL# ThreadXInc# Num#('1')
END
END
ELSE { Drilling }
IF SameTool? AND LAST Drilling?
Save# Num#('3') Num#('0')
END
END
END
IF ApproachOD?
IF ToolOver?('0')
Save# Num#('1') ADD# Recall# Num#('1') NumSc#('.1')
ELSE
Save# Num#('1') ADD# Recall# Num#('1') NumSc#('-.1')
END
ELSE
IF ApproachID?
IF ToolOver?('0')
Save# Num#('1') ADD# Recall# Num#('1') NumSc#('-.1')
ELSE
Save# Num#('1') ADD# Recall# Num#('1') NumSc#('.1')
END
ELSE { ApproachFace }
IF NOT Threading? AND NOT Drilling?
Save# Num#('2') ADD# Recall# Num#('2') NumSc#('.1')
END
END
END
SetPass1
SetStatusOn
END
RETURN
GESPX:
TrackX# Recall# Num#('1')
Save# Num#('3') Recall# Num#('1')
RETURN
GESPZ:
TrackZ# Recall# Num#('2')
Save# Num#('4') Recall# Num#('2')
RETURN
GESPXC:
IF CannedCycle?
IF NotEqual? Recall# Num#('1') Recall# Num#('3')
'X' GESPX
END
ELSE
XSPC
END
RETURN
GESPZC:
IF CannedCycle?
IF NotEqual? Recall# Num#('2') Recall# Num#('4')
'Z' GESPZ
END
ELSE
ZSPC
END
RETURN
ODApproachSP:
SeqLabC StockOnNoCan GESPZC EOL
SeqLabC StockOff XOpCDC EOL
Save# Num#('3') XOpCD#
SeqLabC Feed StockOnNoCan GESPXC FeedRate EOL
RETURN
IDApproachSP:
SeqLabC StockOnNoCan GESPZC EOL
SeqLabC StockOff XOpCDC EOL { for SameTool ApproachID }
Save# Num#('3') XOpCD#
SeqLabC Feed StockOnNoCan GESPXC FeedRate EOL
RETURN
FaceApproachSP:
SeqLabC StockOnNoCan GESPXC EOL { for SameTool ApproachFace }
SeqLabC StockOff ZOpCPC EOL
Save# Num#('4') ZOpCP#
SeqLabC Feed StockOnNoCan GESPZC FeedRate EOL
RETURN
AppMove:
ThisOpEntryZCP CoolOn
Save# Num#('4') ThisOpEntryZCP#
RETURN
Approach: { NOT FOR TAILSTOCK, .82 }
Save# Num#('3') HomeX#
Save# Num#('4') HomeZ#
IF ApproachOD?
SeqLabC Rapid ThisOpEntryXCP AppMove EOL
ODApproachSP
ELSE
IF ApproachID?
SeqLabC Rapid XOpCD AppMove EOL
IDApproachSP
ELSE {ApproachFace}
SeqLabC Rapid StockOnNoCan GESPXC StockOff AppMove EOL
FaceApproachSP
END
END
RETURN
TurnCSSOn:
SeqLabC CSSOn 'G96R'
IF CannedCycle?
GESPX
ELSE
CycleStartX#
END
Speed EOL
RETURN
CheckSpinOn:
IF ToolOver?('0')
InverseSpinOn
ELSE
SpinOn
END
RETURN
CheckInverseSpinOn:
IF ToolOver?('0')
SpinOn
ELSE
InverseSpinOn
END
RETURN
CheckOffset:
DoEndOpPS
IF LAST ProgStop?
SeqLabC 'M00' EOL
ELSE
IF NewGear?
SeqLabC SpinOff EOL
END
IF CoolOff? AND LAST NOT CoolOff?
SeqLabC CoolOff EOL
END
END
IF NewToolOffset?
SeqLabC 'T0000' EOL
SeqLabC OpToolID LatheOffset EOL
END
IF NewGear?
SeqLabC GearRange EOL
END
SeqLabC
IF ConstantSurfaceFeed?
{set at common point}
ELSE
IF LAST ConstantSurfaceFeed?
CSSOff 'G97' Speed
ELSE
IF NotEqual? SpeedRPM# LAST SpeedRPM#
Speed
END
END
END
IF LAST ProgStop?
CheckSpinOn EOL
SeqLabC CoolOn EOL
ELSE
IF NewGear?
CheckSpinOn EOL
ELSE
EOL
END
IF NOT CoolOff? AND LAST CoolOff?
SeqLabC CoolOn EOL
END
END
DoPostScript
RETURN
FinishThreadStart: { For Canned Thread Cycle }
Save# Num#('6') ADD# FinishXRadius# Taper#
FORMAT(Recall#,2)
'X' Recall# Num#('6')
RETURN
FIRSTThreadCutDepth: { For Canned Thread Cycle }
FORMAT(MUL#,6)
IF ToolOver?('0')
MUL# SUB# ABS# SUB# Recall# Num#('6') FirstMoveEPX# ThreadXInc# Num#('-1')
ELSE
MUL# SUB# ABS# SUB# Recall# Num#('6') FirstMoveEPX# ThreadXInc# Num#('1')
END
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 NOT LastFeat?
CRCOnC
END
END
IF LastFeat? AND EmptyLine? { Exit Length Feature }
CRCOffC
END
RETURN
ToolPath:
EACHFeat
GetToolTip
IF LastFeat?
IF Drilling?
IF Tap?
SeqLabC SpinOff EOL
SeqLabC 'G04P2000' EOL
SeqLabC Speed CheckInverseSpinOn EOL
ELSE
IF Dwell?
SeqLabC 'G04P' Dwell# EOL
END
END
ELSE
IF CannedCycle?
IF Roughing?
IF NOT RoughSimple?
SeqLab
END
END
END
END
END
IF PointFeat?
SeqLabC MoveSXYC EOL
ELSE
IF RapidFeat?
SeqLabC RapidC MoveXC MoveZC EOL
ELSE
IF LineFeat?
SeqLabC CkCRC FeedC MoveXC MoveZC FeedRateC EOL
ELSE
IF ArcFeat?
EACHQuadrant { Do not use NOT, LAST, FIRST or NEXT modifiers in this loop }
SeqLabC FormatArc FeedRateC EOL
NEXTQuadrant
ELSE
IF ThreadFeat?
SeqLabC 'G33' MoveXC MoveZC ThrdLead EOL
Rapid
END
END
END
END
END
NEXTFeat
RETURN
CheckRapid:
CRCOffC
IF LAST CannedCycle?
Rapid
ELSE
RapidC
END
RETURN
{Start of executable Prog **************************************************}
{setup and initializations}
InitProg
XsAreRadii
NoIJKSigns
SetMaxRPM('2500')
SetMaxFeed('400')
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
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
Plane
IF ToolOver?('0')
PosSideLathe
ReverseXZArcs
ELSE
NegSideLathe
StandardXZArcs
END
DoOpComments
DoPostScript
GetGESP
SeqLab 'G70' EOL
SeqLabC AbsOrInc EOL
SeqLabC 'G95' GearRange EOL
SeqLabC Preset Home MaxRPM EOL
SeqLabC CSSOff 'G97'
IF ConstantSurfaceFeed?
CalcRPM1
ELSE
Speed
END
CheckSpinOn EOL
SeqLabC OpToolID LatheOffset 'M32' EOL
Approach
ELSE
IF NewTool?
{Finish off last Operation}
StockOff {.62}
CheckRapid
IF LAST ApproachOD?
SeqLabC LAST OpExitXCPC EOL
ELSE
IF LAST ApproachID?
SeqLabC LAST XOpECDC EOL
END
END
SeqLabC LAST OpExitZCPC CoolOff EOL
DoEndOpPS
SeqLabC 'M80' EOL { CSS OverRide Off }
SeqLabC NewHome EOL
SeqLabC 'T0000' EOL
IF LAST ProgStop?
SeqLabC 'M00' EOL
ELSE
IF NewGear?
SeqLabC SpinOff EOL
END
SeqLabC ProgStop EOL
END
{Start new Operation}
IF ToolOver?('0')
PosSideLathe
ReverseXZArcs
ELSE
NegSideLathe
StandardXZArcs
END
DoOpComments
DoPostScript
GetGESP
SeqLab 'G70' EOL
SeqLabC AbsOrInc EOL
SeqLabC 'G95' GearRange EOL
SeqLabC Preset Home MaxRPM EOL
SeqLabC CSSOff 'G97'
IF ConstantSurfaceFeed?
CalcRPM1
ELSE
Speed
END
CheckSpinOn EOL
SeqLabc OpToolID LatheOffset 'M32' EOL
Approach
ELSE
IF SameTool? {.62}
{Start new Operation}
DoOpComments
StockOff
GetGESP
IF LAST StraightConnect?
CheckOffset
CheckRapid
SeqLabC StockOnNoCan GESPXC GESPZC EOL
ELSE
CheckRapid
IF ApproachOD?
IF LAST ApproachOD?
SeqLabC LAST XOpECDC EOL
ELSE {around}
IF LAST ApproachID?
SeqLabC LAST XOpECDC EOL
END
SeqLabC LAST OpExitZCPC EOL
SeqLabC LAST OpExitXCPC EOL
END
CheckOffset
ODApproachSP
ELSE
IF ApproachID?
IF LAST ApproachID?
SeqLabC LAST XOpECDC EOL
ELSE
IF LAST ApproachOD? {around}
SeqLabC LAST OpExitXCPC EOL
END
SeqLabC LAST OpExitZCPC EOL
SeqLabC XOpCDC EOL
END
CheckOffset
IDApproachSP
ELSE {ApproachFace}
IF LAST ApproachFace?
SeqLabC LAST ZOpECPC EOL
ELSE
IF LAST ApproachOD? {around}
SeqLabC LAST OpExitXCPC EOL
ELSE {LAST ApproachID}
SeqLabC LAST XOpECDC EOL
END
SeqLabC LAST OpExitZCPC EOL
END
CheckOffset
FaceApproachSP
END
END
END
END
END
END {common point for all operations}
IF ConstantSurfaceFeed?
IF SameTool?
IF LAST ConstantSurfaceFeed?
IF NotEqual? SpeedRPM# LAST SpeedRPM#
TurnCSSOn
END
ELSE
SeqLabC Preset MaxRPM EOL
TurnCSSOn
END
ELSE
TurnCSSOn
END
END
IF CannedCycle?
StockOff
IF Roughing?
IF RoughSimple?
{ G81/G82 [ Turning/Facing ] Cycle:
X (Ä…3.4) = Workpiece Radius at Final Cutting Depth.
Z (Ä…3.4) = Total Cutting Length at Final Cutting Depth.
P1 ( 3.4) = Maximum Depth of Cut per Pass in the [ X/Z ] Axis, Incremental, Radial Value.
P2 (Ä…3.4) = Taper Pull-out Point at END of LAST Pass, Incremental from
Absolute StartPoint.
P3 (Ä…3.4) = Taper Pull-in Point at Beginning of LAST Pass, Incremental from
Absolute StartPoint.
P4 ( 1 ) = IF a '1' is Programmed, all Moves are 'In Zone'.
P5 ( 3.1) = Pull-in FeedRate. }
StockOn
SetPass1
IF Taper?
' ' EOL
'( NOTE: This Post Processor does not support RoughSimple Cycle with Taper!!! )' EOL
' ' EOL
END
SeqLabC LCycle 'X' FinishXRadius# 'Z' FinishZ# 'P1' CutDepth# 'P41' 'P5' ADD# FeedIPR# Num#('0') FeedRate EOL
ELSE
TagInc
SetPass2
IF RoughContour?
{ G68/G69 [ Turning/Facing ] Cycle:
X (Ä…3.4) = X Axis Contour StartPoint, Radial Value.
Z (Ä…3.4) = Z Axis Contour StartPoint.
I ( 3.4) = Amount of Finish Stock in X Axis, Incremental, Radial Value.
K ( 3.4) = Amount of Finish Stock in Z Axis, Incremental Value.
P1 ( 4 ) = Sequence Number of Starting Block.
P2 ( 4 ) = Sequence Number of Ending Block.
P3 ( 3.4) = Maximum Depth of Cut per Pass in [ X/Z ] Axis, Incremental, Radial Value.
P4 (Ä…1 ) = Tracing of EACH Pass as follows:
+0 = Tool follows Contour to END of EACH Pass ( Standard Gibbs Cycle ).
-0 = Same as +0, but on LAST Pass, Tool follows entire Contour for a
Clean-up Pass.
+1 = Tool withdraws at 45Ä„ Angle at END of EACH Pass.
-1 = Same as +1, but on LAST Pass, Tool follows entire Contour for a
Clean-up Pass. }
SeqLabC LCycle XSP ZSP XStkLeft ZStkLeft 'P1Å‚' Tag# 'P2²' Tag# CutDepth 'P4+0' FeedRate EOL
ELSE
IF RoughPatternShift?
{ G66/G67 [ Turning/Facing ] Cycle:
X (Ä…3.4) = X Axis Contour StartPoint, Radial Value.
Z (Ä…3.4) = Z Axis Contour StartPoint.
I ( 3.4) = Amount of Finish Stock in X Axis, Incremental, Radial Value.
K ( 3.4) = Amount of Finish Stock in Z Axis, Incremental Value.
P1 ( 4 ) = Sequence Number of Starting Block.
P2 ( 4 ) = Sequence Number of Ending Block.
P3 ( 3.4) = Maximum Depth of Cut per Pass in [ X/Z ] Axis, Incremental,
Radial Value.
P4 ( 3.4) = Maximum, Total Amount of Stock to be Removed, Incremental,
Radial Value.
P5 ( 2 ) = Z Axis Angular Shift ²45Ä„. }
SeqLabC
IF ApproachFace?
'G67'
ELSE
LCycle { G66 }
END
XSP ZSP XStkLeft ZStkLeft 'P1Å‚' Tag# 'P2²' Tag# 'P3' CutDepth# XminusU 'P545' FeedRate EOL
END
END
IF AutoFinish?
SeqLabC 'G25P1Å‚' Tag# 'P2²' Tag# EOL
END
OpenSub
DoSubComment
'>' Tag# EOL
SeqLab
IF FIRST RapidFeat?
Rapid
ELSE
Feed
END
ToolPath
'<' Tag# EOL
CloseSub
END
ELSE
IF Threading?
{
G80 Parameters:
P1 (1->5) = For G86 Cycle, Index number for infeed angle, or use P2
P2 ( 0.4) = For G86 Cycle, Tangent of infeed angle, or use P1
P3 (0->9) = Number of Spring Passes.
G84 Plundge Thread:
G86 Compound Cycle:
X (Ä…3.4) = Root Radius at Beginning of Thread, Absolute Value.
Z (Ä…3.4) = ZDepth at End of Thread, Absolute Value.
P1 ( 3.4) = Cutting Depth of FIRST Pass.
P2 ( 1.6) = Thread Lead.
P3 (Ä…3.4) = Tapered Root Radius at End of Thread, Absolute Value.
P4 (Ä…3.4) = Anticipated Pull-out Lead Distance at End of Thread.
}
SeqLabC 'G80'
IF SingleEdgeCut?
'P2' TAN# InFeedAngle#
END
'P3' SpringPasses# EOL
SeqLabC
IF SingleEdgeCut?
'G86'
ELSE
'G84'
END
FinishThreadStart FinZ 'P1' FIRSTThreadCutDepth 'P2' FeedIPR#
IF Taper?
'P3' FinishXRadius#
END
EOL
ELSE
IF Drilling?
IF Tap?
{ G33 Cycle: }
SeqLabC LCycle ZDepth 'K' FeedIPR# EOL
SeqLabC SpinOff EOL
SeqLabC 'G04P2000' EOL
SeqLabC Speed CheckInverseSpinOn EOL
SeqLabC ZSP 'K' FeedIPR# EOL
ELSE
IF Peck? AND PeckChipBreaker?
{ G83 Cycle:
Z (Ä…3.4) = Final Hole Depth, Absolute Value.
P1 ( 3.4) = FIRST Peck Increment.
P2 ( 1.2) = Multiplier of [ P1 ] Peck Increment for Succeeding Pecks.
P3 ( 3.4) = Dwell Period at the Bottom of Hole, in Spindle Revolutions.
P4 ( 3.4) = Retract Increment after EACH Peck.
P5 ( 3.4) = Minimum Peck Increment. }
SeqLabC LCycle ZDepth Peck 'P2.8'
IF Dwell?
FORMAT(MUL#,2)
'P3' MUL# DIV# Dwell# Num#('60') SpeedRPM#
END
Retract 'P5' Peck# FeedRate EOL
IF AutoFinish?
SeqLabC Feed ZDepth EOL
IF Dwell?
SeqLabC 'G04P' Dwell# EOL
END
SeqLabC Rapid ZSP EOL
END
END
END
END
END
END
ELSE
StockOn
SetPass1
ToolPath
IF AutoFinish?
IF NOT Drilling? AND NOT Grooving?
StockOff
IF Turning?
SetPass1
ELSE
SetPass2
END
SeqLabC RapidC StrtPos EOL
ToolPath
END
END
END
IF Drilling? AND Tap?
SeqLabC SpinOff EOL
SeqLabC 'G04P2000' EOL
SeqLabC Speed CheckSpinOn EOL
END
NextOp {loops back to EachOP until last Operation}
{End of program ************************************************************}
{finish last operation}
StockOff
CRCOffC
IF CannedCycle?
Rapid
ELSE
RapidC
END
IF ApproachOD?
SeqLabC OpExitXCPC EOL
ELSE
IF ApproachID?
SeqLabC XOpECDC EOL
END
END
SeqLabC OpExitZCPC CoolOff EOL
DoEndOpPS
SeqLabC 'M80' EOL { CSS OverRide Off }
SeqLabC FirstHome EOL
SeqLabC 'T0000' SpinOff EOL
IF ProgStop?
SeqLabC 'M00' EOL
END
SeqLabC EOP EOL
Post
EOR EOL
Close
Retag
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 LeBlonde Rgl L033 85GE 1050 HLX Hardinge L124 85 1GE 1050 Burgmaster [TC] M858 85GE 1050 Monarch ( R) L090 82GE 1050T [GT] Baron L591 85GE 2000 Bullard VTL L502 85GE 1050 B&S 1500VC M554 87GE 7542 Monarch TC75 L395 85 01GE 1050 LeBlonde [DEW] L250 82GE 1050 MCL Mon [GI] MY25 87 2GE 1050 L&S L191 82Cin Acr 850 SX [CS] L519 85 1GE Fanuc 0TB Hardinge L576 85 1GE 1050 B&S 1500VC [GT] M718 87GE 1050T W&S 242 [HP] L401 85GE 1050 Burgmaster [MM] MZ25 87GE 1050 MCL Monarch M687 87więcej podobnych podstron