plik


{6/1/89 Copied & modified; Okuma OSP 3000-LC20 L049.52, for C G Richter. Machine is an Okuma LC20 lathe with an OSP3000L control. Delete the line "SeqC Rapid XSPC ZSPC EOL" following "G80" in canned cycle roughing. Change "'M42'" to "GearRange". Using M41 & M42 changeover at 1000 RPM. Jim Radcliffe} {7/24/90, Added InitProg globally to posts with this remark, DWB} {8/23/91, Updated "Okuma OSP 3000 LC20 L049.54" to .82 format, JR} {9/10/97 Initial: Okuma OSP 3000 LC20 L049.82 Created: Okuma OSP 3000 LC20 L049.85 Develop: ComPost2 1.1b2, Virtual Gibbs 3.35 PPC Comment: Updated per Fanuc 10T MS [-] L001.85.01.02 Jim Radcliffe} {Prog Numeric Format Definitions *******************************************} #1 = '#.00' #2 = '###.####;0.' #3 = '#######0' #4 = '###^##0' #5 = '#.######;0.' #6 = '00' FORMAT(FileFeet#,1) FORMAT(FileMeters#,1) FORMAT(MUL#,2) { Non-Canned Threading AutoFinish } FORMAT(FirstMoveEPX#,2) FORMAT(DistanceToThread#,2) FORMAT(Program#,3) {.72} FORMAT(Operation#,3) {.72} FORMAT(Tool#,3) {.72} FORMAT(Dwell#,4) {.72} FORMAT(FeedIPR#,5) FORMAT(ToolLess20#,6) FORMAT(ToolOffsetLess20#,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 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 ' ToolLess20# ': ' ToolSize$ ' ' ToolType$ ' )' EOL IF ToolOver20? '( TURRET 2 )' EOL ELSE '( TURRET 1 )' EOL END END IF ToolComment? '( ' ToolComment$ ' )' EOL END RestoreScale 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 END RETURN FeedNoCan: IF NOT CannedCycle? FeedC END RETURN FeedRateNoCan: IF NOT CannedCycle? FeedRateC END RETURN ApproachSP: IF ApproachFace? SeqC StockOnNoCan XSPC EOL SeqC StockOff ZOpCPC EOL StockOnNoCan IF NotEqual? CycleStartZ# ZOpCP# SeqC FeedNoCan ZSPC FeedRateNoCan EOL END ELSE { ODApproach/IDApproach } SeqC StockOnNoCan ZSPC EOL SeqC StockOff XOpCDC EOL StockOnNoCan IF NotEqual? CycleStartX# XOpCD# SeqC FeedNoCan XSPC FeedRateNoCan EOL END END RETURN AppMove: StockOff ThisOpEntryZCP RETURN Approach: { NOT FOR TAILSTOCK, .82 } IF ApproachOD? SeqC ThisOpEntryXCP AppMove EOL ELSE IF ApproachID? SeqC XOpCD AppMove EOL ELSE {ApproachFace} SeqC StockOnNoCan XSP AppMove EOL END END ApproachSP RETURN CheckOffset: {with gear ranges} DoEndOpPS IF CoolOff? AND LAST NOT CoolOff? SeqC CoolOff EOL END IF NewGear? SeqC SpinOff EOL END IF LAST ProgStop? SeqC 'M0' EOL END DoOpComments DoPostScript SeqC IF ConstantSurfaceFeed? IF LAST ConstantSurfaceFeed? IF NotEqual? MaxRPM# LAST MaxRPM# Preset MaxRPM END ELSE Preset MaxRPM END END IF NewGear? GearRange END EOL SeqC IF ConstantSurfaceFeed? IF LAST ConstantSurfaceFeed? IF NotEqual? SpeedRPM# LAST SpeedRPM# Speed END ELSE CSSOn 'G96' Speed END ELSE IF LAST ConstantSurfaceFeed? CSSOff 'G97' Speed ELSE IF NotEqual? SpeedRPM# LAST SpeedRPM# Speed END END END IF NewToolOffset? OpToolID '00' END IF LAST ProgStop? SpinOn ELSE IF NewGear? SpinOn END END EOL SeqC IF NewToolOffset? OpToolID ToolOffsetLess20# END IF LAST ProgStop? CoolOn ELSE IF NOT CoolOff? AND LAST CoolOff? CoolOn END END EOL RETURN FormatArc: IF ArcCW? CWArcC ELSE CCWArcC END MoveXC MoveZC IF ArcIJFormat? ArcIJC ELSE ArcRC END RETURN CkCRC: { 4.2 } IF XMove? OR ZMove? { Approach Length Feature and Multiple Pockets } IF NOT LastFeat? CRCOnC END END IF LastFeat? AND EmptyLine? { Exit Length Feature } CRCOffC END RETURN ToolPath: EACHFeat GetToolTip IF LastFeat? IF Drilling? IF Tap? SeqC SpinOff EOL SeqC 'G4F2000' EOL SeqC Speed InverseSpinOn EOL ELSE IF Dwell? SeqC 'G4F' Dwell# EOL END END END END IF PointFeat? SeqC MoveSXYC EOL ELSE IF RapidFeat? SeqC IF LAST ThreadFeat? Rapid ELSE RapidC END MoveXC MoveZC EOL ELSE IF LineFeat? SeqC CkCRC FeedC MoveXC MoveZC FeedRateC EOL ELSE IF ArcFeat? EACHQuadrant { Do not use NOT, LAST, FIRST or NEXT modifiers in this loop } SeqC FormatArc FeedRateC EOL NEXTQuadrant ELSE IF ThreadFeat? SeqC 'G32' MoveXC MoveZC ThrdLead EOL END END END END END NEXTFeat RETURN CheckRapid: CRCOffC IF LAST CannedCycle? Rapid ELSE IF LAST Threading? Rapid ELSE RapidC END END RETURN {Start of executable Prog **************************************************} {setup and initializations} InitProg SetAbs PosSideLathe 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: 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 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 ABSOLUTE INCHES )' EOL END END RestoreScale OpenSub StockOff {.71.2} SetHome DoOpComments DoPostScript Plane 'N100' IF ToolOver20? 'G14' EOL ELSE 'G13' EOL END IF ConstantSurfaceFeed? SeqC Preset MaxRPM EOL SeqC Rapid 'G95' CSSOff 'G97' CalcRPM1 ELSE SeqC Rapid 'G95' CSSOff 'G97' Speed END 'T' ToolLess20# ToolOffsetLess20# IF ToolOver20? SpinOn ELSE InverseSpinOn END CoolOn GearRange FeedRate EOL Approach ELSE IF NewTool? {Finish off last Operation} StockOff {.62} CheckRapid IF LAST ApproachOD? SeqC LAST OpExitXCPC EOL ELSE IF LAST ApproachID? SeqC LAST XOpECDC EOL END END SeqC LAST OpExitZCPC EOL DoEndOpPS IF LAST ConstantSurfaceFeed? SeqC CSSOff 'G97' CalcRPM2 EOL END SeqC NewHome IF NewGear? SpinOff ELSE IF ToolOver20? AND LAST NOT ToolOver20? SpinOff ELSE IF NOT ToolOver20? AND LAST ToolOver20? SpinOff END END END IF LAST ProgStop? 'M0' ELSE ProgStop END EOL {Start new Operation} DoOpComments DoPostScript 'N' Operation# '00' IF ToolOver20? 'G14' EOL ELSE 'G13' EOL END IF ConstantSurfaceFeed? SeqC Preset MaxRPM EOL SeqC Rapid CSSOff 'G97' CalcRPM1 ELSE SeqC Rapid CSSOff 'G97' Speed END 'T' ToolLess20# ToolOffsetLess20# IF ToolOver20? SpinOn ELSE InverseSpinOn END CoolOn GearRange FeedRate EOL Approach ELSE IF SameTool? {.62} {Start new Operation} 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 LAST OpExitZCPC EOL SeqC LAST OpExitXCPC EOL END ELSE IF ApproachID? IF LAST ApproachID? SeqC LAST XOpECDC EOL ELSE IF LAST ApproachOD? {around} SeqC LAST OpExitXCPC EOL END SeqC LAST OpExitZCPC EOL SeqC XOpCDC EOL END ELSE {ApproachFace} IF LAST ApproachFace? SeqC LAST ZOpECPC EOL ELSE IF LAST ApproachOD? {around} SeqC LAST OpExitXCPC EOL ELSE {LAST ApproachID} SeqC LAST XOpECDC EOL END SeqC LAST OpExitZCPC EOL END END END CheckOffset ApproachSP END END END END {common point for all operations} IF ConstantSurfaceFeed? AND NOT SameTool? SeqC CSSOn 'G96' Speed EOL END IF CannedCycle? StockOff IF Roughing? IF RoughContour? SetPass2 SeqC 'G85' EOL IF ApproachFace? SeqC 'G82' EOL END SeqC StepMove CutDepth XStkLeft ZStkLeft EOL SeqC StrtPos EOL ToolPath SeqC 'G80' EOL ELSE IF RoughPatternShift? SetPass2 SeqC 'G86' EOL IF ApproachFace? SeqC 'G82' EOL END SeqC Rapid IF ApproachFace? ZminusW ELSE XminusU END XStkLeft ZStkLeft EOL SeqC StrtPos EOL ToolPath SeqC 'G80' EOL END END ELSE IF Threading? IF Chamfer? SeqC 'M23' EOL END IF ConstantVolumeCut? SeqC 'G86' EOL SeqC CutDepth 'E' DiaDistanceToThread# EOL SeqC 'G33' XatFinZ FinZ XTapAtZ ThrdLead EOL SeqC 'G80' EOL SeqC Rapid XSPC ZSPC EOL ELSE SeqC 'G33X' FirstMoveEPX# FinZ XTapAtZ ThrdLead EOL SimpleRough END IF AutoFinish? SeqC XatFinZ EOL END IF Chamfer? SeqC 'M22' EOL END ELSE IF Drilling? SeqC 'G83' EOL SeqC 'G82' EOL SeqC Peck 'E0.' EOL SeqC Feed ZDepth FeedRate EOL SeqC 'G80' SeqC Rapid RLevel EOL IF AutoFinish? SeqC Feed ZDepth EOL SeqC RLevel EOL END ELSE IF Grooving? StockOn SetPass1 SeqC StrtPos EOL ToolPath END END END END ELSE StockOn SetPass1 ToolPath IF AutoFinish? { .82.1c } StockOff IF Turning? IF ApproachFace? SeqC RapidC ZOpECPC EOL ELSE SeqC RapidC XOpECDC EOL END ApproachSP SeqC StockOff StrtPosC EOL ToolPath ELSE IF Roughing? AND NOT RoughSimple? SetPass2 SeqC RapidC XSPC ZSPC EOL SeqC StockOff StrtPosC EOL ToolPath SetPass1 ELSE IF Threading? SeqC 'X' MUL# Num#('2') ADD# FinishXRadius# Taper# EOL SeqC 'G32' IF Taper? XatFinZ END FinZ ThrdLead EOL SeqC Rapid XSP EOL SeqC ZSP EOL END END END END END IF Drilling? AND Tap? SeqC SpinOff EOL SeqC 'G4F2000' EOL SeqC Speed SpinOn EOL END NextOp {loops back to EachOP until last Operation} {End of program ************************************************************} {finish last operation} StockOff CRCOffC IF CannedCycle? Rapid ELSE IF Threading? Rapid ELSE RapidC END END IF ApproachOD? SeqC OpExitXCPC EOL ELSE IF ApproachID? SeqC XOpECDC EOL END END SeqC OpExitZCPC EOL DoEndOpPS SeqC CoolOff EOL SeqC FirstHome ProgStop EOL SeqC EOP EOL Post EOR EOL Close 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:
Okuma OSP 5020L [PB] L604 85 1
Okuma OSP 5000 [NC] L606 85 1
Okuma OSP 5020 [TPM] L572 85
Okuma OSP 5020L [CP] L787 85
Okuma OSP 7000L [JDHW] L707 85 1m
Okuma OSP 3000 LC10 L069 82 1
Okuma OSP 5020L [WMC] L676 85 3
Okuma OSP 5500 Cadet L331 85
Okuma OSP 5020L [GCS] L540 85
Okuma OSP 5020L [MP] L626 85
Okuma OSP 5020 [MM] L806 85
Okuma OSP 3000 LB20 L067 82
Okuma OSP 5020 [IP] L523 85 1

więcej podobnych podstron