{Change Comments ***********************************************************} {1/3/89 Copied & modified Fanuc 10M M008.54 for R.C.H. Eng. Machine is a Mazak VQC 20/40A with Mazatrol M-2 control. Calling the OpToolID cancels the offset & sends Z home & puts the tool in the spindle & calls the length offset. Replaced OfstOff with OpToolID or UnTool at end of prog so first tool is in spindle at prog start. Added GearRange. Deleted tool changes & length offset calls. Deleted Home & SpinOff commands Put ZCP1 and CoolOn on StrtPos line. Changed sequence numbers to 3 fixed places. Jim Radcliffe} {3/6/89 Modified; Mazatrol M2 Mazak M162.55, for RCH Eng. Add 'G92Z0.' to end of Prog. Jim Radcliffe} {5/23/90, corrected tool call for for multiple parts full up, see above notes, JR} {5/23/90, Updated: Mazatrol M2 Mazak M162.56 to .72.1 format, JR} {7/24/90, Replaced all occurances of SetSRXYZero with SetSRXYtoSP, DWB} {12/12/90, Updated: Mazatrol M2 Mazak M162.73 to .76.1 format, JR} {12/12/90 Copied & modified: Mazatrol M2 Mazak M162.76.1 For: Precision Machine Control: Mazatrol M-32 Move ProgramComment & TimeComment to Before EOR code at beginning of prog. Add AbsOrInc to beginning of prog. Move WFOStuff to StrtPos line. First tool not in spindle format. Deleted GearRange. Deleted ZCP1 from StrtPos line & added OfstOn. Move coolant to OfstOn line. Changed length offset cancel to typical stuff. Put CRCOff on line by itself after Z move unless AutoCycle. Add tool change positions 'G28X0Y0'. Delete UnTool from end of prog. Added PreTool. Changed Tapping feed to IPR. Jim Radcliffe} {4/3/91 Modified: Mazatrol M-32 Mazak M368.76 For: Gibbs & Associates Updated to Version 4.0 per Fanuc 6M M001.80 Format. DWB} {6/3/91 Modified: Mazatrol M-32 Mazak M368.79 For: Precision Machine Changed EOR at beginning of program to '='. Suppress custom ProgramComment & TimeComment before '=' when UseComments? is false. Modified Saftey Start & Tool Change blocks at beginning of each tool. Jim Radcliffe} {10/31/91 Modified: Mazatrol M-32 Mazak M368.79.1 For: Precision Machine Added ResetCRCNum at beginning of Toolpath to correctly set cutter comp number. Kim Michelman} {1/3/92 Modified: Mazatrol M-32 Mazak M368.79.2 For: Precision Machine Deleted date and time line prior to the ProgID1 per customer request. Kim Michelman} {12/22/94 Updated: Mazatrol M-32 Mazak M368.79.3 For: Gibbs & Associates/ASKO Versions: ncCad 4.33/ncCAM 4.33/ncPost 4.33.04/Compost 4.21.23 Changes made per Pete Jackson Updated to Version 4.2 per Fanuc 6M M001.81.2f Format. Corrected FORMAT5 from '########;0' to '#######0'. Corrected FORMAT6 for Dwell# from '####^###;' to '####^##0'. Added RestoreScale Sub per 4-Axis Post Processor. Moved UnSkipZ from FinishSub1 to ZOnlyRep where SkipZ is set. Added FIFO? at FinishSub1, AutoCycCutSub2, ZonlyRepAutoCycle subs and end of IF Milling. Added CkCRC sub for CRCOffC per version 4.2. CutterRadiusCompensation ExitLength will output G40 on LastFeat AND LineFeat at StdLine sub. Added logic to output CRCOnC in OneFeat ToolPath. Added logic to suppress output of CRCOnC on ZMove Feature. Added support of CRC during multiple pocket dog-bone operation. Added condition to output CRCOnC for XMove OR YMove only at CkCRC sub. Outputs G41/G42 on First LineFeat after Z Plunge. Modified condition to output CRCOffC for LastFeat AND AutoCycle at ToolPath RapidFeat. Assures that G40 is not output prior to LastFeat. Added CRCOffC to RapidFeat at ToolPath. Outputs G40 at all ZMoveOnly Feature Retract blocks. Deleted CRCOnC and CRCOffsetC from ToolPath ArcFeat. Added TrackZNO# FIRST SPZ# at IF Drilling? section to allow for conditionality of MoveSXYZC command. DWB} { Format: Mazatrol M-32 Mazak C368.00 4/28/95 Updated to C Style Adv Mill post per C001.10 This post support drill subs but not rigid tap TH} {1/17/96, Updated .10 to .11 version, MPK} {3/25/96, Tested ZOnlyRepAutoCycle, Changed version # to .12, MPK} {12/16/97 Initial: Mazatrol M-32 Mazak C368.12 Created: Mazatrol M-32 NoSubs Cxxx.12 ForUser: DHL Machine Control: Mazatrol M32 Machine: AJV 6080 Vertical Machining Center Develop: ComPost2 1.1b3, Virtual 4.21.21 Comment: NoSubs per Fanuc 6M NoSubs C877.15.1 per conversation with Jim Roberts 215-536-3591 Jim Radcliffe} {Prog Numeric Format Definitions ****} #1 = '#.00' #2 = '#####.##;0.' #3 = '*#####.##;0.' #4 = '####.####;0.' #5 = '#######0' #6 = '####^##0' #7 = '#;' FORMAT(FileFeet#,1) FORMAT(FileMeters#,1) FORMAT(CSOffsetA#,3) FORMAT(CSOffsetB#,3) FORMAT(ToolDiameter#,4) FORMAT(CSOffsetX#,4) FORMAT(CSOffsetY#,4) FORMAT(CSOffsetZ#,4) FORMAT(TrackZNO#,4) FORMAT(FeedEntIPR#,4) FORMAT(ADD#,5) FORMAT(CS#,5) FORMAT(Tag#,5) FORMAT(Program#,5) FORMAT(Operation#,5) FORMAT(Tool#,5) FORMAT(NewWFO#,5) FORMAT(Parts#,5) FORMAT(Dwell#,6) FORMAT(RapidF#,7) {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 CSWFO: 'G' ADD# ADD# CS# MUL# NumOfCS# SUB# PartNum# Num#('1') Num#('53') RETURN WFOStuff: IF WFOCS? IF FirstOperation? OR NewTool? OR ChangeCS? CSWFO END ClearCSOffset ELSE IF NOT SameTool? IF MultipleParts? IF WorkFixtureOffsets? 'G' ADD# PartNum# Num#('53') ELSE IF FirstPart? 'G54' END END ELSE 'G54' END END END RETURN DoSubComment: IF UseComments? AND SubComment? '( CYCLE START )' EOL END RETURN DoCSComment: '( CS#' CS# ' - ' CSComment$ ' )' EOL RETURN DoCSWFOComment: '( ' CSWFO ' = X' CSOffsetX# ' Y' CSOffsetY# ' Z' CSOffsetZ# ' )' EOL RETURN CSComments: IF FirstOperation? OR ChangeCS? DoCSComment IF WFOCS? DoCSWFOComment END END RETURN DoOpComments: IF UseComments? SetScale('1') IF MultipleParts? AND SubComment? '( PART ' Tag# ' )' EOL END 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 CSAngleA: IF AAxisAvail? 'A' CSOffsetA# END RETURN CSAngleAC: IF AChange? CSAngleA END RETURN CSAngleB: IF BAxisAvail? 'B' CSOffsetB# END RETURN CSAngleBC: IF BChange? CSAngleB END RETURN PSInit: NewWFOF FourthCWF FourthCCWF FifthCWF FifthCCWF RotateF OptCyc1F MasterOpF CallMasterOpF RETURN PSStuff: RETURN DoPostScript: PSInit EachPS SeqC PostScript EOL PSStuff NextPS RETURN DoEndOpPS: PSInit EachEOPS SeqC EndOpPS EOL PSStuff NextPS RETURN ExitType: IF FIFO? FeedC ELSE RapidC END RETURN ExitFeed: IF FIFO? FeedEntC END RETURN FormatArc: IF ArcCW? CWArcC ELSE CCWArcC END MoveXYZC IF ArcIJFormat? ArcIJC ELSE ArcRC END RETURN ckCRC: IF LastFeat? CRCOffC ELSE IF NOT ZMove? CRCOnC END END RETURN ckCRCNum: IF NOT LastFeat? AND Equal? SPZ# EPZ# CRCOffsetC END RETURN StdRapid: IF XMove? OR YMove? OR ZMove? SeqC ckCRC RapidC MoveXYZC ckCRCNum EOL END RETURN StdLine: {enables CRC on first call, .70} IF XMove? OR YMove? OR ZMove? IF Decelerate? IF RoomToDecel? DecelMove1 SeqC ckCRC FeedC MoveXYZC FeedRateC ckCRCNum EOL DecelMove2 END SeqC ckCRC FeedC MoveXYZC DecelFeed ckCRCNum EOL ELSE SeqC ckCRC FeedC MoveXYZC FeedRateC ckCRCNum EOL END END RETURN StdArc: EACHQuadrant IF LastQuadrant? AND Decelerate? IF RoomToDecel? DecelMove1 SeqC FormatArc ArcFeedC EOL DecelMove2 END SeqC FormatArc DecelFeed EOL ELSE SeqC FormatArc ArcFeedC EOL END NEXTQuadrant RETURN ToolPath2: {for AutoCycle element moves} EACHFeat IF RapidFeat? StdRapid ELSE IF LineFeat? StdLine ELSE IF ArcFeat? StdArc END END END NEXTFeat RETURN EntryMove: IF FeedEntry? SeqC FeedC ZInC FeedEntC EOL ELSE SeqC RapidC ZInC EOL END RETURN CutAutoCycle: SaveSubStatus {save tool position} SetPass1 {element cut moves} SetSRXYtoSP SeqC IncValue EOL IF Repeats? AND ZshiftOnly? EachRep IF NOT FirstCycle? IF SPXMove? OR SPYMove? IF FeedConnect? SeqC FeedC StrtPosC EOL ELSE SeqC RapidC StrtPosC EOL END END END EntryMove ToolPath2 IF NOT FeedConnect? SeqC ExitType PRIME ZCP2 ExitFeed EOL END NextRep ELSE EntryMove ToolPath2 END SeqC AbsOrInc ExitType ZCP2 ExitFeed EOL SetSRSubXY {restore tool position} SetSRSubMove ReSetPass2 {restore for positioning moves} RETURN ToolPath: EACHFeat IF PointFeat? IF AutoCycle? IF NOT FirstFeat? SeqC IF FIFO? Rapid END MoveSXYC EOL END CalcACSRXY {calc tool position after sub call, CalcAutoCycleStatusRecordXY} CutAutoCycle ELSE SeqC MoveSXYZC EOL {.80.01} END ELSE IF RapidFeat? StdRapid ELSE IF LineFeat? StdLine ELSE IF ArcFeat? StdArc END END END END NEXTFeat RETURN CheckPass: IF AutoCycle? {use the correct StrtPos} SetPass2 ELSE SetPass1 END RETURN ProgStart: InitPro...
kmex