{Change Comments ***********************************************************} {7/24/90, Updated: Yasnac MX1 Matsuura M021.55 to .72.1 format, JR} {7/30/90, Replaced SetSRXYZero with SetSRXYtoSP, JR} {4/03/91 Modified: Yasnac MX1 Matsuura M021.73 For: Gibbs & Associates Updated to Version 4.0 per Fanuc 6M M001.80 Format. DWB} {8/31/95, Updated Yasnac MX1 Matsuura M021.79 to .85 version per Fanuc 6M M001.85.01.03, JR} {1/17/96, Updated .85 to .86 version, MPK} {3/22/96, Tested ZOnlyRepAutoCycle, Changed version # to .89, MPK} {6/17/96, Converted to Metric Format Chanved to Yasnac MX1 Matsuura M021.89 M JM} {6/19/96, Upped Max Sep Sub calls to 200 as per customer NM Created Yasnac MX1 Matsuura M021.89.1m} {8/28/96 Updated: Yasnac MX1 Matsuura M021.89.1m Created: Yasnac MX1 Matsuura M021.89.2m For: National Machinery Machine: Control: Versions: Catalyst v3.05.03C/Compost 4.21.37/v1.0b1 Changes made per Ken Hoffman of National Machinery. Updated for Catalyst v3.05C per Fanuc 6M M001.89 Format. Increased SetMaxFeed from 500 to 2540 at setup and initializations. DWB} {9/11/96 Modified: Yasnac MX1 Matsuura M021.89.2m Created: Yasnac MX1 Matsuura M021.89.2 For: National Machinery Versions: Catalyst v3.05.03C/Compost 4.21.37/v1.0b1 Changes made per Ken Hoffman of National Machinery. Created English version. Changed Compost General Default Formats. Changed Address F from ####.##;0. to ###.###;0. Changed Addresses I, J, K, Q, R, X, Y and Z from #####.###;0. to ####.####;0. Changed Prog Numeric Format Definitions. Changed Format#4 from #####.###;0. to ####.####;0. Changed RestoreScale sub. Changed IF NOT Metric? to IF Metric? Changed SetScale argument from 25.4 to .03937007874 Switched English and Metric words in commented stuff. Changed literal INCHES to MILLIMETERS at FirstOperation ProgComments. Decreased SetMaxFeed from 2540 to 500 at setup and initializations. DWB} {10/29/96 Modified: Yasnac MX1 Matsuura M021.89.2 Created: Yasnac MX1 Matsuura M021.89.3 For: National Machinery Versions: Catalyst v3.09C/Compost 4.21.37/v1.0b1 Changes made per Ken Hoffman of National Machinery. Added SetMaxFeed(12700) condition for Metric Files at setup and initializations. DWB} {3Sep98 Original: Yasnac MX1 Matsuura M021.89.3 Created: Yasnac MX1 Matsuura B021.15 For: Unique Mfg Changes made per: David Bird Created B_Style Advanced Mill Post per Fanuc 6M (FW) B001.15 Charles Winston} {Prog Numeric Format Definitions ****} #1 = '#.00' #2 = '#####.###;0.' #3 = '*#####.###;0.' #4 = '####.####;0.' #5 = '#######0' #6 = '####^##0' 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(ADD#,5) FORMAT(CS#,5) FORMAT(Program#,5) FORMAT(CallMasterNum#,5) FORMAT(CSSubID#,5) FORMAT(Operation#,5) FORMAT(Tool#,5) FORMAT(NewWFO#,5) FORMAT(Parts#,5) FORMAT(Dwell#,6) {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 CSPartNum#: ADD# CS# MUL# NumOfCS# SUB# PartNum# Num#('1') RETURN CSWFO: 'G' ADD# CSPartNum# Num#('53') RETURN WFO: 'G' ADD# PartNum# Num#('53') RETURN WFOStuff: IF Flag?('2') 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') RETURN CSG52: IF FirstOperation? OR NewTool? OR ChangeCS? SeqC 'G52X' CSOffsetX# 'Y' CSOffsetY# 'Z' CSOffsetZ# EOL END ClearCSOffset RETURN G52Stuff: IF AAxisAvail? OR BAxisAvail? IF NOT WFOCS? IF MultipleParts? IF WorkFixtureOffsets? CSG52 END ELSE CSG52 END END END RETURN DoSubComment: IF UseComments? AND SubComment? '( SUB NUMBER: ' Program# ' )' EOL END RETURN DoCSComment: IF AAxisAvail? OR BAxisAvail? '( CS#' CS# ' - ' CSComment$ ' )' EOL END RETURN DoCSWFOComment: IF AAxisAvail? OR BAxisAvail? IF FirstOperation? OR NewTool? OR ChangeCS? '( ' CSWFO ' = X' CSOffsetX# ' Y' CSOffsetY# ' Z' CSOffsetZ# IF AAxisAvail? ' A' CSOffsetA# END IF BAxisAvail? ' B' CSOffsetB# END ' )' EOL END ClearCSOffset END RETURN CSComments: IF WFOCS? IF MultipleParts? IF OneToolAllParts? AND ExitClearancePlane? ClearCSOffset { Necessary for correct StrtPos in Main } END ELSE DoCSComment DoCSWFOComment END ELSE DoCSComment 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 CSComments RETURN CSAngleA: IF AAxisAvail? IF WFOCS? 'A0.' ELSE 'A' CSOffsetA# END END RETURN CSAngleAC: IF AChange? CSAngleA END RETURN CSAngleB: IF BAxisAvail? IF WFOCS? 'B0.' ELSE 'B' CSOffsetB# END 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 EntryMove: IF FeedEntry? SeqC Feed ZIn FeedEnt EOL ELSE SeqC RapidC ZIn EOL END RETURN StartSub: OpenSub SubID EOL DoSubComment 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: SeqC SubCall CallLab RepLab RepCycs EOL StartSub RETURN FinishSub1: {part 1} SeqC CRCOffC IF NOT FeedConnect? IF AutoCycle? ZCP3C ELSE IF FIFO? FeedC ZCP3C FeedEntC ELSE RapidC ZCP3C END END END EOL RETURN FinishSubG92: {part 2} SeqC Preset ShiftRC EOL SeqC EndSub EOL CloseSub SeqC Preset UnshftRC EOL RETURN ToggleIncDecWFO: IF Flag?('3') SetFlagF('3') ELSE SetFlag('3') END RETURN DoCSG52Ops: IF Flag?('5') SetFlagF('5') { Suppress Redundant WFO for MP-OTAP-ECP } ELSE SeqC SetWFO EOL END SeqC SubCall CallLab RepLab OnePart EOL RETURN OpenMP: NewProg IF WorkFixtureOffsets? IF WFOCS? StartSub SaveCSProg SaveCSOpStart ClearCSOffset ELSE IF OneToolAllParts? AND ExitClearancePlane? SetFlag('5') { Suppress Redundant WFO for MP-OTAP-ECP } END IF Flag?('3') NewWFO EachWFO {simple eachPart} DoCSG52Ops IncWFO NextWFO {simple NextPart} DecWFO ELSE LastWFO EachWFO {simple eachPart} DoCSG52Ops DecWFO NextPrevWFO {simple NextPart} IncWFO END IF Flag?('4') ToggleIncDecWFO END StartSub END ELSE SeqC SubCall CallLab RepLab Parts EOL IF OneToolAllParts? AND ExitClearancePlane? SetFlag('2') { WFOStuff } END StartSub END RETURN DoCSWFOOps: EachCSOp DoCSComment DoCSWFOComment IF Flag?('5') SetFlagF('5') { Suppress Redundant WFO for MP-OTAP-ECP } ELSE SeqC CSWFO EOL END SeqC SubCall CallLabB CSSubID# RepLab OnePart EOL NextCSOp RETURN CloseMP: IF WorkFixtureOffsets? SeqC EndSub EOL CloseSub IF WFOCS? IF OneToolAllParts? AND ExitClearancePlane? SetFlag('5') { Suppress Redundant WFO for MP-OTAP-ECP } END IF Flag?('3') NewWFO EachWFO {simple eachPart} DoCSWFOOps IncWFO NextWFO {simple NextPart} DecWFO ELSE LastWFO EachWFO {simple eachPart} DoCSWFOOps DecWFO NextPrevWFO {simple NextPart} IncWFO END IF Flag?('4') ToggleIncDecWFO END END ELSE SeqC Preset ShiftPC EOL SeqC EndSub EOL CloseSub SeqC Preset UnshftPC EOL END RETURN SubCSMP: IF WFOCS? IF ChangeCS? SeqC EndSub EOL CloseSub NewProg StartSub SaveCSProg END ClearCSOffset 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: IF Flag?('1') AND AbsoluteMoves? IF SPZMove? AND AbsValue? IncValue ELSE IF NOT SPZMove? AND NOT AbsValue? AbsValue END END END RETURN RestoreAbsOrInc: IF Flag?('1') AND AbsoluteMoves? AND NOT AbsValue? SeqC AbsValue EOL END RETURN FormatArc: DoAbsOrInc 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 ToolPath: ResetCRCNum EACHFeat IF PointFeat? IF AutoCycle? SeqC MoveSXYC EOL SeqC SubCall CallLab EOL CalcACSRXY {calc tool position after sub call, CalcAutoCycleStatusRecordXY} ELSE SeqC DoDrillAbsOrInc MoveSXYZC EOL END ELSE IF RapidFeat? IF XMove? OR YMove? OR ZMove? SeqC DoAbsOrInc ckCRC RapidC MoveXYZC...
kmex