{Change Comments ***********************************************************}
{5/23/95
Initial: Okuma OSP 5000 LC10 L235.82.2
ForUser: Braden / O&F
Control: Okuma OSP 5000
Machine: Okuma LB-10 / single 12 station turret
Develop: ComPost 4.21.26, ncCAD 4.33, ncCAM 4.33, ncPost 4.33.04
Comment: New Processor per readouts before and after edits and a list of notes.
Jim Radcliffe}
{Prog Numeric Format Definitions *******************************************}
#1 = '#.00'
#2 = '+####.####;0'
#3 = '#######0'
#4 = '###.##;0'
#5 = '####.####;0'
#6 = '#'
FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(XCutDepth#,2)
FORMAT(ZCutDepth#,2)
FORMAT(Program#,3) {.72}
FORMAT(Operation#,3) {.72}
FORMAT(Tool#,3) {.72}
FORMAT(Dwell#,4) {.72}
FORMAT(Peck#,5)
FORMAT(RapidF#,6)
{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
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
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?
FeedC
END
RETURN
FeedRateNoCan:
IF NOT CannedCycle?
FeedRateC
END
RETURN
ODApproachSP:
SeqC StockOnNoCan ZSPC EOL
SeqC StockOff XOpCDC EOL
StockOnNoCan
IF NotEqual? CycleStartX# XOpCD#
SeqC FeedNoCan XSPC FeedRateNoCan EOL
END
RETURN
IDApproachSP:
SeqC StockOnNoCan ZSPC EOL
SeqC StockOff XOpCDC EOL { for SameTool ApproachID }
StockOnNoCan
IF NotEqual? CycleStartX# XOpCD#
SeqC FeedNoCan XSPC FeedRateNoCan EOL
END
RETURN
FaceApproachSP:
SeqC StockOnNoCan XSPC EOL { for SameTool ApproachFace }
SeqC StockOff ZOpCPC EOL
StockOnNoCan
IF NotEqual? CycleStartZ# ZOpCP#
SeqC FeedNoCan ZSPC FeedRateNoCan EOL
END
RETURN
Approach: { NOT FOR TAILSTOCK, .82 }
Rapid RapidF# { RapidF# Forces FeedRate }
IF ApproachOD?
SeqC XOpCD StockOnNoCan ZSP EOL
ODApproachSP
ELSE
IF ApproachID?
SeqC XOpCD StockOnNoCan ZSP EOL
IDApproachSP
ELSE {ApproachFace}
SeqC StockOnNoCan XSP StockOff ZOpCP EOL
FaceApproachSP
END
END
RETURN
CheckOffset:
DoEndOpPS
IF LAST ProgStop?
SeqC 'M0' EOL
ELSE
IF CoolOff? AND LAST NOT CoolOff?
SeqC CoolOff EOL
END
END
IF ConstantSurfaceFeed?
IF LAST ConstantSurfaceFeed?
IF NotEqual? MaxRPM# LAST MaxRPM#
SeqC Preset MaxRPM EOL
END
ELSE
SeqC Preset MaxRPM EOL
END
END
SeqC
IF NewToolOffset?
OpToolID LatheOffset
END
IF LAST ProgStop?
CoolOn
ELSE
IF NOT CoolOff? AND LAST CoolOff?
CoolOn
END
END
IF ConstantSurfaceFeed?
IF LAST ConstantSurfaceFeed?
SpeedC
ELSE
CSSOn 'G96' Speed
END
ELSE
IF LAST ConstantSurfaceFeed?
CSSOff 'G97' Speed
ELSE
SpeedC
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
ToolPath:
EACHFeat
GetToolTip
IF LastFeat?
IF Drilling?
IF Dwell?
SeqC 'G4P' Dwell# EOL
END
END
END
IF PointFeat?
SeqC MoveSXYC EOL
ELSE
IF RapidFeat?
SeqC RapidC MoveXC MoveZC EOL
ELSE
IF LineFeat?
SeqC FeedC MoveXC MoveZC FeedRateC
IF LastFeat? AND Drilling? AND Tap?
Speed InverseSpinOn
END
EOL
ELSE
IF ArcFeat?
EACHQuadrant { Do not use NOT, LAST, FIRST or NEXT modifiers in this loop }
SeqC FormatArc FeedRateC EOL
NEXTQuadrant
ELSE
IF ThreadFeat?
SeqC 'G33' MoveXC MoveZC
IF Taper?
XTapAtZ
END
ThrdLead EOL
Rapid
END
END
END
END
END
NEXTFeat
RETURN
{Start of executable Prog **************************************************}
{setup and initializations}
InitProg
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?
'$'
ASCII('00')
Program# '.MIN'
ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00')
ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00')
ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00')
ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00')
ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00') ASCII('00')
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 ' MoveType$ ' INCHES )' EOL
END
END
RestoreScale
OpenSub
StockOff {.71.2}
SetHome
DoOpComments
DoPostScript
Plane
IF ConstantSurfaceFeed?
SeqC Preset MaxRPM EOL
END
SeqC OpToolID LatheOffset CoolOn
IF ConstantSurfaceFeed?
CSSOn 'G96'
ELSE
CSSOff 'G97'
END
Speed SpinOn EOL
Approach
ELSE
IF NewTool?
{Finish off last Operation}
StockOff {.62}
RapidC
IF LAST ApproachOD?
SeqC XCPC EOL
ELSE
IF LAST ApproachID?
SeqC LAST XOpECDC EOL
END
END
SeqC ZCPC EOL
DoEndOpPS
SeqC NewHome
IF LAST Drilling? AND LAST TAP?
SpinOff
END
EOL
IF LAST ProgStop?
SeqC 'M0' EOL
ELSE
SeqC ProgStop EOL
END
{Start new Operation}
DoOpComments
DoPostScript
IF ConstantSurfaceFeed?
SeqC Preset MaxRPM EOL
END
SeqC OpToolID LatheOffset CoolOn
IF ConstantSurfaceFeed?
CSSOn 'G96'
ELSE
CSSOff 'G97'
END
Speed SpinOn EOL
Approach
ELSE
IF SameTool? {.62}
{Start new Operation}
StockOff
DoOpComments
IF LAST StraightConnect?
CheckOffset
RapidC
SeqC StockOnNoCan XSPC ZSPC EOL
ELSE
RapidC
IF ApproachOD?
IF LAST ApproachOD?
SeqC LAST XOpECDC EOL
ELSE {around}
IF LAST ApproachID?
SeqC LAST XOpECDC EOL
END
SeqC ZCPC EOL
SeqC XCPC EOL
END
CheckOffset
ODApproachSP
ELSE
IF ApproachID?
IF LAST ApproachID?
SeqC LAST XOpECDC EOL
ELSE
IF LAST ApproachOD? {around}
SeqC XCPC EOL
END
SeqC ZCPC EOL
SeqC XOpCDC EOL
END
CheckOffset
IDApproachSP
ELSE {ApproachFace}
IF LAST ApproachFace?
SeqC LAST ZOpECPC EOL
ELSE
IF LAST ApproachOD? {around}
SeqC XCPC EOL
ELSE {LAST ApproachID}
SeqC LAST XOpECDC EOL
END
SeqC ZCPC EOL
END
CheckOffset
FaceApproachSP
END
END
END
END
END
END {common point for all operations}
IF CannedCycle?
StockOff
IF Roughing?
TagInc
SetPass2
IF RoughContour?
SeqC 'G85NLAP' Tag# Tab CutDepth FeedRate XStkLeft ZStkLeft EOL
'NLAP' Tag# Tab LCycle EOL
ELSE
IF RoughPatternShift?
SeqC 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
SeqC StepMove StrtPos EOL
ToolPath
SeqC 'G80' EOL
IF AutoFinish?
SeqC 'G87NLAP' Tag# EOL
END
SetAbs
SetPass1
TrackXNO# CycleStartX#
TrackZNO# CycleStartZ#
SetAbsOrInc
ELSE
IF Threading?
{ Face Threads require G72, ZTapAtX and W Address for XTapAtZ }
SeqC 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?
SeqC 'G33' XatFinZ FinZ
IF Taper?
XTapAtZ
END
ThrdLead EOL
END
ELSE
IF Drilling?
SeqC
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?
IF NOT Drilling? AND NOT Grooving? AND NOT RoughSimple?
StockOff
IF Turning?
SetPass1
RapidC
IF ApproachFace?
SeqC ZOpECPC EOL
FaceApproachSP
ELSE
SeqC XOpECDC EOL
IF ApproachOD?
ODApproachSP
ELSE {ApproachID}
IDApproachSP
END
END
ELSE
SetPass2
SeqC RapidC XSPC ZSPC EOL
END
ToolPath
END
END
END
NextOp {loops back to EachOP until last Operation}
{End of program ************************************************************}
{finish last operation}
StockOff
RapidC
IF ApproachOD?
SeqC XCPC EOL
ELSE
IF ApproachID?
SeqC XOpECDC EOL
END
END
SeqC ZCPC EOL
DoEndOpPS
SeqC FirstHome EOL
IF ProgStop?
SeqC 'M0' EOL
END
SeqC EOP EOL
Post
EOR EOL
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
Wyszukiwarka
Podobne podstrony:
Okuma OSP 5000 LC10 L235 82 2Okuma OSP 500L GTR L290 82 2Okuma OSP 5020L [AT] L397 82 3Okuma OSP 2200 LSN10 L089 82Okuma OSP 5000 [NC] L606 85 1Okuma OSP 3000 LC10 L069 82 1Okuma OSP 5000 (IPR) C261 12 1Okuma OSP 3000 LB20 L067 82Okuma OSP 5000 LB15 SM L553 85mOkuma OSP 2200 LC10 L058 82 1Okuma OSP 5000 LC10 L235 85 1Okuma OSP 5020L [PB] L604 85 1Okuma OSP 5020M [GSI] M648 87Okuma OSP 500L G L237 85 2więcej podobnych podstron