Bostomatic SPC-II CSD MX41.85.txt

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

{4/12/91
 Copied & modified: Bostomatic SPC-II M081.79
 For: C.S. Draper Labs
 Changed value for SetMaxRPM & added SetMinRPM this corrects the output of ProSpeed.
 Added 'G26 line to beginning of program.
 Changed tool change code to M0 in MachSpec and moved to line after OpToolID.
 Added EOR to end of program.
 Added UnTool to end of program.
 Moved ProSpeed line to be inside MPFU sub as it contains the CoolOn command.
 Jim Radcliffe}

{7/8/91
 Modified: Bosto SPC-II M411.79
 For: C.S. Draper Labs
 Changed SetMaxRPM & SetMinRPM to 7000 & 700
 Change ZCP2C to ZCP2 in Milling.
 Jim Radcliffe}

{5/11/92
 Modified: Bosto SPC-II M411.80
 For: C.S. Draper Labs
 Changes made per John Mahoney at C.S. Draper Lab.
 Changed Maximum Spindle RPM from 4000 to 7000 in Mach Spec.
 Changed 3 occurances of SeqC to SeqLabC.
DWB}

{5/17/94
 Modified: Bostomatic SPC-II M411.80.1
 For: CS Draper
 Per John Mahoney at C.S. Draper
 When in incremental, IJK values must be unsigned.
   Modified FormatArc to handle with numeric commands for AutoCycles.
 The value of the V60 register in drilling should be the incremental depth from the drill surface.
   Changed ZDepth# to CalcZFmSurf#, user must enter the drill surface in ncCAM.
Jim Radcliffe}

{6/23/94
 Modified: Bostomatic SPC-II M411.80.2
 For CS Draper
 Updated to .81.2 format.
 The Drilling V64 register should be distance between the drill surface and ClearancePlane.
  Added 'SUB# CalcZSurf#' to ClearancePlane1# or ClearancePlane2# commands.
Jim Radcliffe}

{2/9/96, Updated .81 version to .84, MPK}

{2/28/96, 
	Initial: Bostomatic SPC-II M411.84
	Created: Bostomatic SPC-II MXXX.84
	For: CS Draper Labs
	Deleted 'G26XYZ0' line at program start, added M6 at tool change, deleted prog stop after tool change,
	Moved CoolOn to cuttercomp line, revmoved call to tool#1 at prog end, output StartPos at before drill cycles,
	MPK}
{2/29/96, Created: Bostomatic SPC-II [CSD] M947.84.1, MPK}
{3/5/96, Created: Bostomatic SPC-II [CSD] M947.84.2, Fixed previous problem of outputting toolchange at same tool, MPK}
{3/21/96, 
	Initial: Bostomatic SPC-II [CSD] M947.84.2
	Created: Bostomatic SPC-II [CSD] M947.84.3
	Added macros before drill cycle calls as per John Mahoney, MPK}

{3/22/96, Tested ZOnlyRepAutCycle, Incremented number to .87, MPK}

{11/19/96
	Initial: Bostomatic SPC-II CSD M947.87
	Created: Bostomatic SPC-II CSD M947.87.1
	ForUser: CS Draper Labs
	Develop: ComPost2 68k v1.0b4, Catalyst68K v3.09.05C
	Comment: Modified CRC Handling per marked up readout.
		Modified ToolPath to output CRCOff on Last linear feature.
		Suppressed output of LastFeatExtend if CRCOffC does not output.
Jim Radcliffe}

{3/3/97
 Initial:		Bostomatic SPC-II CSD M947.87.1
 Created:	Bostomatic SPC-II CSD M947.87.2
 For:		CS Draper per John Mahoney
	Added test for Xmove or Ymove before making an arc move to prevent small moves beyond a quadrant boundary.
WS}

{6/26/97
 Updated: Bostomatic SPC-II CSD M947.87.2
 Created: Bostomatic SPC-II CSD M947.89
 For: CS Draper
 Versions: Catalyst v3.33C/ComPost2 MSL 68K
 Changes made per John Mahoney of CS Draper.
 Updated for Catalyst v3.33C per Fanuc 6M M001.89b Format.
  Changed FORMAT#2 from ###.###;0. to #####.###;0. at Prog Numeric Format Definitions.
  Changed FORMAT#3 from *###.###;0. to *#####.###;0. at Prog Numeric Format Definitions.
  Deleted version comments.
  Added SetMaxFeed(12700) for Metric VNC files at setup and initializations.
  Added ProSpeed SpinOn 'G4X3.' for MP-OTAP-ECP condition at FirstOperation and NewTool.
  Added ckCRC sub.
  Changed FeedRateC to FeedEntC for support of FIFO Exit at FinishSub1, AutoCycCutSub2,
   ZonlyRepAutoCycle subs and end of IF Milling.
  Added support of ZOnlyRep SepSubs.
   Added TrackZNO# to FORMAT#4 at Prog Numeric Format Definitions.
   Added DoAbsOrInc and RestoreAbsOrInc subs.
   Changed SkipZ to TrackZNO# FIRST SPZ# and deleted UnSkipZ at ZOnlyRep sub.
   Added Flag(1) at setup and initializations.
  Corrected MultipleParts output when WorkFixtureOffsets is selected.
   Post does not support WorkFixtureOffsets.
   Limited MP Subs and output to EquallySpacedOffsets at OpenMP and CloseMP.
   Limited output of second StrtPos block at MP-OTAP-ECP condition at  FirstOperation and NewTool.
  Moved LastFeatExtend from Milling and ZOnlyRep subs to end of ToolPath.
  Rewrote ZonlyRepAutoCycle sub.
   To make it easier to comment out SetSRXYtoEP and IF SPXMove? OR SPYMove? boolean because this
    post will be used to create Gibbs System only post.
  NOTE: This post does not support Drill Subs.
DWB}

{6/26/97
 Copied: Bostomatic SPC-II CSD M947.89
 Created: Bostomatic SPC-II CSD MX41.85
 For: CS Draper 
 Versions: ncCad 4.33.02/ncCAM 4.33.01/ncPost 4.33.10/ComPost2 MSL 68K
 Changes made per John Mahoney of CS Draper.
 NOTE: THIS POST IS FOR GIBBS SYSTEM ONLY!!!
  Commented out SetSRXYtoEP at ZonlyRepAutoCycle.
   Processing this type of Operation causes "Unknown Command: #511" Alert to be displayed at every
    pass.
  Commented out IF SPXMove? OR SPYMove? Boolean and related output two places at ZonlyRepAutoCycle.
   Processing this type of Operation causes bogus Incremental Move back to Cycle StrtPos.
DWB}

{Prog Numeric Format Definitions ****}

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

FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(ABS#,4)
FORMAT(ToolDiameter#,4)
FORMAT(TrackZNO#,4)
FORMAT(Program#,5)
FORMAT(Operation#,5)
FORMAT(Tool#,5)
FORMAT(Parts#,5)
FORMAT(Dwell#,6)
FORMAT(FeedEntry#,7)
FORMAT(SUB#,8)
FORMAT(CalcZFmSurf#,8)
FORMAT(Peck#,8)

{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

WFONum:
	{ Not Supported }
RETURN

WFOStuff:
	{Note: This processor does not support work fixture offsets.}
RETURN

DoSubComment:
	IF UseComments? AND SubComment?
		'	( SUB NUMBER: ' Program# ' )' 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

PSInit:
	NewWFOF
	RotateF
	OptCyc1F
	MasterOpF
	CallMasterOpF
RETURN

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

DoPostScript:
	PSInit
	EachPS
		SeqLabC PostScript EOL
		PSStuff
	NextPS
RETURN

DoEndOpPS:
	PSInit
	EachEOPS
		SeqLabC EndOpPS EOL
		PSStuff
	NextPS
RETURN

DoR: {Rapid moves need 'R'}
	IF NOT EmptyLine?
		'R'
	END
RETURN

EntryMove:
	IF FeedEntry?
		SeqLabC FeedC ZIn FeedEnt EOL
	ELSE
		SeqLabC FeedC ZIn DoR EOL
	END
RETURN

StartSub:
	OpenSub
	DoSubComment
	SeqLab 'G92' SubID EOL
RETURN

SubWarning:
	IF NOT FeedConnect?
		IF AnyZshift?
			' ' EOL
			'	( WARNING   Z CLEARANCE WILL CHANGE WITH EACH CYCLE OF SUB REPEAT )' EOL
			' ' EOL
		END
	END
RETURN

StdSub:
	SeqLabC SubCall CallLab RepLab RepCycs EOL
	StartSub
RETURN

FinishSub1: {part 1}
	SeqLabC
	IF NOT FeedConnect?
		IF AutoCycle?
			ZCP3C DoR
		ELSE
			IF FIFO?
				FeedC ZCP3C FeedEntC
			ELSE
				FeedC ZCP3C DoR
			END
		END
	END
	EOL
RETURN

FinishSubG92: {part 2}
	SeqLabC Preset ShiftRC EOL
	SeqLabC EndSub EOL
	CloseSub
	SeqLabC Preset UnshftRC EOL
RETURN

OpenMP:
	IF EquallySpacedOffsets?
		NewProg
		SeqLabC SubCall CallLab RepLab Parts EOL
		StartSub
	END
RETURN

CloseMP:
	IF EquallySpacedOffsets?
		SeqLabC Preset ShiftPC EOL
		SeqLabC EndSub EOL
		CloseSub
		SeqLabC Preset UnshftPC EOL
	END
RETURN

DoAbsOrInc:
	IF Flag?('1') AND AbsoluteMoves?
		IF ZMove? AND AbsValue?
			IncValue
		ELSE
			IF NOT ZMove? AND NOT AbsValue?
				AbsValue
			END
		END
	END
RETURN

DoDrillAbsOrInc:
	{ Not Supported }
RETURN

RestoreAbsOrInc:
	IF Flag?('1') AND AbsoluteMoves? AND NOT AbsValue?
		SeqLabC AbsValue EOL
	END
RETURN

FormatArc:
	DoAbsOrInc
	IF ArcCW?
		CWArcC
	ELSE
		CCWArcC
	END
	IF XYPlane?
		MoveX MoveY MoveZC
	ELSE
		IF XZPlane?
			MoveX MoveYC MoveZ
		ELSE
			MoveXC MoveY MoveZ
		END
	END
	IF ArcIJFormat?
		IF AbsValue?
			ArcIJ
		ELSE
			IF XYPlane?
				'I' ABS# ArcI# 'J' ABS# ArcJ#
			ELSE
				IF XZPlane?
					'I' ABS# ArcI# 'K' ABS# ArcJ#
				ELSE
					'J' ABS# ArcI# 'K' ABS# ArcJ#
				END
			END
		END
	ELSE
		ArcR
	END
RETURN

CheckOptCyc: { Drilling Only }
	IF OptCyc1? {call subroutine already in memory}
		IF FIFO?
			'G94D249' {for single direction positioning}
		ELSE
			IF Tap?
				'G94D252' {for tap cycle}
			END
		END
	END
RETURN

ckCRC:
	IF LastFeat?
		CRCOffC
	ELSE
		IF NOT ZMove?
			CRCOnC
		END
	END
RETURN

ckCRCNum:
	{ Not Supported }
RETURN

ToolPath:
	EACHFeat
		IF PointFeat?
			IF AutoCycle?
				SeqLabC MoveSXYC DoR EOL
				SeqLabC SubCall CallLab EOL
				CalcACSRXY {calc tool position after sub call, CalcAutoCycleStatusRecordXY}...
Zgłoś jeśli naruszono regulamin