{
MILL=F
LATHE=T
SIMPLE_ROT_POS=F
ROTARY_MILL=F
ADV_MILL=F
SUBS=F
MILLTURN_Y-AXIS=F
METRIC=F
}
{Change Comments ***********************************************************}
{5/20/88
Modified: GN6T Hardinge [+R] L036.51
For: Maury Microwave
Made changes.
WFG}
{7/24/90, Added InitProg globally to posts with this remark, DWB}
{8/1/90, Updated: GN6T Hardinge [+R] L036.55 to .71 format, JR}
{4/24/91
Modified: GN6T Hardinge [+R] L036.71
For: Phil Braden.
Updated to Version 4.0 per Fanuc 10T MS [-] L001.80 Format.
All normal Fanuc Canned Cycles are supported.
DWB}
{08/07/91
Updated: GN6T Hardinge [+R] L036.80
For: Gibbs & Associates
Updated to Version 4.0 per Fanuc 6M M001.82 Format.
Kim Michelman}
{9/7/95, Updated GN6T Hardinge [+R] L036.82 to .85 format per Fanuc 10T MS [-] L001.85.01.01, JR}
{06/19/98,
Initial: GN6T Hardinge [+R] L036.85
Created: GN6T Hardinge [+R] Lxxx.85
For: Tomkins Corporation
Changes to Prog:
1) Added DoRangeCode and DoRangeCodeSameTool sub-routine. Added TurretShift sub-routine
to output the values entered into the Tool offset boxes.
2) Added Numeric Formats for TurretX and Z.
3) FirstOp - Deleted literal M98P1 call. Modified IF CSS? section. Added GearRange call.
Changed OpToolID '00' to OpToolID LatheOffset.
4) NewTool - Deleted literal M98P2 call. Deleted CSS boolean. Added Tool offset cancel and
spindle stop. Deleted literal M98P1 call. Modified IF CSS? section. Added GearRange call.
Changed OpToolID '00' to OpToolID LatheOffset.
CDH}
{06/24/98,
Initial: GN6T LM [TC] L740.85
Created: GN6T LM [TC] L740.85.1
For: Tomkins Corporation
Changes to Form:
1) Default Formats - Changed M code to 00.
Changes to Prog:
1) Added Sequence numbers to TurretShift lines.
2) Deleted All literal G99's.
3) Added TurretShift call to End of Prog.
4) ToolPath - Changed Threading code to G33 instead of G32.
CDH}
{06/26/98,
Initial: GN6T LM [TC] L740.85.1
Created: GN6T LM [TC] L740.85.2
For: Tomkins Corporation
Changes to Prog:
1) End of Prog - Deleted CSS boolean. Added Tool Offset cancel
and SpinOff.
CDH}
{06/29/98,
Initial: GN6T LM [TC] L740.85.2
Created: GN6T LM [TC] L740.85.3
For: Tomkins Corp.
Changes to Form:
1) Spindle/Coolant - Switched values for Spindle Forward and Spindle Reverse.
CDH}
{18Nov98
Original: GN6T LM [TC] L740.85.3
Created: Fanuc GN6TB [BC] L792.85
For: Black Clawson
Machine: LeBlond Baron 40
Control: FANUC GN6TB/2
Changes made per: Joe Knowles
NEW POST: FIRST DRAFT
Added Spaces to all Address Lables in Prog and MachSpec
Added FORMAT#9 and #10 in Prog Numeric Format Definitions
Added Formatting for Sub#, HomeX#, HomeZ#, Abs#, ToolDiameter# and ToolOffset#
Added Boolean in DoOpComments to suppress ToolTypeComment$ and ToolComment$ in SameTool
Added OptCyc1F in DoPostScript
Changed CalcRPM1# value in DoRangeCode and DoRangeCodeSameTool Subs to 757 RPM
Added OR OptCyc1? to CannedCycle Boolean in ToolPath
Added ToolList Sub called in FirstOperation
Added GetMaximumToolShift Sub.
Calculates the Maximum ToolShift used in the Part, Excluding the Turret Z value
Added custom Comments to the Program Header
Rewrote the Preset Lines in FirstOperation, NewTool and End of Prog
X value is the Absolute HomeX
Z value is composed of 3 variables,
(1) The Longest Tool shift ( calculated in the GetMaximumToolShift Sub )
(2) The ThisOpEntryZCP value
(3) The HomeZ value
Formula is [ Longest Z Preset ] + [ ThisOpEntryZCP value ] - [ HomeZ ]
Any Non-zero value in the TurretZ, used for ToolChange Position, is added to the result.
Added Blank Lines before ToolChanges
Deleted SpinOff from NewTool and End of Prog.
Added ' G04 P1000' before InverseSpinOn when Tapping
Changed 'E' to 'F' for Threading in MachSpec
Changed to R Format Arcs in MachSpec
Changed 'G70' Autofinish Pass to 'G72'
Changed the following Canned cycles in MachSpec:
'G70' to 'G72', 'G71' to 'G73', 'G72' to 'G74' and 'G76' to 'G78'
Added, when NOT Canned. Uses OptCyc1
Customer requires a Canned cycle for his Finish Pass
Added Utility Data Instructions at InitProg.
Charles Winston}
{31Dec98
Original: Fanuc GN6TB [BC] L792.85
Created: Fanuc GN6TB [BC] L792.85.1
For: Black Clawson
Machine: LeBlond Baron 40
Control: FANUC GN6TB/2
Changes made per: Joe Knowles
Added Post Header Comment at the top of Prog.
Modified 'G72' Finish-Turn Cycle, at the Common Point. Command now uses PostScript PIN Commands
and outputs a finish cycle using the original P and Q values in the matching Roughing Cycle.
The Finish Pass allows the use of different tool from the Roughing Cycle. See Utility data for further details.
Charles Winston}
{17Mar99
Original: Fanuc GN6TB [BC] L792.85.1
Created: Fanuc GN6TB [BC] L792.85.2
For: Black Clawson
Machine: LeBlond Baron 40
Control: FANUC GN6TB/2
Changes made per: Joe Knowles
Develop: Catalyst 5.05/ComPost2 1.7b15
Added ckFinishPass Sub to test for valid G72 Finish Pass. Called in Approach Sub. Uses Flag(9).
Modified ApproachSP when Flag(9) is TRUE, ApproachSP is bypassed.
Customer does not want approach moves with a G72 Finish Pass.
Modified CkCRC Sub. CRCOff is no longer to be output on the Last Feature of ToolPath.
Modified CheckRapid Sub. CRCOff is no longer to be output here except in SameTool.
Deleted Initialisation of Num#41 thru Num#49 at Start of executable Prog. No Longer Required.
Changed Preset (G92) to Rapid CRCOff in NewTool at Start new Operation.
Deleted CutterRadiusCompensation Boolean in Canned Roughing Cycle.
Added CRCOnC to the StartPos Line for RoughContour and RoughPatternShift Cycles.
Deleted RLevel parameter in PeckChipBreaker Drill Cycle and also R value in MacSpec.
Charles Winston}
{Prog Numeric Format Definitions *******************************************}
#1 = '#.00'
#2 = '###.0###'
#3 = '#######0'
#4 = '###^##0'
#5 = '#.######;0.'
#6 = '###0'
#7 = '#'
#8 = '####.####;0.'
#9 = '###0.0###;0.0'
#10 = '###00'
FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(ADD#,2) { Non-Canned Threading AutoFinish }
FORMAT(SUB#,2)
FORMAT(InFeedAngle#,2)
FORMAT(FirstMoveEPX#,2)
FORMAT(FirstMoveEPZ#,2)
FORMAT(HomeX#,2)
FORMAT(HomeZ#,2)
FORMAT(Abs#,2)
FORMAT(ToolDiameter#,2)
FORMAT(Program#,3)
FORMAT(Operation#,3)
FORMAT(Tool#,3)
FORMAT(Dwell#,4)
FORMAT(FeedIPR#,5)
FORMAT(CalcEPRPM#,6)
FORMAT(Pallet#,6)
FORMAT(RapidF#,7)
FORMAT(TurretX#,8)
FORMAT(TurretZ#,8)
FORMAT(Recall#,8)
FORMAT(TLDia#,9)
FORMAT(Div#,9)
FORMAT(Tool#,10)
FORMAT(ToolOffset#,10)
{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 NOT SameTool?
IF ToolTypeComment?
'( TOOL ' Tool# ': ' ToolSize$ ' ' ToolType$ ' )' EOL
END
IF ToolComment?
'( ' ToolComment$ ' )' EOL
END
END
RestoreScale
END
RETURN
PSInit: {reset flags from last Op, .70}
PalletInF
SetPalletIn('999')
RETURN
PSStuff:
RETURN
DoPostScript:
PSInit
OptCyc1F
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
ckFinishPass:
SetFlagF('9')
IF Turning?
FORMAT(Recall#,6)
IF NotEqual? Pallet# Num#('999')
IF GTEqual? Pallet# Num#('10')
'( * Warning : PIN(' Pallet# ') is Not valid. The Value must be less than 10 * )' EOL
ELSE
IF LTEqual? Pallet# Num#('0')
'( * Warning : PIN(' Pallet# ') is Not valid. The Value must be greater than zero * )' EOL
ELSE
IF Equal? Num#('0') Recall# Pallet#
'( * Warning : PIN(' Pallet# ') is Not valid. There appears to be no matching Roughing Cycle * )' EOL
ELSE
SetFlag('9')
END
END
END
END
FORMAT(Recall#,8)
END
RETURN
ApproachSP:
IF NOT Flag?('9')
IF ApproachFace?
SeqLabC StockOnNoCan XSPC EOL
SeqLabC StockOff ZOpCPC EOL
StockOnNoCan
IF NotEqual? CycleStartZ# ZOpCP#
SeqLabC FeedNoCan ZSPC FeedRateNoCan EOL
END
ELSE { ODApproach/IDApproach }
SeqLabC StockOnNoCan ZSPC EOL
SeqLabC StockOff XOpCDC EOL
StockOnNoCan
IF NotEqual? CycleStartX# XOpCD#
SeqLabC FeedNoCan XSPC FeedRateNoCan EOL
END
END
END
RETURN
AppMove:
StockOff ThisOpEntryZCP CoolOn
RETURN
Approach: { NOT FOR TAILSTOCK, .82 }
Rapid RapidF# { RapidF# Forces FeedRate }
IF ApproachOD?
SeqLabC ThisOpEntryXCP AppMove EOL
ELSE
IF ApproachID?
SeqLabC XOpCD AppMove EOL
ELSE {ApproachFace}
SeqLabC StockOnNoCan XSP AppMove EOL
END
END
ckFinishPass
ApproachSP
RETURN
DoRangeCode:
IF ConstantSurfaceFeed?
IF GreaterThan? CalcRPM1# NUM#('757')
' M42' {High Range}
Save# NUM#('21') NUM#('2')
ELSE
' M41'
Save# NUM#('21') NUM#('1')
END
ELSE
IF GreaterThan? SpeedRPM# NUM#('757')
' M42' {High Range}
Save# NUM#('21') NUM#('2')
ELSE
' M41'
Save# NUM#('21') NUM#('1')
END
END
RETURN
DoRangeCodeSameTool:
IF NOT Flag?('1')
IF ConstantSurfaceFeed?
IF GreaterThan? CalcRPM1# NUM#('757')
IF NOT Equal? Recall# NUM#('21') NUM#('2')
DoRangeCode
END
ELSE
IF NOT Equal? Recall# NUM#('21') NUM#('1')
DoRangeCode
END
END
ELSE
IF GreaterThan? SpeedRPM# NUM#('757')
IF NOT Equal? Recall# NUM#('21') NUM#('2')
DoRangeCode
END
ELSE
IF NOT Equal? Recall# NUM#('21') NUM#('1')
DoRangeCode
END
END
END
END
RETURN
CheckOffset:
DoEndOpPS
IF LAST ProgStop?
SeqLabC ' M0' EOL
ELSE
IF CoolOff? AND LAST NOT CoolOff?
SeqLabC CoolOff EOL
END
END
IF NewToolOffset?
SeqLabC LOfstOff '00' EOL
SeqLabC OpToolID LatheOffset EOL
END
IF ConstantSurfaceFeed?
IF LAST ConstantSurfaceFeed?
IF NotEqual? MaxRPM# LAST MaxRPM#
SeqLabC ' G92' DoRangeCodeSameTool MaxRPM EOL
SetFlag('1')
END
IF NotEqual? SpeedRPM# LAST SpeedRPM#
DoRangeCodeSameTool Speed
END
ELSE
CSSOn ' G96' Speed
END
ELSE
IF LAST ConstantSurfaceFeed?
SeqLabC CSSOff ' G97' Speed DoRangeCodeSameTool EOL
SetFlag('1')
ELSE
IF NotEqual? SpeedRPM# LAST SpeedRPM#
SeqLabC DoRangeCodeSameTool Speed EOL
END
END
END
IF LAST ProgStop?
SeqLabC SpinOn EOL
SeqLabC CoolOn EOL
ELSE
IF NOT CoolOff? AND LAST CoolOff?
SeqLabC CoolOn EOL
END
END
DoPostScript
SetFlagF('1')
RETURN
FormatArc:
IF ArcCW?
CWArcC
ELSE
CCWArcC
END
MoveXC MoveZC
IF ArcIJFormat?
ArcIJC
ELSE
ArcRC
END
RETURN
CkCRC: { 4.2 }
IF XMove? OR ZMove? { Approach Length Feature and Multiple Pockets }
IF NOT LastFeat?
CRCOnC
END
END
RETURN
ToolPath:
EACHFeat
GetToolTip
IF LastFeat?
IF Drilling?
IF Tap?
SeqLabC InverseSpinOn EOL
ELSE
IF Dwell?
SeqLabC ' G4 P' Dwell# EOL
END
END
ELSE
IF CannedCycle?
SeqLab
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:
IF SameTool?
CRCOffC
END
IF LAST CannedCycle?
Rapid
ELSE
RapidC
END
RETURN
ToolList:
EachOp
IF NOT SameTool?
IF Drilling?
'( Tool ' Tool# ': ' ToolDiameter# ' Dia. ' ToolType$
ELSE
'( Tool ' Tool# ToolOffset# ': ' DIV# ToolDiameter# NUM#('2') ' Rad. ' ToolType$
END
IF ToolComment?
', ' ToolComment$
END
' )' EOL
END
NextOp
' ' EOL
FORMAT(Tool#,3)
RETURN
GetMaximumToolShift: { Stores the Maximum value of FirstHomeZ# }
Save# Num#('10') Num#('0')
EachOp
IF GreaterThan? Abs# Sub# FirstHomeZ# TurretZ# Recall# Num#('10')
Save# Num#('10') Abs# Sub# FirstHomeZ# TurretZ#
END
NextOp
RETURN
{Start of executable Prog **************************************************}
{setup and initializations}
InitProg
SetAbs
PosSideLathe
XsAreRadii
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
' ' EOL
' Using the The PIN(x) command.' EOL
' The PIN(x) command must be entered in the Utility Data - At Op Start BOX' EOL
' in two seperate places. Once for a Roughing Operation and once for a finish pass.' EOL
' The value of x must be greater than zero and less than TEN. EXAMPLE: PIN(1)' EOL
' This will cause the Post to output a G72 Finish Cycle using the same P and Q values' EOL
' As the roughing Operation.' EOL
' NOTE[1]: Each pair of Operations ( rough and finish ), must use the same PIN(x) number.' EOL
' The Pin(x) command can be used up to a maximum of nine times in each part.' EOL
' For each pair of rough and finish operations, a different PIN number must be used.' EOL
' NOTE[2]: Cutter Radius Compensation.' EOL
' CRC must be either ON, in Both, or OFF in Both processes, for each pair of selected Operations.' EOL
END
Save# Num#('1') Num#('0') { Initialise variables for G70 Finish Pass }
Save# Num#('2') Num#('0')
Save# Num#('3') Num#('0')
Save# Num#('4') Num#('0')
Save# Num#('5') Num#('0')
Save# Num#('6') Num#('0')
Save# Num#('7') Num#('0')
Save# Num#('8') Num#('0')
Save# Num#('9') Num#('0')
{Start of Output *********************}
EOR EOL
' ' EOL
ProgID1 EOL
IF UseComments? AND ProgramNameComment?
'( ' ProgramName$ ' )' EOL
END
' ' EOL
IF UseComments?
'(REV - )' EOL
IF TimeComment?
'( PROGRAMED ' Date$ ' )' EOL
END
IF ProgramComment?
'( ' ProgramComment$ ' )' EOL
END
IF FormatNameComment?
'( FORMAT: ' FormatName$ ' )' EOL
END
IF MovesComment?
'( OUTPUT IN ' MoveType$ ' INCHES )' EOL
END
' ' EOL
END
RestoreScale
ToolList
GetMaximumToolShift
{Start of post processing *********************}
EachOp
GetLCycle
IF FirstOperation?
OpenSub
StockOff {.71.2}
SetHome
DoOpComments
DoPostScript
Plane
SeqLabC ' G95 G90 G70 G40' EOL
SeqLabC ' G92 X' Abs# HomeX# ' Z' Sub# Add# Recall# Num#('10') ThisOpEntryZCP# HomeZ# DoRangeCode
IF ConstantSurfaceFeed?
MaxRPM EOL
SeqLabC CSSOn ' G96' Speed EOL
ELSE
EOL
SeqLabC CSSOff ' G97' Speed EOL
END
SeqLabC Rapid OpToolID LatheOffset SpinOn 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 EOL
DoEndOpPS
SeqLabC Rapid CRCOff ' X' Abs# LAST HomeX# ' Z' Add# Add# LAST ThisOpEntryZCP# LAST HomeZ# Recall# Num#('10') CoolOff EOL
SeqLabC LAST OpToolID '00' EOL
IF LAST ProgStop?
SeqLabC ' M0' EOL
ELSE
SeqLabC ProgStop EOL
END
{Start new Operation}
' ' EOL
DoOpComments
DoPostScript
SeqLabC ' G95 G90 G70 G40' EOL
SeqLabC ' G92 X' Abs# HomeX# ' Z' Add# Add# ThisOpEntryZCP# HomeZ# Recall# Num#('10') DoRangeCode
IF ConstantSurfaceFeed?
MaxRPM EOL
SeqLabC CSSOn ' G96' Speed EOL
ELSE
EOL
SeqLabC CSSOff ' G97' Speed EOL
END
SeqLabC Rapid OpToolID LatheOffset SpinOn EOL
Approach
ELSE
IF SameTool? {.62}
{Start new Operation}
StockOff
DoOpComments
IF LAST StraightConnect?
CheckOffset
CheckRapid
SeqLabC StockOnNoCan XSPC ZSPC 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
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
CheckOffset
ApproachSP
END
END
END
END {common point for all operations}
IF ConstantSurfaceFeed? AND NOT SameTool?
END
IF CannedCycle?
StockOff
IF Roughing?
IF RoughSimple?
StockOn
SetPass1
SeqLabC LCycle
IF ApproachFace?
' Z' FirstMoveEPZ# XatFinZ
ELSE
XatFinZ FinZ
END
XTapAtZ FeedRate EOL
SimpleRough
ELSE
TagInc
SetPass2
IF NotEqual? Pallet# Num#('999')
IF GTEqual? Pallet# Num#('10')
'( * Warning : PIN(' Pallet# ') is Not valid. The Value must be less than 10 * )' EOL
ELSE
IF LTEqual? Pallet# Num#('0')
'( * Warning : PIN(' Pallet# ') is Not valid. The Value must be greater than zero * )' EOL
ELSE
Save# Pallet# Tag#
END
END
END
IF RoughContour?
SeqLabC LCycle ' PÅ‚' Tag# ' Q²' Tag# XStkLeft ZStkLeft CutDepth FeedRate EOL
'>' Tag# EOL
SeqLab CRCOnC StepMove StrtPos EOL
ELSE
IF RoughPatternShift?
SeqLabC LCycle ' PÅ‚' Tag# ' Q²' Tag# XStkLeft ZStkLeft XminusU ZminusW NumCuts FeedRate EOL
'>' Tag# EOL
SeqLab CRCOnC Rapid StrtPos EOL
END
END
ToolPath
'<' Tag# EOL
IF AutoFinish?
SeqLabC ' G72' ' PÅ‚' Tag# ' Q²' Tag# EOL
END
SetPass1
TrackXNO# CycleStartX#
TrackZNO# CycleStartZ#
END
ELSE
IF Threading?
IF NOT ConstantVolumeCut? AND NOT SingleEdgeCut?
SeqLabC ' G92 X' 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 XTapAtZ ThrdHeight CutDepth ThrdLead
IF SingleEdgeCut?
' A' InFeedAngle#
ELSE
' A0'
END
EOL
IF Chamfer?
SeqLabC ' M24' EOL
END
IF AutoFinish?
SeqLabC ' G92' XatFinZ FinZ XTapAtZ ThrdLead EOL
END
END
ELSE
IF Drilling?
IF Tap?
SeqLabC LCycle ZDepth ' F' FeedIPR# EOL
SeqLabC ' G04 P1000' EOL
SeqLabC InverseSpinOn EOL
SeqLabC ZSP EOL
ELSE
IF PeckChipBreaker?
SeqLabC LCycle ZDepth Dwell Peck Retract FeedRate EOL
SeqLabC ' G80' EOL
IF AutoFinish?
SeqLabC Feed ZDepth EOL
IF Dwell?
SeqLabC ' G4P' Dwell# EOL
END
SeqLabC Rapid ZSP EOL
END
END
END
END
END
END
ELSE
IF Turning? AND Flag?('9') { Finish Contour Cycle }
SetPass1
FORMAT(Recall#,6)
SeqLabC ' G72' ' PÅ‚' Recall# Pallet# ' Q²' Recall# Pallet# FeedRate EOL
FORMAT(Recall#,8)
ELSE
StockOn
SetPass1
ToolPath
END
IF AutoFinish? { .82.1c }
StockOff
IF Turning?
IF ApproachFace?
SeqLabC RapidC ZOpECPC EOL
ELSE
SeqLabC RapidC XOpECDC EOL
END
ApproachSP
SeqLabC StockOff StrtPosC EOL
ToolPath
ELSE
IF Roughing? AND NOT RoughSimple?
SetPass2
SeqLabC RapidC XSPC ZSPC EOL
SeqLabC StockOff StrtPosC EOL
ToolPath
SetPass1
ELSE
IF Threading?
SeqLabC ' X' ADD# FinishXRadius# Taper# EOL
SeqLabC ' G33'
IF Taper?
XatFinZ
END
FinZ ThrdLead EOL
SeqLabC Rapid XSP EOL
SeqLabC ZSP EOL
END
END
END
END
END
IF Drilling? AND Tap?
SeqLabC SpinOn 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 EOL
DoEndOpPS
SeqLabC RapidC ' G40 X' Abs# HomeX# ' Z' Add# Add# ThisOpEntryZCP# HomeZ# Recall# Num#('10') CoolOff EOL
SeqLabC OpToolID '00' EOL
IF ProgStop?
SeqLabC ' M0' 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:
Fanuc 0T DP 6S [BC] L796 85Fanuc 16M Edgetec L570 85Fanuc 21T [MPG] L733 85 2Fanuc 10T [TK] L758 85Fanuc 10T MS [ ] L004 85Fanuc 18T MR12 L537 85Fanuc 5T [ fBI] L442 85Fanuc 0T [FA ] L485 85Fanuc 11M [HA1] MZ69 85Fanuc 0T Ikegai L160 85Fanuc 0T [FA ] L486 85Fanuc 18T [GPM] L720 85 1Fanuc 0T [NP] L774 85 1Fanuc 18T [ rCR] L518 85Fanuc 0T [LS] L563 85Fanuc 21T Mon [ ] L339 85Fanuc 5T H S 3NE L087 85więcej podobnych podstron