plik


{Change Comments ***********************************************************} {6/5/89, changed tool path to force feed on first TP move after a tool change,added Metric, WFG} {.62,1/24/90, added OP clearances for v3.2, WFG} {1/29/90 Modified: Fanuc 10T MS [-] L001.69 Deleted ClearancePlane1# & FirstMoveEPX# prog format, they are not being used. Deleted extra 4 lines not needed from fall thru if not canned cycle. Added SetHome command, enables incremental ouput. Deleted ZeroPosReg command, has no effect. Jim Radcliffe} {2/16/90 Modified: Fanuc 10T MS [-] L001.69.1 Added Feedrate to Approach sub. Deleted FirstFeed sub & changed FirstFeed command to Feedrate in ToolPath. Jim Radcliffe} {2/20/90 Modified: Fanuc 10T MS [-] L001.69.2 Deleted extra StockOnNoCan command from Approach sub. Added missing CheckOffset commands to SameTool. Added FeedrateC commands to SameTool Feed lines. Jim Radcliffe} {4/5/90 Copied & modified: Fanuc 10T MS [-] L001.69.3 For: Idessys Machine: Control: NUM 760 T This is a Metric Processor. ASCII('18') , X Off, used for end of programs. No Canned Cycles except for Threading & Drilling. Jim Radcliffe} {7/24/90, Added InitProg globally to posts with this remark, DWB} {11/12/90 Copied & modified: NUM 760T ISO L152.70m For: Idessys Machine: Control: NUM 760 T Added Metric Scaling. Deleted all canned cycles except for Threading and Peck Drilling. Changed all SeqLab to Seq and deleted Retag. Updated to Version 3.2 per Fanuc 10T MS [-] L001.71.4 Format. DWB} {11/12/90 Copied & modified: NUM 760T ISO L152.71.4m For: Idessys Machine: RealMeca T200 Control: NUM 760 T Made following corrections per request from Idessys: Added SetMaxRPM. Added Program# to EOR at beginning. Deleted ProgID1. Deleted ' G71'. Machine starts up in Metric. Deleted all GearRange handling and output. DWB} {10/24/91 Updated: NUM 760T RealMeca L183.71.4m For: Gibbs & Associates Updated to Version 4.0 per Fanuc 10T MS [-] L001.82 Format. Kim Michelman} {Prog Numeric Format Definitions *******************************************} #1 = '#.00' #2 = '###.####;0' #3 = '########;0' #4 = '##.##;0' #5 = '#.######;0' #6 = '###0' FORMAT(FileFeet#,1) FORMAT(FileMeters#,1) FORMAT(CycleStartX#,2) FORMAT(FinishXDia#,2) FORMAT(CycleStartZ#,2) FORMAT(FinishZ#,2) FORMAT(FirstMoveEPZ#,2) FORMAT(Program#,3) {.72} FORMAT(Operation#,3) {.72} FORMAT(Tool#,3) {.72} FORMAT(Dwell#,4) {.72} FORMAT(FeedIPR#,5) FORMAT(CalcEPRPM#,6) {Prog Subroutines **********************************************************} 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# ': ' ToolSize$ ' ' ToolType$ ' )' EOL END IF ToolComment? '( ' ToolComment$ ' )' EOL END IF NOT Metric? {CAM file is in English, tools and tool path} SetScale('25.4') { change to Metric, this is a Metric post} END END RETURN PSInit: {reset flags from last Op, .70} RETURN PSStuff: RETURN DoPostScript: PSInit EachPS SeqC PostScript EOL {literals} PSStuff {commands} NextPS RETURN DoEndOpPS: PSInit EachEOPS SeqC EndOpPS EOL {literals} PSStuff {commands} NextPS RETURN StockOnNoCan: IF NOT CannedCycle? StockOn {need stock for SP positioning, if not a canned cycle} END RETURN ODApproachSP: SeqC StockOnNoCan ZSPC EOL SeqC StockOff XOpCDC EOL SeqC StockOnNoCan XSPC EOL RETURN IDApproachSP: SeqC StockOnNoCan ZSPC EOL SeqC XSPC EOL RETURN FaceApproachSP: SeqC StockOff ZOpCPC EOL SeqC StockOnNoCan ZSPC EOL RETURN AppMove: ZCP IF NOT CoolOff? CoolOn END EOL RETURN Approach: { NOT FOR TAILSTOCK, .82 } IF ApproachOD? SeqC Rapid XCP AppMove EOL ODApproachSP ELSE IF ApproachID? SeqC Rapid XOpCD AppMove EOL IDApproachSP ELSE {ApproachFace} SeqC Rapid StockOnNoCan XSP StockOff AppMove EOL FaceApproachSP END END RETURN CheckOffset: DoEndOpPS IF NewToolOffset? SeqC ' D0' EOL SeqC ToolOfst EOL END IF ConstantSurfaceFeed? IF LAST NOT ConstantSurfaceFeed? SeqC Preset MaxRPM EOL ELSE ' G97' END SeqC CSSOff CalcRPM1 EOL ELSE IF LAST ConstantSurfaceFeed? ' G97' END SeqC CSSOff SpeedC EOL END DoPostScript RETURN FormatArc: IF ArcCW? CWArcC ELSE CCWArcC END MoveX MoveZ IF ArcIJFormat? ArcJ ArcI ELSE ArcR END RETURN FirstFeed: { This will force a Feedrate on FirstFeat for each operation } IF FirstFeat? Feedrate ELSE FeedrateC END RETURN ToolPath: EACHFeat GetToolTip IF LastFeat? IF Drilling? IF Tap? SeqC SpinOff EOL SeqC ' G04 F2.' EOL SeqC Speed InverseSpinOn EOL ELSE IF Dwell? SeqC ' G04 F' Dwell# EOL END END ELSE IF CannedCycle? Seq END END END IF PointFeat? SeqC MoveSXYC EOL ELSE IF RapidFeat? SeqC RapidC MoveXC MoveZC FirstFeed EOL { force Feedrate on FirstFeat, even if Rapid } ELSE IF LineFeat? SeqC FeedC MoveXC MoveZC FirstFeed EOL ELSE IF ArcFeat? EACHQuadrant { Do not use NOT, LAST, FIRST or NEXT modifiers in this loop } SeqC FormatArc FirstFeed EOL {force Feedrate on FirstFeat, even if Arc} NEXTQuadrant ELSE IF ThreadFeat? SeqC ' G33' MoveXC MoveZC XTapAtZ ThrdLead EOL END END END END END NEXTFeat RETURN CheckRapid: IF LAST CannedCycle? Rapid ELSE RapidC END RETURN {Start of executable Prog **************************************************} {setup and initializations} InitProg PosSideLathe SetMaxRPM('4950') 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 END EachOp {Start of post processing *********************} GetLCycle IF FirstOperation? EOR Program# 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 ' MoveType$ ' METERS )' EOL END END IF NOT Metric? {CAM file is in English, tools and tool path} SetScale('25.4') { change to Metric, this is a Metric post} END OpenSub StockOff {.71.2} SetHome DoOpComments DoPostScript Plane Seq AbsOrInc ' G95' EOL SeqC Preset Home MaxRPM EOL SeqC OpToolID ToolOfst ToolChng EOL SeqC CSSOff ' G97' IF ConstantSurfaceFeed? CalcRPM1 ELSE Speed END SpinOn EOL Approach ELSE IF NewTool? {Finish off last Operation} StockOff {.62} CheckRapid IF LAST ApproachOD? SeqC XCPC EOL ELSE IF LAST ApproachID? SeqC LAST XOpECDC EOL END END SeqC ZCPC EOL DoEndOpPS IF LAST ConstantSurfaceFeed? SeqC CSSOff ' G97' CalcRPM2 EOL END SeqC NewHome ' D0' EOL IF LAST ProgStop? SeqC ' M00' EOL ELSE SeqC ProgStop EOL END {Start new Operation} DoOpComments DoPostScript Plane Seq Preset Home MaxRPM EOL SeqC OpToolID ToolOfst ToolChng EOL SeqC CSSOff ' G97' IF ConstantSurfaceFeed? CalcRPM1 ELSE Speed END SpinOn EOL Approach ELSE IF SameTool? {.62} {Start new Operation} DoOpComments StockOff IF LAST StraightConnect? CheckOffset CheckRapid SeqC StockOnNoCan XSPC ZSPC EOL ELSE CheckRapid IF ApproachOD? IF LAST ApproachOD? SeqC LAST XOpECDC EOL ELSE {around} IF LAST ApproachID? SeqC LAST XOpECDC EOL END SeqC ZCPC EOL SeqC XCPC EOL END CheckOffset ODApproachSP ELSE ELSE IF ApproachID? IF LAST ApproachID? SeqC LAST XOpECDC EOL ELSE IF LAST ApproachOD? {around} SeqC XCPC EOL END SeqC ZCPC EOL SeqC XOpCDC EOL END CheckOffset IDApproachSP ELSE {ApproachFace} IF LAST ApproachFace? SeqC LAST ZOpECPC EOL ELSE IF LAST ApproachOD? {around} SeqC XCPC EOL ELSE {LAST ApproachID} SeqC LAST XOpECDC EOL END SeqC ZCPC EOL END CheckOffset FaceApproachSP END END END END END END {common point for all operations} IF ConstantSurfaceFeed? SeqC CSSOn ' G96' Speed EOL END IF CannedCycle? StockOff IF Roughing? IF RoughSimple? StockOn SetPass1 ToolPath IF AutoFinish? IF ApproachFace? SeqC Feed ' Z' FinishZ# EOL SeqC ' X' FinishXDia# EOL SeqC ' Z' CycleStartZ# EOL SeqC Rapid ' X' CycleStartX# EOL ELSE SeqC Feed ' X' FinishXDia# EOL SeqC ' Z' FinishZ# EOL IF ApproachOD? SeqC ' X' CycleStartX# EOL SeqC Rapid ' Z' CycleStartZ# EOL ELSE {ApproachID} SeqC Rapid ' X' CycleStartX# EOL SeqC ' Z' CycleStartZ# EOL END END END ELSE TagInc IF RoughContour? StockOn SetPass1 ToolPath IF AutoFinish? SetPass2 SeqC StepMove StrtPosC EOL ToolPath IF ApproachFace? SeqC ' X' CycleStartX# EOL ELSE SeqC ' Z' CycleStartZ# EOL END END ELSE IF RoughPatternShift? StockOn SetPass1 ToolPath IF AutoFinish? SetPass2 SeqC RapidC StrtPosC EOL ToolPath SetPass1 EachFeat NextFeat SeqC Rapid MoveX MoveZ EOL END END END END ELSE IF Threading? SeqC LCycle XatFinZ FinZ ThrdLead ThrdHeight CutDepth IF SingleEdgeCut? ToolAngle ELSE ' EB0' END EOL IF AutoFinish? SeqC ' G33' XatFinZ FinZ ThrdLead EOL SeqC Rapid XCSP EOL SeqC ZCSP EOL ELSE Rapid END ELSE IF Drilling? IF Tap? SeqC LCycle ZDepth ' F' FeedIPR# EOL SeqC SpinOff EOL SeqC ' G04 F2.' EOL SeqC Speed InverseSpinOn EOL SeqC ZSP EOL ELSE IF PeckChipBreaker? IF Peck? SeqC LCycle ZDepth RLevel Dwell Peck Retract FeedRate EOL IF Dwell? ' EF' Dwell# ' G4F' Dwell# END EOL SeqC DrillOff EOL Feed ELSE SeqC LCycle ZDepth RLevel Dwell Peck Retract FeedRate EOL SeqC DrillOff EOL IF AutoFinish? SeqC FeedC ZDepth EOL IF Dwell? SeqC ' G04 F' Dwell# EOL END IF NOT FIFO? Rapid END SeqC ZSP EOL END END END ELSE IF Grooving? StockOn SetPass1 SeqC StrtPos EOL ToolPath END END END END END ELSE StockOn SetPass1 ToolPath IF AutoFinish? IF NOT Grooving? IF Roughing? IF RoughSimple? IF ApproachFace? SeqC Feed ' Z' FinishZ# EOL SeqC ' X' FinishXDia# EOL SeqC ' Z' CycleStartZ# EOL SeqC Rapid ' X' CycleStartX# EOL ELSE SeqC Feed ' X' FinishXDia# EOL SeqC ' Z' FinishZ# EOL IF ApproachOD? SeqC ' X' CycleStartX# EOL SeqC Rapid ' Z' CycleStartZ# EOL ELSE {ApproachID} SeqC Rapid ' X' CycleStartX# EOL SeqC ' Z' CycleStartZ# EOL END END ELSE IF RoughContour? SetPass2 SeqC StepMove StrtPosC EOL ToolPath IF ApproachFace? SeqC ' X' CycleStartX# EOL ELSE SeqC ' Z' CycleStartZ# EOL END ELSE IF RoughPatternShift? SetPass2 SeqC RapidC StrtPosC EOL ToolPath SetPass1 EachFeat NextFeat SeqC Rapid MoveX MoveZ EOL END END END ELSE IF Threading? SeqC ' G33' XatFinZ FinZ ThrdLead EOL ELSE IF Drilling? IF NOT Tap? SeqC FeedC ZDepth EOL IF Dwell? SeqC ' G04 F' Dwell# EOL END IF NOT FIFO? Rapid END SeqC ZSP EOL END ELSE StockOff SetPass1 RapidC IF ApproachOD? SeqC XOpCDC EOL SeqC ZSPC EOL SeqC XSPC EOL ELSE IF ApproachID? SeqC XOpCD EOL SeqC ZSPC EOL SeqC XSPC EOL ELSE {ApproachFace} SeqC ZOpCPC EOL SeqC XSPC EOL SeqC ZSPC EOL END END ToolPath END END END END END END IF Drilling? AND Tap? SeqC SpinOff EOL SeqC ' G04 F2.' EOL SeqC Speed SpinOn EOL END NextOp {loops back to EachOP until last Operation} {End of program ************************************************************} {finish last operation} StockOff IF CannedCycle? Rapid ELSE RapidC END IF ApproachOD? SeqC XCPC EOL ELSE IF ApproachID? SeqC XOpECDC EOL END END SeqC ZCPC EOL DoEndOpPS SeqC CoolOff EOL IF ConstantSurfaceFeed? SeqC CSSOff ' G97 S' CalcEPRPM# EOL END SeqC FirstHome ' D0' SpinOff EOL IF ProgStop? SeqC 'M0' EOL END SeqC EOP EOL Post ASCII('18') 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

Wyszukiwarka

Podobne podstrony:
NUM 760T ISO L152 85m
NUM 760T ISO L152 85
całkowanie num metoda trapezów
Fanuc 6T Mazak [Mat] L393 82m
function msql num rows
NUM 760F ISO M296 89 1
val num or char
function pg num fields
met num rown rozniczkowe wyklad
G & L Num 8000B [RE] MZ64 89 2
Fan 0T Miy BNC S [WB] L260 82m

więcej podobnych podstron