Heid TNC 151 155 [BS] M891 81 4


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

{.68m, created metric version and .68 support, 12/14/89, Stefan VŠlimaa}
{.69m, new repeat offset shift commands, wfg}
{.70m, added missing END in ToolPath, wfg--TABLE resources are missing}

{7/24/90, Added InitProg globally to posts with this remark, DWB}
{7/24/90, Replaced all occurances of SetSRXYZero with SetSRXYtoSP, DWB}
{9/19/90, Updated to .71 with changes done for customer not reported to
GIBBS, sorry Stefan VŠlimaa}

{9/28/90 Comparison report from Stefan's version and our's:
Modified FORMAT(OriginUnShiftPX#('0'),2).
Added FORMAT(SpeedRPM#,3).
Modified SetScale('24.5') to SetScale('25.4').
Modified all occurances of 'F2500' to 'F9999'.
Modified the literal M08 with the IF CoolantOff? postscript boolean in AutoCycCutSub2.
Modified the literal M09 with the IF CoolantOff? postscript boolean in FinishSub1, ZonlyRepAutoCycle and ZonlyRep.
Added IF ToolChangeAtHome? boolean and SetHome command to FirstOperation.
Modified BLK FORM MIN to BLK FORM 0.1 in FirstOperation.
Combined the StockMin# commands on one line.
Modified BLK FORM MAX to BLK FORM 0.2 in FirstOperation.
Combined the StockMax# commands on one line.
Deleted ' LBL 1' from FirstOperation
Deleted ' TOOL CALL 0 Z S 0.000' from FirstOperation.
Deleted ' L Z' ClearancePlane1# ' R0 F9999 M' from FirstOperation
Deleted ' L X' HomeX# ' Y' HomeY# ' R0 F9999 M06' from FirstOperation
Deleted ' LBL 0' from FirstOperation
Modified TABLE(1800,SpeedRPM#,1) to TABLE(4001,SpeedRPM#,1) in FirstOperation and NewTool.
Modified ' CALL LBL 1 REP' to ' L Z' ClearancePlane1# ' R0 F9999' SpinOff in NewTool.
Added IF ToolChangeAtHome? boolean at end of prog.
Moved Post to before literal END PGM at end of prog.
DWB}

{10/2/90
Copied & modified: Heidenhain TNC 155 M281.70m Swedish version
For: Gibbs & Associates
Machine:
Control: Heidenhain TNC 155
Deleted argument from FORMAT(OriginUnShiftPX#('0'),2).
Modified SetSRXYZero to SetSRXYtoSP in AutoCycCutSub1.
Added InitProg at beginning of executable prog.
Made massive changes to cleanup logic and readability.
Changed from metric to English.
Deleted BLK FORM MIN to BLK FORM 0.1 StockMin# commands in FirstOperation.
Deleted BLK FORM MIN to BLK FORM 0.2 StockMax# commands in FirstOperation.
Changed all Swedish words to English words.
Updated to Version 3.2 per Fanuc 6M M001.76.1 Format.
DWB}

{10/8/90
Copied & modified: Heid TNC 151/155 BP M344.76.1
For: Wright Engineering
Machine: Bridgeport
Control: Heidenhain TNC 151
Added ArcI#, ArcJ# and SPZ# to FORMAT list.
Added SPZ# to EntryMove for AutoCycle entries.
Added IF Metric ' MM' ELSE ' INCH' END at FirstOperation and at end of prog.
DWB}

{10/8/90
Copied & modified: Heid TNC 151/155 BP M344.76.2
Modified FORMAT to output 4 place decimals in prog and form.
Scaled TLDia# to .5 to output as a radius value in EachTool/NextTool loop in FirstOperation.
Replaced all 'F9999' with 'F1800' for 'XY' rapid moves and 'F1500' for 'Z' rapid moves.
Deleted CheckCoolOn and CheckCoolOff subs and calls to same. No M8/M9 for this control.
Set ArcsStopOnQuads to TRUE in form.
DWB}

{9/29/93
Modified: Heid TNC 151/155 BP M344.76.3
For: Gibbs & Associates
Updated to .81.2 format per Fanuc 6M M001.81.2
Jim Radcliffe}

{12/3/93
Modified: Heid TNC 151/155 BP M344.81.2
To: Heid TNC 151/155 BP M344.81.3
Fixed the RestoreScale function to work with both english and metric parts. Also removed
unneeded setscale commands and replaced them with math ( number ) commands.
[cwh]}

{
Format: Heid TNC 151/155 [BS] Mxxx.81.4
11/13/95
Changed M03 to M13
Changed M05 to M15
Removed retrace to Exit CP at end of drill op
Removed tool call at end of output
Inverted Peck#
Inverted CP2 for retract in peck drill ops only.
TH}

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

#1 = '#.00'
#2 = '###.###;0.'
#3 = '*###.###;0.'
#4 = 'Ä…####0.0000'
#5 = '#######0'
#6 = '####0.000'
#7 = '###0'
#8 = '*Ä…####0.0000'

FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(HomeX#,4)
FORMAT(HomeY#,4)
FORMAT(StartPosX#,4)
FORMAT(StartPosY#,4)
FORMAT(SPZ#,4)
FORMAT(EPX#,4)
FORMAT(EPY#,4)
FORMAT(EPZ#,4)
FORMAT(ArcI#,4)
FORMAT(ArcJ#,4)
FORMAT(ZDepth#,4)
FORMAT(ClearancePlane1#,4)
FORMAT(ClearancePlane2#,4)
FORMAT(RepeatX#,4)
FORMAT(RepeatY#,4)
FORMAT(RepeatZ#,4)
FORMAT(PartShiftX#,4)
FORMAT(PartShiftY#,4)
FORMAT(PartShiftZ#,4)
FORMAT(OriginUnShiftPX#,4)
FORMAT(OriginUnShiftPY#,4)
FORMAT(OriginUnShiftPZ#,4)
FORMAT(OriginUnShiftRX#,4)
FORMAT(OriginUnShiftRY#,4)
FORMAT(OriginUnShiftRZ#,4)
FORMAT(TLDia#,4)
FORMAT(DIV#,4)
FORMAT(TLLength#,4)
FORMAT(ToolDiameter#,4) {.72}
FORMAT(Program#,5) {.72}
FORMAT(Program2#,5) {.72}
FORMAT(Operation#,5) {.72}
FORMAT(Tool#,5) {.72}
FORMAT(Parts#,5) {.72}
FORMAT(Dwell#,6) {.72}
FORMAT(SpeedRPM#,7)
FORMAT(FeedEntry#,7)
FORMAT(Peck#,8)

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

RestoreScale:
IF Metric? {CAM file is in Metric, tools and tool path}
SetScale('.03937007874') { change to English, this is an English post}
ELSE
SetScale('1')
END
RETURN

DoSubComment:
IF UseComments? AND SubComment?
'( SUB NUMBER: ' Program# ' )' 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# ': ' ToolDiameter# ' ' ToolType$ ' )' EOL
END
IF ToolComment?
'( ' ToolComment$ ' )' EOL
END
RestoreScale
END
RETURN

PSInit: {reset flags}
NewWFOF
RotateF
RETURN

PSStuff: {revised.72}
IF FourthCW?
FORMAT(FourthDegree#,2)
SeqLab 'A' FourthDegree# EOL
FourthCWF {reset flag}
END
IF FourthCCW?
FORMAT(FourthDegree#,3)
SeqLab 'A' FourthDegree# EOL
FourthCCWF {reset flag}
END
IF FifthCW?
FORMAT(FifthDegree#,2)
SeqLab 'B' FifthDegree# EOL
FifthCWF {reset flag}
END
IF FifthCCW?
FORMAT(FifthDegree#,3)
SeqLab 'B' FifthDegree# EOL
FifthCCWF {reset flag}
END
RETURN

DoPostScript:
PSInit
EachPS
SeqLab PostScript EOL {literals}
PSStuff {commands}
NextPS
RETURN

DoEndOpPS:
PSInit
EachEOPS
SeqLab EndOpPS EOL {literals}
PSStuff {commands}
NextPS
RETURN

EntryMove:
Feed {no output}
SeqLab ' L '
IF AutoCycle? {implies incremental}
' IZ' SPZ#
ELSE
ZIn
END
' R0'
IF FeedEntry?
FeedEnt
ELSE
' F1500'
END
' M' EOL
RETURN

StartSub:
OpenSub
DoSubComment
SeqLab ' LBL ' Program# EOL
RETURN

SubWarning:
IF NOT FeedConnect?
IF AnyZshift?
' ' EOL
'( WARNING Z CLEARANCE WILL CHANGE WITH EACH CYCLE OF SUB REPEAT )' EOL
' ' EOL
END
END
RETURN

StdSub:
SeqLab ' CALL LBL ' Program# ' REP ' Repeats# ' / ' Repeats# EOL
StartSub
RETURN

FinishSub1: {part 1}
IF NOT FeedConnect?
IF AutoCycle?
SeqLab ' L ' Feed ZCP3 ' R0 F1500 M' EOL
ELSE
IF FIFO? {.81}
SeqLab ' L ' Feed ZCP3 ' R0 ' FeedEntC ' M' EOL
ELSE
SeqLab ' L ' Feed ZCP3 ' R0 F1500 M' EOL
END
END
END
RETURN

FinishSubG92: {part 2}
SeqLab ' CYCL DEF 7.0 DATUM SHIFT' EOL
SeqLab ' CYCL DEF 7.1 IX' RepeatX# EOL
SeqLab ' CYCL DEF 7.2 IY' RepeatY# EOL
SeqLab ' CYCL DEF 7.3 IZ' RepeatZ# EOL
SeqLab ' LBL 0' EOL
CloseSub
SeqLab ' CYCL DEF 7.0 DATUM SHIFT' EOL
SeqLab ' CYCL DEF 7.1 IX' OriginUnShiftRX#('0') EOL
SeqLab ' CYCL DEF 7.2 IY' OriginUnShiftRY#('0') EOL
SeqLab ' CYCL DEF 7.3 IZ' OriginUnShiftRZ#('0') EOL
RETURN

OpenMP:
NewProg
IF WorkFixtureOffsets?
'( NOTE: This post processor does not support work fixture offsets!!! )' EOL
ELSE
SeqLab ' CALL LBL ' Program# ' REP ' Parts# ' / ' Parts# EOL
StartSub
END
RETURN

CloseMP:
IF NOT WorkFixtureOffsets?
SeqLab ' CYCL DEF 7.0 DATUM SHIFT' EOL
SeqLab ' CYCL DEF 7.1 IX' PartShiftX# EOL
SeqLab ' CYCL DEF 7.2 IY' PartShiftY# EOL
SeqLab ' CYCL DEF 7.3 IZ' PartShiftZ# EOL
SeqLab ' LBL 0' EOL
CloseSub
SeqLab ' CYCL DEF 7.0 DATUM SHIFT' EOL
SeqLab ' CYCL DEF 7.1 IX' OriginUnShiftPX#('0') EOL
SeqLab ' CYCL DEF 7.2 IY' OriginUnShiftPY#('0') EOL
SeqLab ' CYCL DEF 7.3 IZ' OriginUnShiftPZ#('0') EOL
END
RETURN

CRC:
' '
IF CutterRadiusCompensation?
IF CRCleft?
'RL'
ELSE
'RR'
END
ELSE
'R0'
END
RETURN

CheckMove:
IF AutoCycle? {implies incremental}
IF ArcFeat?
' IX' EPX# ' IY' EPY#
ELSE
IF XMove?
' IX' EPX#
END
IF YMove?
' IY' EPY#
END
END
IF ZMove?
' IZ' EPZ#
END
ELSE
IF RapidFeat?
MoveXYZC
ELSE
MoveX MoveY MoveZC
END
END
' '
IF NOT ArcFeat?
' '
END
RETURN

FormatArc:
IF AutoCycle? {implies incremental}
SeqLab ' CC IX' ArcI# ' IY' ArcJ# EOL
ELSE
SeqLab ' CC ' ArcIJ EOL
END
SeqLab ' C ' CheckMove
IF ArcCW?
'DR-'
ELSE
'DR+'
END
CRC
RETURN

StdLine:
IF Decelerate?
IF RoomToDecel?
DecelMove1
SeqLab ' L ' CheckMove CRC FeedRate ' M' EOL
DecelMove2
END
SeqLab ' L ' CheckMove CRC DecelFeed ' M' EOL
ELSE
IF XMove? OR YMove? OR ZMove?
SeqLab ' L ' CheckMove CRC FeedRate ' M' EOL
END
END
RETURN

ToolPath:
EACHFeat
IF PointFeat?
Rapid {no output}
IF AutoCycle?
IF NOT FirstFeat?
SeqLab ' L ' MoveSXYC ' R0 F1800 M' EOL
END
SeqLab ' CALL LBL ' Program# ' REP' EOL
CalcACSRXY {calc tool position after sub call, CalcAutoCycleStatusRecordXY}
ELSE
IF FirstFeat?
SeqLab ' CYCL CALL M' EOL
ELSE
SeqLab ' L ' MoveSXYC ' R0 F1800 M99' EOL
END
END
ELSE
IF RapidFeat?
Rapid {no output}
IF LastFeat? AND AutoCycle? {.70}
SeqLab ' L ' CheckMove 'R0 F1800 M' EOL
ELSE
IF XMove? OR YMove? OR ZMove?
SeqLab ' L ' CheckMove CRC ' F1800 M' EOL
END
END
ELSE
IF LineFeat?
Feed {no output}
IF AutoCycle? {.70}
IF LastFeat?
SeqLab ' L ' CheckMove 'R0' FeedRate ' M' EOL
ELSE
IF ZMove? {skip CRCOn until first non-Z move line, skipping ramps}
SeqLab ' L ' CheckMove 'R0' FeedRate ' M' EOL
ELSE
StdLine {enables CRC on first call}
END
END
ELSE
StdLine
END
ELSE
IF ArcFeat?
EACHQuadrant
IF LastQuadrant? AND Decelerate?
IF RoomToDecel?
DecelMove1
SeqLab FormatArc ArcFeed ' M' EOL
DecelMove2
END
SeqLab FormatArc DecelFeed ' M' EOL
ELSE
SeqLab FormatArc ArcFeed ' M' EOL
END
NEXTQuadrant
END
END
END
END
NEXTFeat
RETURN

AutoCycCutSub1: {part 1}
SaveSubStatus {save tool position}
SetPass1 {element cut moves}
StartSub
SetSRXYtoSP
IncValue {no output}
RETURN

AutoCycCutSub2: {part 2}
ToolPath
AbsOrInc {no output}
IF Repeats? AND FeedConnect? AND ZshiftOnly?
ELSE
IF FIFO? {.81}
Feed
SeqLab ' L Z' ClearancePlane2# ' R0 ' FeedEntC ' M' EOL
ELSE
Rapid {no output}
SeqLab ' L Z' ClearancePlane2# ' R0 F1500 M' EOL
END
END
SeqLab ' LBL 0' EOL
CloseSub
SetSRSubXY {restore SR to 1st position value}
SetSRSubMove
RETURN

AutoCycPat:
SetPass2 {position pattern}
ToolPath {call after NewProg for correct sub calls}
SetPass1 {reset}
RETURN

Milling:
IF AutoCycle?
NewProg
AutoCycCutSub1
EntryMove
AutoCycCutSub2
AutoCycPat
ELSE
EntryMove
ToolPath
END
RETURN

G92Sub:
SubWarning
StdSub
AbsOrInc {no output}
SeqLab ' L ' StrtPos ' R0'
IF FeedConnect?
' F1800'
ELSE
FeedRate
END
' M' EOL
Milling
FinishSub1
FinishSubG92
RETURN

ZonlyRepAutoCycle:
AutoCycPat {write pattern moves and main calls}
StartSub
NewProg
EachCycle
IF FeedConnect?
Feed {no output}
SeqLab ' L ' ZInPlusInc ' R0 ' FeedEnt EOL
ELSE {we have an entry/exit connect}
IF FeedEntry?
IF NOT FirstCycle?
Rapid {no output}
SeqLab ' L ' ZCP2PlusIncC ' R0 F1500 M' EOL {.69 added Rapid, reads better}
{can't call for cycle = 1, .69 changed to ZCP2PlusInc}
END
Feed {no output}
SeqLab ' L ' ZInPlusInc ' R0 ' FeedEnt ' M' EOL
ELSE
Rapid {no output}
SeqLab ' L ' ZInPlusInc ' R0 F1500 M' EOL {.69 added Rapid, reads better}
END
END
IF FirstCycle?
SetStatusOff {protect Z position for incremental sub}
END
SeqLab ' CALL LBL 'Program# ' REP' EOL
NextCycle
SetStatusOn
AutoCycCutSub1 {build element sub}
AutoCycCutSub2
{.69, removed FinishSub1}
IF FeedConnect? {there is no Z up in the sub, .69}
IF FIFO? {.81}
Feed
SeqLab ' L ' ZCP2 ' R0 ' FeedEntC ' M' EOL
ELSE
Rapid {no output}
SeqLab ' L ' ZCP2 ' R0 F1500 M' EOL {.69}
END
END {.69}
SeqLab ' LBL 0' EOL
CloseSub
{Element shift, not pattern}
RETURN

ZonlyRep:
EachCycle
IF NOT FirstCycle?
SeqLab ' L ' StrtPos ' R0'
IF Rapid?
' F1800'
ELSE
FeedRate
END
' M' EOL
END
IF FeedConnect?
FeedC {no output}
SeqLab ' L ' ZInPlusInc ' R0 ' FeedEnt EOL
ELSE {we have an entry/exit connect}
IF FeedEntry?
IF NOT FirstCycle?
RapidC {no output}
SeqLab ' L ' ZCP2PlusIncC ' R0 F1500 M' EOL
END
Feed {no output}
SeqLab ' L ' ZInPlusInc ' R0 ' FeedEnt ' M' EOL
ELSE
RapidC {no output}
SeqLab ' L ' ZInPlusInc ' R0 F1500 M' EOL
END
END
SeqLab ' CALL LBL 'Program# ' REP' EOL
NextCycle
StartSub
SkipZ
ToolPath
UnSkipZ
FinishSub1
SeqLab ' LBL 0' EOL
CloseSub
RETURN

CheckPass:
IF AutoCycle? {use the correct StrtPos}
SetPass2
ELSE
SetPass1
END
RETURN

GetStartOfSameTool:
DoOpComments
DoPostScript
CheckPass
RETURN

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

{setup and initializations}
InitProg
ReverseXZArcs
SetFlood
UseSeparateSubCalls
SetMaxSeparateSubCalls ('50')
SetMaxRPM('10000')
SetMaxFeed('1800')
SaveProgNum2
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: may be capital and/or lower case letters. Separate commands with a space.' 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
' NewWFO(56), NWFO(56) -' EOL
' The Work Fixture Offset # you specify will be used for all following operations.' EOL
' Do not use with the ncPost multiple part option.' EOL
' 4thAxisCW(12.5), 4ACW(12.5) -' EOL
' generates a + A move of the value you specify' EOL
' 4thAxisCCW(22.5), 4ACCW(22.5) -' EOL
' generates a - A move of the value you specify' EOL
' 5thAxisCW(30), 5ACW(30) -' EOL
' generates a + B move of the value you specify' EOL
' 5thAxisCCW(22.5), 5ACCW(22.5) -' EOL
' generates a - B move of the value you specify' EOL
END
EachOp {Start of post processing *********************}
IF FirstOperation?
SeqLab ' BEGIN PGM ' Program# ' INCH' EOL
IF ToolChangeAtHome?
SetHome
END
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 ABSOLUTE INCHES )' EOL
END
IF PartsComment?
'( PARTS PROGRAMMED: ' Parts# ' )' EOL
END
IF StartToolComment?
'( FIRST TOOL NOT IN SPINDLE )' EOL
END
END
EachTool
SeqLab ' TOOL DEF ' TLNum# ' L' TLLength# ' R'
DIV# TLDia# NUM#('2')
EOL
NextTool
RestoreScale
OpenSub
IF MultipleParts? AND AllToolsOnePart?
OpenMP
END
Plane {no output}
DoOpComments
DoPostScript
SeqLab ' TOOL CALL ' Tool# ' Z ' TABLE(4001,SpeedRPM#,1) EOL
IF MultipleParts? AND OneToolAllParts? AND FullUp?
OpenMP
END
CheckPass
AbsValue Rapid {no output}
SeqLab ' L X' StartPosX# ' Y' StartPosY# ' R0 F1800' SpinOn EOL
IF MultipleParts? AND OneToolAllParts? AND FullUp?
OpenMP
SeqLab ' L X' StartPosX# ' Y' StartPosY# ' R0 F1800 M' EOL
END
ELSE
IF NewTool?

{Finish off last Operation}

IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
CloseMP
END
SeqLab ' L Z' ClearancePlane1# ' R0 F1500' SpinOff EOL
IF MultipleParts? AND OneToolAllParts? AND FullUp?
CloseMP
END
DoEndOpPS

IF LAST ProgStop?
SeqLab ' STOP M02' EOL
ELSE
SeqLab ProgStop EOL
END

{Start new Operation}

Plane {no output}
DoOpComments
DoPostScript
SeqLab ' TOOL CALL ' Tool# ' Z ' TABLE(4001,SpeedRPM#,1) EOL
IF MultipleParts? AND OneToolAllParts? AND FullUp?
OpenMP
END
CheckPass
AbsValue Rapid {no output}
SeqLab ' L X' StartPosX# ' Y' StartPosY# ' R0 F1800' SpinOn EOL
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
OpenMP
SeqLab ' L X' StartPosX# ' Y' StartPosY# ' R0 F1800 M' EOL
END
ELSE
IF SameTool?
DoEndOpPS
IF LAST ProgStop?
SeqLab ' STOP M02' EOL
END

{Start new Operation}

GetStartOfSameTool
PlaneC AbsValue Rapid {no output}
SeqLab ' L X' StartPosX# ' Y' StartPosY# ' R0 F1800 M' EOL
END
END
END {common point for all operations}
IF Milling?
SeqLab ' L Z' ClearancePlane2# ' R0 F1500' EOL
IF Repeats?
NewProg
IF ZshiftOnly?
IF AutoCycle? {incremental Autocycle sub can have Z moves}
ZonlyRepAutoCycle
ELSE {Z shift only, NOT Auto Cycle}
IF UseSeparateSubCalls? AND CyclesLessThanMaxSubCalls?
FindAnyZMoves {for normal abs subroutine}
IF NoZMoves?
ZonlyRep
ELSE
G92Sub {pattern shift, not element}
END
ELSE {no sep subs desired}
G92Sub
END
END {end Auto Cycle IF}
ELSE {not Z only}
G92Sub
END {end Z only IF}
ELSE {no repeat OPs}
Milling
END
IF AutoCycle?
SeqLab ' L ' Feed ZCP3 ' R0 F1500 M' EOL
ELSE
IF FIFO? {.81}
SeqLab ' L ' Feed ZCP3 ' R0 ' FeedEntC ' M' EOL
ELSE
SeqLab ' L ' Feed ZCP3 ' R0 F1500' EOL
END
END
ELSE
IF Drilling?
IF Repeats?
NewProg
StdSub
AbsValue Rapid {no output}
SeqLab ' L ' StrtPos ' R0 F1800 M' EOL
END
SeqLab ' ' DrillCP ' R0 F1500' EOL
GetCycle
IF Tap?
SeqLab ' CYCL DEF 2.0 TAPPING' EOL
SeqLab ' CYCL DEF 2.1 SET-UP ' ClearancePlane2# EOL
SeqLab ' CYCL DEF 2.2 DEPTH ' ZDepth# EOL
SeqLab ' CYCL DEF 2.3 DWELL 0' EOL
SeqLab ' CYCL DEF 2.4 F' FeedEntry# EOL
ELSE
SeqLab ' CYCL DEF 1.0 PECKING' EOL
FORMAT(ClearancePlane2#,8)
SeqLab ' CYCL DEF 1.1 SET-UP ' ClearancePlane2# EOL
FORMAT(ClearancePlane2#,4)
SeqLab ' CYCL DEF 1.2 DEPTH ' ZDepth# EOL
SeqLab ' CYCL DEF 1.3 PECKG '
IF Peck?
Peck#
ELSE
IncValue ZDepth# AbsOrInc
END
EOL
SeqLab ' CYCL DEF 1.4 DWELL '
IF Dwell?
Dwell#
ELSE
'0'
END
EOL
SeqLab ' CYCL DEF 1.5 F' FeedEntry# EOL
END
ToolPath
IF Repeats?
FinishSubG92
END
Rapid {no output}
{ SeqLab ' L ' ZCP3 ' R0 F1500' EOL}
END
END
NextOp {loops back to EachOP until last Operation}

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

{finish last operation}
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
CloseMP
END
IF MultipleParts? AND OneToolAllParts? AND FullUp?
CloseMP
END
DoEndOpPS
AbsValue Rapid {no output}
SeqLab ' L '
IF ToolChangeAtHome?
' X' HomeX# ' Y' HomeY#
ELSE
' '
END
' R0 F1800' SpinOff EOL
IF ProgStop?
SeqLab ' STOP M02' EOL
END
IF MultipleParts? AND AllToolsOnePart?
CloseMP
END
SeqLab ' STOP M02' EOL
Post
SeqLab ' END PGM ' Program2# ' INCH' 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:
Heid TNC 151 155 BP M344 81 3
Heid TNC 151 BP S1 [MM] M853 81
Heid TNC 151 [FMI] M815 81
Heid TNC 151 BP M139 15
Heid TNC 151 BP M139 15 1m
Heid TNC 151 BP D139 15 1m
Heid TNC 151A BP S1 M508 81
Heid TNC 155 [FMI] M816 81 2
Heid TNC 155 [P&A] M694 81 10m
Heid TNC 155 [ESS] M980 15
Heid TNC 155 [EMC] M612 89m
Heid TNC 155 [PB] M550 89 1m
Heid TNC 155 [Mikron] MV92 89m
Heid TNC 155 Hkrt Z M614 89m
Heid TNC 155 Lagun TC MT19 89m
Heid TNC 155 [JP] MX68 89 4m
Heid TNC 155 Mikron TC MT20 89m

więcej podobnych podstron