Dyna Myte 3000 L188 82


{Change Comments ***********************************************************}

{10/11/90
Modified: Fanuc 10T MS [-] L001.71.3
For: AC Rochester
Machine:
Control: Dyna Myte 3000
Made changes per manual specs.
Things that still need to be fixed:
Format for FeedIPR# #5 = 'b^bb0' outputs 010 when it should output 10 if FeedRate = .01.
NumFullPecks# does not work for Lathe peck drilling operations.
Need a command that will output the number of threading passes.
Need a numbers command that outputs the O.D. thread's major diameter,
(or I.D. thread's minor diameter).
Need a numbers command that outputs the thread height.
DWB}

{2/25/94
Updated: Dyna Myte 3000 L188.71.3
Per the: Fanuc 10T MS [-] L001.82ż
Reply to above notes:
The Format for FeedIPR# appears to now be working correctly.
The method used here for PeckChipBreaker is working correctly.
Assume then that the same method for threading is working OK as well.
I cannot see how or where to incorporate the threads major/minor diameter or thread height.
Jim Radcliffe}

{Prog Numeric Format Definitions *******************************************}

#1 = '#.00'
#2 = '-b0.0000; 0.0000'
#3 = '########;0'
#4 = 'bb.0'
#5 = 'b^bb0'
#6 = 'bbb0'
#7 = '00'
#8 = 'b0'
#9 = 'b0.0000; 0.0000'
#10 = '+b0.0000; 0.0000'

FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(CycleStartX#,2)
FORMAT(FinishXDia#,2)
FORMAT(DiaDistanceToThread#,2)
FORMAT(CycleStartZ#,2)
FORMAT(FinishZ#,2)
FORMAT(Operation#,3) {.72}
FORMAT(Dwell#,4) {.72}
FORMAT(FeedIPR#,5) {** also set in threading section **}
FORMAT(SpeedRPM#,6)
FORMAT(Program#,7) {.72}
FORMAT(Tag#,7)
FORMAT(Tool#,8) {.72}
FORMAT(ArcR#,9)
FORMAT(ZDepthInc#,10)

{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
PostScript EOL {literals}
PSStuff {commands}
NextPS
RETURN

DoEndOpPS:
PSInit
EachEOPS
EndOpPS EOL {literals}
PSStuff {commands}
NextPS
RETURN

StockOnNoCan:
IF NOT CannedCycle?
StockOn {need stock for SP positioning, if not a canned cycle}
END
RETURN

DoSeqLab:
'?'
RETURN

DoRapid:
' GOf'
RETURN

DoFeed:
' GO '
RETURN

DoSpace:
' '
RETURN

FeedNoCan:
IF CannedCycle?
DoRapid
ELSE
DoFeed
END
RETURN

ODApproachSP:
DoSeqLab DoRapid StockOnNoCan ZSP EOL
DoSeqLab DoRapid StockOff XOpCD EOL
StockOnNoCan
IF NotEqual? CycleStartX# XOpCD#
DoSeqLab FeedNoCan XSP EOL
END
RETURN

IDApproachSP:
DoSeqLab DoRapid StockOnNoCan ZSP EOL
IF SameTool?
DoSeqLab DoRapid StockOff XOpCD EOL { for SameTool ApproachID }
END
StockOnNoCan
IF NotEqual? CycleStartX# XOpCD#
DoSeqLab FeedNoCan XSP EOL
END
RETURN

FaceApproachSP:
IF SameTool?
DoSeqLab DoRapid StockOnNoCan XSP EOL { for SameTool ApproachFace }
END
DoSeqLab DoRapid StockOff ZOpCP EOL
StockOnNoCan
IF NotEqual? CycleStartZ# ZOpCP#
DoSeqLab FeedNoCan ZSP EOL
END
RETURN

AppMove:
StockOff ZCP
RETURN

Approach: { NOT FOR TAILSTOCK, .82 }
IF ApproachOD?
DoSeqLab DoRapid StockOff XCP EOL
DoSeqLab DoSpace AppMove EOL
ODApproachSP
ELSE
IF ApproachID?
DoSeqLab DoRapid StockOff XOpCD EOL
DoSeqLab DoSpace AppMove EOL
IDApproachSP
ELSE {ApproachFace}
DoSeqLab DoRapid StockOnNoCan XSP EOL
DoSeqLab DoSpace AppMove EOL
FaceApproachSP
END
END
RETURN

CheckOffset:
DoEndOpPS
IF LAST ProgStop?
DoSeqLab ' SPINDLE OFF' EOL
DoSeqLab ' CONTROL 5' EOL
DoSeqLab ' HALT ' EOL
DoSeqLab ' SPINDLE ON ' EOL
ELSE
IF CoolOff? AND LAST NOT CoolOff?
DoSeqLab ' CONTROL 5' EOL
END
END
DoSeqLab CSSOff ' SPD SP= ' SpeedRPM# EOL
DoSeqLab ' FR XZ/R=' FeedIPR# EOL
IF LAST ProgStop?
IF NOT CoolOff?
DoSeqLab ' CONTROL 4' EOL
END
ELSE
IF NOT CoolOff? AND LAST CoolOff?
DoSeqLab ' CONTROL 4' EOL
END
END
DoPostScript
RETURN

FormatArc:
DoSeqLab DoFeed
IF ArcCW?
'R '
ELSE
'R-'
END
ArcR# EOL
DoSeqLab DoSpace MoveX EOL
DoSeqLab DoSpace MoveZ EOL
RETURN

LineOverCk:
IF LineNumOver?('970')
'? ' 'SKIP TO 998' EOL
'998 ' 'DWELL 01' EOL
'999 ' EOL
'Ś1' EOL {retag reseq starting value, Ś is option-7}
END
RETURN

ToolPath:
EACHFeat
GetToolTip
IF LastFeat?
IF Drilling?
IF Tap?
DoSeqLab ' DWELL 2.0' EOL
ELSE
IF Dwell?
DoSeqLab ' DWELL ' Dwell# EOL
END
END
END
END
IF PointFeat?
DoSeqLab 'THIS IS A POINT FEATURE' EOL
ELSE
IF RapidFeat?
IF XMove? AND ZMove?
DoSeqLab DoRapid MoveX EOL
DoSeqLab DoSpace MoveZ EOL
ELSE
IF XMove?
DoSeqLab DoRapid MoveX EOL
ELSE
IF ZMove?
DoSeqLab DoRapid MoveZ EOL
END
END
END
ELSE
IF LineFeat?
IF XMove? AND ZMove?
DoSeqLab DoFeed MoveX EOL
DoSeqLab DoSpace MoveZ EOL
ELSE
IF XMove?
DoSeqLab DoFeed MoveX EOL
ELSE
IF ZMove?
DoSeqLab DoFeed MoveZ EOL
END
END
END
ELSE
IF ArcFeat?
FormatArc
ELSE
IF ThreadFeat?
DoSeqLab DoRapid MoveX EOL
DoSeqLab DoFeed MoveZ EOL
END
END
END
END
END
LineOverCk
NEXTFeat
RETURN

{Start of executable Prog **************************************************}

{setup and initializations}
InitProg
SetLowerCaseOK
PosSideLathe
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?
DoSeqLab ' START INS ' Program# EOL
DoSeqLab ' SET UP >zxdc' EOL
IF UseComments?
IF ProgramNameComment?
'( ' 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 ' MoveType$ ' INCHES )' EOL
END
END
RestoreScale
OpenSub
StockOff {.71.2}
SetHome
DoOpComments
DoPostScript
Plane
DoSeqLab ' SPINDLE ON ' EOL
DoSeqLab CSSOff ' SPD SP= ' SpeedRPM# EOL
DoSeqLab ' TOOL ' Tool# EOL
DoSeqLab ' FR XZ/R=' FeedIPR# EOL
IF NOT CoolOff?
DoSeqLab ' CONTROL 4' EOL
END
Approach
ELSE
IF NewTool?

{Finish off last Operation}

StockOff {.62}
IF LAST ApproachOD?
DoSeqLab DoRapid XCP EOL
ELSE
IF LAST ApproachID?
DoSeqLab DoRapid LAST XOpECD EOL
END
END
DoSeqLab DoRapid ZCP EOL
DoEndOpPS
DoSeqLab ' SPINDLE OFF' EOL
DoSeqLab ' CONTROL 5' EOL
DoSeqLab ' X>CLR X ' EOL
DoSeqLab ' Z>CLR Z ' EOL
IF LAST ProgStop?
DoSeqLab ' HALT ' EOL
ELSE
IF OptionalStops?
DoSeqLab ' HALT ' EOL
END
END

{Start new Operation}

DoOpComments
DoPostScript
Plane
DoSeqLab ' SPINDLE ON ' EOL
DoSeqLab CSSOff ' SPD SP= ' SpeedRPM# EOL
DoSeqLab ' TOOL ' Tool# EOL
DoSeqLab ' FR XZ/R=' FeedIPR# EOL
DoSeqLab ' CONTROL 4' EOL
Approach
ELSE
IF SameTool? {.62}

{Start new Operation}

StockOff
DoOpComments
IF LAST StraightConnect?
CheckOffset
DoSeqLab DoRapid StockOnNoCan XSP EOL
DoSeqLab DoSpace ZSP EOL
ELSE
IF ApproachOD?
IF LAST ApproachOD?
DoSeqLab DoRapid LAST XOpECD EOL
ELSE {around}
IF LAST ApproachID?
DoSeqLab DoRapid LAST XOpECD EOL
END
DoSeqLab DoRapid ZCP EOL
DoSeqLab DoRapid XCP EOL
END
CheckOffset
ODApproachSP
ELSE
IF ApproachID?
IF LAST ApproachID?
DoSeqLab DoRapid LAST XOpECD EOL
ELSE
IF LAST ApproachOD? {around}
DoSeqLab DoRapid XCP EOL
END
DoSeqLab DoRapid ZCP EOL
DoSeqLab DoRapid XOpCD EOL
END
CheckOffset
IDApproachSP
ELSE {ApproachFace}
IF LAST ApproachFace?
DoSeqLab DoRapid LAST ZOpECP EOL
ELSE
IF LAST ApproachOD? {around}
DoSeqLab DoRapid XCP EOL
ELSE {LAST ApproachID}
DoSeqLab DoRapid LAST XOpECD EOL
END
DoSeqLab DoRapid ZCP EOL
END
CheckOffset
FaceApproachSP
END
END
END
END
END
END {common point for all operations}
IF CannedCycle?
StockOff
IF Roughing?
IF RoughSimple?
StockOn
SetPass1
ToolPath
IF AutoFinish?
IF ApproachFace?
DoSeqLab ' GO Z' FinishZ# EOL
DoSeqLab ' GO X' FinishXDia# EOL
DoSeqLab ' GO Z' CycleStartZ# EOL
DoSeqLab ' GOfX' CycleStartX# EOL
ELSE
DoSeqLab ' GO X' FinishXDia# EOL
DoSeqLab ' GO Z' FinishZ# EOL
IF ApproachOD?
DoSeqLab ' GO X' CycleStartX# EOL
DoSeqLab ' GOfZ' CycleStartZ# EOL
ELSE {ApproachID}
DoSeqLab ' GOfX' CycleStartX# EOL
DoSeqLab ' GOfZ' CycleStartZ# EOL
END
END
END
ELSE
IF RoughContour?
StockOn
SetPass1
ToolPath
IF AutoFinish?
SetPass2
DoSeqLab ' GOfX' CycleStartX# EOL
DoSeqLab ' GOfZ' CycleStartZ# EOL
ToolPath
IF ApproachFace?
DoSeqLab ' GOfX' CycleStartX# EOL
ELSE
DoSeqLab ' GOfZ' CycleStartZ# EOL
END
END
ELSE
IF RoughPatternShift?
StockOn
SetPass1
ToolPath
IF AutoFinish?
SetPass2
DoSeqLab ' GOfX' CycleStartX# EOL
DoSeqLab ' GOfZ' CycleStartZ# EOL
ToolPath
SetPass1
EachFeat
NextFeat
DoSeqLab DoRapid MoveX EOL
DoSeqLab DoSpace MoveZ EOL
END
END
END
END
ELSE
IF Threading?
FORMAT(FeedIPR#,9)
EachFeat {Used to count number of passes}
IF NOT RapidFeat?
IF NOT LineFeat?
IF ThreadFeat?
TagInc
END
END
END
NextFeat
IF ApproachOD?
DoSeqLab ' THREAD Fo ' Tag# EOL
ELSE
IF ApproachID?
DoSeqLab ' THREAD Fi ' Tag# EOL
END
END
SetInc
DoSeqLab ' XA =' DiaDistanceToThread# EOL
SetAbsOrInc
DoSeqLab ' ZB =' FinishZ# EOL
DoSeqLab ' NN = 1' EOL
DoSeqLab ' LD = ' FeedIPR# EOL
DoSeqLab ' FIN= 0.0002' EOL
IF AutoFinish?
IF ApproachOD?
DoSeqLab ' THREAD Fo 01' EOL
ELSE
IF ApproachID?
DoSeqLab ' THREAD Fi 01' EOL
END
END
SetInc
DoSeqLab ' XA =' DiaDistanceToThread# EOL
SetAbsOrInc
DoSeqLab ' ZB =' FinishZ# EOL
DoSeqLab ' NN = 1' EOL
DoSeqLab ' LD = ' FeedIPR# EOL
DoSeqLab ' FIN= 0.0000' EOL
END
FORMAT(FeedIPR#,5)
ELSE
IF Drilling?
IF FIRO? AND NOT Dwell?
DoSeqLab ' DRIL PECK 00' EOL
DoSeqLab ' ZB = ' ZDepthInc# EOL
IF AutoFinish?
DoSeqLab ' DRIL PECK 00' EOL
DoSeqLab ' ZB = ' ZDepthInc# EOL
END
ELSE
IF PeckChipBreaker?
TagInit
EachFeat {Used to count number of pecks}
IF LineFeat?
TagInc
END
NextFeat
DoSeqLab ' DRIL PECK ' Tag# EOL
DoSeqLab ' ZB = ' ZDepthInc# EOL
IF AutoFinish?
DoSeqLab ' DRIL PECK 00' EOL
DoSeqLab ' ZB = ' ZDepthInc# EOL
END
ELSE
IF Tap?
DoSeqLab DoFeed ZDepth EOL
DoSeqLab ' DWELL 2.0' EOL
DoSeqLab DoFeed ZSP EOL
ELSE
StockOn
SetPass1
ToolPath
IF AutoFinish?
DoSeqLab DoFeed ZDepth EOL
IF Dwell?
DoSeqLab ' DWELL ' Dwell# EOL
END
IF NOT FIFO?
DoSeqLab DoRapid ZSP EOL
ELSE
DoSeqLab DoFeed ZSP EOL
END
END
END
END
END
ELSE
IF Grooving?
StockOn
SetPass1
DoSeqLab StrtPos EOL
ToolPath
END
END
END
END
ELSE
StockOn
SetPass1
ToolPath
IF AutoFinish?
IF NOT Drilling? AND NOT Grooving? AND NOT RoughSimple?
StockOff
IF Turning?
SetPass1
IF ApproachFace?
DoSeqLab DoRapid ZOpECP EOL
FaceApproachSP
ELSE
DoSeqLab DoRapid XOpECD EOL
IF ApproachOD?
ODApproachSP
ELSE {ApproachID}
IDApproachSP
END
END
ELSE
SetPass2
DoSeqLab DoRapid XSP EOL
DoSeqLab DoSpace ZSP EOL
END
ToolPath
END
END
END
NextOp {loops back to EachOP until last Operation}

{End of program ************************************************************}

{finish last operation}
StockOff
IF ApproachOD?
DoSeqLab DoRapid XCP EOL
ELSE
IF ApproachID?
DoSeqLab DoRapid XOpECD EOL
END
END
DoSeqLab DoRapid ZCP EOL
DoEndOpPS
DoSeqLab ' SPINDLE OFF' EOL
DoSeqLab ' CONTROL 5' EOL
DoSeqLab ' X>CLR X ' EOL
DoSeqLab ' Z>CLR Z ' EOL
EachOp
IF FirstOperation?
DoSeqLab ' TOOL ' Tool# EOL
END
DoSeqLab ' END NEWPART ' EOL
Post
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:
Dyna Myte 2800 M420 80m
Dyna Myte 2000 M119 80M
Dyna Myte 2400 [CC] MV98 80 2
Dyna Myte 2000 M119 80
Dyna Myte 4000 long M405 80 1
Dyna Myte 2800 long M419 80 1
Dyna Myte 2800 M420 85
Dyna Myte 2000 M119 85
Dyna Myte 4000 M404 80
Dyna Myte 2000 long M346 80 1M
Dyna Myte 4400 M228 80
Dyna Myte 4400 long M307 80 1
Okuma 3000 LB20 [MK] L134 82 1
Okuma OSP 3000 LC10 L069 82 1

więcej podobnych podstron