{ 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: ...
kmex