plik


{Change Comments ***********************************************************} {8/16/95, Updated for Catalyst v2.20 per Fanuc 10T MS [-] L001.85.01 Format. DWB} {4/7/97, added Y and J format to Default formats. MPK} {19Jun97 Original: Okuma OSP 5000 LC10 L235.85.1 Created: Okuma OSP 5000 [NC] Lxxx.85 For: NUPRO Concord Changes made per: Steve Buco Changed Literal in TurretHome from 'X30.Z30.' to ' X15 Z15' Deleted 'G14' Rapid TurretHome in SetTurret Added leading spaces to all codes Added '$' ProgramName before EOR at the start of FirstOperation Added Special Comment Fields in FirstOperation per customers spec. Added Litterals after SetTurret in FirstOperation Changes to CSS line in FirstOperation and NewTool... Moved initial rapid move from Appraoch: to CSS line Deleted Tab and Moved Speed SpinOn Added Literal ' M42 P10' Added Booleans for OptionalStops in FirstOperation and NewTool Added Booean to output ' M01 P20' in Newtool Charles Winston} {6/30/97 Initial: Okuma OSP 5000 [NC] L606.85 Created: Okuma OSP 5000 [NC] L606.85.1 ForUser: NUPRO Concord Develop: ComPost2 68K 1.0b11, Virtual Gibbs 3.35 PPC Comment: Modified per fax from Steve Buco Added to custom header comments. Jim Radcliffe} {Prog Numeric Format Definitions *******************************************} #1 = '#.00' #2 = '+####.####;0' #3 = '#######0' #4 = '###.##;0' #5 = '####.####;0' #6 = '###0' #7 = '#' #8 = '00' { See TurretToolID sub } FORMAT(FileFeet#,1) FORMAT(FileMeters#,1) FORMAT(MUL#,2) { Non-Canned Threading AutoFinish } FORMAT(XCutDepth#,2) FORMAT(ZCutDepth#,2) FORMAT(Recall#,3) FORMAT(ToolOffset#,3) FORMAT(ToolLess20#,3) FORMAT(ToolOffsetLess20#,3) FORMAT(Program#,3) {.72} FORMAT(Operation#,3) {.72} FORMAT(Tool#,3) {.72} FORMAT(Dwell#,4) {.72} FORMAT(Peck#,5) FORMAT(CalcEPRPM#,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 Tab: ' ' RETURN TurretHome: SeqLabC ' X15 Z15' EOL RETURN SetTurret: Save# Num#('1') Tool# Save# Num#('2') ToolOffset# IF GreaterThan? Tool# Num#('20') Save# Num#('1') SUB# Recall# Num#('1') Num#('20') Save# Num#('2') SUB# Recall# Num#('2') Num#('20') END IF FirstOperation? { Send Turrets Home } SeqLabC ' G13' EOL END RETURN TurretSequence: IF GreaterThan? Tool# Num#('20') '¦2' Recall# Num#('1') '00' EOL SeqLab IF FirstOperation? SeqLabC ' G14' EOL ELSE { NewTool } IF LTEqual? LAST Tool# Num#('20') SeqLabC ' G14' EOL END END ELSE '¦1' Recall# Num#('1') '00' EOL SeqLab IF FirstOperation? SeqLabC ' G13' EOL ELSE { NewTool } IF GreaterThan? LAST Tool# Num#('20') SeqLabC ' G13' EOL END END END RETURN TurretToolID: FORMAT(Recall#,8) ' T' Recall# Num#('2') Recall# Num#('1') Recall# Num#('2') FORMAT(Recall#,3) 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? '( TURRET ' IF GreaterThan? Tool# Num#('20') 'B' ELSE 'A' END ' TOOL ' Recall# Num#('1') ': ' ToolSize$ ' ' ToolType$ ' )' EOL END IF ToolComment? '( ' ToolComment$ ' )' EOL END RestoreScale END RETURN PSInit: {reset flags from last Op, .70} RETURN PSStuff: RETURN DoPostScript: PSInit EachPS SeqLabC PostScript EOL {literals} PSStuff {commands} NextPS RETURN DoEndOpPS: PSInit EachEOPS SeqLabC EndOpPS EOL {literals} PSStuff {commands} NextPS RETURN StockOnNoCan: IF NOT CannedCycle? StockOn {need stock for SP positioning, if not a canned cycle} END RETURN FeedNoCan: IF NOT CannedCycle? FeedC END RETURN FeedRateNoCan: IF NOT CannedCycle? FeedRateC END RETURN ApproachSP: IF ApproachFace? SeqLabC StockOnNoCan XSPC EOL SeqLabC StockOff ZOpCPC EOL StockOnNoCan IF NotEqual? CycleStartZ# ZOpCP# SeqLabC FeedNoCan ZSPC FeedRateNoCan EOL END ELSE { ODApproach/IDApproach } SeqLabC StockOnNoCan ZSPC EOL SeqLabC StockOff XOpCDC EOL StockOnNoCan IF NotEqual? CycleStartX# XOpCD# SeqLabC FeedNoCan XSPC FeedRateNoCan EOL END END RETURN AppMove: StockOff ThisOpEntryZCP RETURN Approach: { NOT FOR TAILSTOCK, .82 } ApproachSP RETURN CheckOffset: DoEndOpPS IF LAST ProgStop? SeqLabC 'M0' EOL ELSE IF CoolOff? AND LAST NOT CoolOff? SeqLabC CoolOff EOL END END CSSOff IF ConstantSurfaceFeed? IF LAST ConstantSurfaceFeed? IF NotEqual? MaxRPM# LAST MaxRPM# SeqLabC Preset MaxRPM EOL END ELSE SeqLabC Preset MaxRPM EOL END END SeqLabC IF NewToolOffset? SetTurret TurretToolID END IF LAST ProgStop? Tab CoolOn ELSE IF NOT CoolOff? AND LAST CoolOff? Tab CoolOn END END IF ConstantSurfaceFeed? IF LAST ConstantSurfaceFeed? IF LAST ProgStop? Tab CSSOn 'G96' Tab Speed ELSE IF NotEqual? SpeedRPM# LAST SpeedRPM# Tab CSSOn 'G96' Tab Speed END END ELSE Tab CSSOn 'G96' Tab Speed END ELSE IF LAST ConstantSurfaceFeed? Tab 'G97' Tab Speed ELSE IF LAST ProgStop? Tab 'G97' Tab Speed ELSE IF NotEqual? SpeedRPM# LAST SpeedRPM# Tab 'G97' Tab Speed END END END END IF LAST ProgStop? SpinOn END EOL DoPostScript 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? SeqLabC SpinOff EOL SeqLabC ' G4P2000' EOL SeqLabC Speed InverseSpinOn EOL ELSE IF Dwell? SeqLabC ' G4P' Dwell# EOL END END END END IF PointFeat? SeqLabC MoveSXYC EOL ELSE IF RapidFeat? SeqLabC RapidC MoveXC MoveZC EOL ELSE IF LineFeat? SeqLabC CkCRC FeedC MoveXC MoveZC FeedRateC EOL ELSE IF ArcFeat? EACHQuadrant { Do not use NOT, LAST, FIRST or NEXT modifiers in this loop } SeqLabC FormatArc FeedRateC EOL NEXTQuadrant ELSE IF ThreadFeat? SeqLabC ' G33' MoveXC MoveZC IF Taper? XTapAtZ END ThrdLead EOL Rapid END END END END END NEXTFeat RETURN CheckRapid: CRCOffC RapidC RETURN {Start of executable Prog **************************************************} {setup and initializations} InitProg TagInit SetAbsOrInc PosSideLathe StandardXZArcs 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? '$' ProgramName$ EOR EOL ' ' EOL IF UseComments? SetScale('1') '( PROGRAM NAME- ' Tab Tab Tab Tab Tab ')' EOL '( PROGRAM REVISION- ' Tab Tab Tab Tab ')' EOL '( MACHINE CYCLE TIME- ' Tab Tab Tab Tab ')' EOL '( RELOAD TIME- ' Tab Tab Tab Tab Tab ')' EOL '( ACTUAL CYCLE TIME- ' Tab Tab Tab Tab ')' EOL '( OPERATION- ' Tab Tab Tab Tab Tab Tab ')' EOL '( PART#__________________________)' EOL '( S.O.#___________________________)' EOL '( OP. SEQ _________________________)' EOL '(******** UPPER TURRET ********)' EOL '(***** NON-PERISHABLE TOOLING ****)' EOL '(' Tab Tab Tab Tab Tab Tab Tab Tab ')' EOL '(' Tab Tab Tab Tab Tab Tab Tab Tab ')' EOL '(' Tab Tab Tab Tab Tab Tab Tab Tab ')' EOL '(' Tab Tab Tab Tab Tab Tab Tab Tab ')' EOL '(******** LOWER TURRET ********)' EOL '(***** NON-PERISHABLE TOOLING ****)' EOL '(' Tab Tab Tab Tab Tab Tab Tab Tab ')' EOL '(' Tab Tab Tab Tab Tab Tab Tab Tab ')' EOL '(' Tab Tab Tab Tab Tab Tab Tab Tab ')' EOL '(' Tab Tab Tab Tab Tab Tab Tab Tab ')' EOL '(******** UPPER TURRET ********)' EOL '(****** PERISHABLE TOOLING ******)' EOL '(' Tab Tab Tab Tab Tab Tab Tab Tab ')' EOL '(' Tab Tab Tab Tab Tab Tab Tab Tab ')' EOL '(' Tab Tab Tab Tab Tab Tab Tab Tab ')' EOL '(' Tab Tab Tab Tab Tab Tab Tab Tab ')' EOL '(******** LOWER TURRET ********)' EOL '(****** PERISHABLE TOOLING ******)' EOL '(' Tab Tab Tab Tab Tab Tab Tab Tab ')' EOL '(' Tab Tab Tab Tab Tab Tab Tab Tab ')' EOL '(' Tab Tab Tab Tab Tab Tab Tab Tab ')' EOL '(' Tab Tab Tab Tab Tab Tab Tab Tab ')' EOL SeqLabC ' (********* PROGRAM ********)' EOL SeqLabC ' (*********** PORT *********)' EOL SeqLabC ' (******* UPPER TURRET *******)' EOL END RestoreScale OpenSub StockOff {.71.2} SetHome SetTurret SeqLabC ' VCHKL=.750 VCHKD=.650 VCHKX=.650 VCHKZ=1.5' EOL SeqLabC ' DEF WORK' EOL SeqLabC ' PC LC, [-17,0],[17,5],4,7' EOL SeqLabC ' END' EOL SeqLabC ' DRAW' EOL SeqLabC Rapid ' X15 Z15 P5' EOL IF ConstantSurfaceFeed? SeqLabC Preset MaxRPM ' M42 P6' EOL END SeqLabC ' G110' EOL TurretSequence IF OptionalStops? SeqLabC ProgStop EOL END DoOpComments DoPostScript Plane SeqLabC IF ConstantSurfaceFeed? CSSOn ' G96' ELSE CSSOff ' G97' END Rapid RapidF# { RapidF# Forces FeedRate } IF ApproachOD? SeqLabC ThisOpEntryXCP AppMove ELSE IF ApproachID? SeqLabC XOpCD AppMove ELSE {ApproachFace} SeqLabC StockOnNoCan XSP AppMove END END TurretToolID Speed SpinOn CoolOn ' M42 P10' EOL IF OptionalStops? SeqLabC ProgStop EOL END Approach ELSE IF NewTool? {Finish off last Operation} StockOff {.62} CheckRapid IF LAST ApproachOD? SeqLabC LAST OpExitXCPC EOL ELSE IF LAST ApproachID? SeqLabC LAST XOpECDC EOL END END SeqLabC LAST OpExitZCPC EOL DoEndOpPS TurretHome IF LAST ProgStop? SeqLabC 'M0' EOL END {Start new Operation} IF LAST NOT FirstOperation? SeqLabC ' M01 P20' EOL END SetTurret TurretSequence IF OptionalStops? SeqLabC ProgStop EOL END DoOpComments DoPostScript SeqLabC IF ConstantSurfaceFeed? CSSOn ' G96' ELSE CSSOff ' G97' END Rapid RapidF# { RapidF# Forces FeedRate } IF ApproachOD? SeqLabC ThisOpEntryXCP AppMove ELSE IF ApproachID? SeqLabC XOpCD AppMove ELSE {ApproachFace} SeqLabC StockOnNoCan XSP AppMove END END TurretToolID Speed SpinOn CoolOn ' M42 P10' EOL IF OptionalStops? SeqLabC ProgStop EOL END Approach ELSE IF SameTool? {.62} {Start new Operation} StockOff DoOpComments IF LAST StraightConnect? CheckOffset CheckRapid SeqLabC StockOnNoCan XSPC ZSPC EOL ELSE CheckRapid IF ApproachOD? IF LAST ApproachOD? SeqLabC LAST XOpECDC EOL ELSE {around} IF LAST ApproachID? SeqLabC LAST XOpECDC EOL END SeqLabC LAST OpExitZCPC EOL SeqLabC LAST OpExitXCPC EOL END ELSE IF ApproachID? IF LAST ApproachID? SeqLabC LAST XOpECDC EOL ELSE IF LAST ApproachOD? {around} SeqLabC LAST OpExitXCPC EOL END SeqLabC LAST OpExitZCPC EOL SeqLabC XOpCDC EOL END ELSE {ApproachFace} IF LAST ApproachFace? SeqLabC LAST ZOpECPC EOL ELSE IF LAST ApproachOD? {around} SeqLabC LAST OpExitXCPC EOL ELSE {LAST ApproachID} SeqLabC LAST XOpECDC EOL END SeqLabC LAST OpExitZCPC EOL END END END CheckOffset ApproachSP END END END END {common point for all operations} IF CannedCycle? StockOff IF Roughing? IF NOT RoughSimple? TagInc SetPass2 IF RoughContour? SeqLabC ' G85NLAP' Tag# Tab CutDepth FeedRate XStkLeft ZStkLeft EOL 'NLAP' Tag# Tab LCycle EOL ELSE IF RoughPatternShift? SeqLabC LCycle 'NLAP' Tag# Tab 'D' IF ApproachFace? ZCutDepth# ELSE XCutDepth# END FeedRate XStkLeft ZStkLeft EOL 'NLAP' Tag# Tab IF ApproachFace? 'G82' ELSE 'G81' END EOL END END SeqLabC StepMove StrtPos EOL ToolPath SeqLabC ' G80' EOL IF AutoFinish? SeqLabC ' G87NLAP' Tag# EOL END SetAbs SetPass1 TrackXNO# CycleStartX# TrackZNO# CycleStartZ# SetAbsOrInc END ELSE IF Threading? { Face Threads require G72, ZTapAtX and W Address for XTapAtZ } SeqLabC LCycle XatFinZ FinZ XTapAtZ IF SingleEdgeCut? ToolAngle ELSE 'B0' END CutDepth ThrdHeight ThrdLead 'M32' IF ConstantVolumeCut? 'M75' ELSE 'M74' END IF Chamfer? 'M23' ELSE 'M22' END EOL IF AutoFinish? SeqLabC 'G33' XatFinZ FinZ IF Taper? XTapAtZ END ThrdLead EOL END ELSE IF Drilling? SeqLabC IF Tap? AND NOT CWSpindle? 'G78' ELSE LCycle END XCSP ZDepth Peck Retract IF PeckFullRetract? 'L' Peck# END FeedRate Dwell EOL END END END ELSE StockOn SetPass1 ToolPath IF AutoFinish? { .82.1c } StockOff IF Turning? IF ApproachFace? SeqLabC RapidC ZOpECPC EOL ELSE SeqLabC RapidC XOpECDC EOL END ApproachSP SeqLabC StockOff StrtPosC EOL ToolPath ELSE IF Roughing? AND NOT RoughSimple? SetPass2 SeqLabC RapidC XSPC ZSPC EOL SeqLabC StockOff StrtPosC EOL ToolPath SetPass1 ELSE IF Threading? SeqLabC 'X' MUL# Num#('2') ADD# FinishXRadius# Taper# EOL SeqLabC 'G33' IF Taper? XatFinZ END FinZ IF Taper? XTapAtZ END ThrdLead EOL SeqLabC Rapid XSP EOL SeqLabC ZSP EOL END END END END IF Drilling? AND Tap? SeqLabC SpinOff EOL SeqLabC 'G4P2000' EOL SeqLabC Speed SpinOn EOL END END NextOp {loops back to EachOP until last Operation} {End of program ************************************************************} {finish last operation} StockOff CRCOffC RapidC IF ApproachOD? SeqLabC OpExitXCPC EOL ELSE IF ApproachID? SeqLabC XOpECDC EOL END END SeqLabC OpExitZCPC EOL DoEndOpPS TurretHome IF ProgStop? SeqLabC 'M0' EOL END SeqLabC EOP EOL Post EOR EOL Close Retag 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:
Okuma OSP 5000 LC10 L235 85 1
Okuma OSP 5020L [PB] L604 85 1
Okuma OSP 5000 LC10 L235 82 2
Okuma OSP 5020 [TPM] L572 85
Okuma OSP 5020L [CP] L787 85
Okuma OSP 7000L [JDHW] L707 85 1m
Okuma OSP 3000 LC20 L049 85
Okuma OSP 5020L [WMC] L676 85 3
Okuma OSP 5000 LB10 L351 82 2
Okuma OSP 5500 Cadet L331 85
Okuma OSP 5020L [GCS] L540 85
Okuma OSP 5020L [MP] L626 85

więcej podobnych podstron