plik


{Change Comments ***********************************************************} {7/12/89 Copied & modified: Emco 220 T1 L104.55. For: Hi-Stat. Changed '0300' to 'O300' at beginning of Prog (letter O). JR} {7/24/90, Added InitProg globally to posts with this remark, DWB} {10/19/90 Modified: Emco 220 T1 L104.57 Updated per Fanuc 10T MS [-] L001.71 Format. Modified FORMAT for 'F' in MachSpec, no decimals with 4 trailing zeros. Deleted CoolOn & CoolOff commands except for the beginning & end of the Prog. Deleted SpinOff except at the end of the Prog. Changed FORMAT of 'D3' Depth of First Cut Parameter for Threading in MachSpec. JR} {12/12/90 Modified: Emco 220 T1 L104.57 For Hi-Stat: Changed all 2.3 FORMATs to 2.4. Changed 'D5' Peck Drilling Retract Parameter to literal 'D5=80', which is a Multiplier. Changed literal 'O300' to ProgID1 per customer's request. JC} {3/26/91 Modified: Emco 220 T1 L104.71.1 For: Gibbs & Associates Updated to Version 4.0 per Fanuc 10T MS [-] L001.80 Format. Only Canned Cycles supported are SimpleRough, Threading and Pecking Cycle. DWB} {8/6/91 Updated: Emco 220 T1 L104.80 For: Gibbs & Associates Updated to Version 4.1 per Fanuc 10T MS [-] L001.82 Format. KM} {4/14/92 Modified: Emco 220 T1 L104.82 For: Hi-Stat. Changes made per conversations with Dan Williams at Hi-Stat and sample printout. Updated to Version 4.1 per Fanuc 10T MS [-] L001.82 Format. Added RestoreScale Sub per 4-Axis Post Processor. Added Logic to suppress Feed and FeedRate for Approaches. Modified output of Speed & ConstantSurfaceFeed for SameTool in CheckOffset sub. Added bypass of AutoFinish for Non-Canned RoughSimple Operations. Deleted SetExitFormat sub and call to same. This sub set the FORMAT for ClearancePlane3# based on the type of Approach but ClearancePlane3# was not being used. Changed ArcIJC to ArcIJ in FormatArc Sub, and deleted ArcRC. All ArcFeats require both I&J. Increased SetMaxRPM from 2500 to 4000. Deleted IF ToolChangeAtHome? Booleans at FirstOperation, NewTool and end of Prog. Lathe ncCAD documents don't give user this option. Deleted SafeStart at NewTool. Changed XAtFinZ to ' X' FinishXDia# at RoughSimple Canned Cycle. Moved code of CheckFeedRate Sub to RoughSimple Canned Cycle. This sub was only called from here. Modified 'D6=' Parameter for Canned Threading Cycle. Changed FORMAT for StockXRadius#, StockZ# and CutDepth# from '^###0' to '##^###0' in Prog. Changed FORMAT for 'D3' Canned Threading Cycle CutDepth Parameter from '##^####0' to '##^###0' in MachSpec. Changed FORMAT for Canned Threading Cycle FeedRate Parameter from '##^####0' to '##^###0' in MachSpec. Added literal 'D6=1000' Minimum Peck Amount Parameter to Canned Peck Cycle. Added 'P2=' FeedIPR# Threading Parameter IF Chamfer = TRUE. DWB} {6/25/92 Updated: Emco 220 T1 L104.82.1 For: Hi-Stat Changes made per conversations with Dan Williams at Hi-Stat and sample printout. Changed FORMAT for Taper# to output ± at Canned Threading Cycle. Changed FORMAT for 'D6' Parameter at Canned Threading Cycle. KLM} {4/13/93 Modified: Emco 220 T1 L104.82.2 For: Hi-Sat Changed Seq to SeqLab and changed the label in MachSpec to "N? ". Notice the space following the ?. Customer requested 2 spaces following the N code. Added Retag at end of Prog following FILE LENGTH Comments. NOTE: ReTag is outputting an additional line feed. JR} {4/22/93 Modified: Emco 220 T1 L104.82.3 For: Hi-Stat Modified P2 Chamfer Parameter to output - for FrontSide Threading, + for BackSide Threading. Restored FORMAT for Taper# to NOT output ± at Canned Threading Cycle. Change was made on 6/25/93 and Customer said that no + signs are needed. When machining an OD Tapered Thread from the BackSide, ncCam requires a Negative Taper value causing XTapAtZ to output a Negative value. This is the P0 parameter for this control. Change negates output of Taper#, same as above P2 Chamfer Parameter. Deleted StockOn at RoughSimple Cycle. Changed FinZ to ' Z' FinishZ# at RoughSimple Cycle. Changed to output D0 & D2 Stock Parameters only when IF AutoFinish? = TRUE at RoughSimple Cycle. JR} {Date Modified: Emco 220 T1 L104.82.4 For: Hi-Stat Changes made per conversations with Dan Williams at Hi-Stat and sample printout. Added additional 4.1 version Updates. Added Formulas for outputting XAtStartZ values for Taper Thread Cycle. Canned Threading Cycle is different from Fanuc style in that X value is position at start of Thread, not End. Formulas cover both Front and BackSide Threading. DWB} {4/25/97, added Y and J formats to Default formats in form, MPK} {Prog Numeric Format Definitions *******************************************} #1 = '#.00' #2 = '##.####;0' #3 = '#######0' #4 = '0.0000;0' #5 = '##^###0' #6 = '###0' #7 = '#' #8 = '##^###0' #9 = '*##^###0' { For Backside Thread } FORMAT(FileFeet#,1) FORMAT(FileMeters#,1) FORMAT(ADD#,2) FORMAT(FinishXDia#,2) FORMAT(FinishZ#,2) FORMAT(Program#,3) {.72} FORMAT(Operation#,3) {.72} FORMAT(Tool#,3) {.72} FORMAT(Dwell#,4) {.72} FORMAT(Peck#,5) FORMAT(StockXRadius#,5) FORMAT(StockZ#,5) FORMAT(CutDepth#,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 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 ODApproachSP: SeqLabC StockOnNoCan ZSPC EOL SeqLabC StockOff XOpCDC EOL StockOnNoCan IF NotEqual? CycleStartX# XOpCD# SeqLabC FeedNoCan XSPC FeedRateNoCan EOL END RETURN IDApproachSP: SeqLabC StockOnNoCan ZSPC EOL SeqLabC StockOff XOpCDC EOL { for SameTool ApproachID } StockOnNoCan IF NotEqual? CycleStartX# XOpCD# SeqLabC FeedNoCan XSPC FeedRateNoCan EOL END RETURN FaceApproachSP: SeqLabC StockOnNoCan XSPC EOL { for SameTool ApproachFace } SeqLabC StockOff ZOpCPC EOL StockOnNoCan IF NotEqual? CycleStartZ# ZOpCP# SeqLabC FeedNoCan ZSPC FeedRateNoCan EOL END RETURN AppMove: StockOff ZCP OpToolID LatheOffset IF FirstOperation? CoolOn END RETURN Approach: { NOT FOR TAILSTOCK, .82 } Rapid RapidF# { RapidF# Forces FeedRate } IF ApproachOD? SeqLabC StockOff XCP AppMove EOL ODApproachSP ELSE IF ApproachID? SeqLabC StockOff XOpCD AppMove EOL IDApproachSP ELSE {ApproachFace} SeqLabC StockOnNoCan XSP AppMove EOL FaceApproachSP END END RETURN CheckOffset: DoEndOpPS IF LAST ProgStop? SeqLabC ' M0' EOL END 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 ELSE SeqLabC SpeedC EOL END DoPostScript RETURN FormatArc: IF ArcCW? CWArcC ELSE CCWArcC END MoveXC MoveZC ArcIJ RETURN ToolPath: EACHFeat GetToolTip IF LastFeat? IF Drilling? IF Tap? SeqLabC SpinOff EOL SeqLabC ' G4 D2.0000' EOL SeqLabC Speed InverseSpinOn EOL ELSE IF Dwell? SeqLabC ' G4 D' Dwell# EOL END END ELSE IF CannedCycle? SeqLab END END END IF PointFeat? SeqLabC MoveSXYC EOL ELSE IF RapidFeat? SeqLabC RapidC MoveXC MoveZC EOL ELSE IF LineFeat? SeqLabC 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 ' G32' MoveXC MoveZC ThrdLead EOL Rapid 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 StandardXZArcs SetMaxRPM('4000') 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? ASCII('10') EOL EOR ProgID1 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$ ' INCHES )' EOL END END RestoreScale OpenSub StockOff {.71.2} SetHome DoOpComments DoPostScript Plane SeqLab ' G54 G70 G95' AbsOrInc ' M39' EOL SeqLabC Rapid Home EOL IF ConstantSurfaceFeed? SeqLabC Preset MaxRPM EOL CSSOn ' G96' ELSE CSSOff ' G97' END SeqLabC Speed SpinOn EOL Approach ELSE IF NewTool? {Finish off last Operation} StockOff {.62} CheckRapid IF LAST ApproachOD? SeqLabC XCPC EOL ELSE IF LAST ApproachID? SeqLabC LAST XOpECDC EOL END END SeqLabC ZCPC EOL DoEndOpPS IF LAST ConstantSurfaceFeed? SeqLabC CSSOff ' G97' CalcRPM2 EOL END SeqLabC NewHome EOL IF LAST ProgStop? SeqLabC ' M0' EOL ELSE SeqLabC ProgStop EOL END {Start new Operation} DoOpComments DoPostScript SeqLab ' G70 G95' EOL IF ConstantSurfaceFeed? SeqLabC Preset MaxRPM EOL CSSOn ' G96' ELSE CSSOff ' G97' END SeqLabC Speed SpinOn EOL 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 ZCPC EOL SeqLabC XCPC EOL END CheckOffset ODApproachSP ELSE IF ApproachID? IF LAST ApproachID? SeqLabC LAST XOpECDC EOL ELSE IF LAST ApproachOD? {around} SeqLabC XCPC EOL END SeqLabC ZCPC EOL SeqLabC XOpCDC EOL END CheckOffset IDApproachSP ELSE {ApproachFace} IF LAST ApproachFace? SeqLabC LAST ZOpECPC EOL ELSE IF LAST ApproachOD? {around} SeqLabC XCPC EOL ELSE {LAST ApproachID} SeqLabC LAST XOpECDC EOL END SeqLabC ZCPC EOL END CheckOffset FaceApproachSP END END END END END END {common point for all operations} IF CannedCycle? StockOff IF Roughing? IF RoughSimple? SetPass1 SeqLabC LCycle IF ApproachFace? ' Z' FinishZ# ' X' FinishXDia# ELSE ' X' FinishXDia# ' Z' FinishZ# END ' ' XTapAtZ IF AutoFinish? ' D0=' StockXRadius# ' D2=' StockZ# END ' D3=' CutDepth# IF SameTool? FeedRateC ELSE FeedRate END EOL END ELSE IF Threading? IF LessThan? CycleStartZ# FinishZ# { Backside Threading } FORMAT(MUL#,8) FORMAT(Taper#,9) ELSE FORMAT(MUL#,9) FORMAT(Taper#,8) END SeqLabC LCycle IF Taper? { XAtStartZ } IF LessThan? CycleStartZ# FinishZ# { Backside Threading } ' X' ADD# FinishXDia# MUL# Taper# Num#('-2') ELSE ' X' ADD# FinishXDia# MUL# Taper# Num#('2') END ELSE XatFinZ END FinZ ' P0=' Taper# IF Chamfer? ' P2=' MUL# FeedIPR# Num#('2') END ' ' CutDepth ' ' ToolAngle ' ' ThrdHeight ThrdLead EOL IF AutoFinish? SeqLabC Feed XatFinZ EOL SeqLabC ' G33' FinZ ThrdLead EOL SeqLabC RapidC XCSP EOL SeqLabC ZCSP EOL END ELSE IF Drilling? IF Peck? SeqLabC LCycle ZDepth ' D3=' Peck# ' D4=' Dwell# ' D5=80 D6=1000' FeedRate EOL IF AutoFinish? SeqLabC Feed ZDepth FeedRate EOL IF Dwell? SeqLabC ' G4 D' Dwell# EOL END SeqLabC Rapid ZSP EOL END END END END END ELSE StockOn SetPass1 ToolPath IF AutoFinish? IF NOT Drilling? AND NOT Grooving? AND NOT RoughSimple? StockOff IF Turning? SetPass1 RapidC IF ApproachFace? SeqLabC ZOpECPC EOL FaceApproachSP ELSE SeqLabC XOpECDC EOL IF ApproachOD? ODApproachSP ELSE {ApproachID} IDApproachSP END END ELSE SetPass2 SeqLabC RapidC XSPC ZSPC EOL END SeqLabC StockOff StrtPosC EOL ToolPath END END END IF Drilling? AND Tap? SeqLabC SpinOff EOL SeqLabC ' G4 D2.0000' EOL SeqLabC 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? SeqLabC XCPC EOL ELSE IF ApproachID? SeqLabC XOpECDC EOL END END SeqLabC ZCPC CoolOff EOL DoEndOpPS IF ConstantSurfaceFeed? SeqLabC CSSOff ' G97 S' CalcEPRPM# EOL END SeqLabC FirstHome SpinOff EOL IF ProgStop? SeqLabC ' M0' EOL END SeqLabC ' G53 T0000' EOP EOL Post 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 ReTag

Wyszukiwarka

Podobne podstrony:
Emco 320 T1 L597 85 1
Swed 10 CNC 220 [LE] L337 82 1
Compact 5 Emco [TP] L118 82
Swedturn 10 CNC 220 L153 82 1m
Fanuc 2000C Mazak L168 82
Fanuc 10T MS [2 G54] L066 82
GE 550T LeBlonde L082 82
Fanuc 0T (Anzon1) L077 82 1m
36 (82)
Egz T1 14
Zagadnienia T1
Whirpool AWZ 220 D

więcej podobnych podstron