Seiki Multi [CD] L825 17


{
MILL=F
LATHE=T
ADV_MILL=F
SUBS=F
ROTARY_MILL=F
MILLTURN_POLAR-SEG=F
MILLTURN_Y-AXIS=F
METRIC=F
}

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

{7/24/90, Added InitProg globally to posts with this remark, DWB}
{9/21/90, Updated: Fanuc 6T MS [+] L016.53 to .71 format, JR}
{10/2/90, Added StockOff globally at FirstOperation, DWB}
{10/8/90, Replace CalcRPM2 globally with CalcEPRPM# at end of prog, DWB}

{4/1/91
Modified: Fanuc 6T MS [+] L016.71.2
For: Gibbs & Associates
Updated to Version 4.0 per Fanuc 10T MS [-] L001.80 Format.
All normal Fanuc Canned Cycles are supported.
DWB}

{08/06/91
Updated: Fanuc 6T MS [+] L016.80
For: Gibbs & Associates
Updated to Version 4.0 per Fanuc 6M M001.82 Format.
Kim Michelman}

{1/12/95
Copied & modified: Fanuc 6T MS [+] L016.82
For: Danotech / Hummel
Control: Seiki Multi
Machine: Hitachi Seiki
Use R format arcs
Go directly to G96 in CSS operations.
Rapid moves inhibit Speed changes in G96 mode!
No Preset Home at beginning of operations, MaxRPM only for CSS operations.
Tnn00 calls tool and geometry offset. They do not use wear offsets.
Customer does not want an Index Position output.
I tested the ToolChangeAtHome boolean with Catalyst 2.14.24C and it seems to be working!
Added GearRange, outputs M41 only.
Madified Drilling.
Added PeckFullOut.
Deleted DrillOff and RLevel.
Misc other format changes.
Updated to .82ż format.
Jim Radcliffe}

{2/20/95
Moved unconditional sequence label at beginning of operation to OpToolID line.
Modified FormatArc to force output ArcRC, deleted the IF ArcIJFormat? argument.
Jim Radcliffe}

{5/8/95
Initial: Seiki Multi L332.82.1
Created: Seiki Multi L332.82.2
ForUser: Danotech / Hummel
Comment: Modified per before and after edits outputs s2bit.txt and wewant.txt
Preset MaxRPM in 1st op only, commented out others.
Changed format of CutDepth in RoughContour to use decimal points
Changed StrtPos to StrtPosC in RoughContour
Jim Radcliffe}

{5/17/95, .83, Updated to .83 format, JR}
{9/10/95, Updated Seiki Multi L332.83.1 to .85 format per Fanuc 10T MS [-] L001.85.01.01, JR}

{2/4/96
Modified: Seiki Multi L332.85
Created: Seiki Multi [IM] Lxxx.85.1
For: Isimac; per Jim Adams
Corrected G70 > G73 finish/rough cycles; added CkLastLineMove and CkLastArcMove subs (called from
LineFeat, ArcFeat, and RapidFeat in toolpath) to output move to X & Z CSP in canned rough cycle.
Changed format of G74 (peck drilling) cycle to their specification.
Fixed G76 (threading) cycle; changed 'D' (1st depth of cut) to decimal format in Form,
changed format of InFeedAngle# to multiply value by 2 (to get included angle).
Added parts catcher support (M63 in, M64 out).
Added blank line between tools.
Changed tool start-up code at FirstOp and NewTool to their specifications.
Changed DoOpComments; they only want Operation and Tool comments.
Also moved comments to output after the first line of a tool, not before.
Added SetGearRange, SetNewGearFlag, and GetGearRange subs to handle high/low spindle logic
(low speed/M40 for roughing ops, high speed/M41 for finish or contouring ops;
low speed is <= 1500 and high speed is >1500. This logic is required in order to work
correctly in SameTool (CheckOffset sub).
Added DoToolData sub to create Tool Data Header.
Added SetCutOffFlag sub to determine if any ops had CutOff selected; if any ops had CutOff
selected then I set Flag 3 true. I then use this flag to output their stock stop subprogram
before first op if CutOff? was true in any op.
Added logic at end of program to output '/M30' and then 'M99' if CutOff? is true on last op;
this allows them to loop the program by turning on 'Block Delete' on their control.
Added IF ApproachID? then flip the XStkLeft polarity in ID rough cycle (G71). The polarity of
the U & W stock values must be reversed when roughing an ID.
Deleted G40/G41/G42 by stripping them in the Format.
Added logic in Canned Rough cycles to break up first move inside the cycle to two moves, a
move with simultaneous X and Z movement is illegal as the first move of a canned rough cycle.
Joe Cusimano}

{5/14/96
Modified: Seiki Multi [IM] Lxxx.85.1
Created: Seiki Multi [TL] L419.85.2
For: Tinsley Labs; per James Verrico
Modified First Op startup code per their specifications.
Changed Tool# from Format 3 to Format 8.
Deleted 'SeqLabC Preset MaxRPM EOL' from IF ConstantSurface Feed? in First Op.
Moved CoolOn to same line as Speed; moved SpinOn to first rapid line.
Changed Approach sub to rapid in Z first and then X (Tailstock type Approach).
Changed NewHome to NewHomeX# for Tailstock type exit; added FORMAT(NewHomeX#,2);
Changed FirstHome at Last Operation to FirstHomeX# for Tailstock exit.
Modified a bunch of other stuff in Last Op to their specs.
Joe Cusimano}

{2/27/97
Modified: Seiki Multi [TL] L419.85.2
Created: Seiki Multi [INS] L568.85
For: Inspirnetics
Added support for all L001 comments.
WS}

{3/1/99
Updated: Seiki Multi [INS] L568.85
Created: Seiki Multi [INS] L568.85.01
For: Gibbs & Associates/Continental Disk
Versions: Virtual 5.04.07/ComPost2 1.7b15
Updated for Catalyst v4.23.13C per Fanuc 10T MS [-] L001.85.02e Format.
DWB}

{3/23/99
Updated & Modified: Seiki Multi [INS] L568.85.01
Created: Seiki Multi [CD] L825.17
For: Continental Disk
Versions: Virtual 5.09.22/ComPost2 1.7b15
Updated for Catalyst v5 per Fanuc 10T MS [-] L001.17 Format.
Changes made per Chris Mick of Continental Disk, phone calls, manuals, 7268011.c1 and 4678701.c1
sample text files.
Moved ProgramNameComment to block by itself at initOp.
Changed SeqLabC to literals three places at initOp.
Changed FirstMoveEPZ# to FirstMoveEPX# at Prog Numeric Format Definitions.
Deleted LAST modifier two places at endOp2.
BUG CORRECTION: Polarity of XStkLeft in PosSideLathe ApproachID CannedCycle Roughing, both
RoughContour and RoughPatternShift. See notes of 2/4/96. This will need to be undone if the bug is
ever fixed. Good work Joe!
DWB}

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

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

FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(InFeedAngle#,2)
FORMAT(FirstMoveEPX#,2)
FORMAT(ToolDiameter#,2)
FORMAT(Tag#,3)
FORMAT(Program#,3)
FORMAT(Operation#,3)
FORMAT(Tool#,3)
FORMAT(CalcEPRPM#,3)
FORMAT(Dwell#,4)
FORMAT(FeedIPR#,5)
FORMAT(RapidF#,6)
FORMAT(Recall#,7)
FORMAT(SUB#,7)
FORMAT(InFeedAngle#,8)

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

tagNext: {outputs the ASCII character that Retag uses}
ASCII('62') {with Tag# to reference the sequence # stored with tagNext}
RETURN

tagNextRef: {outputs the ASCII character that Retag uses}
ASCII('179') {with Tag# to reference the sequence # stored with tagNext}
RETURN

tagPrev: {outputs the ASCII character that Retag uses}
ASCII('60') {with Tag# to store the previous sequence #}
RETURN

tagPrevRef: {outputs the ASCII character that Retag uses}
ASCII('178') {with Tag# to reference the sequence # stored with tagPrev}
RETURN

toolSeqInit: { Tool Sequence Line Numbers }
Save# Num#('21') Num#('-1') { Tool 1 }
Save# Num#('22') Num#('-1') { Tool 2 }
Save# Num#('23') Num#('-1') { Tool 3 }
Save# Num#('24') Num#('-1') { Tool 4 }
Save# Num#('25') Num#('-1') { Tool 5 }
Save# Num#('26') Num#('-1') { Tool 6 }
Save# Num#('27') Num#('-1') { Tool 7 }
Save# Num#('28') Num#('-1') { Tool 8 }
Save# Num#('29') Num#('-1') { Tool 9 }
Save# Num#('30') Num#('-1') { Tool 10 }
RETURN

toolSeq:
IF LTEqual? Tool# Num#('10')
Save# ADD# Tool# Num#('20') ADD# Recall# ADD# Tool# Num#('20') Num#('1')
'N' Tool# Recall# ADD# Tool# Num#('20')
ELSE
SeqLab
END
RETURN

toolSeqP:
IF LTEqual? Tool# Num#('10')
Save# ADD# Tool# Num#('20') ADD# Recall# ADD# Tool# Num#('20') Num#('1')
'P' Tool# Recall# ADD# Tool# Num#('20')
ELSE
TagInc
'P' tagNextRef Tag#
END
RETURN

toolSeqQ:
IF LTEqual? Tool# Num#('10')
Save# ADD# Tool# Num#('20') ADD# Recall# ADD# Tool# Num#('20') Num#('1')
'Q' Tool# Recall# ADD# Tool# Num#('20')
ELSE
'Q' tagPrevRef Tag#
END
RETURN

toolSeqPN:
IF LTEqual? Tool# Num#('10')
'N' Tool# SUB# Recall# ADD# Tool# Num#('20') Num#('1')
ELSE
tagNext Tag# EOL
SeqLab
END
RETURN

toolSeqQN:
IF LTEqual? Tool# Num#('10')
'N' Tool# Recall# ADD# Tool# Num#('20')
ELSE
SeqLab
END
RETURN

toolSeqQN2:
IF GreaterThan? Tool# Num#('10')
tagNext Tag# EOL
END
RETURN

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 NOT Drilling?
'( TOOL ' Tool# ': ' ToolSize$ ' ' ToolType$ ' )' EOL
ELSE
'( TOOL ' Tool# ': ' ToolDiameter# ' DIA. ' ToolType$ ' )' EOL
END
END
IF ToolComment?
'( ' ToolComment$ ' )' EOL
END
restoreScale
END
RETURN

psInit: {reset flags}
OptCyc1F
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

feedNoCan:
IF NOT CannedCycle?
FeedC
END
RETURN

feedRateNoCan:
IF NOT CannedCycle?
FeedRateC
END
RETURN

ckCRC:
IF LastFeat?
CRCOffC
ELSE
IF XMove? OR ZMove?
CRCOnC
END
END
RETURN

tpLastFeat:
IF Drilling?
IF Tap?
SeqLabC SpinOff EOL
SeqLabC 'G4P2000' EOL
SeqLabC Speed InverseSpinOn EOL
ELSE
IF Dwell?
SeqLabC 'G4P' Dwell# EOL
END
END
ELSE
IF CannedCycle?
toolSeqQN
END
END
RETURN

tpPointFeat:
SeqLabC MoveSXYC EOL
RETURN

tpRapidFeat:
IF XMove? OR ZMove?
IF NOT FirstFeat? AND LAST ThreadFeat?
Rapid
ELSE
ckCRC
END
SeqLabC RapidC MoveXC MoveZC EOL
END
RETURN

tpLineFeat:
IF XMove? OR ZMove?
SeqLabC ckCRC FeedC MoveXC MoveZC FeedRateC EOL
END
RETURN

tpArcFeat:
EACHQuadrant { Do not use NOT, LAST, FIRST or NEXT modifiers in this loop }
SeqLabC
IF ArcCW?
CWArcC
ELSE
CCWArcC
END
MoveXC MoveZC
IF ArcIJFormat?
CircleIC CircleKC
ELSE
ArcRC
END
FeedRateC EOL
NEXTQuadrant
RETURN

tpThreadFeat:
SeqLabC 'G32' MoveXC MoveZC ThrdLead EOL
RETURN

toolPath:
EACHFeat
GetToolTip
IF LastFeat?
tpLastFeat
END
IF PointFeat?
tpPointFeat
ELSE
IF RapidFeat?
tpRapidFeat
ELSE
IF LineFeat?
tpLineFeat
ELSE
IF ArcFeat?
tpArcFeat
ELSE
IF ThreadFeat?
tpThreadFeat
END
END
END
END
END
NEXTFeat
RETURN

checkRapid:
CRCOffC
IF LAST Threading?
Rapid
ELSE
IF LAST CannedCycle? AND LAST Roughing?
Rapid
ELSE
RapidC
END
END
RETURN

checkRapid2:
CRCOffC
IF Threading?
Rapid
ELSE
IF CannedCycle? AND Roughing?
Rapid
ELSE
RapidC
END
END
RETURN

roughingCycle:
SetPass2
IF RoughContour?
SeqLabC LCycle toolSeqP toolSeqQ
IF ApproachID?
NegSideLathe
XStkLeft
PosSideLathe
ELSE
XStkLeft
END
ZStkLeft CutDepth FeedRate EOL
IF ApproachFace?
toolSeqPN StepMove ZSP EOL
SeqLabC FeedC XSP EOL
ELSE { ODApproach/IDApproach }
toolSeqPN StepMove XSP EOL
SeqLabC FeedC ZSP EOL
END
ELSE
IF RoughPatternShift?
SeqLabC LCycle toolSeqP toolSeqQ
IF ApproachID?
NegSideLathe
XStkLeft
PosSideLathe
ELSE
XStkLeft
END
ZStkLeft XminusU ZminusW NumCuts FeedRate EOL
IF ApproachFace?
toolSeqPN StepMove ZSP EOL
SeqLabC FeedC XSP EOL
ELSE { ODApproach/IDApproach }
toolSeqPN StepMove XSP EOL
SeqLabC FeedC ZSP EOL
END
END
END
toolPath
toolSeqQN2
IF AutoFinish?
SeqLabC 'G70' toolSeqP toolSeqQ EOL
END
SetPass1
TrackXNO# CycleStartX#
TrackZNO# CycleStartZ#
RETURN

threadCycle:
IF NOT ConstantVolumeCut? AND NOT SingleEdgeCut?
SeqLabC 'G92X' FirstMoveEPX# FinZ XTapAtZ ThrdLead EOL
SimpleRough
SeqLabC XatFinZ EOL
IF AutoFinish?
SeqLabC XatFinZ EOL
END
ELSE
IF Chamfer?
SeqLabC 'M23' EOL
END
SeqLabC LCycle XatFinZ FinZ
IF Taper?
XTapAtZ
END
ThrdHeight CutDepth ThrdLead 'A' InFeedAngle# EOL
IF Chamfer?
SeqLabC 'M24' EOL
END
IF AutoFinish?
SeqLabC 'G92' XatFinZ FinZ XTapAtZ ThrdLead EOL
END
END
RETURN

drillingCycles:
IF Tap?
SeqLabC LCycle ZDepth 'E' FeedIPR# EOL
SeqLabC SpinOff EOL
SeqLabC 'G4P2000' EOL
SeqLabC Speed InverseSpinOn EOL
SeqLabC ZSP EOL
ELSE
IF Peck?
SeqLabC LCycle ZDepth Dwell Peck Retract
IF PeckFullRetract?
'R1'
END
FeedRate EOL
IF AutoFinish?
SeqLabC Feed ZDepth EOL
IF Dwell?
SeqLabC 'G4P' Dwell# EOL
END
SeqLabC Rapid ZSP EOL
END
END
END
RETURN

latheOp:
IF CannedCycle?
StockOff
IF Roughing?
roughingCycle
ELSE
IF Threading?
threadCycle
ELSE
IF Drilling?
drillingCycles
END
END
END
ELSE
StockOn
SetPass1
toolPath
END
IF Drilling? AND Tap?
SeqLabC SpinOff EOL
SeqLabC 'G4P2000' EOL
SeqLabC Speed SpinOn EOL
END
RETURN

progStart:
InitProg
SetAbs
PosSideLathe
StandardXZArcs
SetMaxRPM('5000')
IF Metric?
SetMaxFeed('12700')
ELSE
SetMaxFeed('500')
END
toolSeqInit
IF PSComment? AND UseComments?
'Utility Data:' EOL
' At Op Start: All literals and commands will appear at the beginning of the operation.' EOL
' At Op End: All literals and commands will appear at the end of the operation.' 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
END
RETURN

initOp:
EOR EOL
ProgID1 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 ABSOLUTE INCHES )' EOL
END
END
OpenSub
restoreScale
'N01G28U0' EOL
'N02G28W0M41' EOL { High Gear }
'N03M01' EOL
' ' EOL
'N04M98P1234 ( BARSTOP )' EOL
RETURN

getGearRange:
IF Roughing? OR Drilling?
'M40' { Low Gear }
ELSE
'M41' { High Gear }
END
RETURN

checkGearRange: { SameTool NewGear }
IF NotEqual? SpeedRPM# LAST SpeedRPM#
IF Roughing? OR Drilling?
IF LAST NOT Roughing? AND LAST NOT Drilling?
getGearRange
END
ELSE
IF NOT Roughing? AND NOT Drilling?
IF LAST Roughing? OR LAST Drilling?
getGearRange
END
END
END
END
RETURN

firstOp1:
' ' EOL
StockOff
SetHome
toolSeq
IF EmptyLine?
' '
END
EOL
doOpComments
doPostScript
Plane2
SeqLabC 'G30U0W0' getGearRange EOL
SeqLabC OpToolID '00' EOL
SeqLabC 'G30U0W0' EOL
IF ConstantSurfaceFeed?
SeqLabC Preset MaxRPM EOL
'G99' CSSOn 'G96'
ELSE
'G99' CSSOff 'G97'
END
SeqLabC Speed SpinOn EOL
RETURN

partsCatcherAdvance:
IF CutOff?
SeqLabC 'G04P1.M63' EOL
END
RETURN

partsCatcherRetract:
IF CutOff?
SeqLabC 'G04P.5M64' EOL
END
RETURN

turnApproach:
partsCatcherAdvance
Rapid RapidF# { RapidF# Forces FeedRate }
IF ApproachOD?
ThisOpEntryXCP
ELSE
IF ApproachID?
XOpCD
ELSE {ApproachFace}
stockOnNoCan XSP StockOff
END
END
SeqLabC ThisOpEntryZCP CoolOn EOL
RETURN

turnApproachSP:
IF SameTool?
partsCatcherAdvance
END
IF ApproachFace?
SeqLabC stockOnNoCan XSPC EOL
SeqLabC StockOff ZOpCPC EOL
stockOnNoCan
IF NotEqual? CycleStartZ# ZOpCP#
SeqLabC feedNoCan ZSPC feedRateNoCan EOL
END
ELSE { OD/ID Approach }
SeqLabC stockOnNoCan ZSPC EOL
SeqLabC StockOff XOpCDC EOL
stockOnNoCan
IF NotEqual? CycleStartX# XOpCD#
SeqLabC feedNoCan XSPC feedRateNoCan EOL
END
END
RETURN

newToolOp1: {Finish off last Operation}
StockOff
checkRapid
IF LAST ApproachOD?
SeqLabC LAST OpExitXCPC EOL
ELSE
IF LAST ApproachID?
SeqLabC LAST XOpECDC EOL
END
END
SeqLabC LAST OpExitZCPC CoolOff EOL
RETURN

newToolOp2:
doEndOpPS
IF LAST ConstantSurfaceFeed?
CSSOff 'G97'
END
SeqLabC 'G30U0' EOL
SeqLabC 'G30W0' EOL
IF LAST ProgStop?
SeqLabC 'M00' EOL
ELSE
SeqLabC ProgStop EOL
END
RETURN

newToolOp3: {Start new Operation}
' ' EOL
toolSeq
IF EmptyLine?
' '
END
EOL
doOpComments
doPostScript
SeqLabC 'G30U0W0' getGearRange EOL
SeqLabC OpToolID '00' EOL
SeqLabC 'G30U0W0' EOL
IF ConstantSurfaceFeed?
SeqLabC Preset MaxRPM EOL
'G99' CSSOn 'G96'
ELSE
'G99' CSSOff 'G97'
END
SeqLabC Speed SpinOn EOL
RETURN

sameToolOp1:
StockOff
doOpComments
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
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
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
END
END
RETURN

sameToolOp2:
doEndOpPS
IF LAST ProgStop?
SeqLabC 'M0' EOL
ELSE
IF CoolOff? AND LAST NOT CoolOff?
SeqLabC CoolOff EOL
END
END
IF NewToolOffset?
SeqLabC OpToolID LatheOffset EOL
END
SeqLabC checkGearRange EOL { NewGear }
IF ConstantSurfaceFeed?
CSSOn
IF LAST ConstantSurfaceFeed?
IF NotEqual? MaxRPM# LAST MaxRPM#
SeqLabC Preset MaxRPM EOL
END
IF LAST ProgStop?
'G96' Speed
ELSE
IF NotEqual? SpeedRPM# LAST SpeedRPM#
'G96' Speed
END
END
ELSE
SeqLabC Preset MaxRPM EOL
'G96' Speed
END
ELSE
CSSOff
IF LAST ConstantSurfaceFeed?
'G97' Speed
ELSE
IF LAST ProgStop?
'G97' Speed
ELSE
IF NotEqual? SpeedRPM# LAST SpeedRPM#
'G97' Speed
END
END
END
END
IF LAST ProgStop?
SeqLabC {SpeedC} SpinOn EOL
SeqLabC CoolOn EOL
ELSE
SeqLabC {SpeedC} EOL
IF NOT CoolOff? AND LAST CoolOff?
SeqLabC CoolOn EOL
END
END
doPostScript
RETURN

endOp1: {finish last operation}
StockOff
checkRapid2
IF ApproachOD?
SeqLabC OpExitXCPC EOL
ELSE
IF ApproachID?
SeqLabC XOpECDC EOL
END
END
SeqLabC OpExitZCPC CoolOff EOL
RETURN

endOp2:
doEndOpPS
IF ConstantSurfaceFeed?
CSSOff 'G97'
END
SeqLabC 'G30U0' EOL
SeqLabC 'G30W0' EOL
partsCatcherRetract
IF ProgStop?
SeqLabC 'M00' EOL
ELSE
SeqLabC ProgStop EOL
END
RETURN

endOp3:
' ' EOL
SeqLabC 'G28U0M41' EOL { High Gear }
SeqLabC 'G28W0' EOL
IF CutOff?
SetLineStrtChr('/')
SeqLabC 'M99' EOL
SetLineStrtChr('')
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
RETURN

{Start of executable Prog, Top Level ******************************}

progStart
EachOp
GetLCycle
IF FirstOperation?
initOp
firstOp1
turnApproach
turnApproachSP
ELSE
IF NewTool?
newToolOp1
newToolOp2
newToolOp3
turnApproach
turnApproachSP
ELSE
sameToolOp1
sameToolOp2
turnApproachSP
END
END
latheOp
NextOp
endOp1
endOp2
endOp3


Wyszukiwarka

Podobne podstrony:
Seiki Multi [INS] L568 85 1
Seiki Multi [IM] L435 85 1m
Seiki Multi [IM] L435 85 1
Seiki Multi HS [UMW] L628 85 1
multi disk howto 17 lw4w6iml2ysxy7raafwkxsealsuvaq24k6vgx7a
Cd wykł 17 12 10
Seiki Multi L332 85
Seiki Multi [TL] L419 85 2
Seiki Multi [PM] L643 85
Seiki Multi L HS [GR] L529 85 1
4 Termometr cyfrowy – dioda półprzewodnikowa ocieplanie 5k cd śr 17 045
Hicell 20 [CD] YSML835 17 3
Hicell 20 [CD] YSML835 17 3
F 17 Częstotliwości graniczne cd
wykłady cd pokarmowy 11 17

więcej podobnych podstron