Centurion V LH MY53 15


{Change Comments ***********************************************************} {8/16/93 Copied & modified: Fanuc 6M M001.81.2 For: Olson Manufacturing & Distribution, Inc. Control: Centurion V Machine: Milltronics Partner 1 Created new processor from FastCAM II manual (same info as Centurion V manual!). Added 'G20', Inch Program, to Saftey Start Block. Added 'G32', for a Z move to Tool Change position, to Saftey Start Block. CRCOff on last non-arc feat. OfstOn, G43 H value, is applied to the axis perpendicular to the current plane. Call literal G17 before OfstOn and added sub GetPlane, Plane has not output. OfstOff outputs G49Z0. Modifications for support and enhancement Drilling section. Jim Radcliffe} {8/19/93, .81.3, corrected an ELSE/END bug in ToolPath, JR} {8/27/93, .81.4, no Home, machine home at end of program, 4 place O codes, JR} {8/18/94 Copied & modified: Centurion V M589.81.4 For: Plymouth Plastics Added 'X0Y0' to output of all WFO lines. Changed CoolOn M8 to M7 Changed output of OfstOff from G49Z0 to G32. Jim Radcliffe} {8/19/94 Modified: Centurion V [PP] Mxxx.81.4 For: Plymouth Plastics Deleted EOR from beginning and end of program. First Tool IN Spindle. Moved WFOStuff call to StrtPos line, removed literal X0Y0. Jim Radcliffe} {12/12/94 Modified: Centurion V [PP] M691.81.5 For: CNCCS / Plymoth Plastics Changed the program ID label from O to N Deleted Sequence label from MachSpec and changed Seq to SeqLab. This prevents sequencing without deleteing the sequnce commands! Added OpToolID & 'D' Tool# to OfstOn lines. Changed sub call from M98Pxx to GOSUBxx Changed end sub from M99 to RETURN Added X-15. to G53 line at end of program. Jim Radcliffe} {9/27/95, Updated Centurion V [PP] M691.81.6 to .85 format per Fanuc 6M M001.85.01.03, JR} {1/17/96 - Updated .85 to .86 format, MPK} {3/22/96, Tested ZOnlyRepAutoCycle, Changed version # to .89, MPK} {3/26/97, made longhand version per Fanuc 6M Longhand M001.12, MPK} {10/3/97 Updated: Centurion V LH MY53.12 Created: Centurion V LH MY53.15 For: Gibbs & Associates/ContractTools Versions: Catalyst v3.35C/ComPost2 MSL 68K Updated for Catalyst v3.35C per LongHand M001.12g Format. DWB} {Prog Numeric Format Definitions ****} #1 = '#.00' #2 = '#####.###;0.' #3 = '*#####.###;0.' #4 = '####.####;0.' #5 = '#######0' #6 = '####.##;0.' #7 = '#' FORMAT(FileFeet#,1) FORMAT(FileMeters#,1) FORMAT(ADD#,4) FORMAT(ToolDiameter#,4) FORMAT(TrackXNO#,4) FORMAT(TrackYNO#,4) FORMAT(TrackZNO#,4) FORMAT(Retract#,4) FORMAT(Recall#,5) FORMAT(PartNum#,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 WFONum: 'G' NewWFO# RETURN WFOStuff: IF NewWFO? IF MultipleParts? AND WorkFixtureOffsets? EOL '*** WARNING *** DO NOT USE NEWWFO() WITH MULTIPLE PARTS AND WORK FIXTURE OFFSETS' EOL ELSE WFONum END ELSE IF Flag?('2') IF NOT SameTool? IF MultipleParts? IF WorkFixtureOffsets? SetWFO ELSE WFONum END ELSE WFONum END END END END SetFlagF('2') RETURN ResetWFO: IF WorkFixtureOffsets? SeqLabC WFO1 EOL END RETURN DoPartCycleComment: IF MultipleParts? AND UseComments? AND SubComment? '( PART NO. ' PartNum# ' )' EOL END RETURN DoCycleComment: IF UseComments? AND SubComment? '( CYCLE START )' 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: NewWFOF RotateF OptCyc1F MasterOpF CallMasterOpF RETURN PSStuff: IF FourthCW? FORMAT(FourthDegree#,2) SeqLabC 'A' FourthDegree# EOL FourthCWF END IF FourthCCW? FORMAT(FourthDegree#,3) SeqLabC 'A' FourthDegree# EOL FourthCCWF END IF FifthCW? FORMAT(FifthDegree#,2) SeqLabC 'B' FifthDegree# EOL FifthCWF END IF FifthCCW? FORMAT(FifthDegree#,3) SeqLabC 'B' FifthDegree# EOL FifthCCWF END RETURN DoPostScript: PSInit EachPS SeqLabC PostScript EOL PSStuff NextPS RETURN DoEndOpPS: PSInit EachEOPS SeqLabC EndOpPS EOL PSStuff NextPS RETURN EntryMove: IF FeedEntry? SeqLabC FeedC ZInC FeedEntC EOL ELSE SeqLabC RapidC ZInC EOL END RETURN ExitMove: IF FeedConnect? IF NOT AutoCycle? IF NOT NoZMoves? FeedC ZInC FeedEntC END END ELSE CRCOffC IF FIFO? FeedC PRIME ZCP2C FeedEntC ELSE RapidC PRIME ZCP2C END END RETURN ExitMove2: LoadFeat Num#('0') Num#('0') ClearancePlane3# IF ZMove? IF FIFO? FeedC ZCP3C FeedEntC ELSE RapidC ZCP3C END END RETURN CycleWarning: { NOTE: This Post Processor takes care of Z Clearance. } 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 ToolPath: EACHFeat IF PointFeat? { Drilling Only } SeqLabC MoveSXYZC EOL ELSE IF RapidFeat? IF XMove? OR YMove? OR ZMove? SeqLabC ckCRC RapidC MoveXYZC ckCRCNum EOL END ELSE IF LineFeat? IF XMove? OR YMove? OR ZMove? IF Decelerate? IF RoomToDecel? DecelMove1 SeqLabC ckCRC FeedC MoveXYZC FeedRateC ckCRCNum EOL DecelMove2 END SeqLabC ckCRC FeedC MoveXYZC DecelFeed ckCRCNum EOL ELSE SeqLabC ckCRC FeedC MoveXYZC FeedRateC ckCRCNum EOL END END ELSE IF ArcFeat? EACHQuadrant { Do not use NOT, FIRST, LAST or NEXT modifiers in this loop } IF LastQuadrant? AND Decelerate? IF RoomToDecel? DecelMove1 SeqLabC FormatArc ArcFeedC EOL DecelMove2 END SeqLabC FormatArc DecelFeed EOL ELSE SeqLabC FormatArc ArcFeedC EOL END NEXTQuadrant END END END END NEXTFeat RETURN AutoCycCutSub1: {part 1} CalcACSRXY {calc tool position, CalcAutoCycleStatusRecordXY} SaveSubStatus {save tool position} SetPass1 {element cut moves} SetSRXYtoSP IF Repeats? AND ZShiftOnly? EntryMove END SeqLabC IncValue EOL RETURN AutoCycCutSub2: {part 2} SeqLabC AbsOrInc IF FIFO? FeedC ZCP2 FeedEntC ELSE RapidC ZCP2 END EOL SetSRSubXY {restore SR to 1st position value} SetSRSubMove ReSetPass2 {restore for positioning moves} RETURN Milling: EntryMove ToolPath RETURN XYZRep: CycleWarning FindAnyZMoves EachRep DoCycleComment IF FirstCycle? EntryMove ELSE CRCOffC IF FeedConnect? IF SPXMove? OR SPYMove? SeqLabC FeedC MoveSXYC FeedEntC EOL END IF ZShiftOnly? EntryMove END ELSE IF SPXMove? OR SPYMove? SeqLabC RapidC MoveSXYC EOL END IF FeedEntry? SeqLabC ZCP2C EOL END EntryMove END END ToolPath SeqLabC ExitMove EOL NextRep RETURN NoRepAutoCycle: EACHFeat DoCycleComment IF SPXMove? OR SPYMove? IF FIFO? Rapid END SeqLabC RapidC MoveSXYC EOL END AutoCycCutSub1 Milling AutoCycCutSub2 NEXTFeat RETURN XYZRepAutoCycle: CycleWarning EachRep DoCycleComment IF NOT FirstCycle? IF FIFO? Rapid END SeqLabC RapidC StrtPos EOL IF NOT FeedConnect? SeqLabC ZCP2C EOL END END EACHFeat IF NOT FirstFeat? DoCycleComment END IF SPXMove? OR SPYMove? IF FIFO? Rapid END SeqLabC RapidC MoveSXYC EOL END AutoCycCutSub1 Milling AutoCycCutSub2 NEXTFeat SeqLabC CRCOffC LoadFeat Num#('0') Num#('0') PRIME ClearancePlane2# IF ZMove? ExitMove END EOL NextRep RETURN ZonlyRepAutoCycle: EACHFeat DoCycleComment IF SPXMove? OR SPYMove? IF FIFO? Rapid END SeqLabC RapidC MoveSXYC EOL END AutoCycCutSub1 EachRep IF NOT FirstCycle? IF FeedConnect? DoCycleComment IF SPXMove? OR SPYMove? SeqLabC FeedC MoveSXYC FeedEntC EOL END AbsOrInc ELSE SeqLabC AbsOrInc ExitMove EOL DoCycleComment IF SPXMove? OR SPYMove? SeqLabC IncValue RapidC MoveSXYC EOL AbsOrInc END IF FeedEntry? AND NOT FIFO? SeqLabC RapidC ZCP2 EOL END END EntryMove SeqLabC IncValue EOL END ToolPath NextRep AutoCycCutSub2 NEXTFeat RETURN DrillStuff: SeqLabC DrillCP EOL GetCycle SeqLabC IF FIFO? AND Dwell? 'G89' ELSE IF Tap? AND NOT CWSpindle? 'G74' ELSE Cycle END END FromCP StrtPos ZDepth RLevel Dwell Peck IF PeckChipBreaker? 'U' Retract# END IF Peck? 'D' Retract# END FeedEnt EOL TrackZNO# FIRST SPZ# {.81.2} RETURN CheckPass: IF AutoCycle? {use the correct StrtPos} SetPass2 ELSE SetPass1 END RETURN GetPlane: IF XYPlane? {G17 is allready active} ELSE IF XZPlane? 'G18' ELSE 'G19' END END RETURN ProgStart: InitProg ReverseXZArcs InitWFONum SetFlood SetMaxRPM('10000') IF Metric? SetMaxFeed('12700') ELSE SetMaxFeed('500') END Save# Num#('1') Num#('0') { MultipleParts Current Tool FirstOp# } Save# Num#('2') Num#('0') { MultipleParts ToolOp# Counter } SetFlagF('2') { WFOStuff } 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 RETURN SetDrillEndOpZ: IF RetractToCP1? TrackZNO# ClearancePlane1# ELSE TrackZNO# ClearancePlane2# END RETURN OpGuts: ResetCRCNum RapidF# { No Output } SeqLabC Plane GetPlane EOL IF Milling? SeqLabC ZCP2C EOL IF AutoCycle? IF Repeats? IF ZShiftOnly? ZonlyRepAutoCycle ELSE XYZRepAutoCycle END IF NOT FeedConnect? SeqLabC ExitMove2 EOL END ELSE NoRepAutoCycle SeqLabC ExitMove2 EOL END SetPass1 ELSE { NOT AutoCycle } IF Repeats? XYZRep ELSE Milling END SeqLabC CRCOffC ExitMove2 EOL END ELSE IF Drilling? IF Repeats? EachRep DoCycleComment IF FirstCycle? DrillStuff END ToolPath NextRep ELSE DrillStuff ToolPath END SetDrillEndOpZ SeqLabC 'G80' EOL SeqLabC RapidC ZCP3C EOL END END RETURN InitOp: ProgID1 IF UseComments? AND ProgramNameComment? '( PROGRAM: ' ProgramName$ ' )' END EOL EachOp IF FirstOperation? IF ToolChangeAtHome? SetHome END END NextOp IF UseComments? IF ProgramComment? '( ' ProgramComment$ ' )' EOL END IF FormatNameComment? '( FORMAT: ' FormatName$ ' )' EOL END IF TimeComment? '( ' Date$ ' AT ' Time$ ' )' EOL END IF MovesComment? '( OUTPUT IN ' MoveType$ ' INCHES )' EOL END IF PartsComment? '( PARTS PROGRAMMED: ' Parts# ' )' EOL END IF StartToolComment? '( FIRST TOOL IN SPINDLE )' EOL END END RestoreScale RETURN FirstOp1: SeqLabC 'G17' 'G20' 'G32' CRCOff DrillOff EOL DoPartCycleComment DoOpComments DoPostScript RETURN FirstOp2: SeqLabC WFOStuff EOL SeqLabC Speed SpinOn EOL CheckPass SeqLabC AbsOrInc Rapid StrtPos EOL RETURN FirstOp3: SeqLabC OfstOn 'D' Tool# OpToolID CoolOn EOL RETURN NewToolOp1: SeqLabC CoolOff EOL SeqLabC OfstOff EOL RETURN NewToolOp2: DoEndOpPS SeqLabC SpinOff EOL IF LAST ProgStop? SeqLabC 'M0' EOL ELSE SeqLabC ProgStop EOL END RETURN NewToolOp3: {Start new Operation} SeqLabC 'G17' 'G20' 'G32' CRCOff DrillOff EOL SeqLabC OpToolID ToolChng EOL DoPartCycleComment DoOpComments DoPostScript RETURN NewToolOp4: SeqLabC WFOStuff EOL SeqLabC Speed SpinOn EOL CheckPass SeqLabC AbsOrInc Rapid StrtPos EOL RETURN NewToolOp5: SeqLabC OfstOn 'D' Tool# OpToolID CoolOn EOL RETURN SameToolOp1: IF LAST ProgStop? SeqLabC CoolOff EOL SeqLabC OfstOff EOL DoEndOpPS SeqLabC SpinOff EOL SeqLabC 'M0' EOL ELSE IF CoolOff? AND LAST NOT CoolOff? SeqLabC CoolOff EOL END IF NewToolOffset? SeqLabC OfstOff EOL END DoEndOpPS END RETURN SameToolOp2: {Start new Operation} DoPartCycleComment DoOpComments DoPostScript CheckPass SeqLabC WFOStuff EOL RETURN SameToolOp3: {Start new Operation} IF LAST ProgStop? SeqLabC 'G17' 'G20' CRCOff DrillOff EOL SeqLabC SpeedC SpinOn EOL SeqLabC AbsOrInc Rapid StrtPos EOL SeqLabC OfstOn 'D' Tool# OpToolID CoolOn EOL ELSE IF NewToolOffset? SeqLabC 'G17' 'G20' CRCOff DrillOff EOL END SeqLabC SpeedC EOL SeqLabC AbsOrInc Rapid StrtPos EOL SeqLabC IF NewToolOffset? OfstOn 'D' Tool# OpToolID END IF NOT CoolOff? AND LAST CoolOff? CoolOn END EOL END RETURN End1: SeqLabC CoolOff EOL SeqLabC OfstOff EOL RETURN End2: DoEndOpPS SeqLabC SpinOff EOL IF ProgStop? SeqLabC 'M0' EOL IF MultipleParts? AND AllToolsOnePart? AND NOT LastPart? SeqLabC ProgStop EOL END END RETURN End3: SeqLabC 'G53' Rapid 'X-15.Y0.' EOL SeqLabC UnTool ToolChng EOL SeqLabC EOP EOL Close 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 RETURN MPallTools1P: {Multiple Parts, All Tools 1 Part} IF FirstOperation? OR EquallySpacedOffsets? SetFlag('2') { WFOStuff } END IF FirstOperation? FirstOp1 FirstOp2 FirstOp3 ELSE IF NewTool? NewToolOp1 NewToolOp2 NewToolOp3 NewToolOp4 NewToolOp5 ELSE {implied SameTool?} SameToolOp1 SameToolOp2 SameToolOp3 END END OpGuts RETURN MP1ToollAllPfu: {Multiple Parts, 1 Tool all Parts, full up} SetFlag('2') { WFOStuff } IF FirstOperation? IF FirstPart? FirstOp1 FirstOp2 FirstOp3 END ELSE IF NewTool? IF FirstPart? NewToolOp1 ResetWFO NewToolOp2 NewToolOp3 NewToolOp4 NewToolOp5 END ELSE {implied SameTool?} SameToolOp1 SameToolOp2 SameToolOp3 END END OpGuts RETURN MP1ToollAllPXcp: {Multiple Parts, 1 Tool all Parts, exit Clearance plane} SetFlag('2') { WFOStuff } IF FirstOperation? IF FirstPart? FirstOp1 FirstOp2 FirstOp3 END ELSE IF NewTool? IF FirstPart? NewToolOp1 ResetWFO NewToolOp2 NewToolOp3 NewToolOp4 NewToolOp5 END ELSE {implied SameTool?} SameToolOp1 SameToolOp2 SameToolOp3 END END OpGuts RETURN NoMPs: {no multiple parts} SetFlag('2') { WFOStuff } IF FirstOperation? FirstOp1 FirstOp2 FirstOp3 ELSE IF NewTool? NewToolOp1 NewToolOp2 NewToolOp3 NewToolOp4 NewToolOp5 ELSE {implied SameTool?} SameToolOp1 SameToolOp2 SameToolOp3 END END OpGuts RETURN MasterSub: IF MultipleParts? IF AllToolsOnePart? MPallTools1P ELSE {implied OneToolAllParts?} IF FullUp? MP1ToollAllPfu ELSE {implied ExitClearancePlane?} MP1ToollAllPXcp END END ELSE NoMPs END RETURN EndPartSub: {End of program ************************************************************} {finish last operation} End1 IF MultipleParts? AND OneToolAllParts? ResetWFO END End2 RETURN DoNewPart: {Finish off last Part} IF FullUp? SeqLabC CoolOff EOL SeqLabC OfstOff EOL END {DoEndOpPS} {Start new Part} SetFlag('2') { WFOStuff } SameToolOp2 SeqLabC SpeedC EOL SeqLabC AbsOrInc Rapid StrtPos EOL IF FullUp? SeqLabC OfstOn 'D' Tool# OpToolID CoolOn EOL END RETURN MPLoop: Save# Num#('2') Recall# Num#('1') IF WorkFixtureOffsets? NewWFO EachWFO ELSE EachPart END IF AllToolsOnePart? EachOp MasterSub NextOp EndPartSub ELSE { OneToolAllParts } EachOp IF Equal? Operation# Recall# Num#('2') { Tool First Op } IF FirstOperation? OR NewTool? IF NOT FirstPart? DoNewPart END END MasterSub IF LastOp? IF LastPart? Save# Num#('1') Num#('0') END Save# Num#('2') Recall# Num#('1') ELSE IF NEXT SameTool? Save# Num#('2') NEXT Operation# ELSE IF LastPart? Save# Num#('1') NEXT Operation# Save# Num#('2') Num#('0') ELSE Save# Num#('2') Recall# Num#('1') END END END END NextOp END IF WorkFixtureOffsets? IncWFO NextWFO ELSE NextPart END RETURN {Start of executable Prog, Top Level ****} ProgStart {setup and initializations} InitOp IF MultipleParts? IF AllToolsOnePart? MPLoop ResetWFO ELSE EachOp IF FirstOperation? Save# Num#('1') Operation# END NextOp MPLoop MPLoop MPLoop MPLoop MPLoop MPLoop MPLoop MPLoop MPLoop MPLoop MPLoop MPLoop MPLoop MPLoop MPLoop MPLoop MPLoop MPLoop MPLoop MPLoop MPLoop MPLoop MPLoop MPLoop MPLoop EndPartSub END ELSE EachOp MasterSub NextOp EndPartSub END End3

Wyszukiwarka

Podobne podstrony:
Centurion V LH [CT] MW13 15 2m
Centurion V [MSG] MW29 15 1
Centurion V [MSG] D589 15 2
Centurion V [TPIS] BV82 15
K&T Gemini D MM180 LH CY81 15 1
K&T Gemini D MM180 LH CY81 15 1
Centurion V [MB] BV74 15
Centurion V [AT] MX66 15
Centurion V LH [TPIS] MV82 89
Centurion V [CEL] M919 15
Centurion V B589 15 1
Yasnac MX3 HS LH [NO] MV65 15
Fanuc 15M Mat LH [KP] CV71 15
BP EZ Trak LH [WD] MV22 15
Fanuc Pro3 Mak LH [AE] CV70 15
MillPWR #LH [AR] MY26 15 1
Haas LH [AM] CV24 15 2
Haas LH [TI] MX14 15
Dynapath 20M LH [SDT] CV52 15

więcej podobnych podstron