Mazatrol M32 LH [DHL] CW78.12.txt

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

{1/3/89
 Copied & modified Fanuc 10M M008.54 for R.C.H. Eng.
 Machine is a Mazak VQC 20/40A with Mazatrol M-2 control.
 Calling the OpToolID cancels the offset & sends Z home &
 puts the tool in the spindle & calls the length offset.
 Replaced OfstOff with OpToolID or UnTool at end of prog
 so first tool is in spindle at prog start.
 Added GearRange. Deleted tool changes & length offset calls.
 Deleted Home & SpinOff commands
 Put ZCP1 and CoolOn on StrtPos line.
 Changed sequence numbers to 3 fixed places.
 Jim Radcliffe}

{3/6/89
 Modified; Mazatrol M2 Mazak M162.55, for RCH Eng.
 Add 'G92Z0.' to end of Prog.
 Jim Radcliffe}

{5/23/90, corrected tool call for for multiple parts full up, see above notes, JR}
{5/23/90, Updated: Mazatrol M2 Mazak M162.56  to .72.1 format, JR}
{7/24/90, Replaced all occurances of SetSRXYZero with SetSRXYtoSP, DWB}
{12/12/90, Updated: Mazatrol M2 Mazak M162.73  to .76.1 format, JR}

{12/12/90
 Copied & modified: Mazatrol M2 Mazak M162.76.1
 For: Precision Machine
 Control: Mazatrol M-32
 Move ProgramComment & TimeComment to Before EOR code at beginning of prog.
 Add AbsOrInc to beginning of prog.
 Move WFOStuff to StrtPos line.
 First tool not in spindle format.
 Deleted GearRange.
 Deleted ZCP1 from StrtPos line & added OfstOn.
 Move coolant to OfstOn line.
 Changed length offset cancel to typical stuff.
 Put CRCOff on line by itself after Z move unless AutoCycle.
 Add tool change positions 'G28X0Y0'.
 Delete UnTool from end of prog.
 Added PreTool.
 Changed Tapping feed to IPR.
Jim Radcliffe}

{4/3/91
 Modified: Mazatrol M-32 Mazak M368.76
 For: Gibbs & Associates
 Updated to Version 4.0 per Fanuc 6M M001.80 Format.
DWB}

{6/3/91
 Modified: Mazatrol M-32 Mazak M368.79
 For: Precision Machine
 Changed EOR at beginning of program to '='.
 Suppress custom ProgramComment & TimeComment before '=' when UseComments? is false.
 Modified Saftey Start & Tool Change blocks at beginning of each tool.
Jim Radcliffe}

{10/31/91
 Modified: Mazatrol M-32 Mazak M368.79.1
 For: Precision Machine
 Added ResetCRCNum at beginning of Toolpath to correctly set cutter comp number.
Kim Michelman}

{1/3/92
 Modified: Mazatrol M-32 Mazak M368.79.2
 For: Precision Machine
 Deleted date and time line prior to the ProgID1 per customer request.
Kim Michelman}

{12/22/94
 Updated: Mazatrol M-32 Mazak M368.79.3
 For: Gibbs & Associates/ASKO
 Versions: ncCad 4.33/ncCAM 4.33/ncPost 4.33.04/Compost 4.21.23
 Changes made per Pete Jackson
 Updated to Version 4.2 per Fanuc 6M M001.81.2f Format.
  Corrected FORMAT5 from '########;0' to '#######0'.
  Corrected FORMAT6 for Dwell# from '####^###;' to '####^##0'.
  Added RestoreScale Sub per 4-Axis Post Processor.
  Moved UnSkipZ from FinishSub1 to ZOnlyRep where SkipZ is set.
  Added FIFO? at FinishSub1, AutoCycCutSub2, ZonlyRepAutoCycle subs and end of IF Milling.
  Added CkCRC sub for CRCOffC per version 4.2.
   CutterRadiusCompensation ExitLength will output G40 on LastFeat AND LineFeat at StdLine sub.
   Added logic to output CRCOnC in OneFeat ToolPath.
   Added logic to suppress output of CRCOnC on ZMove Feature.
  Added support of CRC during multiple pocket dog-bone operation.
   Added condition to output CRCOnC for XMove OR YMove only at CkCRC sub.
    Outputs G41/G42 on First LineFeat after Z Plunge.
   Modified condition to output CRCOffC for LastFeat AND AutoCycle at ToolPath RapidFeat.
    Assures that G40 is not output prior to LastFeat.
   Added CRCOffC to RapidFeat at ToolPath.
    Outputs G40 at all ZMoveOnly Feature Retract blocks.
  Deleted CRCOnC and CRCOffsetC from ToolPath ArcFeat.
  Added TrackZNO# FIRST SPZ# at IF Drilling? section to allow for conditionality of MoveSXYZC command.
DWB}

{
	Format: Mazatrol M-32 Mazak C368.00
	4/28/95
	Updated to C Style Adv Mill post per C001.10
	This post support drill subs but not rigid tap
TH}

{1/17/96, Updated .10 to .11 version, MPK}

{3/25/96, Tested ZOnlyRepAutoCycle, Changed version # to .12, MPK}

{12/16/97
	Initial: Mazatrol M-32 Mazak C368.12
	Created: Mazatrol M-32 NoSubs Cxxx.12
	ForUser: DHL Machine
	Control: Mazatrol M32
	Machine: AJV 6080 Vertical Machining Center
	Develop: ComPost2 1.1b3, Virtual 4.21.21
	Comment: NoSubs per Fanuc 6M NoSubs C877.15.1 per conversation with Jim Roberts 215-536-3591
Jim Radcliffe}

{Prog Numeric Format Definitions ****}

#1 = '#.00'
#2 = '#####.##;0.'
#3 = '*#####.##;0.'
#4 = '####.####;0.'
#5 = '#######0'
#6 = '####^##0'
#7 = '#;'

FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(CSOffsetA#,3)
FORMAT(CSOffsetB#,3)
FORMAT(ToolDiameter#,4)
FORMAT(CSOffsetX#,4)
FORMAT(CSOffsetY#,4)
FORMAT(CSOffsetZ#,4)
FORMAT(TrackZNO#,4)
FORMAT(FeedEntIPR#,4)
FORMAT(ADD#,5)
FORMAT(CS#,5)
FORMAT(Tag#,5)
FORMAT(Program#,5)
FORMAT(Operation#,5)
FORMAT(Tool#,5)
FORMAT(NewWFO#,5)
FORMAT(Parts#,5)
FORMAT(Dwell#,6)
FORMAT(RapidF#,7)

{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

CSWFO:
	'G' ADD# ADD# CS# MUL# NumOfCS# SUB# PartNum# Num#('1') Num#('53')
RETURN

WFOStuff:
	IF WFOCS?
		IF FirstOperation? OR NewTool? OR ChangeCS?
			CSWFO
		END
		ClearCSOffset
	ELSE
		IF NOT SameTool?
			IF MultipleParts?
				IF WorkFixtureOffsets?
					'G' ADD# PartNum# Num#('53')
				ELSE
					IF FirstPart?
						'G54'
					END
				END
			ELSE
				'G54'
			END
		END
	END
RETURN

DoSubComment:
	IF UseComments? AND SubComment?
		'( CYCLE START )' EOL
	END
RETURN

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

DoCSWFOComment:
	'( ' CSWFO ' = X' CSOffsetX# ' Y' CSOffsetY# ' Z' CSOffsetZ# ' )' EOL
RETURN

CSComments:
	IF FirstOperation? OR ChangeCS?
		DoCSComment
		IF WFOCS?
			DoCSWFOComment
		END
	END
RETURN

DoOpComments:
	IF UseComments?
		SetScale('1')
		IF MultipleParts? AND SubComment?
			'( PART ' Tag# ' )' EOL
		END
		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

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

PSInit:
	NewWFOF
	FourthCWF
	FourthCCWF
	FifthCWF
	FifthCCWF
	RotateF
	OptCyc1F
	MasterOpF
	CallMasterOpF
RETURN

PSStuff:
RETURN

DoPostScript:
	PSInit
	EachPS
		SeqC PostScript EOL
		PSStuff
	NextPS
RETURN

DoEndOpPS:
	PSInit
	EachEOPS
		SeqC EndOpPS EOL
		PSStuff
	NextPS
RETURN

ExitType:
	IF FIFO?
		FeedC
	ELSE
		RapidC
	END
RETURN

ExitFeed:
	IF FIFO?
		FeedEntC
	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?
			CRCOnC
		END
	END
RETURN

ckCRCNum:
	IF NOT LastFeat? AND Equal? SPZ# EPZ#
		CRCOffsetC
	END
RETURN

StdRapid:
	IF XMove? OR YMove? OR ZMove?
		SeqC ckCRC RapidC MoveXYZC ckCRCNum EOL
	END
RETURN

StdLine: {enables CRC on first call, .70}
	IF XMove? OR YMove? OR ZMove?
		IF Decelerate?
			IF RoomToDecel?
				DecelMove1
				SeqC ckCRC FeedC MoveXYZC FeedRateC ckCRCNum EOL
				DecelMove2
			END
			SeqC ckCRC FeedC MoveXYZC DecelFeed ckCRCNum EOL
		ELSE
			SeqC ckCRC FeedC MoveXYZC FeedRateC ckCRCNum EOL
		END
	END
RETURN

StdArc:
	EACHQuadrant
		IF LastQuadrant? AND Decelerate?
			IF RoomToDecel?
				DecelMove1
				SeqC FormatArc ArcFeedC EOL
				DecelMove2
			END
			SeqC FormatArc DecelFeed EOL
		ELSE
			SeqC FormatArc ArcFeedC EOL
		END
	NEXTQuadrant
RETURN

ToolPath2: {for AutoCycle element moves}
	EACHFeat
		IF RapidFeat?
			StdRapid
		ELSE
			IF LineFeat?
				StdLine
			ELSE
				IF ArcFeat?
					StdArc
				END
			END
		END
	NEXTFeat
RETURN

EntryMove:
	IF FeedEntry?
		SeqC FeedC ZInC FeedEntC EOL
	ELSE
		SeqC RapidC ZInC EOL
	END
RETURN

CutAutoCycle:
	SaveSubStatus {save tool position}
	SetPass1 {element cut moves}
	SetSRXYtoSP
	SeqC IncValue EOL
	IF Repeats? AND ZshiftOnly?
		EachRep
			IF NOT FirstCycle?
				IF SPXMove? OR SPYMove?
					IF FeedConnect?
						SeqC FeedC StrtPosC EOL
					ELSE
						SeqC RapidC StrtPosC EOL
					END
				END
			END
			EntryMove
			ToolPath2
			IF NOT FeedConnect?
				SeqC ExitType PRIME ZCP2 ExitFeed EOL
			END
		NextRep
	ELSE
		EntryMove
		ToolPath2
	END
	SeqC AbsOrInc ExitType ZCP2 ExitFeed EOL
	SetSRSubXY {restore tool position}
	SetSRSubMove
	ReSetPass2 {restore for positioning moves}
RETURN

ToolPath:
	EACHFeat
		IF PointFeat?
			IF AutoCycle?
				IF NOT FirstFeat?
					SeqC
					IF FIFO?
						Rapid
					END
					MoveSXYC EOL
				END
				CalcACSRXY {calc tool position after sub call, CalcAutoCycleStatusRecordXY}
				CutAutoCycle
			ELSE
				SeqC MoveSXYZC EOL {.80.01}
			END
		ELSE
			IF RapidFeat?
				StdRapid
			ELSE
				IF LineFeat?
					StdLine
				ELSE
					IF ArcFeat?
						StdArc
					END
				END
			END
		END
	NEXTFeat
RETURN

CheckPass:
	IF AutoCycle? {use the correct StrtPos}
		SetPass2
	ELSE
		SetPass1
	END
RETURN

ProgStart:
	InitPro...
Zgłoś jeśli naruszono regulamin