Fanuc 16T Mon [CGB] L775 85 1


{ MILL=F LATHE=T SIMPLE_ROT_POS=F ROTARY_MILL=F ADV_MILL=F SUBS=F MILLTURN_POLAR-SEG=F MILLTURN_Y-AXIS=F METRIC=F } {Change Comments ***********************************************************} {7/18/90 Copied & modified: Fanuc 10T MS [+] L004.69.7 For: Viratec Machine: Mori Seiki TL40 Control: Fanuc 15TF Deleted 'Preset Home' at FirstOperation and NewTool. Moved OpToolID LatheOffset from Approach sub to FirstOperation and NewTool. Added GearRange. Cancel Tool Offset on line by itself after move to index position. 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 15T MS (+) L166.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 15T MS (+) L166.80 For: Gibbs & Associates Updated to Version 4.0 per Fanuc 6M M001.82 Format. Kim Michelman} {2/27/94 Copied & modified:Fanuc 15T MS (+) L166.82 For: Allenair Corp. Updated per Fanuc 10T MS [-] L001.82§ Added Rapid to tool call line. Deleted GearRange. Added spaces between codes. Changed G & M codes to show leading zeros. Changed MachSpec to use R format arcs. Deleted DrillOff and RLevel in Drilling. Changed StrtPos to StrtPosC in CannedCycle Roughing. Changed Home commands for index position to ' G30 P2 U0. W0.', moved to after tool cancel line! Added CoolOff to tool cancel line. Changed Dwell commands in the prog to use a U, with decimal point, instead of P. Changed E to F for thread lead command. Deleted literal dwell from tapping cycle. Added Bar feed and Parts catcher option. Jim Radcliffe} {8/26/95, Updated Fanuc 15T MS SL25B[AA] L306.82 to .85 format per Fanuc 10T MS [-] L001.85.01.01, JR} {27Jul98 Original: Fanuc 15T MS SL25B[AA] L306.85 Created: Fanuc 15T Dianichi CGB L754.85 CNC: Dianichi For: C.G.Bretting Mfg Changes made per: Gerry Beebe Added Format#8 at Prog Numeric Format Definitions Moved ToolComment to FirstOperation and NewTool Modified Post for Tailstock Approach Modified CheckOffset, FirstOperation and NewTool for GearRange Added GearTable Resource in MachSpec Modified FirstOperation and NewTool per Customer FAX and Conversations with Gerry Beebe Added Rapid ' X' NewHomeX# CoolOff at Finish off last Operation. Deleted CSS Boolean at the Common Point Added a leading space to all codes Split the StartPos line in RoughContour and RoughPatternShift Cycles into two lines Modified Threading Canned Cycle per customers FAX Deleted Literal ' G30 P2 U0. W0.' and replaced with FirstHome at End of Prog. Charles Winston} {5Aug98 Original: Fanuc 15T Dianichi CGB L754.85 Created: Fanuc 15T Dianichi CGB L754.85.1 For: C.G.Bretting Mfg Changes made per: Gerry Beebe Added Format#9 at Prog Numeric Format Definitions and added Formatting for Tool# Added Booleans in ApproachSP to suppress ZSPC move when CannedCycle? or OptCyc1 is TRUE Added Custom Line Numbering for Tools. ( Maximum of 40 Tools ) Added Booleans to output Block Deletes in NewTool, SameTool and End of Prog Moved CRCOn to Approach and Deleted CkCRC Sub Added OptCyc1? to CannedCycle Boolean in ToolPath Added OptCyc1F in DoPostScript Deleted CkCRC from Toolpath and CheckRapid Subs Added G70 Finish Turn Cycle in the Common Point,when NOT Canned, Using OptCyc1 Added Utility Data Instructions at InitProg. Moved CoolOn from AppMove in Approach Added a Dwell line in Toolpath, when doing Plunge Grooving. Added NewTool style of Home positioning at SameTool. NOTE: The customer would like the capability of returning to Home in a 'Same Tool' situation when LAST ProgStop?=TRUE. This can occur only IF LAST ToolChangeAtHome?=TRUE Rewrote CheckOffset to accomodate. Charles Winston} {18Sep98 Original: Fanuc 15T Dianichi CGB L754.85.1 Created: Fanuc 15T Dianichi CGB L754.85.2 For: C.G.Bretting Mfg Changes made per: Gerry Beebe Added Post Header Comment at the top of Prog. Deleted old version numbers and comments e.g. {.62}, {commands}, {literals}, etc Added OptCyc1 Boolean in ApproachSP to suppress XOpCD# in G70 Finish Pass Deleted BarFeed and PartsCatcher Subs and Calls Added CutOff Boolean to suppress M99 Progstop when Grooving. Changed '/1 M99' to "/ M99" in NewTool, SameTool and End of Prog Moved Progstop after FurstHome move at End of Prog Charles Winston} {18Sep98 Original: Fanuc 15T Dianichi CGB L754.85.2 Created: Fanuc16T Mon 220 CGB L775.85 For: C.G.Bretting Mfg Changes made per: Gerry Beebe Changed Gear Table to M51 thru M54 in MachSpec Charged Turning Pass G90 to G77 in MachSpec Charged Face Pass G94 to G79 in MachSpec Charged Preset from G50 to G92 in MachSpec Charles Winston} {19Feb99 Original: Fanuc16T Mon 220 CGB L775.85 Created: Fanuc16T Mon 220 CGB L775.85.1 For: C.G.Bretting Mfg Changes made per: Gerry Beebe Develop: Catalyst 5.03/ComPost2 1.7b15 Updated Post Header Comment at the top of Prog. Added Formatting for CutDepth# and Pallet# in Prog Numeric Format Definitions Modified 'G70' 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. Added PalletInF and SetPalletIn('999') at PSInit. Changed LOfstOff '00' to ' T0000' in CheckOffset and NewTool. Modified the Logic in ToolPath to suppress the last move of a Canned Cycle. Added Code to store Zero in variables 51 thru 59 ( Initialise variables for G70 Finish Pass ) Added a Blank line before all ToolChanges. and moved the ToolComment up onto the Tool Line in FirstOperation and NewTool. Added the logic for ProgStop at NewTool, Finish off last Operation, when the previous Op was a CutOFF. Deleted CSS Boolean at End of Prog. Added a Blank Line after the ProgStop at End of Prog. Added Utility Data Instructions at InitProg. Charles Winston} {Prog Numeric Format Definitions *******************************************} #1 = '#.00' #2 = '###.####;0.' #3 = '#######0' #4 = '###.###;0.' #5 = '#.######;0.' #6 = '###0' #7 = '#' #8 = '###.##0;0.' #9= '#00' FORMAT(FileFeet#,1) FORMAT(FileMeters#,1) FORMAT(MUL#,2) { Non-Canned Threading AutoFinish } FORMAT(InFeedAngle#,2) FORMAT(FirstMoveEPZ#,2) FORMAT(ADD#,2) FORMAT(SPX#,2) FORMAT(SPZ#,2) FORMAT(NewHomeX#,2) FORMAT(NewHomeZ#,2) FORMAT(Program#,3) {.72} FORMAT(Recall#,3) FORMAT(Operation#,3) {.72} FORMAT(Tool#,3) {.72} FORMAT(Dwell#,4) {.72} FORMAT(CutDepth#,4) FORMAT(FeedIPR#,5) FORMAT(CalcEPRPM#,6) FORMAT(Pallet#,6) FORMAT(RapidF#,7) FORMAT(FeedContour#,8) FORMAT(Tool#,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? IF NOT SameTool? '( ' OperationComment$ ' )' EOL END END IF WorkGroupComment? '( ' WorkGroupComment$ ' )' EOL END IF ToolTypeComment? '( TOOL ' Tool# ': ' ToolSize$ ' ' ToolType$ ' )' EOL END RestoreScale END RETURN PSInit: {reset flags from last Op, .70} PalletInF SetPalletIn('999') RETURN PSStuff: RETURN DoPostScript: PSInit OptCyc1F 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 END ELSE { ODApproach/IDApproach } { The following move is suppressed if CannedCycle? is TRUE, OR OptCyc1? is TRUE } { However the move is NOT suppressed if Threading? is TRUE } IF CannedCycle? OR OptCyc1? IF Threading? SeqLabC StockOnNoCan ZSPC EOL ELSE TrackZNO# SPZ# END ELSE SeqLabC StockOnNoCan ZSPC EOL END SeqLabC StockOff XOpCDC EOL StockOnNoCan IF OptCyc1? { Suppress the move in G70 Cycle } ELSE IF NotEqual? CycleStartX# XOpCD# SeqLabC FeedNoCan XSPC FeedRateNoCan EOL END END END RETURN AppMove: StockOff ThisOpEntryZCP RETURN Approach: { MODIFIED FOR TAILSTOCK, 20Jul98 - CW } Rapid RapidF# { RapidF# Forces FeedRate } IF ApproachOD? SeqLabC AppMove EOL SeqLabC CRCOnC ThisOpEntryXCP CoolOn EOL ELSE IF ApproachID? SeqLabC AppMove EOL SeqLabC CRCOnC XOpCD CoolOn EOL ELSE {ApproachFace} SeqLabC AppMove EOL SeqLabC StockOnNoCan CRCOnC XSP CoolOn EOL END END ApproachSP RETURN CheckOffset: {with gear ranges} { See note at the start of SameTool. CW. } DoEndOpPS IF LAST ProgStop? SeqLabC ' M00' EOL ELSE IF CoolOff? AND LAST NOT CoolOff? SeqLabC CoolOff EOL END END IF NewToolOffset? SeqLabC ' T0000' EOL SeqLabC Rapid OpToolID LatheOffset EOL END IF ConstantSurfaceFeed? IF NotEqual? MaxRPM# LAST MaxRPM# SeqLabC Preset MaxRPM EOL END IF NewGear? IF LAST ProgStop? ELSE SeqLabC SpinOff EOL END SeqLabC GearRange EOL SeqLabC CSSOn ' G96' Speed SpinOn EOL END ELSE IF LAST ConstantSurfaceFeed? SeqLabC CSSOff ' G97' Speed EOL SeqLabC SpeedC EOL END END DoPostScript RETURN FormatArc: IF ArcCW? CWArcC ELSE CCWArcC END MoveXC MoveZC IF ArcIJFormat? ArcIJC ELSE ArcRC END RETURN CkCRC: { Not Supported } RETURN ToolPath: EACHFeat GetToolTip IF LastFeat? IF Drilling? IF Tap? SeqLabC SpinOff EOL SeqLabC Speed InverseSpinOn EOL ELSE IF Dwell? SeqLabC ' G04 U' Dwell# EOL END END END END IF PointFeat? SeqLabC MoveSXYC EOL ELSE IF RapidFeat? SeqLabC RapidC MoveXC MoveZC EOL ELSE IF NOT LastFeat? AND NEXT LastFeat? AND CannedCycle? SeqLab END IF LineFeat? IF LastFeat? AND CannedCycle? ELSE SeqLabC FeedC MoveXC MoveZC FeedRateC EOL END IF FirstFeat? AND RoughPlunge? AND NOT CannedCycle? SeqLabC ' G4 U.75' 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 Rapid END END END END END NEXTFeat RETURN CheckRapid: IF LAST CannedCycle? Rapid ELSE RapidC END RETURN {Start of executable Prog **************************************************} {setup and initializations} InitProg SetAbs PosSideLathe SetMaxRPM('3000') 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 END {Setup custom Tool Line Numbering MAX 40 Tools} Save# Num#('1') Num#('1') Save# Num#('2') Num#('2') Save# Num#('3') Num#('3') Save# Num#('4') Num#('4') Save# Num#('5') Num#('5') Save# Num#('6') Num#('6') Save# Num#('7') Num#('7') Save# Num#('8') Num#('8') Save# Num#('9') Num#('9') Save# Num#('10') Num#('10') Save# Num#('11') Num#('11') Save# Num#('12') Num#('12') Save# Num#('13') Num#('13') Save# Num#('14') Num#('14') Save# Num#('15') Num#('15') Save# Num#('16') Num#('16') Save# Num#('17') Num#('17') Save# Num#('18') Num#('18') Save# Num#('19') Num#('19') Save# Num#('20') Num#('20') Save# Num#('21') Num#('21') Save# Num#('22') Num#('22') Save# Num#('23') Num#('23') Save# Num#('24') Num#('24') Save# Num#('25') Num#('25') Save# Num#('26') Num#('26') Save# Num#('27') Num#('27') Save# Num#('28') Num#('28') Save# Num#('29') Num#('29') Save# Num#('30') Num#('30') Save# Num#('31') Num#('31') Save# Num#('32') Num#('32') Save# Num#('33') Num#('33') Save# Num#('34') Num#('34') Save# Num#('35') Num#('35') Save# Num#('36') Num#('36') Save# Num#('37') Num#('37') Save# Num#('38') Num#('38') Save# Num#('39') Num#('39') Save# Num#('40') Num#('40') Save# Num#('51') Num#('0') { Initialise variables for G70 Finish Pass } Save# Num#('52') Num#('0') Save# Num#('53') Num#('0') Save# Num#('54') Num#('0') Save# Num#('55') Num#('0') Save# Num#('56') Num#('0') Save# Num#('57') Num#('0') Save# Num#('58') Num#('0') Save# Num#('59') Num#('0') 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 {.71.2} SetHome DoOpComments DoPostScript Plane IF ConstantSurfaceFeed? SeqLabC Preset MaxRPM EOL END ' ' EOL Save# Tool# Add# Recall# Tool# Num#('1000') 'N' Recall# Tool# Rapid ' T' Tool# LatheOffset GearRange IF ToolComment? ' ( ' ToolComment$ ' )' END EOL Save# Num#('49') Recall# Tool# ' ' EOL SeqLabC IF ConstantSurfaceFeed? CSSOn ' G96' ELSE CSSOff ' G97' END Speed 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 CRCOffC ' X' NewHomeX# CoolOff EOL SeqLabC ' T0000' EOL SeqLabC Rapid ' X' NewHomeX# ' Z' NewHomeZ# EOL IF LAST Turning? OR LAST Threading? IF LAST CutOff? IF LAST ProgStop? SeqLabC ' M00' EOL ' ' EOL ELSE SeqLabC ProgStop EOL END ELSE SeqLabC ' M00' EOL '/ M99 P' Recall# Num#('49') EOL END ELSE IF LAST ProgStop? SeqLabC ' M00' EOL ELSE SeqLabC ProgStop EOL END END {Start new Operation} DoOpComments DoPostScript IF ConstantSurfaceFeed? SeqLabC Preset MaxRPM EOL END ' ' EOL Save# Tool# Add# Recall# Tool# Num#('1000') 'N' Recall# Tool# Rapid ' T' Tool# LatheOffset GearRange IF ToolComment? ' ( ' ToolComment$ ' )' END EOL Save# Num#('49') Recall# Tool# ' ' EOL SeqLabC IF ConstantSurfaceFeed? CSSOn ' G96' ELSE CSSOff ' G97' END Speed SpinOn EOL Approach ELSE IF SameTool? {.62} { The customer would like the capability of returning to Home in a 'Same Tool' situation when LAST ProgStop?=TRUE. This can occur only IF LAST ToolChangeAtHome?=TRUE } IF LAST ProgStop? AND LAST ToolChangeAtHome? {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 CRCOffC ' X' NewHomeX# CoolOff EOL SeqLabC ' T0000' EOL SeqLabC Rapid ' X' NewHomeX# ' Z' NewHomeZ# EOL IF LAST Turning? OR LAST Threading? IF LAST CutOff? IF LAST ProgStop? SeqLabC ' M00' EOL ' ' EOL ELSE SeqLabC ProgStop EOL END ELSE SeqLabC ' M00' EOL '/ M99 P' Recall# Num#('49') EOL END ELSE IF LAST ProgStop? SeqLabC ' M00' EOL ELSE SeqLabC ProgStop EOL END END {Start new Operation} DoOpComments DoPostScript IF ConstantSurfaceFeed? SeqLabC Preset MaxRPM EOL END Save# Tool# Add# Recall# Tool# Num#('1000') 'N' Recall# Tool# Rapid ' T' Tool# LatheOffset GearRange EOL Save# Num#('49') Recall# Tool# ' ' EOL IF OperationComment? '( ' OperationComment$ ' )' EOL END SeqLabC IF ConstantSurfaceFeed? CSSOn ' G96' ELSE CSSOff ' G97' END Speed SpinOn EOL Approach ELSE { LAST ProgStop?=FALSE OR LAST ToolChangeAtHome?=FALSE } {Start new Operation} StockOff DoOpComments IF LAST StraightConnect? CheckOffset CheckRapid SeqLabC StockOnNoCan XSPC ZSPC EOL ELSE CheckRapid CRCOffC 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 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 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# Add# Num#('50') Pallet# Tag# END END END IF RoughContour? SeqLabC LCycle ' P³' Tag# ' Q²' Tag# XStkLeft ZStkLeft ' D' CutDepth# ' F' FeedContour# EOL '>' Tag# EOL IF ApproachFace? SeqLab StepMove ' Z' SPZ# EOL SeqLabC FeedC ' X' SPX# EOL ELSE SeqLab StepMove ' X' SPX# EOL SeqLabC FeedC ' Z' SPZ# EOL END ELSE IF RoughPatternShift? SeqLabC LCycle ' P³' Tag# ' Q²' Tag# XStkLeft ZStkLeft NumCuts XminusU ZminusW ' F' FeedContour# EOL '>' Tag# EOL IF ApproachFace? SeqLab StepMove ' Z' SPZ# EOL SeqLabC FeedC ' X' SPX# EOL ELSE SeqLab StepMove ' X' SPX# EOL SeqLabC FeedC ' Z' SPZ# EOL END END END ToolPath '<' Tag# EOL IF AutoFinish? SeqLabC ' G70' ' P³' Tag# ' Q²' Tag# EOL END SetPass1 TrackXNO# CycleStartX# TrackZNO# CycleStartZ# END ELSE IF Threading? IF Chamfer? SeqLabC ' M23' EOL END SeqLabC LCycle XatFinZ FinZ ThrdHeight CutDepth ThrdLead ' A60.' EOL IF AutoFinish? SeqLabC ' G92' XatFinZ FinZ XTapAtZ ThrdLead EOL END IF Chamfer? SeqLabC ' M24' EOL END ELSE IF Drilling? IF Tap? SeqLabC LCycle ZDepth ' E' FeedIPR# EOL SeqLabC SpinOff EOL SeqLabC ' G04 U2.' EOL SeqLabC Speed InverseSpinOn EOL SeqLabC ZSP EOL ELSE IF PeckChipBreaker? SeqLabC LCycle ZDepth Dwell Peck Retract FeedRate EOL IF AutoFinish? SeqLabC Feed ZDepth EOL IF Dwell? SeqLabC ' G04 U' Dwell# EOL END SeqLabC Rapid ZSP EOL END END END ELSE IF Grooving? StockOn SetPass1 SeqLabC StrtPos EOL ToolPath END END END END ELSE SetFlagF('9') 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# Add# Pallet# Num#('50') '( * Warning : PIN(' Pallet# ') is Not valid. There appears to be no matching Roughing Cycle * )' EOL ELSE SetFlag('9') END END END END IF Turning? AND Flag?('9') { Finish Contour Cycle } SetPass1 SeqLabC ' G70' ' P³' Recall# Add# Num#('50') Pallet# ' Q²' Recall# Add# Num#('50') Pallet# FeedRateC EOL 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' 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 Speed 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 CoolOff EOL SeqLabC OpToolID '00' EOL SeqLabC FirstHome EOL IF Turning? OR Threading? IF CutOff? ELSE SeqLabC ' M00' EOL '/ M99 P' Recall# Num#('49') EOL END END SeqLabC ' M00' EOL ' ' EOL SeqLabC EOP EOL CloseSub Post2 {organize Subs into one program} EOR EOL IF UseComments? SetScale('1') {restore scale for comments} IF FileBytesComment? '( FILE LENGTH: ' FileBytes# ' CHARACTERS )' EOL END IF FileFeetComment? '( FILE LENGTH: ' FileFeet# ' FEET )' EOL END IF FileMetersComment? '( FILE LENGTH: ' FileMeters# ' METERS )' EOL END END Close Retag

Wyszukiwarka

Podobne podstrony:
Fanuc 15T Dianichi CGB L754 85 2
Fanuc 16T MS [AM] L615 85 2
Fanuc 16T MS [ IN] L443 85
Fanuc 16T MS [ MM] L771 85
Fanuc 16T MS [ BM] L425 85 1
Fanuc 16T MS [JI] L682 85 2
Fanuc 16T MS [ ML] L763 85
Fanuc 6T MS [ CGB] L747 85 4
Fanuc 16T MS [ TI] L633 85
Fanuc 16M Mon [CGB] PMQ21 17 6
Fanuc 21T Mon [ ] L339 85
Fanuc 16T MS [ r] L538 85
Fanuc 15T Act 20 CGB L757 85
Fanuc 16T Studer L478 85 1

więcej podobnych podstron