plik


{1/24/89 Update BP Boss 5-6 M042.53 Deleted: IF cutterRadiusCompensation? AND FirstFeat? AND NEXT LineFeat? { avoid 2 co-linear lines by skipping extra ncCAM line} from ToolPath. Jim Radcliffe} {add feed to 1st line and move %, 7/30/89, WFG} {10/9/89 Modified: BP Boss 5-6 [G75] M042.56 Added SepSubs same as "BP Series 1 (R2E4) M128.60" Added missing "DoOpComments" commands. Added "SpeedC" to SameTool. Added PostScript & other update stuff. Jim Radcliffe} {4/16/90, Updated: BP Boss 5-6 [G75] M042.62 to .71.1 format, JR} {Note: modified CRC calls, same as BP Boss 7i M279.69} {Note: CRC not active for AutoCycles} {7/24/90, Replaced all occurances of SetSRXYZero with SetSRXYtoSP, DWB} {4/03/91 Modified: BP Boss 5-6 [G75] M042.72 For: Gibbs & Associates Updated to Version 4.0 per Fanuc 6M M001.80 Format. DWB} {4/27/91 Modified: BP Boss 5-6 [G75] M042.72 For: Aedotron Changed the IJ arcs to unconditional. KLM} #1 = '#.00' #2 = '###^#0' #3 = '00^0' FORMAT(FileFeet#,1) FORMAT(FileMeters#,1) FORMAT(Dwell#,2) FORMAT(FeedEntry#,3} PSStuff: IF Rotate? IF FourthCW? FORMAT(FourthDegree#,2) SeqLab 'A' FourthDegree# EOL ELSE IF FourthCCW? FORMAT(FourthDegree#,3) SeqLab 'A' FourthDegree# EOL ELSE IF FifthCW? FORMAT(FifthDegree#,2) SeqLab 'B' FifthDegree# EOL ELSE IF FifthCCW? FORMAT(FifthDegree#,3) SeqLab 'B' FifthDegree# EOL END END END END END RETURN DoPostScript: EachPS SeqLab PostScript EOL PSStuff NextPS RETURN DoEndOpPS: EachEOPS SeqLab EndOpPS EOL PSStuff NextPS RETURN DoSubComment: IF UseComments? AND SubComment? '( SUB NUMBER: ' Program# ' )' 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 IF Metric? {CAM file is in metric, tools and tool path} SetScale('.03937007874') { change to English, this is an English post} END END RETURN StartSub: OpenSub '#' Program# EOL DoSubComment RETURN EntryMove: IF FeedEntry? SeqLab Feed ZIn FeedEnt EOL ELSE SeqLab RapidC ZIn EOL END RETURN SubWarning: IF UseComments? IF NOT FeedConnect? IF AnyZshift? ' ' EOL '( WARNING Z CLEARANCE WILL CHANGE WITH EACH CYCLE OF SUB REPEAT )' EOL ' ' EOL END END END RETURN StdSub: SubWarning TagUp TagInc SeqLab CallLabB '²' Tag# RepLab RepCycs EOL IF CutterRadiusCompensation? AND NOT AutoCycle? SeqLab AbsOrInc Connect BPCRCStartPos EOL ELSE SeqLab AbsOrInc Connect StrtPos EOL END RETURN FinishSub1: {part 1} UnSkipZ IF NOT FeedConnect? IF CutterRadiusCompensation? AND NOT AutoCycle? SeqLab RapidC CRCOff BPCRCEndPos ZCP3C EOL ELSE SeqLab RapidC ZCP3C EOL END ELSE IF CutterRadiusCompensation? AND NOT AutoCycle? SeqLab FeedC CRCOff BPCRCEndPos EOL END END RETURN FinishSubG92: {part 2} SeqLab Preset ShiftRC EOL '<' Tag# EOL TagDown SeqLab Preset UnshftRC EOL RETURN OpenMP: NewProg TagUp TagInc SeqLab CallLabB '²' Tag# RepLab Parts EOL DoSubComment SeqLab StrtPos EOL RETURN CloseMP: SeqLab Preset ShiftPC EOL '<' Tag# EOL TagDown SeqLab Preset UnshftPC EOL RETURN FormatArc: IF ArcCW? CWArc ELSE CCWArc END MoveXY MoveZC IF ArcIJFormat? ArcIJ ELSE ArcRC END RETURN ToolPath: EACHFeat IF PointFeat? SeqLab MoveSXYC EOL IF AutoCycle? '=#' Program# EOL END ELSE IF RapidFeat? SeqLab RapidC MoveXYZC EOL ELSE IF LineFeat? IF Decelerate? AND NOT CutterRadiusCompensation? IF RoomToDecel? DecelMove1 SeqLab FeedC MoveXYZC FeedRateC EOL DecelMove2 END SeqLab FeedC MoveXYZC DecelFeed EOL ELSE SeqLab FeedC MoveXYZC FeedRateC EOL END ELSE IF ArcFeat? EACHQuadrant IF LastQuadrant? AND Decelerate? IF RoomToDecel? DecelMove1 SeqLab FormatArc ArcFeedC EOL DecelMove2 END SeqLab FormatArc DecelFeed EOL ELSE SeqLab FormatArc ArcFeedC EOL END NEXTQuadrant END END END END NEXTFeat RETURN AutoCycCutSub1: {part 1} SaveSubStatus {save tool position} SetPass1 {element cut moves} StartSub SetSRXYtoSP SeqLab IncValue EOL SeqLab StrtPosC EOL RETURN AutoCycCutSub2: {part 2} ToolPath IF Repeats? AND FeedConnect? AND ZshiftOnly? SeqLab AbsOrInc EOL {.69 removed RapidC} ELSE SeqLab AbsOrInc RapidC ZCP2 EOL END '$' EOL CloseSub SetSRSubXY {restore tool position} SetSRSubMove RETURN AutoCycPat: SetPass2 {position pattern} ToolPath {call after NewProg for correct sub calls} RETURN Milling: IF AutoCycle? NewProg AutoCycCutSub1 EntryMove AutoCycCutSub2 AutoCycPat ELSE IF CutterRadiusCompensation? SeqLab Feed CRCOn StrtPos FeedRate EOL END EntryMove ToolPath END RETURN G92Sub: StdSub Milling FinishSub1 FinishSubG92 RETURN ZonlyRepAutoCycle: AutoCycPat {write pattern moves and main calls} StartSub NewProg SetPass1 {for correct Z's} EachCycle IF FeedConnect? SeqLab Feed ZInPlusInc FeedEnt EOL ELSE IF FeedEntry? IF NOT FirstCycle? SeqLab Rapid ZCP2PlusInc EOL {.69 added Rapid, reads better} {can't call for cycle = 1, .69 changed to ZCP2PlusInc} END SeqLab Feed ZInPlusInc FeedEnt EOL ELSE SeqLab Rapid ZInPlusInc EOL {.69 added Rapid, reads better} END END IF FirstCycle? SetStatusOff {protect Z position for incremental sub} END '=#' Program# EOL NextCycle SetStatusOn AutoCycCutSub1 {build element sub} AutoCycCutSub2 {.69, removed FinishSub1} IF FeedConnect? {there is no Z up in the sub, .69} SeqLab Rapid ZCP2 EOL {.69} END {.69} '$' EOL CloseSub {Element shift, not pattern} RETURN ZonlyRep: EachCycle IF NOT FirstCycle? IF CutterRadiusCompensation? SeqLab BPCRCStartPos EOL ELSE SeqLab StrtPos EOL END END IF CutterRadiusCompensation? SeqLab Feed CRCOn StrtPos FeedRate EOL END IF FeedConnect? SeqLab Feed ZInPlusInc FeedEnt EOL ELSE IF FeedEntry? IF NOT FirstCycle? SeqLab Rapid ZCP2PlusIncC EOL {can't call for cycle =1} END SeqLab Feed ZInPlusInc FeedEnt EOL ELSE SeqLab Rapid ZInPlusInc EOL END END '=#' Program# EOL NextCycle StartSub SkipZ ToolPath FinishSub1 '$' EOL CloseSub RETURN CheckPass: IF AutoCycle? {use the correct StrtPos} SetPass2 ELSE SetPass1 END RETURN SetStartPosition: IF CutterRadiusCompensation? AND NOT AutoCycle? AbsOrInc Rapid BPCRCStartPos ZCP1 ELSE AbsOrInc Rapid StrtPos ZCP1 END RETURN {Start of executable Prog **************************************************} {setup and initializations} ReverseYZArcs InitProg ReverseYZArcs UseSeparateSubCalls SetMaxSeparateSubCalls ('50') {?} 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: 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 EachOp {Start of post processing *********************} IF FirstOperation? '%' EOL '.N1' Plane AbsValue 'G75F'FeedEntry# EOL IF UseComments? IF ProgramNameComment? '( PROGRAM: ' ProgramName$ ' )' EOL END IF ProgramComment? '( ' ProgramComment$ ' )' EOL END IF FormatNameComment? '( FORMAT: ' FormatName$ ' )' EOL END IF TimeComment? '( ' Date$ ' AT ' Time$ ' )' EOL END IF MovesComment? '( OUTPUT IN ' MoveType$ ' )' EOL END IF PartsComment? '( PARTS PROGRAMMED: ' Parts# ' )' EOL END IF StartToolComment? '( FIRST TOOL NOT IN SPINDLE )' EOL END END OpenSub IF Metric? {CAM file is in metric, tools and tool path} SetScale('.03937007874') { change to English, this is an English post} END IF MultipleParts? AND AllToolsOnePart? OpenMP END SeqLab Rapid Home Speed OpToolID ToolChng EOL DoOpComments DoPostScript IF MultipleParts? AND OneToolAllParts? AND FullUp? OpenMP END CheckPass SeqLab SetStartPosition EOL IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane? OpenMP END ELSE IF NewTool? IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane? CloseMP END IF MultipleParts? AND OneToolAllParts? AND FullUp? CloseMP END DoEndOpPS IF LAST ProgStop? SeqLab 'M00' EOL ELSE SeqLab ProgStop EOL END {Start new Operation} SeqLab AbsOrInc Rapid Home Speed OpToolID ToolChng EOL DoOpComments SeqLab Plane AbsValue 'G75' EOL DoPostScript IF MultipleParts? AND OneToolAllParts? AND FullUp? OpenMP END CheckPass SeqLab SetStartPosition EOL IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane? OpenMP END ELSE IF SameTool? DoEndOpPS IF LAST ProgStop? SeqLab 'M00' EOL END IF CoolOff? AND LAST NOT CoolOff? SeqC CoolOff EOL END {Start new Operation} DoOpComments DoPostScript CheckPass SeqLab PlaneC SetStartPosition SpeedC EOL IF NOT CoolOff? AND LAST CoolOff? SeqC CoolOn EOL END END END END {common point for all operations} IF Milling? SeqLab ZCP2C EOL IF Repeats? NewProg IF ZshiftOnly? IF AutoCycle? {incremental Autocycle sub can have Z moves} ZonlyRepAutoCycle ELSE {Z shift only, NOT Auto Cycle} IF UseSeparateSubCalls? AND CyclesLessThanMaxSubCalls? FindAnyZMoves {for normal abs subroutine} IF NoZMoves? ZonlyRep ELSE G92Sub {pattern shift, not element} END ELSE {no sep subs desired} G92Sub END END {end Auto Cycle IF} ELSE {not Z only} G92Sub END {end Z only IF} ELSE {no repeat OPs} Milling IF CutterRadiusCompensation? AND NOT AutoCycle? SeqLab RapidC CRCOff BPCRCEndPos ZCP3C EOL ELSE SeqLab RapidC ZCP3C EOL END END SeqLab RapidC ZCP3C EOL ELSE IF Drilling? IF Repeats? NewProg TagUp TagInc SeqLab CallLabB '²' Tag# RepLab RepCycs EOL SeqLab AbsOrInc Rapid StrtPos EOL END SeqLab ZCP2C EOL GetCycle IF Dwell? SeqLab 'G04/' Dwell# EOL END SeqLab Cycle StrtPos ZDepthAbs Peck Retract FeedEnt EOL ToolPath SeqLab 'G80' EOL IF Repeats? SeqLab Preset ShiftRC EOL '<' Tag# EOL TagDown SeqLab Preset UnshftRC EOL END SeqLab ZCP3C EOL END END NEXTOp IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane? CloseMP END IF MultipleParts? AND OneToolAllParts? AND FullUp? CloseMP END DoEndOpPS SeqLab AbsOrInc Rapid IF ToolChangeAtHome? FirstHome END IF ProgStop? SeqC 'M00' EOL END IF MultipleParts? AND AllToolsOnePart? EOL CloseMP SeqLab END EOP EOL 'E' EOL Post Close Retag IF UseComments? SetScale('1') 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:
BP Boss 4 6 G75 [DT] M843 89 1
BP Boss 1 6 M041 89 1
BP Boss 9 M174 89 2
BP Boss 6 M284 89 1
BP Boss 7 2 M102 89m
BP Boss 9 [WP] MY38 89 1
BP Boss 5 Series I GI M822 89
BP Boss 8 M233 89 2
BP Boss 8 [IC] MX12 89
BP Boss 5 Series II M527 81 3
BP Boss 7i M279 89 1
BP Boss 7 2 (TT) M319 81
BP Boss 5 [McI] M616 81 5m
BP Boss 8 M233 89m
BP Boss 5 (A&D) M156 89
BP Boss 6 Ser II [NM] M549 81 3

więcej podobnych podstron