plik


{Change Comments ***********************************************************} {6/5/89, changed tool path to force feed on first TP move after a tool change,added Metric, WFG} {10/30/89, Modified from Fanuc 10T-MS [-] L001.60 To be used with ncPost 3.197 or later ONLY!!! This post does not handle incremental output. Added Event Codes: (0)=Position (1)=Turn (2)=Face (3)=Taper (4)=Arc (5)=Thread (6)=Groove (Not Used) (7)=Drill (8)=Repeat (Not Used) (9)=Subroutine (Not Used) (M)='M' Function (R)=Roughing (F)=Finishing (T)=Text Added 'LineFeatureEventType' sub to check whether LineFeat was a 'Z' move, 'X' move or both. 11/1/89 DWB} {12/7/89 Modified: Dynapath 10T Lagun L132.61 For Coast Craft Added 'END' to end of prog. Added ascii 36 to mach spec for line terminator. Switched the "(1)" and "(2)" in the prog sub "LineFeatureEventType". Jim Radcliffe} {Added 'G0' to the '(3)' event. JR, 12/8/89} {Deleted "ReverseXZArcs" & switched "C0" & "C1" in ForamtArc pro sub. JR, 12/8/89 } {7/24/90, Added InitProg globally to posts with this remark, DWB} {7/24/90, Replaced all occurances of FinishThreadRadius# with FinishXRadius#, DWB} {8/9/90 Copied & modified: Dynapath 10T Lagun L132.63 For: Coastcraft Rubber Machine: Lagun Control: Dynapath 10T Updated to Version 3.2 per Fanuc 10T MS [-] L001.71.1 Format DWB} {4/26/91 Changed Format #2 from '#.##0;0' to '#.###0;0'. Also took out Quadstopping. JC} {7/9/96, Updated Dynapath 10T Lagun L132.71.2 to .85 format & modified Threading, JR} {5/22/97, Fixed Stupid JR Literal problem 'end' created post Dynapath 10T Lagun L132.85.1 JM} {5/22/97, Recreated LineFeatureEventType prog sub. It was removed during the 85 update Removed FeedRate from LIneFeat created post Dynapath 10T Lagun L132.85.2 ***** NOTE POST WILL NOT SUPPORT VARABLE FEEDRATES****** JM} {Prog Numeric Format Definitions *******************************************} #1 = '#.00' #2 = '#.###0;0' #3 = '#######0' FORMAT(FileFeet#,1) FORMAT(FileMeters#,1) FORMAT(FirstMoveEPZ#,2) FORMAT(FirstMoveEPX#,2) FORMAT(Dwell#,2) FORMAT(Retract#,2) FORMAT(EPX#,2) FORMAT(EPZ#,2) FORMAT(FeedConIPR#,2) FORMAT(ZStockMax#,2) FORMAT(FinishXRadius#,2) FORMAT(LastCutXRadius#,2) FORMAT(ADD#,2) FORMAT(SUB#,2) FORMAT(ATAN#,2) FORMAT(InfeedAngle#,2) FORMAT(Program#,3) {.70} FORMAT(Operation#,3) {.70} FORMAT(Tool#,3) {.70} FORMAT(SpringPasses#,3) FORMAT(ThreadStarts#,3) {Special Subroutines *******************************************************} DoRapid: Rapid { no output } '(0)' RETURN DoRapidC: IF NotEqual? Recall# Num#('1') Recall# Num#('3') DoRapid ELSE IF NotEqual? Recall# Num#('2') Recall# Num#('4') DoRapid END END RETURN DoFeed: Feed { no output } IF NotEqual? Recall# Num#('1') Recall# Num#('3') IF NotEqual? Recall# Num#('2') Recall# Num#('4') '(3)' ELSE '(2)' END ELSE IF NotEqual? Recall# Num#('2') Recall# Num#('4') '(1)' END END RETURN DoFeedC: IF NotEqual? Recall# Num#('1') Recall# Num#('3') DoFeed ELSE IF NotEqual? Recall# Num#('2') Recall# Num#('4') DoFeed END END RETURN SaveOld: Save# Num#('3') Recall# Num#('1') Save# Num#('4') Recall# Num#('2') RETURN SaveThisOpEntryXCP: SaveOld Save# Num#('1') ThisOpEntryXCP# RETURN SaveThisOpEntryZCP: SaveOld Save# Num#('2') ThisOpEntryZCP# RETURN SaveXSP: SaveOld Save# Num#('1') CycleStartX# RETURN SaveXSPZSP: SaveOld Save# Num#('1') CycleStartX# Save# Num#('2') CycleStartZ# RETURN SaveZOpCP: SaveOld Save# Num#('2') ZOpCP# RETURN SaveZSP: SaveOld Save# Num#('2') CycleStartZ# RETURN SaveXOpCD: SaveOld Save# Num#('1') XOpCD# RETURN SaveEPXEPZ: SaveOld Save# Num#('1') EPX# Save# Num#('2') EPZ# RETURN SaveLastOpExitXCP: SaveOld Save# Num#('1') LAST OpExitXCP# RETURN SaveLastXOpECD: SaveOld Save# Num#('1') LAST ClearancePlane3# RETURN SaveLastOpExitZCP: SaveOld Save# Num#('2') LAST OpExitZCP# RETURN SaveOpExitXCP: SaveOld Save# Num#('1') OpExitXCP# RETURN SaveXOpECD: SaveOld Save# Num#('1') ClearancePlane3# RETURN SaveOpExitZCP: SaveOld Save# Num#('2') OpExitZCP# RETURN SaveZOpECP: SaveOld Save# Num#('2') ClearancePlane3# RETURN SaveLastZOpECP: SaveOld Save# Num#('2') LAST ClearancePlane3# RETURN ThreadEvent: '(5)' IF SingleEdgeCut? IF ApproachOD? 'G5' ELSE 'G6' END ELSE IF NotEqual? RunOutZ# Num#('0') OR NotEqual? RunOutX# Num#('0') IF ApproachOD? 'G5' ELSE 'G6' END ELSE IF ApproachOD? IF Taper? 'G2' ELSE 'G0' END ELSE IF Taper? 'G4' ELSE 'G3' END END END END 'X' FinishXRadius# IF ApproachOD? 'U' ADD# FinishXRadius# ThreadXInc# ELSE 'U' SUB# FinishXRadius# ThreadXInc# END FinZ ThrdLead 'W' FirstMoveEPZ# CutDepth 'L' LastCutXRadius# IF GreaterThan? SpringPasses# Num#('1') 'S' SpringPasses# END IF GreaterThan? ThreadStarts# Num#('1') 'M' ThreadStarts# END IF Taper? 'T' ATAN# DIV# Taper# FinishZInc# END IF SingleEdgeCut? 'A' InfeedAngle# END IF NotEqual? RunOutZ# Num#('0') OR NotEqual? RunOutX# Num#('0') 'B' ATAN# DIV# RunOutZ# RunOutX# END RETURN {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? SeqC '(T) OPERATION ' Operation# ': ' OperationType$ EOL END IF OperationComment? SeqC '(T) ' OperationComment$ EOL END IF WorkGroupComment? SeqC '(T) ' WorkGroupComment$ EOL END IF ToolTypeComment? SeqC '(T) TOOL ' Tool# ': ' ToolSize$ ' ' ToolType$ EOL END IF ToolComment? SeqC '(T) ' 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 {need stock for SP positioning, if not a canned cycle} END RETURN FeedNoCan: IF NOT CannedCycle? DoFeed ELSE DoRapid END RETURN ApproachSP: IF ApproachFace? SeqC StockOnNoCan SaveXSP DoRapidC XSPC EOL SeqC StockOff SaveZOpCP DoRapidC ZOpCPC EOL StockOnNoCan IF NotEqual? CycleStartZ# ZOpCP# SeqC SaveZSP FeedNoCan ZSPC EOL END ELSE { ODApproach/IDApproach } SeqC StockOnNoCan SaveZSP DoRapidC ZSPC EOL SeqC StockOff SaveXOpCD DoRapidC XOpCDC EOL StockOnNoCan IF NotEqual? CycleStartX# XOpCD# SeqC SaveXSP FeedNoCan XSPC EOL END END RETURN AppMove: StockOff SaveThisOpEntryZCP ThisOpEntryZCP RETURN Approach: { NOT FOR TAILSTOCK, .82 } Rapid IF ApproachOD? SeqC SaveThisOpEntryXCP DoRapid ThisOpEntryXCP AppMove EOL ELSE IF ApproachID? SeqC SaveXOpCD DoRapid XOpCD AppMove EOL ELSE {ApproachFace} SeqC StockOnNoCan SaveXSP DoRapid XSP AppMove EOL END END ApproachSP RETURN CheckOffset: DoEndOpPS IF LAST ProgStop? SeqC '(M)' 'M00' EOL ELSE IF CoolOff? AND LAST NOT CoolOff? SeqC '(M)' CoolOff EOL END END SeqC IF NewToolOffset? '(M)' OpToolID LatheOffset 'D' LatheOffset END IF NotEqual? SpeedRPM# LAST SpeedRPM# IF EmptyLine? '(M)' END Speed END IF NotEqual? FeedIPR# LAST FeedIPR# IF EmptyLine? '(M)' END Feedrate END IF LAST ProgStop? IF EmptyLine? '(M)' END SpinOn EOL IF NOT CoolOff? SeqC '(M)' CoolOn EOL END ELSE EOL IF NOT CoolOff? AND LAST CoolOff? SeqC '(M)' CoolOn EOL END END DoPostScript RETURN LineFeatureEventType: IF VOnly? '(2)' ELSE IF HOnly? '(1)' ELSE '(3)G0' END END RETURN FormatArc: MoveX MoveZ ArcR IF ArcCW? 'C1' ELSE 'C0' END RETURN ToolPath: EACHFeat SaveEPXEPZ GetToolTip IF LastFeat? IF Drilling? IF Tap? SeqC '(M)' SpinOff EOL SeqC '(M)' 'L2000' EOL SeqC '(M)' InverseSpinOn EOL ELSE IF Dwell? SeqC '(M)' 'L' Dwell# EOL END END END END IF PointFeat? SeqC '(7)' MoveSXYC EOL ELSE IF RapidFeat? SeqC DoRapidC MoveXC MoveZC EOL ELSE IF LineFeat? SeqC LineFeatureEventType MoveXC MoveZC EOL ELSE IF ArcFeat? SeqC '(4)' FormatArc EOL END END END END NEXTFeat RETURN {Start of executable Prog **************************************************} {setup and initializations} InitProg XsAreRadii PosSideLathe SetAbs SetMaxRPM('10000') {?} SetMaxFeed('500') {?} Save# Num#('1') Num#('0') { current X position } Save# Num#('2') Num#('0') { current Z position } Save# Num#('3') Num#('0') { old X position } Save# Num#('4') Num#('0') { old Z position } 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? IF UseComments? IF ProgramNameComment? SeqC '(T) ' ProgramName$ EOL END IF ProgramComment? SeqC '(T) ' ProgramComment$ EOL END IF FormatNameComment? SeqC '(T) FORMAT: ' FormatName$ EOL END IF TimeComment? SeqC '(T) ' Date$ ' AT ' Time$ EOL END IF MovesComment? SeqC '(T) OUTPUT IN ABSOLUTE INCHES' EOL END END RestoreScale OpenSub StockOff {.71.2} SetHome DoOpComments DoPostScript Plane Seq '(M)' OpToolID LatheOffset 'D' LatheOffset ToolChng Speed Feedrate EOL IF NOT CoolOff? SeqC '(M)' CoolOn EOL END SeqC '(M)' SpinOn EOL Approach ELSE IF NewTool? {Finish off last Operation} StockOff {.62} IF LAST ApproachOD? SeqC SaveLastOpExitXCP DoRapidC LAST OpExitXCPC EOL ELSE IF LAST ApproachID? SeqC SaveLastXOpECD DoRapidC LAST XOpECDC EOL END END SeqC SaveLastOpExitZCP DoRapidC LAST OpExitZCPC EOL DoEndOpPS IF LAST ProgStop? SeqC '(M)' 'M00' EOL ELSE IF OptionalStops? SeqC '(M)' ProgStop EOL END END {Start new Operation} DoOpComments DoPostScript Plane Seq '(M)' OpToolID LatheOffset 'D' LatheOffset ToolChng Speed Feedrate EOL IF NOT CoolOff? SeqC '(M)' CoolOn EOL END SeqC '(M)' SpinOn EOL Approach ELSE IF SameTool? {.62} {Start new Operation} StockOff DoOpComments IF LAST StraightConnect? CheckOffset SeqC SaveXSPZSP DoRapidC StockOnNoCan XSPC ZSPC EOL ELSE IF ApproachOD? IF LAST ApproachOD? SeqC SaveLastXOpECD DoRapidC LAST XOpECDC EOL ELSE {around} IF LAST ApproachID? SeqC SaveLastXOpECD DoRapidC LAST XOpECDC EOL END SeqC SaveLastOpExitZCP DoRapidC LAST OpExitZCPC EOL SeqC SaveLastOpExitXCP DoRapidC LAST OpExitXCPC EOL END ELSE IF ApproachID? IF LAST ApproachID? SeqC SaveLastXOpECD DoRapidC LAST XOpECDC EOL ELSE IF LAST ApproachOD? {around} SeqC SaveLastOpExitXCP DoRapidC LAST OpExitXCPC EOL END SeqC SaveLastOpExitZCP DoRapidC LAST OpExitZCPC EOL SeqC SaveXOpCD DoRapidC XOpCDC EOL END ELSE {ApproachFace} IF LAST ApproachFace? SeqC SaveLastZOpECP DoRapidC LAST ZOpECPC EOL ELSE IF LAST ApproachOD? {around} SeqC SaveLastOpExitXCP DoRapidC LAST OpExitXCPC EOL ELSE {LAST ApproachID} SeqC SaveLastXOpECD DoRapidC LAST XOpECDC EOL END SeqC SaveLastOpExitZCP DoRapidC LAST OpExitZCPC EOL END END END CheckOffset ApproachSP END END END END {common point for all operations} IF CannedCycle? StockOff IF Roughing? IF RoughSimple? StockOn SetPass1 ToolPath ELSE IF RoughContour? SetPass2 SeqC LCycle IF ApproachFace? 'G2' CutDepth ZStkLeft ELSE IF ApproachID? 'G1' ELSE 'G0' END CutDepth XStkLeft END FeedRate Speed OpToolID LatheOffset 'D' LatheOffset EOL IF AutoFinish? SeqC '(F)' IF ApproachFace? 'G2' ELSE IF ApproachID? 'G1' ELSE 'G0' END END 'P1' FeedRate Speed EOL END SeqC SaveXSPZSP StepMove {no output} IF Rapid? DoRapid ELSE DoFeed END StrtPos EOL ToolPath SeqC '(M)G7' EOL ELSE IF RoughPatternShift? SetPass2 SeqC LCycle IF ApproachFace? 'G2' CutDepth ZStkLeft ELSE IF ApproachID? 'G1' ELSE 'G0' END CutDepth XStkLeft END FeedRate Speed OpToolID LatheOffset 'D' LatheOffset EOL IF AutoFinish? SeqC '(F)' IF ApproachFace? 'G2' ELSE IF ApproachID? 'G1' ELSE 'G0' END END 'P1' FeedRate Speed EOL END SeqC SaveXSPZSP '( DoFeed )' StrtPos EOL ToolPath SeqC '(M)G7' EOL END END END ELSE IF Threading? SeqC ThreadEvent EOL ELSE IF Drilling? SeqC LCycle ZDepth Retract Peck FeedRate Dwell EOL IF AutoFinish? SeqC '(1)' ZDepth FeedRate EOL SeqC '(0)Z' Retract# EOL END ELSE IF Grooving? SeqC '(0)' SaveXSPZSP StrtPos EOL ToolPath END END END END ELSE IF Threading? StockOff SeqC ThreadEvent EOL ELSE StockOn SetPass1 ToolPath END IF AutoFinish? { .82.1c } StockOff IF Turning? IF ApproachFace? SeqC SaveZOpECP DoRapidC ZOpECPC EOL ELSE SeqC SaveXOpECD DoRapidC XOpECDC EOL END ApproachSP StockOff ToolPath ELSE IF Roughing? AND NOT RoughSimple? SetPass2 SeqC SaveXSPZSP DoRapidC XSPC ZSPC EOL ToolPath SetPass1 END END END END IF Drilling? AND Tap? SeqC '(M)' SpinOff EOL SeqC '(M)' 'L2000' EOL SeqC '(M)' SpinOn EOL END NextOp {loops back to EachOP until last Operation} {End of program ************************************************************} {finish last operation} StockOff IF ApproachOD? SeqC SaveOpExitXCP DoRapidC OpExitXCPC EOL ELSE IF ApproachID? SeqC SaveXOpECD DoRapidC XOpECDC EOL END END SeqC SaveOpExitZCP DoRapidC OpExitZCPC EOL DoEndOpPS SeqC '(M)' CoolOff EOL SeqC '(M)' OpToolID LatheOffset 'D' LatheOffset ToolChng EOL SeqC '(M)' SpinOff EOL SeqC '(M)' EOP EOL Post 'END' EOL Close IF UseComments? SetScale('1') {restore scale for comments} Reopen IF FileBytesComment? SeqC '(T) FILE LENGTH: ' FileBytes# ' CHARACTERS' EOL END IF FileFeetComment? SeqC '(T) FILE LENGTH: ' FileFeet# ' FEET' EOL END IF FileMetersComment? SeqC '(T) FILE LENGTH: ' FileMeters# ' METERS' EOL END Close END

Wyszukiwarka

Podobne podstrony:
Dynapath 10T Lagun L132 85 2m
Fanuc 10T [TK] L758 85
Fanuc 10T MS [ ] L004 85
Dynapath 10M QMC M224 85
Dynapath 10M [CM] M715 85 1
Dynapath 10M [AM] M906 85 2
DeltaT PMAC 10T [HM] L783 85
Fanuc 10T MS [ ] L001 85 01
Dynapath 20M (ATD) M304 85
Fanuc 10T HS [KMT] L759 85
Fanuc 10T MS [PT] L703 85 1
Fanuc 10T Mazak QT L088 85
Fanuc 10T Cincom F20 L527 85 1
Fanuc 10T MS [BMR] L768 85
Fanuc 10T MS [ TPM] L455 85

więcej podobnych podstron