plik


{Change Comments ****************} {9/23/88 Copied & modified: Okuma OSP 3000-LC20 L049.51 For: Shultz Machine: Okuma Control: OSP 5000 LB15 Machine only has one Turret, no need to call for or see Tool# for 2nd Turret. Deleted ToolOver20? stuff, added conventional OpToolID stuff. Changed FORMATs to 4-place non-decimal trailing Zero's. Added spaces between Codes. JR} {9/29/88 Modified: Okuma OSP 3000-LB20 L067.51 Worked on Canned Cycles. BG,JR} {5/9/89 Copied & modified: Okuma OSP 3000-LB20 L067.56 For: Petes Workshop Machine: Okuma Control: OSP 5000 LB15 New 1st line of program with End of Record code. Changed FORMATs to decimal. Modified Canned Cycles. JR} {9/27/89, updated & added PostScript to Okuma OSP 5000 LB15 L103.55, JR} {3/15/90, Updated: Okuma OSP 5000 LB15 L103.61 to .69.3 format, JR} {7/24/90, Added InitProg globally to posts with this remark, DWB} {9/5/91, Updated Okuma OSP 5000 LB15 L103.70 to .82 format, JR} {5/14/93 Modified: Okuma OSP 5000 LB15 L103.82 For: Gibbs & Associates Updated to Version 4.1 per Fanuc 10T MS [-] L001.82.1 Format. DWB} {5/14/93 Modified: Okuma OSP 5000 LB15 L103.82.1 For: Gibbs & Associates Created Metric version. DWB} {6/2/93 Modified: Okuma OSP 5000 LB15 L103.82.1m For: Gibbs & Associates/Cigraph PTY Changes made per E-Mail from Maurizio at Cigraph PTY. Change CutDepth to XCutDepth#/ZCutDepth# at CannedCycle RoughContour. DWB} {10/6/94 Updated: Okuma OSP 5000 LB15 L103.82.2m For: Gibbs & Associates/Cigraph PTY/MD Research Versions: ncCad 4.33/ncCAM 4.33/ncPost 4.33.03/Compost 4.21.22 Updated to Version 4.1 per Fanuc 10T MS [-] L001.82.1a Format. Added SetAbs at setup and initializations. Added StandardXZArcs at setup and initializations. Changed MoveType$ to literal 'ABSOLUTE' at FirstOperation. Added AND NOT Threading? condition at AutoFinish. Moved Post command in front of EOR EOL at end of Prog. DWB} {10/6/94 Copied: Okuma OSP 5000 LB15 L103.82.3m Created: Okuma 5000 LB15 [MD] L310.82.3m For: Gibbs & Associates/Cigraph PTY Versions: ncCad 4.33/ncCAM 4.33/ncPost 4.33.03/Compost 4.21.22 Changes made per E-Mail from Maurizio at Cigraph PTY. Added Rapid Home at FirstOperation. Added ProgStop command to CheckOffset sub. Maurizio reported that cut depth in rough turning operation is being output as a radius value and should be output as a diameter value. Added MUL# to FORMAT#2. Changed ' D' XCutDepth# to ' D' MUL# XCutDepth# NumSc#('2') at CannedCycle RoughContour. Added LOfstOff '00' to NewHome block at NewTool. Added OpToolID '00' to FirstHome block at end of Prog. Added condition to output SpinOff when Spindle direction changes at NewTool. Added SpinOff at end of Prog. Changed ' M32' to ' M33' at CannedCycle Threading. Changed ' M75' to ' M73' at CannedCycle Threading. Moved DoOpComments from SameTool to CheckOffset sub. Maurizio requested that G74 FI-RO Canned Drilling Cycle contain a dummy Peck value by outputting the incremental distance from CycleStartZ to ZDepth. Added condition to only output Peck Retract for Peck Cycles at CannedCycle Drilling. Added dummy Peck formula for Non-Peck Cycles at CannedCycle Drilling. Added SUB# to FORMAT#2. NOTE: Problem exists with ZDepth# which does not get scaled correctly for INCH>Metric and Metric>INCH conversions. For Metric ncCam files: Added ' D' SUB# ZDepth# CycleStartZ#. For INCH ncCam files: Temporarily re-FORMATting MUL# to FORMAT#5 Added ' D' SUB# MUL# ZDepth# NumSc#('2.54') CycleStartZ#. Added TrackZNO# CycleStartZ# for Non-Peck Cycles at CannedCycle Drilling. DWB} {12/9/95 Copied: Okuma 5000 LB15 L310.82.3m Created: ? For: Fortier Changes made per Dan Pilone. Changed to English format. Updated for Catalyst v2.20 per Fanuc 10T MS [-] L001.85 format; (Added cutter compensation capability and support of Auto Clearance). Joe Cusimano} {9/24/96, Initial: Okuma OSP 5020-L [JF] L409.85 Created: Okuma OSP 5020 Lxxx.85 For: Integral Parts Added ToolList sub, Moved placement of EachOp so that it will not be interfered with be the EachOp/NextOp loop in TooList, Added G50 line to non-CSS ops in FirstOperation that outputs the Op's Speed, deleted the '.min' from the output of the program name at the beginning of the program, MPK} {10/16/97, 1. Changed 'Form' 'Threading Lead of Thread' format from 2.3 to 2.5. 2. Removed from 'Form' 'Lathe Drill Cycles' 'Peck-Partial Retract' 'Ret' lable DA. 3. Added FORMAT to 'FirstMoveEPX#', 'RunOutZ#', and 'ADD#'. 4. Added 'ThreadCycle' sub-routine to output 'G33' type of threads. JHE} {Prog Numeric Format Definitions ********************} #1 = '#.00' #2 = '+###.####;0' #3 = '#######0' #4 = '###.##;0' #5 = '###.####;0' #6 = '###0' #7 = '#' FORMAT(FileFeet#,1) FORMAT(FileMeters#,1) FORMAT(SUB#,2) FORMAT(MUL#,2) FORMAT(XCutDepth#,2) FORMAT(ZCutDepth#,2) FORMAT(Program#,3) {.72} FORMAT(Operation#,3) {.72} FORMAT(Tool#,3) {.72} FORMAT(TLNum#,3) FORMAT(Dwell#,4) {.72} FORMAT(Peck#,5) FORMAT(TlDia#,5) FORMAT(CalcEPRPM#,6) FORMAT(RapidF#,7) FORMAT(FirstMoveEPX#,5) { Added JHE } FORMAT(RunOutZ#,5) { Added JHE } FORMAT(ADD#,5) { Added JHE } {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 ToolList: SetFlagF('5') EachOp IF NOT SameTool? EachTool IF Equal? TlNum# Tool# SetFlag('5') END IF Flag?('5') IF Drilling? SeqLabC '( Tool ' TLNum# ': ' TLDia# ' Dia. ' TLToolType$ ELSE SeqLabC '( Tool ' TLNum# ': ' DIV# TLDia# NUM#('2') ' Rad. ' TLToolType$ END IF ToolComment? ', ' TLToolComment$ END ' )' EOL SetFlagF('5') END NextTool END NextOp 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# ': ' 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 } RapidF# { RapidF# Forces FeedRate } IF ApproachOD? SeqLabC ThisOpEntryXCP AppMove EOL ELSE IF ApproachID? SeqLabC XOpCD AppMove EOL ELSE {ApproachFace} SeqLabC StockOnNoCan XSP AppMove EOL END END ApproachSP RETURN CheckOffset: DoEndOpPS IF LAST ProgStop? SeqLabC ' M0' EOL ELSE SeqLabC ProgStop EOL IF CoolOff? AND LAST NOT CoolOff? SeqLabC CoolOff EOL END END DoOpComments IF NewToolOffset? SeqLabC LOfstOff '00' EOL SeqLabC OpToolID LatheOffset EOL END IF ConstantSurfaceFeed? IF LAST ConstantSurfaceFeed? IF NotEqual? MaxRPM# LAST MaxRPM# SeqLabC Preset MaxRPM EOL END ELSE SeqLabC Preset MaxRPM EOL SeqLabC CSSOn ' G96' Speed END ELSE IF LAST ConstantSurfaceFeed? SeqLabC CSSOff ' G97' Speed END END IF LAST ProgStop? SeqLabC SpeedC SpinOn EOL SeqLabC CoolOn EOL ELSE SeqLabC SpeedC EOL IF NOT CoolOff? AND LAST CoolOff? SeqLabC CoolOn EOL END END 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 ThreadCycle: { Added this sub-routine - JHE } IF NotEqual? RunInX# NUM#('0') SeqLabC ' ' EOL SeqLabC '(*** WARNING ***)' EOL SeqLabC '(*** YOU CANNOT USE THIS CYCLE WHEN "X RUN IN" IS NOT ZERO ***)' EOL SeqLabC '(*** WARNING ***)' EOL SeqLabC ' ' EOL END SetFlag('1') EACHFeat GetToolTip IF ThreadFeat? AND Flag?('1') SetFlagF('1') IF Taper? IF Chamfer? SeqLabC ' G33' ' X' FirstMoveEPX# ' Z' ADD# FinishZ# RunOutZ# XTapAtZ ' L' RunOutZ# ThrdLead ' M23' EOL ELSE SeqLabC ' G33' ' X' FirstMoveEPX# FinZ XTapAtZ ThrdLead EOL END ELSE IF Chamfer? SeqLabC ' G33' ' X' FirstMoveEPX# ' Z' ADD# FinishZ# RunOutZ# ' L' RunOutZ# ThrdLead ' M23' EOL ELSE SeqLabC ' G33' ' X' FirstMoveEPX# FinZ ThrdLead EOL END END ELSE IF RapidFeat? AND NEXT ThreadFeat? AND NOT Flag?('1') SeqLabC MoveX EOL END END NEXTFeat RETURN ToolPath: EACHFeat GetToolTip IF LastFeat? IF Drilling? IF Tap? SeqLabC SpinOff EOL SeqLabC ' G4 P2000' EOL SeqLabC Speed InverseSpinOn EOL ELSE IF Dwell? SeqLabC ' G4 P' Dwell# EOL END END END END IF PointFeat? SeqLabC MoveSXYC EOL ELSE IF RapidFeat? SeqLabC IF NOT FirstFeat? AND LAST ThreadFeat? Rapid ELSE RapidC END 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? { skip thread in 'ToolPath' & goto sub routine - JHE } {SeqLabC ' G33' MoveXC MoveZC ThrdLead EOL} END END END END END NEXTFeat RETURN CheckRapid: CRCOffC Rapid RETURN {Start of executable Prog ***************************} {setup and initializations} InitProg SetAbs 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 {Start of post processing *********************} '$' ProgramName$ 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 ToolList EachOp GetLCycle IF FirstOperation? OpenSub StockOff {.71.2} SetHome DoOpComments DoPostScript Plane SeqLab Rapid Home EOL IF ConstantSurfaceFeed? SeqLabC Preset MaxRPM EOL SeqLabC Rapid CSSOff ' G97' CalcRPM1 ELSE SeqLabC Preset Speed EOL SeqLabC Rapid CSSOff ' G97' Speed END OpToolID LatheOffset SpinOn CoolOn ' M42' EOL 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 IF LAST ConstantSurfaceFeed? SeqLabC CSSOff ' G97' CalcRPM2 EOL END SeqLabC NewHome LOfstOff '00' IF LAST ProgStop? ' M0' EOL ELSE ProgStop EOL END IF CWSpindle? AND LAST NOT CWSpindle? SeqLabC SpinOff EOL ELSE IF NOT CWSpindle? AND LAST CWSpindle? SeqLabC SpinOff EOL END END {Start new Operation} DoOpComments DoPostScript IF ConstantSurfaceFeed? SeqLab Preset MaxRPM EOL SeqLabC Rapid CSSOff ' G97' CalcRPM1 ELSE SeqLab Rapid CSSOff ' G97' Speed END OpToolID LatheOffset SpinOn CoolOn ' M42' EOL Approach ELSE IF SameTool? {.62} {Start new Operation} StockOff 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 ConstantSurfaceFeed? AND NOT SameTool? SeqLabC CSSOn ' G96' Speed EOL END IF CannedCycle? StockOff IF Roughing? IF NOT RoughSimple? TagInc SetPass2 IF RoughContour? SeqLabC ' G85 N³' Tag# IF ApproachFace? ' D' ZCutDepth# ELSE ' D' MUL# XCutDepth# NumSc#('2') END FeedRate XStkLeft ZStkLeft EOL '>' Tag# EOL IF ApproachFace? SeqLab ' G82' EOL ELSE SeqLab ' G81' EOL END ELSE IF RoughPatternShift? SeqLabC ' G86 N³' Tag# IF ApproachFace? ' D' ZCutDepth# ELSE ' D' XCutDepth# END FeedRate XStkLeft ZStkLeft EOL '>' Tag# EOL IF ApproachFace? SeqLab ' G82' EOL ELSE SeqLab ' G81' EOL END END END SeqLabC StepMove StrtPos EOL ToolPath SeqLabC ' G80' EOL IF AutoFinish? SeqLabC ' G87 N³' Tag# EOL END SetPass1 TrackXNO# CycleStartX# TrackZNO# CycleStartZ# END ELSE IF Threading? SeqLabC ' G71' XatFinZ FinZ XTapAtZ { G72 Face Threads modification would require changes to XTapAtZ command with W Address } IF SingleEdgeCut? ToolAngle ELSE ' B0' END CutDepth ThrdHeight ThrdLead ' M33' IF ConstantVolumeCut? ' M73' ELSE ' M74' END IF Chamfer? ' M23' ELSE ' M22' END EOL IF AutoFinish? SeqLabC ' G33' XatFinZ FinZ XTapAtZ ThrdLead EOL SeqLabC Rapid XCSP EOL SeqLabC ZCSP EOL END ELSE IF Drilling? SeqLabC IF Tap? AND NOT CWSpindle? ' G78' ELSE LCycle END XCSP ZDepth IF Peck? Peck Retract IF PeckFullRetract? ' L' Peck# END ELSE IF NOT Tap? IF NOT Metric? ' D' SUB# ZDepth# CycleStartZ# ELSE FORMAT(MUL#,5) ' D' SUB# MUL# ZDepth# Num#('.03937007874') CycleStartZ# FORMAT(MUL#,2) END TrackZNO# CycleStartZ# END END FeedRate Dwell EOL END END END ELSE StockOn SetPass1 IF Threading? { go to ThreadCycle for threads - JHE } ThreadCycle ELSE ToolPath END IF AutoFinish? IF NOT Drilling? AND NOT Grooving? AND NOT RoughSimple? AND NOT Threading? StockOff IF Turning? SetPass1 RapidC IF ApproachFace? SeqLabC ZOpECPC EOL ELSE SeqLabC XOpECDC EOL END ELSE SetPass2 SeqLabC RapidC XSPC ZSPC EOL END SeqLabC StockOff StrtPosC EOL ToolPath END END IF Drilling? AND Tap? SeqLabC SpinOff EOL SeqLabC ' G4 P2000' EOL SeqLabC Speed SpinOn EOL END END NextOp {loops back to EachOP until last Operation} {End of program **********************} {finish last operation} StockOff CRCOffC Rapid IF ApproachOD? SeqLabC OpExitXCPC EOL ELSE IF ApproachID? SeqLabC XOpECDC EOL END END SeqLabC OpExitZCPC EOL DoEndOpPS SeqLabC CoolOff EOL IF ConstantSurfaceFeed? SeqLabC CSSOff ' G97 S' CalcEPRPM# EOL END SeqLabC SpinOff EOL SeqLabC FirstHome OpToolID '00' IF ProgStop? ' M0' ELSE ProgStop END EOL 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 5020 [TPM] L572 85
Okuma OSP 5020 [MM] L806 85
Okuma OSP 5020L [PB] L604 85 1
Okuma OSP 5000 [NC] L606 85 1
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 5500 Cadet L331 85
Okuma OSP 5020L [GCS] L540 85
Okuma OSP 5020L [MP] L626 85
Okuma OSP 2200 [CMS] L532 85 1

więcej podobnych podstron