Okuma OSP 5020M LH WMC DW69.12.txt

(25 KB) Pobierz
{Change Comments ***********************************************************}

{10/11/95, Updated for Catalyst v2.20 per Fanuc 6M M001.85 Format, MPS}

{10/11/95,
 Copied:Okuma OSP 5020M M374.85
 For:Ralston
 Modifed cycle for tapping, always rigid tap.
 Removed 'T50' and 'M6' from end of program.
 -MPS}

{1/17/96, Updated .85 to .86 version, MPK}

{3/22/96, Tested ZOnlyRepAutoCycle, Changed version # to .89, MPK}

{9/17/96
	Initial: Okuma 5020M [Ral] M873.89
	Created: Okuma 5020M [RPI] MZ39.89
	ForUser: Roncelli Plastics Inc
	Control: ????
	Machine: ????
	Develop: ComPost2 68k v1.0b3, Catalyst68K v3.04.10.C
	Comment: New processor per marked up readout from Tim Monzello
		Added stuff to the EOR line at beginning of program.
		Added OpToolID to ToolChng line at NewTool.
		Added moves to Z50 and Y50 at end of program.
		Suppressed move to FirstHome and ProgStop at end of program.
Jim Radcliffe}

{9/30/96
	Customer (Tim Monzello) request.
	Removed PreTool commands.
	Removed the literal '.MIN' from EOR line at beginning of program.
	Customer must set extension to .MIN in Virtual preferences.
	Modified to Okuma 5020M [RPI] MZ39.89.1
KC}

{10/27/97,
	Initial: Okuma 5020M [RPI] MZ39.89.1.
	Created: Okuma 5020M [RPI] MZxx.89
	For: Keith Eickert Power Products
	Deleted ProgID in FirstOp.
	Work Fixture Offset will only output in FirstOp, unless NewWFO is used.
	Changed all Subcalls to start with 'CALL'.
	Changed format of Dwell to output decimal.
	Changed MaxRPM to 10000.
	Will now output 'G95' for Rigid tapping.
CDH}

{11/6/97,
	Initial :	Okuma 5020M [KEPP] MW37.89
	Created:	Okuma 5020M [KEPP] MW37.89.1
	Customer:	Keith Eickert Power Products

	Changes to "Prog":

	1. Replaced "DIV# DirectTapFeed# SpeedRPM#" with FeedTapIPR#('1').
	2. Added FORMAT for FeedTapIPR#.
	3. Added RigidTap code (G284 and G274) and moved G95 (IPR mode) up a line. 
	4. Added G94 (IPM mode) after Rigid Tapping.
	5. Moved CoolOn (M8) one block up.
JHE}

{11Dec97
	Original: Okuma 5020M [KEPP] MW37.89.1
	Created: Okuma LH 5020M [WMC] MW69.12
	For: WMC Grinding Inc
	Changes made per:  Lee
	Deleted old version numbers and comments e.g. {.62}, {commands}, {literals}, etc
	Updated to .12 Longhand Post per LongHand M001.12 
Charles Winston}

{18Dec97
	Original: Okuma LH 5020M [WMC] MW69.12
	Created: Okuma LH 5020M [WMC] CW69.12
	For: WMC Grinding Inc
	Changes made per:  Lee
	Created C Style Advanced Mill Longhand Post
Charles Winston}

{Prog Numeric Format Definitions ****}

#1 = '#.00'
#2 = '###.###;0.'
#3 = '*###.###;0.'
#4 = '####.####;0.'
#5 = '########;0'
#6 = '####.###;'
#7 = '###0'
#8 = '?#bbbb.bbbb#'
#9 = '#'

FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(CSOffsetA#,3)
FORMAT(CSOffsetB#,3)
FORMAT(CSOffsetX#,4)
FORMAT(CSOffsetY#,4)
FORMAT(CSOffsetZ#,4)
FORMAT(ADD#,4)
FORMAT(TrackZNO#,4)
FORMAT(ToolDiameter#,4)
FORMAT(Recall#,5)
FORMAT(Operation#,5)
FORMAT(Tool#,5)
FORMAT(NewWFO#,5)
FORMAT(Dwell#,6)
FORMAT(Tag#,7)
FORMAT(Program#,7)
FORMAT(Parts#,7)
FORMAT(Repeats#,7)
FORMAT(ADD#,5)
FORMAT(DIV#,4)
FORMAT(FeedTapIPR#,4)
FORMAT(RapidF#,9)
FORMAT(PartShiftX#,8)
FORMAT(PartShiftY#,8)
FORMAT(PartShiftZ#,8)

{Testing Subroutines *}

#20 = '?0000.0000'
FORMAT(OriginShiftPX#,20)
FORMAT(OriginShiftPY#,20)
FORMAT(OriginShiftPZ#,20)
FORMAT(OriginUnshiftPX#,20)
FORMAT(OriginUnshiftPY#,20)
FORMAT(OriginUnshiftPZ#,20)
FORMAT(OriginUSPXCTP#,20)
FORMAT(OriginUSPYCTP#,20)
FORMAT(OriginUSPZCTP#,20)

Report:
	IF MultipleParts? AND WorkFixtureOffsets?
		SetStatusOff
		' ' EOL
		'        PartShiftX# = ' PartShiftX# '	'
		'        PartShiftY# = ' PartShiftY# '	'
		'        PartShiftZ# = ' PartShiftZ# EOL
		'OriginUnshiftPX#(0) = ' OriginUnshiftPX#('0') '	'
		'OriginUnshiftPY#(0) = ' OriginUnshiftPY#('0') '	'
		'OriginUnshiftPZ#(0) = ' OriginUnshiftPZ#('0') EOL
		'OriginUnshiftPX#(1) = ' OriginUnshiftPX#('1') '	'
		'OriginUnshiftPY#(1) = ' OriginUnshiftPY#('1') '	'
		'OriginUnshiftPZ#(1) = ' OriginUnshiftPZ#('1') EOL
		'OriginUnshiftPX#(2) = ' OriginUnshiftPX#('2') '	'
		'OriginUnshiftPY#(2) = ' OriginUnshiftPY#('2') '	'
		'OriginUnshiftPZ#(2) = ' OriginUnshiftPZ#('2') EOL
		'     OriginShiftPX# = ' OriginShiftPX# '	'
		'     OriginShiftPY# = ' OriginShiftPY# '	'
		'     OriginShiftPZ# = ' OriginShiftPZ# EOL
		'  OriginUSPXCTP#(0) = ' OriginUSPXCTP#('0') '	'
		'  OriginUSPYCTP#(0) = ' OriginUSPYCTP#('0') '	'
		'  OriginUSPZCTP#(0) = ' OriginUSPZCTP#('0') EOL
		'  OriginUSPXCTP#(1) = ' OriginUSPXCTP#('1') '	'
		'  OriginUSPYCTP#(1) = ' OriginUSPYCTP#('1') '	'
		'  OriginUSPZCTP#(1) = ' OriginUSPZCTP#('1') EOL
		'  OriginUSPXCTP#(2) = ' OriginUSPXCTP#('2') '	'
		'  OriginUSPYCTP#(2) = ' OriginUSPYCTP#('2') '	'
		'  OriginUSPZCTP#(2) = ' OriginUSPZCTP#('2') EOL
		' ' EOL
		SetStatusOn
	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

DoPartCycleComment:
	IF MultipleParts? AND UseComments? AND SubComment?
		' ( PART NO. ' Tag# ' )' EOL
	END
RETURN

DoCycleComment:
	IF UseComments? AND SubComment?
		' ( CYCLE START )' EOL
	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# ': ' ToolDiameter# ' ' ToolType$ ' )' EOL
		END
		IF ToolComment?
			' ( ' ToolComment$ ' )' EOL
		END
		RestoreScale
	END
RETURN

BadMPWFOReport:
	SetStatusOff
	' ' EOL
	'?????????????????????????????????????????' EOL
	'? NOTE: Even though you have elected to ?' EOL
	'? process this file using Multiple      ?' EOL
	'? Parts with Work Fixtures, there exist ?' EOL
	'? non-zero values in the invisible,     ?' EOL
	'? Equally Spaced? fields, as follows:   ?' EOL
	'?                                       ?' EOL
	'*****************************************' EOL
	IF NotEqual? PartShiftX# Num#('0')
		'     X axis shift = ' PartShiftX# EOL
	END
	IF NotEqual? PartShiftY# Num#('0')
		'     Y axis shift = ' PartShiftY# EOL
	END
	IF NotEqual? PartShiftZ# Num#('0')
		'     Z axis shift = ' PartShiftZ# EOL
	END
	'*****************************************' EOL
	'?                                       ?' EOL
	'? Please reset these values to zero as  ?' EOL
	'? they affect the coordinate values     ?' EOL
	'? output, starting with Part# 2.        ?' EOL
	'? Thank You.                            ?' EOL
	'?????????????????????????????????????????' EOL
	' ' EOL
	SetStatusOn
RETURN

CSWFO:
	' G15 H' ADD# CS# SUB# NewWFO# Num#('1')
RETURN

CalcCSWFO: {(iPart-1)*NumOfCS#)}
	IF MultipleParts?
		IF Flag?('3')
			' G15 H' ADD# NewWFO# SUB# Tag# Num#('1')
		ELSE
			' G15 H' ADD# NewWFO# SUB# Parts# Tag#
		END
	ELSE
		CSWFO
	END
RETURN

CSAngleA:
	IF AAxisAvail?
		' A' CSOffsetA#
	END
RETURN

CSAngleAC:
	IF AChange?
		CSAngleA
	END
RETURN

CSAngleB:
	IF BAxisAvail?
		' B' CSOffsetB#
	END
RETURN

CSAngleBC:
	IF BChange?
		CSAngleB
	END
RETURN

DoCSWFOComment:
	' ( CS#' CS# ' - ' CSComment$ ' )' EOL
	' (' CalcCSWFO '= X' CSOffsetX# ' Y' CSOffsetY# ' Z' CSOffsetZ# ' )' EOL
RETURN

DoCSG52Comment:
	' ( CS#' CS# ' - ' CSComment$ ' )' EOL
RETURN

PSInit:
	NewWFOF
	RotateF
	OptCyc1F
	MasterOpF
	CallMasterOpF
RETURN

PSStuff:
	IF FourthCW?
		FORMAT(FourthDegree#,2)
		SeqC 'A' FourthDegree# EOL
		FourthCWF
	END
	IF FourthCCW?
		FORMAT(FourthDegree#,3)
		SeqC 'A' FourthDegree# EOL
		FourthCCWF
	END
	IF FifthCW?
		FORMAT(FifthDegree#,2)
		SeqC 'B' FifthDegree# EOL
		FifthCWF
	END
	IF FifthCCW?
		FORMAT(FifthDegree#,3)
		SeqC 'B' FifthDegree# EOL
		FifthCCWF
	END
RETURN

DoPostScript:
	PSInit
	EachPS
		SeqC PostScript EOL
		PSStuff
	NextPS
RETURN

DoEndOpPS:
	PSInit
	EachEOPS
		SeqC EndOpPS EOL
		PSStuff
	NextPS
RETURN

EntryMove:
	IF FeedEntry?
		SeqC Feed ZIn FeedEnt EOL
	ELSE
		SeqC RapidC ZIn EOL
	END
RETURN

ExitMove:
	SeqC
	IF FeedConnect?
		IF NOT AutoCycle?
			IF NOT NoZMoves?
				FeedC ZInC FeedEntC
			END
		END
	ELSE
		CRCOffC
		IF FIFO? { .81 }
			FeedC
		ELSE
			RapidC
		END
		PRIME ZCP2C
		IF FIFO? { .81 }
			FeedEntC
		END
	END
	EOL
RETURN

ExitMove2:
	IF FIFO?
		FeedC ZCP3C FeedEntC
	ELSE
		RapidC ZCP3C
	END
RETURN

CycleWarning:
	{ NOTE: This Post Processor takes care of Z Clearance. }
RETURN

ToggleIncDecWFO:
	IF Flag?('3')
		SetFlagF('3')
	ELSE
		SetFlag('3')
	END
RETURN

OpenMP:
	IF Flag?('2') OR WFOCS?
		ClearCSOffset
		IF Flag?('3')
			IF Flag?('2')
				SeqC CalcCSWFO EOL
				DoCSG52Comment
				ClearCSOffset
				SeqC ' G52X' CSOffsetX# 'Y' CSOffsetY# 'Z' CSOffsetZ# EOL
			ELSE
				DoCSWFOComment
				ClearCSOffset
				SeqC CalcCSWFO EOL
			END
			ClearCSOffset
		ELSE
			IF Flag?('2')
				SeqC CalcCSWFO EOL
				DoCSG52Comment
				ClearCSOffset
				SeqC ' G52X' CSOffsetX# 'Y' CSOffsetY# 'Z' CSOffsetZ# EOL
			ELSE
				DoCSWFOComment
				ClearCSOffset
				SeqC CalcCSWFO EOL
			END
		END
	END
RETURN

CloseMP:
	IF Flag?('2') OR WFOCS?
		IF Flag?('4')
			ToggleIncDecWFO
		END
	END
RETURN

SubCSMP:
	IF Flag?('2') OR WFOCS?
		ClearCSOffset
	END
RETURN

FormatArc:
	IF ArcCW?
		CWArcC
	ELSE
		CCWArcC
	END
	MoveXYZC
	IF ArcIJFormat?
		ArcIJC
	ELSE
		ArcRC
	END
RETURN

ckCRC:
	IF LastFeat?
		CRCOffC
	ELSE
		IF NOT ZMove?
			SetFlag('1') { CRCOffsetC }
			CRCOnC
		END
	END
RETURN

FormatLine:
	ckCRC FeedC MoveXYZC
RETURN

ckCRC...
Zgłoś jeśli naruszono regulamin