{Change Comments ***********************************************************}
{2/21/90, Updated: Fanuc 10T MS [+] L004.53 to .69.3 format, JR}
{7/18/90, Updated: Fanuc 10T MS [+] L004.69 to .69.7 format, JR}
{7/24/90, Added InitProg globally to posts with this remark, DWB}
{9/25/90, Updated to Version 3.2 per Fanuc 10T MS [-] L001.71.1 Format, DWB}
{10/2/90, Added StockOff globally at FirstOperation, DWB}
{10/8/90, Replace CalcRPM2 globally with CalcEPRPM# at end of prog, DWB}
{3/28/91
Modified: Fanuc 10T MS [+] L004.71.3
For: Gibbs & Associates
Updated to Version 4.0 per Fanuc 10T MS [-] L001.80 Format.
All normal Fanuc Canned Cycles are supported.
DWB}
{08/05/91
Updated: Fanuc 10T MS [+] L004.80
For: Gibbs & Associates
Updated to Version 4.0 per Fanuc 6M M001.82 Format.
Kim Michelman}
{7/11/95, Updated Fanuc 10T MS [+] L004.82 to .85 format, JR}
{8/28/97
Initial: Fanuc 10T MS [+] L004.85
Created: Fanuc 10T OH [LAM] L632.85
ForUser: CIM Solutions / LA Martin
Control: Fanuc 10T
Machine: Okuma-Howa Act2sp2
Develop: ComPost2 68K 1.0b11, Virtual Gibbs 3.35 PPC
Comment: New processor per conversation with Steve Sauve
Updated per Fanuc 10T MS [-] L001.85.01.02
Modified tool start up and end blocks.
Changed to R format arcs up to 360 degrees.
Added GearRange:
M23 = 0 -> 2000 RPM
M25 = 2001-> 4000 RPM
Jim Radcliffe}
{11/19/97
Initial: Fanuc 0T BNC34T [LAM] L620.85
Created: Fanuc 0T BNC34T [LAM] L620.85.1
Develop: ComPost2 1.1b3, Virtual 4.21.14
Comment: Modified per Steve Sauve.
Changed StrtPos in RoughContour to output X and Z on separate lines.
Added RapidF# to RoughContour to force FeedRateC output in ToolPath.
Jim Radcliffe}
{07Jan98
Original: Fanuc 10T OH [LAM] L632.85
Created: Fanuc 10T OH [LAM] L632.85.2
For: LA Martin
Changes made per: Steve / Neil
Deleted old version numbers and comments e.g. {.62}, {commands}, {literals}, etc
Changed G71, G72 and G76 cycles to output 18T/20T, 2-line canned cycles
Deleted CoolOff and replaced with SpinOff in NewTool at Finish off last Operation
Deleted SpinOff on the LOfstOff line in NewTool at Finish off last Operation
Moved DoOpComments after CSS in NewTool at Start new Operation
Commented out all GearRange commands. Customer wants a generic post and will customize this feature later.
Added a Blank line at the end of all canned Cycles and at End of Prog after 'G28U0.W0.'
Added Rapid UnTool '00' at End of Prog
Charles Winston}
{13Jan98
Original: Fanuc 10T OH [LAM] L632.85.2
Created: Fanuc 10T OH [LAM] L632.85.3
For: LA Martin
Changes made per: Steve / Neil
Deleted old version numbers and comments e.g. {.62}, {commands}, {literals}, etc
Added Formatting for SPX# ans SPZ# at Prog Numeric Format Definitions
Commented out Booleans in ApproachSP per customers request.
Deleted IF CannedCycle? Boolean in Toolpath at IF LastFeat?
Added logic in Toolpath which prevents the last feature of a canned cycle from being ouput,
and now outputs SeqLab on the penultimate line of a LineFeat
Added FeedRate to Canned Cycle Approach moves at IF RoughContour?
Charles Winston}
{26Jan98
Original: Fanuc 10T OH [LAM] L632.85.3
Created: Fanuc 10T OH [LAM] L632.85.4
For: LA Martin
Changes made per: Steve / Neil
Added Formatting for SpringPasses#, LastCutXRadius#, Add# and Div# in Prog Numeric Format Definitions
Adjusted Threading Canned Cycle per customers requirements.
Charles Winston}
{Prog Numeric Format Definitions *******************************************}
#1 = '#.00'
#2 = '###.####;0.'
#3 = '#######0'
#4 = '###^##0'
#5 = '#.######;0.'
#6 = '###0'
#7 = '#'
#8 = '00'
#9 = '0^0'
FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(MUL#,2) { Non-Canned Threading AutoFinish }
FORMAT(InFeedAngle#,2)
FORMAT(FirstMoveEPZ#,2)
FORMAT(SPX#,2)
FORMAT(SPZ#,2)
FORMAT(LastCutXRadius#,2)
FORMAT(Program#,3)
FORMAT(Operation#,3)
FORMAT(Tool#,3)
FORMAT(Tag#,3)
FORMAT(Dwell#,4)
FORMAT(FeedIPR#,5)
FORMAT(CalcEPRPM#,6)
FORMAT(RapidF#,7)
FORMAT(SpringPasses#,8)
FORMAT(Add#,8)
FORMAT(Div#,9)
{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}
RETURN
PSStuff:
RETURN
DoPostScript:
PSInit
EachPS
SeqLabC PostScript EOL
PSStuff
NextPS
RETURN
DoEndOpPS:
PSInit
EachEOPS
SeqLabC EndOpPS EOL
PSStuff
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
ApproachSP:
IF ApproachFace?
SeqLabC StockOnNoCan XSPC EOL
SeqLabC StockOff ZOpCPC EOL
StockOnNoCan
IF NotEqual? CycleStartZ# ZOpCP#
{ SeqLabC FeedNoCan ZSPC FeedRateNoCan EOL }
TrackZNO# CycleStartZ#
END
ELSE { ODApproach/IDApproach }
SeqLabC StockOnNoCan ZSPC EOL
SeqLabC StockOff XOpCDC EOL
StockOnNoCan
IF NotEqual? CycleStartX# XOpCD#
{ SeqLabC FeedNoCan XSPC FeedRateNoCan EOL }
TrackXNO# CycleStartX#
END
END
RETURN
AppMove:
StockOff ThisOpEntryZCP
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
ApproachSP
RETURN
CheckOffset: {with gear ranges}
DoEndOpPS
IF CoolOff? AND LAST NOT CoolOff?
SeqLabC CoolOff EOL
END
SeqLabC
IF NewToolOffset?
OpToolID '00'
END
IF NewGear?
SpinOff
END
EOL
IF LAST ProgStop?
SeqLabC 'M0' EOL
END
DoOpComments
DoPostScript
SeqLabC
IF ConstantSurfaceFeed?
IF LAST ConstantSurfaceFeed?
IF NotEqual? MaxRPM# LAST MaxRPM#
Preset MaxRPM
END
ELSE
Preset MaxRPM
END
END
IF LAST ProgStop?
CoolOn
ELSE
IF NOT CoolOff? AND LAST CoolOff?
CoolOn
END
END
EOL
SeqLabC
IF ConstantSurfaceFeed?
IF LAST ConstantSurfaceFeed?
IF NotEqual? SpeedRPM# LAST SpeedRPM#
Speed
END
ELSE
CSSOn 'G96' Speed
END
ELSE
IF LAST ConstantSurfaceFeed?
CSSOff 'G97' Speed
ELSE
IF NotEqual? SpeedRPM# LAST SpeedRPM#
Speed
END
END
END
IF NewGear?
{ GearRange }
END
EOL
SeqLabC
IF NewToolOffset?
OpToolID LatheOffset
END
IF LAST ProgStop?
SpinOn
ELSE
IF NewGear?
SpinOn
END
END
EOL
RETURN
FormatArc:
IF ArcCW?
CWArcC
ELSE
CCWArcC
END
MoveXC MoveZC
IF ArcIJFormat?
ArcIJC
ELSE
ArcRC
END
RETURN
CkCRC:
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 'G4P2000' EOL
SeqLabC Speed InverseSpinOn EOL
ELSE
IF Dwell?
SeqLabC 'G4P' Dwell# EOL
END
END
ELSE
END
END
IF PointFeat?
SeqLabC MoveSXYC EOL
ELSE
IF RapidFeat?
SeqLabC
IF LAST ThreadFeat?
Rapid
ELSE
RapidC
END
MoveXC MoveZC EOL
ELSE
IF NOT LastFeat? AND NEXT LastFeat? AND CannedCycle?
SeqLab
END
IF LineFeat?
IF LastFeat? AND CannedCycle?
ELSE
SeqLabC CkCRC FeedC MoveXC MoveZC FeedRateC EOL
END
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 'G32' MoveXC MoveZC ThrdLead EOL
END
END
END
END
END
NEXTFeat
RETURN
CheckRapid:
CRCOffC
IF LAST CannedCycle?
Rapid
ELSE
IF LAST Threading?
Rapid
ELSE
RapidC
END
END
RETURN
{Start of executable Prog **************************************************}
{setup and initializations}
InitProg
TagInit
SetAbs
PosSideLathe
StandardXZArcs
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: separate commands with a space or carriage return' EOL
' No commands supported in this processor!' EOL
END
EachOp {Start of post processing *********************}
GetLCycle
IF FirstOperation?
EOR EOL
ProgID1
IF UseComments? AND ProgramNameComment?
'( ' ProgramName$ ' )'
END
EOL
IF UseComments?
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
RestoreScale
OpenSub
StockOff
SetHome
Plane
DoOpComments
DoPostScript
SeqLab 'G28U0.W0.' EOL
SeqLabC Preset Home MaxRPM CoolOn EOL
SeqLabC
IF ConstantSurfaceFeed?
CSSOn 'G96'
ELSE
CSSOff 'G97'
END
Speed { GearRange } EOL
SeqLabC Rapid OpToolID LatheOffset SpinOn EOL
Approach
ELSE
IF NewTool?
{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 SpinOff EOL
DoEndOpPS
SeqLabC Rapid LOfstOff '00' EOL
SeqLabC 'G28U0.W0.' EOL
' ' EOL
IF LAST ProgStop?
SeqLabC 'M0' EOL
' ' EOL
ELSE
IF OptionalStops?
SeqLabC ProgStop EOL
' ' EOL
END
END
{Start new Operation}
SeqLab 'G28U0.W0.' EOL
SeqLabC Preset Home MaxRPM CoolOn EOL
SeqLabC
IF ConstantSurfaceFeed?
CSSOn 'G96'
ELSE
CSSOff 'G97'
END
Speed { GearRange } EOL
DoOpComments
DoPostScript
SeqLabC Rapid OpToolID LatheOffset SpinOn EOL
Approach
ELSE
IF SameTool?
{Start new Operation}
StockOff
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 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 RoughContour?
SeqLabC LCycle CutDepth EOL
SeqLabC LCycle 'PÅ‚' Tag# 'Q²' Tag# XStkLeft ZStkLeft FeedRate EOL
'>' Tag# EOL
IF ApproachFace?
SeqLab StepMove 'Z' SPZ# EOL
SeqLabC FeedC 'X' SPX# FeedRate EOL
ELSE
SeqLab StepMove 'X' SPX# EOL
SeqLabC FeedC 'Z' SPZ# FeedRate EOL
END
RapidF# { RapidF# Forces FeedRate }
ELSE
IF RoughPatternShift?
SeqLabC LCycle 'PÅ‚' Tag# 'Q²' Tag# XStkLeft ZStkLeft XminusU ZminusW NumCuts FeedRate EOL
'>' Tag# EOL
SeqLab Rapid StrtPos EOL
END
END
ToolPath
'<' Tag# EOL
' ' EOL
IF AutoFinish?
SeqLabC 'G70' 'PÅ‚' Tag# 'Q²' Tag# EOL
END
SetPass1
TrackXNO# CycleStartX#
TrackZNO# CycleStartZ#
END
ELSE
IF Threading?
IF SingleEdgeCut? OR ConstantVolumeCut?
SeqLabC LCycle 'P' SpringPasses#
Div# RunOutZ# Div# Num#('1') Thread# { Run out is output in units of lead }
Add# InFeedAngle# InFeedAngle#
IF ConstantVolumeCut?
'Q20' {.0020 minimum cut depth}
ELSE
CutDepth {if not ConstantVolumeCut? CutDepth is min depth, volume increases with depth}
END
'R' LastCutXRadius# EOL
SeqLabC LCycle XatFinZ FinZ XTapAtZ ThrdHeight CutDepth ThrdLead EOL
ELSE
SeqLabC 'G92X' FirstMoveEPX# FinZ
IF Taper?
XTapAtZ
END
'F' FeedIPR# EOL
SimpleRough
END
' ' EOL
ELSE
IF Drilling?
IF Tap?
SeqLabC LCycle ZDepth 'E' FeedIPR# EOL
SeqLabC SpinOff EOL
SeqLabC 'G4P2000' EOL
SeqLabC Speed InverseSpinOn EOL
SeqLabC ZSP EOL
ELSE
IF PeckChipBreaker?
SeqLabC LCycle ZDepth RLevel Dwell Peck Retract FeedRate EOL
SeqLabC DrillOff EOL
IF AutoFinish?
SeqLabC Feed ZDepth EOL
IF Dwell?
SeqLabC 'G4P' Dwell# EOL
END
SeqLabC Rapid ZSP EOL
END
END
END
ELSE
IF Grooving?
StockOn
SetPass1
SeqLabC StrtPos EOL
ToolPath
END
END
END
END
ELSE
StockOn
SetPass1
ToolPath
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' MUL# Num#('2') ADD# FinishXRadius# Taper# EOL
SeqLabC 'G32'
IF Taper?
XatFinZ
END
FinZ ThrdLead EOL
SeqLabC Rapid XSP EOL
SeqLabC ZSP EOL
END
END
END
END
END
IF Drilling? AND Tap?
SeqLabC SpinOff EOL
SeqLabC 'G4P2000' EOL
SeqLabC Speed SpinOn EOL
END
NextOp {loops back to EachOP until last Operation}
{End of program ************************************************************}
{finish last operation}
StockOff
CRCOffC
IF CannedCycle?
Rapid
ELSE
IF Threading?
Rapid
ELSE
RapidC
END
END
IF ApproachOD?
SeqLabC OpExitXCPC EOL
ELSE
IF ApproachID?
SeqLabC XOpECDC EOL
END
END
' ' EOL
SeqLabC OpExitZCPC CoolOff EOL
DoEndOpPS
SeqLabC Rapid OpToolID '00' SpinOff EOL
SeqLabC 'G28U0.W0.' EOL
' ' EOL
SeqLabC Rapid UnTool '00' EOL
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 10T HS [KMT] L759 85Fanuc 10T MS [PT] L703 85 1Fanuc 10T Mazak QT L088 85Fanuc 10T Cincom F20 L527 85 1Fanuc 10T MS [BMR] L768 85Fanuc 10T MS [ TPM] L455 85Fanuc 10T MS [ CES] L107 85Fanuc 10T MS [AMF] L424 85 1Fanuc 6T Mazak [LAM] L621 85 5mFanuc 10T MS [RHB] L458 85Fanuc 10T MS ( ót) L131 85 1Fanuc 10T MS [ BI] L441 85Fanuc 10T MS [ G54PM] L498 85 2Fanuc 10T SNK [ST] L404 85 4więcej podobnych podstron