plik


{Change Comments ***********************************************************} {2/7/91 Copied & modified: Fanuc 6M M001.76.1 For: Teleflex Machine: Mori Seiki MV 40 Control: Yasnac MX1 First Tool In Spindle. Move Speed to saftey start block. Suppress WFO output to MP & PostScript. Move SpinOn to OfstOn line. Add literal sub calls to P9101 & P8001. Add PreTool. Replace Home stuff will literal sub call to P9101. Supress tool comments on SameTool operations. Delete DrillCP command. Delete StrtPos from drill cycle line. Add to operation comments. Unconditional ZCP3 after drilling. Jim Radcliffe} {4/3/91 Updated: Yasnac MX1 MS MV40 M398.76.1 For: Gibbs & Associates Updated to Version 4.0 per Fanuc 6M M001.80 Format. Did not verify, thus version .79 DWB} {6/15/94 Updated: Yasnac MX1 MS MV40 M398.79 For: Gibbs & Associates per Strom Mfg Versions: ncCad 4.33/ncCAM 4.33/ncPost 4.33.03/Compost 4.21.22 Updated to Version 4.2 per Fanuc 6M M001.81.2d Format. Corrected FORMAT5 from '########;0' to '#######0'. Corrected FORMAT6 for Dwell# from '####^###;' to '####^##0'. Added RestoreScale Sub per 4-Axis Post Processor. 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 variable Drill depths at ToolPath PointFeat. Moved UnSkipZ from FinishSub1 to ZOnlyRep where SkipZ is set. Added IF NOT LastTool? for PreTool at FirstOperation. Added TrackZNO# SPZ# at IF Drilling? section to allow for conditionality of MoveSXYZC command. DWB} {6/27/94 Copied: Yasnac MX1 MS MV40 M398.81.2 Created: Yasnac MX1 MVJr [SM] M671.81.2 For: Strom Mfg Versions: Catalyst v2.05.16L/Compost 4.21.22 Changes made per Michael Strom, G-Code list, M-Code list and hardcopy sample program. Changed G28 to G49 for Tool Length Offset Cancel in Compost Commands 5 dialog. Added TrackY# to FORMAT#4. Added Sequence# to FORMAT#5. Added NextTool# to FORMAT#5. Added ToolOffset# to FORMAT#5. Added CRCOffset# to FORMAT#5. Deleted suppression of SameTool ToolComments at DoOpComments sub. Added 'M11/M10' for PostScript FourthDegree# UnClamp/Clamp at PSStuff sub. Added special output of CRCOffset# at CkCRC sub. Deleted CRCOffsetC 3 places at StdLine sub. Added call to CkCRC at ToolPath RapidFeat. Added full WorkFixtureOffset support at WFOStuff sub. Added condition to output NewWFO warning for WorkFixtureOffset MultipleParts at WFOStuff sub. Changed all occurances of DrillOff command to literal 'G80'. Added literal '#116=0' at FirstOperation. Added literal 'GOTO' Sequence# at FirstOperation. Added blank line prior to DoOpComments at FirstOperation Added Seq ' ' to DoOpComments call at FirstOperation and NewTool. Modified Safe Start block and moved to follow DoPostScript call at FirstOperation and NewTool. Moved Speed after WFOStuff call at FirstOperation and NewTool. Moved SpinOn from OfstOn block to Speed block at FirstOperation and NewTool. Deleted literal sub calls to P9101 & P8001 for Teleflex per 2/7/91 notes. Moved PreTool to StrtPos block at FirstOperation and NewTool. Changed PreTool to literal 'T[' NextTool# '+#116]' at FirstOperation and NewTool. Moved CoolOn to OfstOn block at FirstOperation, NewTool and SameTool. Changed OfstOn to literal 'G43' ZCP1 'H[' Tool# '+#116]' at FirstOperation, NewTool and SameTool. Moved IncValue OfstOff after CoolOff block at NewTool and end of Prog. Moved CoolOff to OfstOff block at NewTool, SameTool and end of Prog. Changed OfstOff to literal 'G28Z2.' at NewTool, SameTool and end of Prog. Deleted SpinOff at NewTool and end of Prog. Added ToolChangeAtHome at NewTool and end of Prog. Added literal 'G52', Return to Reference Coordinate System to ToolChangeAtHome at NewTool and end of Prog. Deleted IF ToolChangeAtHome condition to output Home/FirstHome at NewTool and end of Prog. Changed Home/FirstHome to literal 'Y' TrackY# Num#('-4') at NewTool and end of Prog. Added DrillCP at IF Drilling. Switched FromCP and Cycle commands to Drill Cycle Block at IF Drilling. Added StrtPos to Canned Drilling block at IF Drilling. Changed ZCP3 to ZCP3C at IF Drilling. Deleted StrtPos from Drill Cycle Block at IF Drilling. Moved ToolChng to follow ProgStop at end of Prog. Added condition to output ToolChng IF NOT FirstTool at end of Prog. Added literal 'Y' TrackY# Num#('0') for Pallet Changing at end of Prog. DWB} {6/27/94 Copied: Yasnac MX1 MVJr [SM] M671.81.2 Created: Yasnac MX1 MV40 [SM] M672.81.2 For: Strom Mfg Versions: Catalyst v2.05.16L/Compost 4.21.22 Changes made per Michael Strom, G-Code list, M-Code list and hardcopy sample program. Changed Sub Label Repeat Address from L to K in Compost Strings 2 Dialog. Added support of Rigid Tap Cycle. Added OptCyc1F at PSInit. Added test for Drilling AND Tap AND OptCyc1 to output literal 'M29' instead of SpinOn at FirstOperation, NewTool and SameTool. Added Repeats# to FORMAT#5. Changed RepCycs to Repeats# at StdSub sub. Changed Parts to Parts# 2 places at OpenMP sub. Changed ProgID1 to ':' Program# at FirstOperation. Deleted AbsOrInc Rapid 'G52Y' TrackY# Num#('-4') at NewTool and end of Prog. Deleted literal 'Y' TrackY# Num#('0') for Pallet Changing at end of Prog. DWB} {1/25/96 Copied: Yasnac MX1 MVJr [SM] M671.81.2 Created: Yasnac MX1 MV40 [SM] M672.81.3 For: Strom Mfg Changes made per Michael Strom, Added Custome Header as per customer fax Forced Program name output with no coments Added tool list output as per customer fax Added custome tool chance code as per custmer fax JM} {2/9/96, Updated .81 version to .84, MPK} {3/4/96 Copied: Yasnac MX1 MV40 [SM] M672.84 Created: Yasnac MX1 MV40 [SM] M672.84.1 For: Strom Mfg Added Tool in spindle line. Removed User editable coments Moved Origin Coment to top of program. Moved Origin Coment to top of program after Program # JM} {3/21/96 Initial: Yasnac MX1 MV40 [SM] M672.84.1 Created: Yasnac MX1 MV40 [SM] M672.84.2 ForUser: Strom Manufacturing, Inc. Develop: ComPost 4.21.34, Catalyst68K v3.02.07C Comment: Modified per marked up readout from Bill Strom Added '#101=#101+1' & 'END1' to end of program same as end of other tools. Deleted Footer Comments. Jim Radcliffe} {2/5/97 Initial: Yasnac MX1 MV40 [SM] M672.84.2 Created: Fanuc 16M MV40 [SM] M672.84.3 ForUser: Strom Manufacturing, Inc. Control: Fanuc 16M Machine: Mori Seiki MV40 Develop: ComPost2 68K 1.0b11, Virtual Gibbs 3.23 Comment: Modified per conversation with Mike Strom Bug Fixes D01 to DO1 on While line. D110 should be D#110 on G65 line. Requests: Fine tuning adjustments to tool changes. Modified M29 output for RigidTap. Notes: Customer wants all output to be in one program. He would accept subroutines but not subprograms! I do not know how to do subroutines on a Fanuc 16M! Called Ken Crowther and he does not believe there is a command for subroutines! Jim Radcliffe} {2/5/97 Initial: Fanuc 16M MV40 [SM] M672.84.3 Created: Fanuc 16M MV40 [SM] M672.14 Develop: ComPost2 68K 1.0b11, Virtual Gibbs 3.23 Comment: Modified per conversation with Mike Strom Changed to .14 format. No Subprograms. No Multiple Part support. Jim Radcliffe} {Prog Numeric Format Definitions ****} #1 = '#.00' #2 = '#####.###;0.' #3 = '*#####.###;0.' #4 = '####.####;0.' #5 = '#######0' #6 = '####^##0' FORMAT(FileFeet#,1) FORMAT(FileMeters#,1) FORMAT(ToolDiameter#,4) FORMAT(TrackZNO#,4) FORMAT(NextTool#,5) FORMAT(ToolOffset#,5) FORMAT(CRCOffset#,5) FORMAT(Program#,5) FORMAT(Operation#,5) FORMAT(Tool#,5) FORMAT(NewWFO#,5) FORMAT(Parts#,5) FORMAT(Dwell#,6) {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 DoSubComment: 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 '( TOOL ' Tool# ': ' ToolDiameter# ' ' ToolType$ ' )' EOL IF ToolComment? '( ' ToolComment$ ' )' EOL END RestoreScale END RETURN PSInit: NewWFOF RotateF OptCyc1F RETURN PSStuff: IF FourthCW? FORMAT(FourthDegree#,2) SeqC 'M11' EOL { UnClamp } SeqC 'A' FourthDegree# EOL SeqC 'M10' EOL { Clamp } FourthCWF END IF FourthCCW? FORMAT(FourthDegree#,3) SeqC 'M11' EOL { UnClamp } SeqC 'A' FourthDegree# EOL SeqC 'M10' EOL { Clamp } FourthCCWF END IF FifthCW? FORMAT(FifthDegree#,2) SeqC 'B' FifthDegree# EOL FifthCWF END IF FifthCCW? FORMAT(FifthDegree#,3) SeqC 'B' FifthDegree# EOL FifthCCWF END 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 IF NOT EmptyLine? SetFlag('1') END END END RETURN ckCRCNum: IF Flag?('1') 'D[' CRCOffset# '+#116]' { CRCOffsetC } SetFlagF('1') END RETURN StdRapid: IF XMove? OR YMove? OR ZMove? SeqC ckCRC RapidC MoveXYZC ckCRCNum EOL END RETURN StdLine: 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: ResetCRCNum 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 WFOStuff: IF NewWFO? SeqC 'G' NewWFO# EOL ELSE IF NOT SameTool? IF NeedWFO1? SeqC 'G' NewWFO# EOL END END END RETURN CheckPass: IF AutoCycle? {use the correct StrtPos} SetPass2 ELSE SetPass1 END RETURN OpGuts: IF Milling? SeqC ZCP2C EOL IF Repeats? IF ZshiftOnly? AND AutoCycle? {done in CutAutoCycle called from ToolPath} ELSE EACHRep DoSubComment IF NOT FirstCycle? SeqC Connect StrtPos EOL IF NOT FeedConnect? SeqC ZCP2C EOL END END IF NOT AutoCycle? EntryMove END ToolPath SeqC CRCOffC IF NOT FeedConnect? ExitType PRIME ZCP3C END ExitFeed EOL NEXTRep END ELSE IF NOT AutoCycle? EntryMove END ToolPath END IF AutoCycle? SeqC ZCP3C EOL ELSE SeqC CRCOffC ExitType ZCP3C ExitFeed EOL END ELSE IF Drilling? IF Repeats? EACHRep DoSubComment END SeqC DrillCP EOL GetCycle IF RigidTap? SeqC 'M29' EOL END SeqC FromCP Cycle ZDepth RLevel Dwell Peck Retract FeedEnt EOL TrackZNO# FIRST SPZ# ToolPath IF RetractToCP1? TrackZNO# ClearancePlane1# ELSE TrackZNO# ClearancePlane2# END SeqC 'G80' EOL IF Repeats? NEXTRep END SeqC RapidC ZCP3C EOL END END RETURN ProgStart: InitProg ReverseXZArcs InitWFONum SetFlood SetMaxRPM('10000') SetMaxFeed('500') SetFlagF('1') { output CRCOffset } 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 InitOp: EOR EOL ':' Program# ' ( ' ProgramName$ ' )' EOL '( ' ProgramComment$ ' )' EOL {CUSTOM COMENTS A PER CUSTOMER} '#100=1 (NUMBER OF VICES)' EOL '#102=0 (STARTING VICE, VICES AR NUMBERS 0,1,2...ECT)' EOL '#106=XX.XXX (INITAL X G54 POSITION FROM X DATUM)' EOL '#107=XX.XXX (INITAL Y G54 POSITION FROM Y DATUM)' EOL '#108=XX.XXX (INITAL X G55 POSITION FROM X DATUM)' EOL '#109=XX.XXX (INITAL Y G55 POSITION FROM Y DATUM)' EOL '#110=#506 (DISTANCE BETWEEN VICES)' EOL '#116=0 (HEIGHT AND DIAMETER ADJUST)' EOL 'GOTO1' EOL ASCII('13') EOL EachTool {tool loop to give a list of tools in program header} '(T' TLNum# ' ' TLToolComment$ ')' EOL NextTool ASCII('13') EOL IF ToolChangeAtHome? SetHome END IF UseComments? 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 NOT IN SPINDLE )' EOL END END OpenSub RestoreScale RETURN FirstOp1: Seq ' ' DoOpComments EOL SeqC ProgStop EOL SeqC 'T[' Tool# '+#116]' EOL SeqC ToolChng EOL DoPostScript SeqC Plane CRCOff 'G80' AbsOrInc Rapid EOL SeqC '#101=#102(SET STARTING VICE POSITTION)' EOL {custom tool change for STROM} SeqC 'WHILE[#101LT#100]DO1' EOL SeqC 'G65P9500V#101D#110 (SETS POSITIONING FOR MACHINED PART)' EOL WFOStuff SeqC Speed IF Drilling? AND RigidTap? { supress SpinOn } ELSE SpinOn END EOL RETURN FirstOp2: CheckPass SeqC AbsOrInc Rapid StrtPos IF NOT LastTool? 'T[' NextTool# '+#116]' { PreTool } END EOL RETURN FirstOp3: SeqC 'G43' ZCP1 'H[' ToolOffset# '+#116]' CoolOn EOL { OfstOn } RETURN NewToolOp1: '#101=#101+1' EOL 'END1' EOL SeqC IncValue 'G28Z2.' CoolOff EOL { Return to Reference Point } RETURN NewToolOp2: DoEndOpPS IF LAST ProgStop? SeqC 'M00' EOL END RETURN NewToolOp3: {Start new Operation} Seq ' ' DoOpComments EOL SeqC ProgStop EOL SeqC 'T[' Tool# '+#116]' EOL SeqC ToolChng EOL DoPostScript SeqC Plane CRCOff 'G80' AbsOrInc Rapid EOL SeqC '#101=#102(SET STARTING VICE POSITTION)' EOL {custom tool change for STROM} SeqC 'WHILE[#101LT#100]DO1' EOL SeqC 'G65P9500V#101D#110 (SETS POSITIONING FOR MACHINED PART)' EOL WFOStuff SeqC Speed IF Drilling? AND RigidTap? { supress SpinOn } ELSE SpinOn END EOL RETURN NewToolOp4: CheckPass SeqC AbsOrInc Rapid StrtPos 'T[' NextTool# '+#116]' EOL { PreTool } RETURN NewToolOp5: SeqC 'G43' ZCP1 'H[' ToolOffset# '+#116]' CoolOn EOL { OfstOn } RETURN SameToolOp1: DoEndOpPS IF LAST ProgStop? SeqC IncValue 'G28Z2.' CoolOff EOL { Return to Reference Point } SeqC SpinOff EOL SeqC 'M00' EOL ELSE IF CoolOff? AND LAST NOT CoolOff? SeqC CoolOff EOL END IF NewToolOffset? SeqC IncValue 'G28Z2.' EOL { Return to Reference Point } END END RETURN SameToolOp2: {Start new Operation} DoOpComments DoPostScript CheckPass RETURN SameToolOp3: {Start new Operation} WFOStuff IF LAST ProgStop? SeqC PlaneC AbsOrInc Rapid StrtPos SpeedC IF Drilling? AND RigidTap? { supress SpinOn } ELSE SpinOn END EOL SeqC 'G43' ZCP1 'H[' ToolOffset# '+#116]' CoolOn EOL { OfstOn } ELSE SeqC PlaneC AbsOrInc Rapid StrtPos SpeedC EOL IF NewToolOffset? SeqC 'G43' ZCP1 'H[' ToolOffset# '+#116]' EOL { OfstOn } END IF NOT CoolOff? AND LAST CoolOff? SeqC CoolOn EOL END END RETURN End1: '#101=#101+1' EOL 'END1' EOL SeqC IncValue 'G28Z2.' CoolOff EOL { Return to Reference Point } RETURN End2: DoEndOpPS IF ProgStop? SeqC 'M00' EOL END RETURN End3: SeqC ProgStop EOL IF NOT FirstTool? SeqC ToolChng EOL END SeqC EOP EOL CloseSub Post2 {organize Subs into one program} EOR 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 NoMPs: {no multiple parts} EachOp {Start of post processing} IF FirstOperation? InitOp FirstOp1 FirstOp2 FirstOp3 ELSE IF NewTool? NewToolOp1 NewToolOp2 NewToolOp3 NewToolOp4 NewToolOp5 ELSE {implied SameTool?} SameToolOp1 SameToolOp2 SameToolOp3 END END {common point for all operations} OpGuts NextOp {loops back to EachOP until last Operation} End1 {End of program} End2 End3 RETURN {Start of executable Prog, Top Level ****} ProgStart {setup and initializations} IF MultipleParts? ASCII('13') EOL ASCII('13') EOL 'This Processor does not' EOL 'Support Multiple Part Output' EOL ASCII('13') EOL ASCII('13') EOL ELSE NoMPs END

Wyszukiwarka

Podobne podstrony:
Fanuc 5M Mazak LH [JT] MU88 16m
Fanuc 16M Roku [SM] MT38 89 2
Fanuc 16M Edgetec L570 85
Fanuc 16M Makino [EE] NMT56 16
Fanuc 11M MTS LH M059 13 1
Fanuc 16M Makino [APM] C427 12
Fanuc 0M LW LH [RI] CU58 16
Fanuc 10M MV40 [KC] M668 81 2
Fanuc 3000C Mat LH PM M495 89 3
Fanuc 10M MV40 [WP] M426 89 1
Fanuc 16M Makino [MM] CX91 13m
Fanuc 10M MV40 [OI] M993 89
Fanuc 10M MV40 [AC] RM334 17 5
Fanuc 16M [AP] C789 13 5m
Fanuc 16M [SB] CX54 13 1

więcej podobnych podstron