AB 7340 Gray 200 L457 85 2


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

{6/11/91
Modified: AB 7360 Hardinge L167.71.3
For: Gibbs & Associates
Updated to Version 4.0 per Fanuc 10T MS [-] L001.80 Format.
Only Canned Cycles supported are SimpleRough, Threading and PeckFullRetract.
DWB}

{9/7/95, Updated AB 7360 Hardinge L167.80 to .85 format per v2.20 Update Instructions .01, JR}

{3/5/96
Initial: AB 7360 Hardinge L167.85
Created: AB 7340 Gray 200 L000.85
ForUser: CNCCS / Tool Sales & Service
Control: Allen Bradley 7340
Machine: Gray 200 VTL
Develop: ComPost 4.21.34, ncCAD 4.33.01, ncCAM 4.33, ncPost 4.33.09
Comment: New Processor per instructions from Steve Seibert
Jim Radcliffe}

{11/7/96
Initial: AB 7340 Gray 200 L457.85
Created: AB 7340 Gray 200 L457.85.1
Develop: ComPost2 68k v1.0b4, ncCAD 4.33.02, ncCAM 4.33, ncPost 4.33.09
Comment: Modified to fully support Left Ram. Had to go back to .82 format for numeric commnds.
Leading zero suppression on sequence numbers.
New checkOffset sub.
Arcs stop on quads without sign.
Jim Radcliffe}

{11/25/96
Initial: AB 7340 Gray 200 L457.85.1
Created: AB 7340 Gray 200 L457.85.2
Develop: ComPost2 68k v1.0b4, ncCAD 4.33.02, ncCAM 4.33, ncPost 4.33.09
Comment: Modified to flag Left Ram as tool#s greater than 10, outputting tool# & offset# less 10.
Jim Radcliffe}

{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(EPX#,2)
FORMAT(EPZ#,2)
FORMAT(ArcJ#,2)
FORMAT(ArcI#,2)
FORMAT(HomeX#,2)
FORMAT(HomeZ#,2)
FORMAT(NewHomeX#,2)
FORMAT(NewHomeZ#,2)
FORMAT(FirstHomeX#,2)
FORMAT(FirstHomeZ#,2)
FORMAT(XStockMax#,2)
FORMAT(ZStockMax#,2)
FORMAT(ThisOpEntryXCP#,2)
FORMAT(ThisOpEntryZCP#,2)
FORMAT(XOpCD#,2)
FORMAT(ZOpCP#,2)
FORMAT(OpExitXCP#,2)
FORMAT(OpExitZCP#,2)
FORMAT(ClearancePlane3#,2)
FORMAT(CycleStartX#,2)
FORMAT(CycleStartZ#,2)
FORMAT(EPX#,2)
FORMAT(EPZ#,2)
FORMAT(SUB#,2)
FORMAT(ArcI#,2)
FORMAT(ArcJ#,2)

FORMAT(Program#,3) {.72}
FORMAT(Operation#,3) {.72}
FORMAT(Tool#,3) {.72}
FORMAT(ADD#,3) { Left Ram Tool & Offset numbers }
FORMAT(ToolOffset#,3)
FORMAT(Dwell#,4) {.72}
FORMAT(FeedIPR#,5)
FORMAT(CalcEPRPM#,6)
FORMAT(RapidF#,7)

{Special Subroutines *******************************************************}

DoAbsOrInc:
IF Flag?('1')
IF AbsoluteMoves?
SetAbs 'H90'
ELSE
SetInc 'H91'
END
ELSE
AbsOrInc
END
RETURN

DoIPR:
IF Flag?('1')
'H95'
ELSE
'G95'
END
RETURN

Index:
IF Flag?('1')
'M15'
ELSE
'M17'
END
RETURN

CancelPreset:
IF Flag?('1')
'H99'
ELSE
'G99'
END
RETURN

DoPreset:
IF Flag?('1')
'H92'
ELSE
Preset
END
RETURN

DoCSSOff:
IF Flag?('1')
CSSOff 'H97'
ELSE
CSSOff 'G97'
END
RETURN

DoCSSOn:
IF Flag?('1')
CSSOn 'H96'
ELSE
CSSOn 'G96'
END
RETURN

DoTool:
IF Flag?('1')
'T000' ADD# Num#('-10') Tool# '0'
ELSE
'T' Tool# '0000'
END
RETURN

DoOffset:
IF Flag?('1')
'T000' ADD# Num#('-10') Tool# ADD# Num#('-10') ToolOffset#
ELSE
'T' Tool# ToolOffset# '000'
END
RETURN

DoOffsetOff:
IF Flag?('1')
'T000' ADD# Num#('-10') LAST Tool# '0'
ELSE
'T' LAST Tool# '0000'
END
RETURN

DoCoolOn:
IF Flag?('1')
IF NOT CoolOff?
'M11'
END
ELSE
CoolOn
END
RETURN

DoCoolOff:
IF Flag?('1')
'M12'
ELSE
CoolOff
END
RETURN

DoRapid:
IF Flag?('1')
'H00'
SetFlagF('2')
SetFlagF('3')
ELSE
Rapid
END
RETURN

DoRapidC:
IF Flag?('1')
IF Flag?('2')
'H00'
ELSE
IF Flag?('3')
'H00'
END
END
SetFlagF('2')
SetFlagF('3')
ELSE
RapidC
END
RETURN

DoFeed:
IF Flag?('1')
'H01'
SetFlag('2')
SetFlagF('3')
ELSE
Feed
END
RETURN

DoFeedC:
IF Flag?('1')
IF NOT Flag?('2')
'H01'
ELSE
IF Flag?('3')
'H01'
END
END
SetFlag('2')
SetFlagF('3')
ELSE
FeedC
END
RETURN

DoCWArc:
IF Flag?('1')
'H02'
SetFlag('3')
ELSE
CWArc
END
RETURN

DoCCWArc:
IF Flag?('1')
'H03'
SetFlag('3')
ELSE
CCWArc
END
RETURN

DoThread:
IF Flag?('1')
'H33'
ELSE
'G33'
END
RETURN

DoRapidF:
IF Flag?('1')
'E' RapidF#
Save# Num#('5') RapidF#
ELSE
RapidF
END
RETURN

DoRapidFC:
IF Flag?('1')
IF NotEqual? Recall# Num#('5') RapidF#
'E' RapidF#
Save# Num#('5') RapidF#
END
ELSE
RapidFC
END
RETURN

DoFeedRateC:
IF Flag?('1')
IF NotEqual? Recall# Num#('5') FeedIPR#
'E' FeedIPR#
Save# Num#('5') FeedIPR#
END
ELSE
FeedRateC
END
RETURN

DoHome:
IF Flag?('1')
Save# Num#('1') HomeX#
Save# Num#('2') HomeZ#
'U' HomeX# 'W' HomeZ#
ELSE
Home
END
RETURN

DoNewHome:
IF Flag?('1')
Save# Num#('1') NewHomeX#
Save# Num#('2') NewHomeZ#
'U' NewHomeX# 'W' NewHomeZ#
ELSE
NewHome
END
RETURN

DoFirstHome:
IF Flag?('1')
Save# Num#('1') FirstHomeX#
Save# Num#('2') FirstHomeZ#
'U' FirstHomeX# 'W' FirstHomeZ#
ELSE
FirstHome
END
RETURN

DoThisOpEntryXCP:
IF Flag?('1')
Save# Num#('1') ThisOpEntryXCP#
'U' ThisOpEntryXCP#
ELSE
ThisOpEntryXCP
END
RETURN

DoXCP:
IF Flag?('1')
Save# Num#('1') XStockMax#
'U' XStockMax#
ELSE
XCP
END
RETURN

DoXCPC:
IF Flag?('1')
IF NotEqual? Recall# Num#('1') XStockMax#
Save# Num#('1') XStockMax#
'U' XStockMax#
END
ELSE
XCPC
END
RETURN

DoThisOpEntryZCP:
IF Flag?('1')
Save# Num#('2') ThisOpEntryZCP#
'W' ThisOpEntryZCP#
ELSE
ThisOpEntryZCP
END
RETURN

DoZCP:
IF Flag?('1')
Save# Num#('2') ZStockMax#
'W' ZStockMax#
ELSE
ZCP
END
RETURN

DoZCPC:
IF Flag?('1')
IF NotEqual? Recall# Num#('2') ZStockMax#
Save# Num#('2') ZStockMax#
'W' ZStockMax#
END
ELSE
ZCPC
END
RETURN

DoXOpCD:
IF Flag?('1')
Save# Num#('1') XOpCD#
'U' XOpCD#
ELSE
XOpCD
END
RETURN

DoXOpCDC:
IF Flag?('1')
IF NotEqual? Recall# Num#('1') XOpCD#
Save# Num#('1') XOpCD#
'U' XOpCD#
END
ELSE
XOpCDC
END
RETURN

DoXOpECDC:
IF Flag?('1')
IF NotEqual? Recall# Num#('1') SUB# ClearancePlane3# Recall# Num#('3')
Save# Num#('1') SUB# ClearancePlane3# Recall# Num#('3')
'U' SUB# ClearancePlane3# Recall# Num#('3')
END
ELSE
XOpECDC
END
RETURN

DoLastXOpECDC:
IF Flag?('1')
IF NotEqual? Recall# Num#('1') SUB# LAST ClearancePlane3# Recall# Num#('3')
Save# Num#('1') SUB# LAST ClearancePlane3# Recall# Num#('3')
'U' SUB# LAST ClearancePlane3# Recall# Num#('3')
END
ELSE
LAST XOpECDC
END
RETURN

DoOpExitXCPC:
IF Flag?('1')
IF NotEqual? Recall# Num#('1') OpExitXCP#
Save# Num#('1') OpExitXCP#
'U' OpExitXCP#
END
ELSE
OpExitXCPC
END
RETURN

DoLastOpExitXCPC:
IF Flag?('1')
IF NotEqual? Recall# Num#('1') LAST OpExitXCP#
Save# Num#('1') LAST OpExitXCP#
'U' LAST OpExitXCP#
END
ELSE
LAST OpExitXCPC
END
RETURN

DoZOpCPC:
IF Flag?('1')
IF NotEqual? Recall# Num#('2') ZOpCP#
Save# Num#('2') ZOpCP#
'W' ZOpCP#
END
ELSE
ZOpCPC
END
RETURN

DoZOpECPC:
IF Flag?('1')
IF NotEqual? Recall# Num#('2') SUB# ClearancePlane3# Recall# Num#('4')
Save# Num#('2') SUB# ClearancePlane3# Recall# Num#('4')
'W' SUB# ClearancePlane3# Recall# Num#('4')
END
ELSE
ZOpECPC
END
RETURN

DoLastZOpECPC:
IF Flag?('1')
IF NotEqual? Recall# Num#('2') SUB# LAST ClearancePlane3# Recall# Num#('4')
Save# Num#('2') SUB# LAST ClearancePlane3# Recall# Num#('4')
'W' SUB# LAST ClearancePlane3# Recall# Num#('4')
END
ELSE
LAST ZOpECPC
END
RETURN

DoOpExitZCPC:
IF Flag?('1')
IF NotEqual? Recall# Num#('2') OpExitZCP#
Save# Num#('2') OpExitZCP#
'W' OpExitZCP#
END
ELSE
OpExitZCPC
END
RETURN

DoLastOpExitZCPC:
IF Flag?('1')
IF NotEqual? Recall# Num#('2') LAST OpExitZCP#
Save# Num#('2') LAST OpExitZCP#
'W' LAST OpExitZCP#
END
ELSE
LAST OpExitZCPC
END
RETURN

DoXSP:
IF Flag?('1')
Save# Num#('1') CycleStartX#
'U' CycleStartX#
ELSE
XSP
END
RETURN

DoXSPC:
IF Flag?('1')
IF NotEqual? Recall# Num#('1') CycleStartX#
Save# Num#('1') CycleStartX#
'U' CycleStartX#
END
ELSE
XSPC
END
RETURN

DoZSP:
IF Flag?('1')
Save# Num#('2') CycleStartZ#
'W' CycleStartZ#
ELSE
ZSP
END
RETURN

DoZSPC:
IF Flag?('1')
IF NotEqual? Recall# Num#('2') CycleStartZ#
Save# Num#('2') CycleStartZ#
'W' CycleStartZ#
END
ELSE
ZSPC
END
RETURN

DoMoveXC:
IF Flag?('1')
IF NotEqual? Recall# Num#('1') EPX#
Save# Num#('1') EPX#
'U' EPX#
END
ELSE
MoveXC
END
RETURN

DoMoveZC:
IF Flag?('1')
IF NotEqual? Recall# Num#('2') EPZ#
Save# Num#('2') EPZ#
'W' EPZ#
END
ELSE
MoveZC
END
RETURN

DoArcIJ:
IF Flag?('1')
'P' ArcJ# 'R' ArcI#
ELSE
ArcIJ
END
RETURN

{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?
'( '
IF Flag?('1')
'Left Ram TOOL ' ADD# Num#('-10') Tool#
ELSE
'Right Ram TOOL ' Tool#
END
': ' 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:
StockOn {need stock for SP positioning, if not a canned cycle}
RETURN

FeedNoCan:
DoFeedC
RETURN

FeedRateNoCan:
DoFeedRateC
RETURN

ApproachSP:
IF ApproachFace?
SeqC StockOnNoCan DoXSPC EOL
SeqC StockOff DoZOpCPC EOL
StockOnNoCan
IF NotEqual? CycleStartZ# ZOpCP#
SeqC FeedNoCan DoZSPC FeedRateNoCan EOL
END
ELSE { ODApproach/IDApproach }
SeqC StockOnNoCan DoZSPC EOL
SeqC StockOff DoXOpCDC EOL
StockOnNoCan
IF NotEqual? CycleStartX# XOpCD#
SeqC FeedNoCan DoXSPC FeedRateNoCan EOL
END
END
RETURN

AppMove:
StockOff DoZCP DoRapidF DoCoolOn
RETURN

Approach: { NOT FOR TAILSTOCK, .82 }
IF ApproachOD?
SeqC DoRapid DoXCP AppMove EOL
ELSE
IF ApproachID?
SeqC DoRapid DoXOpCD AppMove EOL
ELSE {ApproachFace}
SeqC DoRapid StockOnNoCan DoXSP AppMove EOL
END
END
ApproachSP
RETURN

CheckOffset:
DoEndOpPS
IF CoolOff? AND LAST NOT CoolOff?
SeqC DoCoolOff EOL
END
IF NewGear?
SeqC SpinOff EOL
END
IF LAST ProgStop?
SeqC 'M00' EOL
END
DoOpComments
DoPostScript
IF NewToolOffset?
SeqC DoTool EOL
END
IF NewGear?
SeqC GearRange EOL
END
SeqC
IF ConstantSurfaceFeed?
IF LAST ConstantSurfaceFeed?
IF NotEqual? MaxRPM# LAST MaxRPM#
DoPreset MaxRPM
END
ELSE
DoPreset MaxRPM
END
END
EOL
SeqC
IF ConstantSurfaceFeed?
IF LAST ConstantSurfaceFeed?
IF NotEqual? SpeedRPM# LAST SpeedRPM#
Speed
END
ELSE
DoCSSOn Speed
END
ELSE
IF LAST ConstantSurfaceFeed?
DoCSSOff Speed
ELSE
IF NotEqual? SpeedRPM# LAST SpeedRPM#
Speed
END
END
END
IF LAST ProgStop?
SpinOn
ELSE
IF NewGear?
SpinOn
END
END
EOL
IF NewToolOffset?
SeqC DoOffset EOL
END
SeqC
IF LAST ProgStop?
DoCoolOn
ELSE
IF NOT CoolOff? AND LAST CoolOff?
DoCoolOn
END
END
EOL
RETURN

FormatArc:
IF ArcCW?
DoCWArc
ELSE
DoCCWArc
END
DoMoveXC DoMoveZC DoArcIJ
RETURN

ToolPath:
EACHFeat
GetToolTip
IF LastFeat?
IF Drilling?
IF Tap?
SeqC SpinOff EOL
SeqC 'H94' EOL
SeqC 'H04E2.' EOL
SeqC 'H95' InverseSpinOn EOL
ELSE
IF Dwell?
SeqC 'H94' EOL
SeqC 'H04E' Dwell# EOL
SeqC 'H95' EOL
END
END
END
END
IF PointFeat?
SeqC MoveSXYC EOL
ELSE
IF RapidFeat?
SeqC
IF LAST ThreadFeat?
DoRapid
ELSE
DoRapidC
END
DoMoveXC DoMoveZC
IF LAST ThreadFeat?
DoRapidF
ELSE
DoRapidFC
END
EOL
ELSE
IF LineFeat?
SeqC DoFeedC DoMoveXC DoMoveZC DoFeedRateC EOL
ELSE
IF ArcFeat?
EACHQuadrant { Do not use NOT, LAST, FIRST or NEXT modifiers in this loop }
SeqC FormatArc DoFeedRateC EOL
NEXTQuadrant
ELSE
IF ThreadFeat?
SeqC DoThread DoMoveXC DoMoveZC ThrdLead EOL
END
END
END
END
END
NEXTFeat
RETURN

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

{setup and initializations}
InitProg
PosSideLathe
XsAreRadii
NoIJKSigns
SetMaxRPM('150')
SetMaxFeed('120')
SetFlag('1') { Left Ram }
SetFlag('2') { Feed Mode }
SetFlag('3') { Arc Mode }
Save# Num#('1') Num#('0') { current X position }
Save# Num#('2') Num#('0') { current Z position }
Save# Num#('3') Num#('0') { current X tool tip offset }
Save# Num#('4') Num#('0') { current Z tool tip offset }
Save# Num#('5') Num#('0') { current feed rate }
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

{ the following get the tools tip }
{ this is needed to remove this value from ClearancePlane3# }
SetStatusOff
StockOff
Save# Num#('3') SUB# SetTTOff CycleStartX# SetTTOk CycleStartX#
Save# Num#('4') SUB# SetTTOff CycleStartZ# SetTTOk CycleStartZ#
SetStatusOn

IF FirstOperation?
EOR EOL
IF UseComments?
IF ProgramNameComment?
'( ' 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
IF ToolOver?('10')
SetFlag('1')
ReverseXZArcs
ELSE
SetFlagF('1')
StandardXZArcs
END
DoOpComments
DoPostScript
Seq DoAbsOrInc EOL
SeqC DoIPR DoTool Index EOL
SeqC CancelPreset EOL
SeqC GearRange EOL
SeqC DoPreset DoHome MaxRPM EOL
SeqC DoCSSOff
IF ConstantSurfaceFeed?
CalcRPM1
ELSE
Speed
END
SpinOn EOL
SeqC DoOffset EOL
Approach
ELSE
IF NewTool?

{Finish off last Operation}

StockOff {.62}
IF LAST ApproachOD?
SeqC DoRapidC DoXCPC DoRapidFC EOL
SeqC DoZCPC DoCoolOff EOL
ELSE
IF LAST ApproachID?
SeqC DoRapidC DoLastXOpECDC DoRapidFC EOL
SeqC DoZCPC DoCoolOff EOL
ELSE
IF LAST ApproachFace?
SeqC DoRapidC DoZCPC DoRapidFC DoCoolOff EOL
END
END
END
DoEndOpPS
IF LAST ConstantSurfaceFeed?
SeqC DoCSSOff CalcRPM2 EOL
END
SeqC DoOffsetOff
IF NewGear?
SpinOff
END
EOL
SeqC DoNewHome EOL
IF LAST ProgStop?
SeqC 'M00' EOL
ELSE
SeqC ProgStop EOL
END

{Start new Operation}

IF ToolOver?('10')
SetFlag('1')
ReverseXZArcs
ELSE
SetFlagF('1')
StandardXZArcs
END
DoOpComments
DoPostScript
Seq DoAbsOrInc EOL
SeqC DoIPR DoTool Index EOL
SeqC CancelPreset EOL
SeqC GearRange EOL
SeqC DoPreset DoHome MaxRPM EOL
SeqC DoCSSOff
IF ConstantSurfaceFeed?
CalcRPM1
ELSE
Speed
END
SpinOn EOL
SeqC DoOffset EOL
Approach
ELSE
IF SameTool? {.62}

{Start new Operation}

StockOff
IF LAST StraightConnect?
CheckOffset
SeqC DoRapidC StockOnNoCan DoXSPC DoZSPC DoRapidFC EOL
ELSE
IF ApproachOD?
IF LAST ApproachOD?
SeqC DoRapidC DoLastXOpECDC DoRapidFC EOL
ELSE {around}
IF LAST ApproachID?
SeqC DoRapidC DoLastXOpECDC DoRapidFC EOL
SeqC DoZCPC EOL
ELSE
IF LAST ApproachFace?
SeqC DoRapidC DoZCPC DoRapidFC EOL
END
END
SeqC DoXCPC EOL
END
ELSE
IF ApproachID?
IF LAST ApproachID?
SeqC DoRapidC DoLastXOpECDC DoRapidFC EOL
ELSE
IF LAST ApproachOD? {around}
SeqC DoRapidC DoXCPC DoRapidFC EOL
SeqC DoZCPC EOL
ELSE
IF LAST ApproachFace?
SeqC DoRapidC DoZCPC DoRapidFC EOL
END
END
SeqC DoXOpCDC EOL
END
ELSE {ApproachFace}
IF LAST ApproachFace?
SeqC DoRapidC DoLastZOpECPC DoRapidFC EOL
ELSE
IF LAST ApproachOD? {around}
SeqC DoRapidC DoXCPC DoRapidFC EOL
ELSE {LAST ApproachID}
SeqC DoRapidC DoLastXOpECDC DoRapidFC EOL
END
SeqC DoZCPC EOL
END
END
END
CheckOffset
ApproachSP
END
END
END
END {common point for all operations}
IF ConstantSurfaceFeed? AND NOT SameTool?
SeqC DoCSSOn Speed EOL
END
StockOn
SetPass1
ToolPath
IF AutoFinish? { .82.1c }
StockOff
IF Turning?
IF ApproachFace?
SeqC DoRapidC DoZOpECPC DoRapidFC EOL
ELSE
SeqC DoRapidC DoXOpECDC DoRapidFC EOL
END
ApproachSP
StockOff
SeqC DoXSPC DoZSPC EOL
ToolPath
ELSE
IF Roughing? AND NOT RoughSimple?
SetPass2
StockOff
SeqC DoRapidC DoXSPC DoZSPC DoRapidFC EOL
ToolPath
SetPass1
ELSE
IF Threading?
SeqC 'X' MUL# Num#('2') ADD# FinishXRadius# Taper# EOL
SeqC DoThread
IF Taper?
XatFinZ
END
FinZ ThrdLead EOL
SeqC DoRapid DoXSP DoRapidF EOL
SeqC DoZSP EOL
END
END
END
END
IF Drilling? AND Tap?
SeqC SpinOff EOL
SeqC 'H94' EOL
SeqC 'H04E2.' EOL
SeqC SpinOn EOL
END
NextOp {loops back to EachOP until last Operation}

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

{finish last operation}
StockOff
IF ApproachOD?
SeqC DoRapidC DoXCPC DoRapidFC EOL
SeqC DoZCPC DoCoolOff EOL
ELSE
IF ApproachID?
SeqC DoRapidC DoXOpECDC DoRapidFC EOL
SeqC DoZCPC DoCoolOff EOL
ELSE
IF ApproachFace?
SeqC DoRapidC DoZCPC DoRapidFC DoCoolOff EOL
END
END
END
DoEndOpPS
IF ConstantSurfaceFeed?
SeqC DoCSSOff 'S' CalcEPRPM# EOL
END
SeqC DoTool EOL
SeqC DoFirstHome 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:
AB CNC 8400 LP L623 85
AB 9 240 Bullard UW L701 85
AB 7370 Hard [PP] L782 85 2
AB 7360 Hardinge [SP] L822 85
AB 9 240 Bullard [SSI] L811 85
AB 8200 Pneumo [USS] L834 85
AB 7360 Hardinge [IN] L444 85
Fanuc 6TB Gray [TM] L335 85
AB Series 9 240 [AS] L578 85 1
AB 7360 Hardinge L167 85
AB 8600 J&S Grinder L524 85
AB 7365 [HP] L413 85
W&S 2SC AB 7360 [BD4] L705 85 3
AB 7360 [SH] L609 85
AB 7365 J & L L216 85
W & S 1SC AB 7360 L581 85 3

więcej podobnych podstron