Fadal Format 2 [NW] D611.16.2m.txt

(29 KB) Pobierz
{
MILL=T
LATHE=F
SIMPLE_ROT_POS=F
ROTARY_MILL=F
ADV_MILL=T
SUBS=T
MILLTURN_Y-AXIS=F
METRIC=T
}

{Change Comments ***********************************************************}

{
	10/24/94	[cwh]
	D611.81.5	( from D611.81.4 )
	
	Made changes to ZOnlyRep and FinishSub1 subs to properly handle
		Feed connects and clearance moves.
}

{11/8/94
 Modified: Fadal Format 2 (NW) D611.81.5
 For: Gibbs & Associates
 Versions: Catalyst v2.14.12C/Compost 4.21.23
 Changes made per Pete Jackson
 Changed all occurances of SeqC to SeqLab.
 Charles reported a problem involving operations that do not change coordinate systems from
  previous operations.
  Added ClearCSOffset at NotSameToolWFO and SameToolWFO subs.
DWB}

{11/16/94	Fixed Program Stop bug in NewToolOp2.	Tom Hubina}

{
	Format: Fadal Format 2 (NW) D611.00
	1/4/95
	Changed version number to .00 from .81.7 per Fanuc 6M (PW) C001.00.03
	Changed all CSAngleAC and CSAngleBC calls to CSAngleA and CSAngleB to output the A and B
		commands at the start of every operation.
	Added AAxisAvail? and BAxisAvail? checks to CSAngleA and CSAngleB subs
	Added return to CS1 moves to End2
	Added G92 reset of A and/or B axis to End2
	Changed NotSameTool WFO so it would restate the current WFO if no change in CS
	Added ClearCSOffset to OpenMP: CloseMP: and SubCSMP:
	Added if AChange? OR BChange? to home postition call-out in SameToolOp1
	Replaced SetZRepInc and RestoreAbsOrInc with one sub called DoAbsOrInc. Any line with SetZRepInc now
		has DoAbsOrInc as the first command after the SeqC.
TH}

{	Format: Fadal Format 2 (NW) D611.00.01
	1/13/95
	Formatted TrackZNO# to #4}

{	Added ClearCSOffset to SubCSMP		TH}

{	Changed SeqC's to SeqLabs
	4/21/95
TH}

{	Fixed unwind code in End2:
	5/25/95
TH}

{6/9/95
	Fixed CRC so it won't output on a helix
TH}

{7/10/95
 Updated: Fadal Format 2 (NW) B611.00.04
 For: Gibbs & Associates/Tru-Cut Machine Company
 Versions: ncCad 4.33.01/ncCAM 4.33.01/ncPost 4.33.06/Catalyst v2.14.40/Compost 4.21.30/1.0a
 Changes made per Pete Jackson and Bryan Widholm of Tru-Cut Machine Company.
 Changed Coolant On from M07 to M08 in Mach Spec Commands 3 dialog.
 Updated to Version 4.2 per Fanuc 6M M001.81.2g Format.
 Modified CkCRC sub.
  Added logic to suppress output of CRCOnC on ZMove Feature.
  Added logic to suppress output of CRCOnC in OneFeat ToolPath.
  Moved ResetCRCNum at start of ToolPath to CkCRC sub.
 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 ZMoveOnly Feature at ToolPath RapidFeat.
   Outputs G40 at all Z Retract blocks.
 Deleted DoArcCRC sub.
  CkCRC sub now also called at FormatArc sub.
  Deletes use of Flag(8)
 Deleted CRCValue sub.
  Not needed because problem has been resolved, see CNCVIS1 M611.81.7, 5/5/93.
 Simplified output of Canned Drill Cycle block at IF Drilling.
DWB}

{8/23/95 - Updated to .10 format TH}

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

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

{6/5/98,
	Initial :	Fadal Format 2 (NW) D611.12m
	Created:	Fadal Format 2 (NW) D611.12.1m
	Customer:	Gibbs & Associates

	Changes to "Prog":

	1. Under ToolPath IF RapidFeat, added DoAbsOrInc in two places.
	2. Under MP1ToollAllPXcp, added Speed in two places.
JHE}

{6/18/98,
	Initial :	Fadal Format 2 (NW) D611.12.1m
	Created:	Fadal Format 2 (NW) D611.12.2m
	Customer:	Gibbs & Associates

	Changes to "Prog":

	1. Changed SetMaxFeed to 12700.
JHE}

{6/18/98,
	Initial :	Fadal Format2 (NW) D611.12.2m
	Created:	Fadal Format2 (NW) D611.12.3m
	Customer:	Gibbs & Associates

	Changes to "Prog":

	1. Added G21 (metric output) to be the first block in the main program.
JHE}

{07/09/98,
	Initial :	Fadal Format2 (NW) D611.12.3m
	Created:	Fadal Format2 (NW) D611.12.4m
	
	Changes to Prog:
		1) FirstOp3a - Added the Plane command.  This command was being skipped in 
			MP1ToolAllPartsXCP, and the IJK letters were not being output on arcs.
CDH}

{2/5/99
 Updated: Fadal Format 2 (NW) D611.12.4m
 Created: Fadal Format 2 (NW) D611.16.2m
 For: Gibbs & Associates
 Versions: Virtual 5.04.06/ComPost2 1.7b15
 Changes made per Pete Jackson.
 Updated for Catalyst v5 per Fanuc 6M M001.16.2 and Fanuc 6M [FW] B001.16 Format.
 Added Header Comments at top of Prog.
 Corrected problem with output of csAngleA and csAngleB.
  Formulas at fadalAngleA and fadalAngleB Procedures sometimes did not work when value equaled zero.
   This problem would cause post to output A360. or B360. instead of A0. or B0.
   The Fadal control does not accept value greater than 359.999.
  Deleted fadalAngleA Procedure.
  Deleted fadalAngleB Procedure.
  Added getFanucAngle Procedure.
  Added getFadalAngle Procedure.
  Modified csAngleA Procedure.
  Modified csAngleB Procedure.
  Added Var(4) for csAngleA and csAngleB at progStart.
  Modified return of csAngleA and csAngleB to zero at end2.
 Updated handling of csWFOs to .16.2.
  Added missing csPartNum# Procedure.
  Replaced calccsWFO Procedure with csWFO Procedure.
   Contains call to csPartNum# Procedure.
  Modified doCSWFOComment Procedure.
  Changed SetWFOCS Limit to 48 Work Fixture Offsets two places at progStart.
  Moved wfoStuff call to block by itself at firstOp2, newToolOp4 and sameToolOp3.
 Other minor fine tuning:
  Modified Prog Numeric Format Definitions.
  Added IF NOT FirstFeat? at toolPath PointFeat Drilling.
  Changed CRCOffsetC to ckCRCNum at toolPath LineFeat.
  Deleted FIRST Modifier at zonlyRep Procedure.
  Updated PSComments at progStart.
  Added OR AChange? OR BChange? at sameToolOp1.
  Added OR AChange? OR BChange? at sameToolOp3.
DWB}

{Prog Numeric Format Definitions ****}

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

FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(SUB#,2)
FORMAT(Dwell#,2)
FORMAT(CSOffsetA#,2)
FORMAT(CSOffsetB#,2)
FORMAT(Recall#,4)
FORMAT(ToolDiameter#,4)
FORMAT(CSOffsetX#,4)
FORMAT(CSOffsetY#,4)
FORMAT(CSOffsetZ#,4)
FORMAT(TrackXNO#,4)
FORMAT(TrackYNO#,4)
FORMAT(TrackZNO#,4)
FORMAT(ADD#,5)
FORMAT(CS#,5)
FORMAT(Program#,5)
FORMAT(Operation#,5)
FORMAT(Tool#,5)
FORMAT(NewWFO#,5)
FORMAT(Parts#,5)
FORMAT(RapidF#,7)
FORMAT(CSSubID#,6)
FORMAT(CallMasterNum#,6)

{Prog Subroutines ****}

restoreScale:
	IF NOT Metric? {CAM file is in English, tools and tool path}
		SetScale('25.4') { change to Metric, this is a Metric post}
	END
RETURN

csPartNum#:
	ADD# CS# MUL# NumOfCS# SUB# PartNum# Num#('1')
RETURN

csWFO:
	'E' ADD# cSPartNum# Num#('0')
RETURN

wfo:
	'E' ADD# PartNum# Num#('0')
RETURN

wfoStuff:
	IF Flag?('2') { Need to output wfoStuff twice for MP-ESO-OTAP-ECP, once for all others }
		IF NOT SameTool?
			IF WFOCS?
				csWFO
			ELSE
				wfo
			END
		ELSE
			IF WFOCS?
				IF ChangeCS?
					IF MultipleParts?
						{MP ChangeCS is handled in subCSMP and closeMP}
					ELSE
						csWFO
					END
				END
			END
		END
	END
	SetFlagF('2') { Do not output WFO second time wfoStuff is called for MP-WFO-OTAP-ECP }
RETURN

csG52:
	SeqLab 'G52X' CSOffsetX# 'Y' CSOffsetY# 'Z' CSOffsetZ# EOL
RETURN

g52Stuff:
	IF NOT Flag?('7') AND NOT WFOCS?
		IF FirstOperation? OR NewTool? OR ChangeCS?
			IF MultipleParts?
				IF WorkFixtureOffsets?
					csG52
				END
			ELSE
				csG52
			END
		END
	END
RETURN

doCSComment:
	SeqLab '* CS#' CS# ' - ' CSComment$ EOL
RETURN

getFanucAngle:
	Save# Num#('4') DIV# Recall# Num#('4') Num#('360') { Reduce Angle to lowest terms }
	Save# Num#('4') SUB# Recall# Num#('4') TRUNC# Recall# Num#('4') { Subtract whole value leaving decimal value }
	Save# Num#('4') MUL# Recall# Num#('4') Num#('360') { Increase to value between -360 and +360 }
RETURN

getFadalAngle:
	getFanucAngle
	IF LTEqual? Recall# Num#('4') Num#('-.000495')
		Save# Num#('4') ADD# Recall# Num#('4') Num#('360') { Convert to FadalMove }
	END
RETURN

csAngleA:
	IF AAxisAvail?
		IF Flag?('6') AND WFOCS? AND NOT Flag?('21') { Flag(6) TRUE = B-Style Output, Flag(6) FALSE = C-Style Output }
			'A0.'
		ELSE
			'A'
			IF NOT Flag?('21')
				IF FirstOperation?
					IF LessThan? CSOffsetA# Num#('0')
						'-'
					END
				ELSE
					IF LessThan? CSOffsetA# LAST CSOffsetA#
						'-'
					END
				END
			END
			Save# Num#('4') CSOffsetA#
			getFadalAngle
			FORMAT(Recall#,2)
			Recall# Num#('4')
			FORMAT(Recall#,4)
		END
	END
RETURN

csAngleAC:
	IF AChange?
		csAngleA
	END
RETURN

csAngleB:
	IF BAxisAvail?
		IF Flag?('6') AND WFOCS? AND NOT Flag?('21') { Flag(6) TRUE = B-Style Output, Flag(6) FALSE = C-Style Output }
			'B0.'
		ELSE
			'B'
			IF NOT Flag?('21')
				IF FirstOperation?
					IF LessThan? CSOffsetB# Num#('0')
						'-'
					END
				ELSE
					IF LessThan? CSOffsetB# LAST CSOffsetB#
						'-'
					END
				END
			END
			Save# Num#('4') CSOffsetB#
			getFadalAngle
			FORMAT(Recall#,2)
			Recall# Num#('4')
			FORMAT(Recall#,4)
		END
	END
RETURN

csAngleBC:
	IF BChange?
		csAngleB
	END
RETURN

doCSWFOComment:
	IF FirstOperation? OR NewTool? OR ChangeCS?
		SetFlag('21')
		SeqLab '* ' csWFO ' = X' CSOffsetX# ' Y' CSOffsetY# ' Z' CSOffsetZ#
		IF Flag?('6') { TRUE = B-Style Output, FALSE = C-Style Output }
			IF AAxisAvail?
				' ' csAngleA
			END
			IF BAxisAvail?
				' ' csAngleB
			END
		END
		EOL
		SetFlagF('21')
	END
RETURN

csComments:
...
Zgłoś jeśli naruszono regulamin