Okuma 5000 LB15 (CE) L171 82 1


{9/23/88}
{from the Okuma OSP 3000-LC20 L049.51, for Shultz}
{machine only has one turret, no need to call for or see tool# for 2nd turret}
{deleted ToolOver20? stuff added conventional OpToolID stuff}
{deleted G95's}
{changed form to trailing zero's, always 4 places}
{added spaces between codes}
{Jim Radcliffe}

{Jim & Bill worked on Canned cycles 9/29}

{5/9/89
Copied & modified; Okuma OSP 3000-LB20 L067.56, for Petes Workshop.
Machine is an Okuma with OSP5000 LB15 control.
New 1st line of program with End of Record code.
Change format to use decimal points.
Modified canned cycles.
Jim Radcliffe}

{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/2/90
Copied & modified: Okuma OSP 5000 LB15 L103.69
For: Colt Ind.
Changed 1st line of program to show program number instead of program name.
Changed colons to spaces in comments.
Added Rapid Home to start each tool.
Added T0 to end of each tool.
Use "G1G94F190." for Rapid Moves except for Rapid Home Stuff,
use G95 (IPR) for Feed Moves.
Updated to .69.7 format.
Jim Radcliffe}

{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}

{12/12/91
Updated: Okuma 5000 LB15 (CE) L171.79
For: Gibbs & Associates/Chandler Evans
Updated to Version 4.0 per Fanuc 6M M001.82 Format.
Will only work with NcPost 4.10.02
Added RapidF to Retract to Clearance Plane in SameTool, per request.
Removed safety FeedRateC in FaceApproach in the Approach Subroutine, per request.
Kim Michelman}

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

#1 = '0.00'
#2 = '###.##;0'
#3 = '####.####;0'
#4 = '+####.####;0'
#5 = '#####0'
#6 = '########;0'
#7 = '###0'

FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(Dwell#,2)
FORMAT(RapidF#,2)
FORMAT(Peck#,3)
FORMAT(XCutDepth#,4)
FORMAT(ZCutDepth#,4)
FORMAT(Program#,5)
FORMAT(ToolOffset#,5)
FORMAT(Operation#,6) {.72}
FORMAT(Tool#,6) {.72}
FORMAT(CalcEPRPM#,7)

{Prog Subroutines **********************************************************}

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
IF Metric? {CAM file is in Metric, tools and tool path}
SetScale('.03937007874') { change to English, this is an English post}
END
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
END
RETURN

ODApproachSP:
SeqLabC StockOnNoCan ZSPC EOL
SeqLabC StockOff XOpCDC EOL
SeqLabC StockOnNoCan XSPC EOL
RETURN

IDApproachSP:
SeqLabC StockOnNoCan ZSPC EOL
SeqLabC StockOff XOpCDC EOL { for SameTool ApproachID }
SeqLabC StockOnNoCan XSPC EOL
RETURN

FaceApproachSP:
SeqLabC StockOnNoCan XSPC EOL { for SameTool ApproachFace }
SeqLabC StockOff ZOpCPC EOL
SeqLabC Feed StockOnNoCan ZSPC EOL
RETURN

AppMove:
ZCP
RETURN

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

CheckOffset:
DoEndOpPS
IF LAST ProgStop?
SeqLabC ' M0' EOL
ELSE
IF CoolOff? AND LAST NOT CoolOff?
SeqLabC CoolOff EOL
END
END
IF NewToolOffset?
SeqLabC LOfstOff '00' EOL
SeqLabC OpToolID LatheOffset EOL
END
IF ConstantSurfaceFeed?
IF LAST ConstantSurfaceFeed?
SeqLabC SpeedC EOL
ELSE
SeqLabC Preset MaxRPM EOL
SeqLabC CSSOn ' G96' Speed EOL
END
ELSE
IF LAST ConstantSurfaceFeed?
SeqLabC CSSOff ' G97' Speed EOL
ELSE
SeqLabC SpeedC EOL
END
END
IF LAST ProgStop?
SeqLabC SpinOn EOL
SeqLabC CoolOn EOL
ELSE
IF NOT CoolOff? AND LAST CoolOff?
SeqLabC CoolOn EOL
END
END
DoPostScript
RETURN

GetG95:
IF FirstFeat?
' G95'
ELSE
IF LAST RapidFeat?
' G95'
END
END
RETURN

GetG94:
IF FirstFeat?
' G94'
ELSE
IF LAST RapidFeat?
ELSE
' G94'
END
END
RETURN

FormatArc:
IF ArcCW?
CWArcC
ELSE
CCWArcC
END
GetG95 MoveXC MoveZC
IF ArcIJFormat?
ArcIJC
ELSE
ArcRC
END
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 FeedC GetG94 MoveXC MoveZC RapidFC EOL
ELSE
IF LineFeat?
SeqLabC FeedC GetG95 MoveXC MoveZC FeedRateC EOL
ELSE
IF ArcFeat?
SeqLabC FormatArc FeedRateC EOL
ELSE
IF ThreadFeat?
SeqLabC ' G33' MoveXC MoveZC ThrdLead EOL
Rapid
END
END
END
END
END
NEXTFeat
RETURN

GetSequence:
IF MinimizeSequencing?
'N' ToolOffset#
ELSE
SeqLabC
END
RETURN

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

{setup and initializations}
InitProg
PosSideLathe
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?
'$' Program# '.MIN' 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
IF Metric? {CAM file is in Metric, tools and tool path}
SetScale('.03937007874') { change to English, this is an English post}
END
OpenSub
StockOff {.71.2}
SetHome
DoOpComments
DoPostScript
Plane
GetSequence Rapid Home ' T0' EOL
IF ConstantSurfaceFeed?
SeqLabC Preset MaxRPM EOL
SeqLabC Feed ' G94' CSSOff ' G97' CalcRPM1
ELSE
SeqLabC Feed ' G94' CSSOff ' G97' Speed
END
OpToolID LatheOffset SpinOn CoolOn ' M42' RapidF EOL
Approach
ELSE
IF NewTool?
StockOff {.62}
FeedC ' G94'
IF LAST ApproachOD?
SeqLabC XCPC RapidF EOL
ELSE
IF LAST ApproachID?
SeqLabC LAST XOpECDC RapidF EOL
END
END
SeqLabC ZCPC RapidF EOL
DoEndOpPS
IF LAST ConstantSurfaceFeed?
SeqLabC CSSOff ' G97' CalcRPM2 EOL
END
SeqLabC Rapid NewHome ' T0' EOL
IF LAST ProgStop?
' M0' EOL
ELSE
ProgStop EOL
END

{Start new Operation}

DoOpComments
DoPostScript
GetSequence Rapid Home ' T0' EOL
IF ConstantSurfaceFeed?
SeqLabC Preset MaxRPM EOL
SeqLabC Feed ' G94' CSSOff ' G97' CalcRPM1
ELSE
SeqLabC Feed ' G94' CSSOff ' G97' Speed
END
OpToolID LatheOffset SpinOn CoolOn ' M42' RapidF EOL
Approach
ELSE
IF SameTool? {.62}

{Start new Operation}

DoOpComments
StockOff
IF LAST StraightConnect?
CheckOffset
FeedC ' G94'
SeqLabC StockOnNoCan XSPC ZSPC RapidF EOL
ELSE
FeedC ' G94'
IF ApproachOD?
IF LAST ApproachOD?
SeqLabC LAST XOpECDC EOL
ELSE {around}
IF LAST ApproachID?
SeqLabC LAST XOpECDC EOL
END
SeqLabC ZCPC RapidF 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 RapidF 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 RapidF EOL
END
CheckOffset
FaceApproachSP
END
END
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?
TagInc
IF RoughContour?
SetPass2
SeqLabC ' G85 Nł' Tag# CutDepth FeedRate XStkLeft ZStkLeft EOL
'>' Tag# EOL
SeqLab
IF ApproachOD?
' G81' EOL
ELSE
' G82' EOL
END
SeqLabC StepMove StrtPos EOL
ToolPath
SeqLabC ' G80' EOL
ELSE
IF RoughPatternShift?
SetPass2
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
SeqLabC StepMove StrtPos EOL
ToolPath
SeqLabC ' G80' EOL
END
END
IF AutoFinish?
SeqLabC ' G87 Nł' Tag# EOL
END
ELSE
IF Threading?
IF ApproachFace?
SeqLabC ' G72' {cam does'nt support face threads, if did would also need new command ZTapAtX format with a W to replace XTapAtZ}
ELSE
SeqLabC ' G71'
END
IF ConstantVolumeCut? AND SingleEdgeCut?
XatFinZ FinZ XTapAtZ ToolAngle CutDepth ThrdHeight ThrdLead ' M32 M75'
ELSE
IF ConstantVolumeCut? AND NOT SingleEdgeCut?
XatFinZ FinZ XTapAtZ ' B0' CutDepth ThrdHeight ThrdLead ' M32 M75'
ELSE
IF NOT ConstantVolumeCut? AND SingleEdgeCut?
XatFinZ FinZ XTapAtZ ToolAngle CutDepth ThrdHeight ThrdLead ' M32 M74'
ELSE
IF NOT ConstantVolumeCut? AND NOT SingleEdgeCut?
XatFinZ FinZ XTapAtZ ' B0' CutDepth ThrdHeight ThrdLead ' M32 M74'
END
END
END
END
IF Chamfer?
' M23'
ELSE
' M22'
END
EOL
IF AutoFinish?
SeqLabC ' G33' XatFinZ FinZ XTapAtZ ThrdLead EOL
SeqLabC RapidC XCSP EOL
SeqLabC ZCSP EOL
END
ELSE
IF Drilling?
SeqLabC
IF Tap? AND NOT CWSpindle?
' G78'
ELSE
LCycle
END
XCSP ZDepth Peck Retract
IF PeckFullRetract?
' L' Peck#
END
FeedRate Dwell EOL
ELSE
IF Grooving?
StockOn
SetPass1
SeqLabC StrtPos EOL
ToolPath
END
END
END
END
ELSE
StockOn
SetPass1
ToolPath
IF AutoFinish?
IF NOT Drilling? AND NOT Grooving?
StockOff
IF Turning?
SetPass1
ELSE
SetPass2
END
SeqLabC FeedC ' G94' StrtPos RapidF EOL
ToolPath
END
END
IF Drilling? AND Tap?
SeqLabC SpinOff EOL
SeqLabC ' G4 P2000' EOL
SeqLabC Speed SpinOn EOL
END
END
NEXTOp
StockOff
FeedC ' G94'
IF ApproachOD?
SeqLabC XCPC RapidF EOL
ELSE
IF ApproachID?
SeqLabC XOpECDC RapidF EOL
END
END
SeqLabC ZCPC RapidF EOL
DoEndOpPS
SeqLabC CoolOff EOL
IF ConstantSurfaceFeed?
SeqLabC CSSOff ' G97 S' CalcEPRPM# EOL
END
SeqLabC FirstHome ' T0' ProgStop EOL
SeqLabC EOP EOL
EOR EOL
Post
Close
ReTag
IF UseComments?
SetScale('1')
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