{Change Comments ***********************************************************} {10/11/95, Updated for Catalyst v2.20 per Fanuc 6M M001.85 Format, MPS} {10/11/95, Copied:Okuma OSP 5020M M374.85 For:Ralston Modifed cycle for tapping, always rigid tap. Removed 'T50' and 'M6' from end of program. -MPS} {1/17/96, Updated .85 to .86 version, MPK} {3/22/96, Tested ZOnlyRepAutoCycle, Changed version # to .89, MPK} {9/17/96 Initial: Okuma 5020M [Ral] M873.89 Created: Okuma 5020M [RPI] MZ39.89 ForUser: Roncelli Plastics Inc Control: ???? Machine: ???? Develop: ComPost2 68k v1.0b3, Catalyst68K v3.04.10.C Comment: New processor per marked up readout from Tim Monzello Added stuff to the EOR line at beginning of program. Added OpToolID to ToolChng line at NewTool. Added moves to Z50 and Y50 at end of program. Suppressed move to FirstHome and ProgStop at end of program. Jim Radcliffe} {9/30/96 Customer (Tim Monzello) request. Removed PreTool commands. Removed the literal '.MIN' from EOR line at beginning of program. Customer must set extension to .MIN in Virtual preferences. Modified to Okuma 5020M [RPI] MZ39.89.1 KC} {10/27/97, Initial: Okuma 5020M [RPI] MZ39.89.1. Created: Okuma 5020M [RPI] MZxx.89 For: Keith Eickert Power Products Deleted ProgID in FirstOp. Work Fixture Offset will only output in FirstOp, unless NewWFO is used. Changed all Subcalls to start with 'CALL'. Changed format of Dwell to output decimal. Changed MaxRPM to 10000. Will now output 'G95' for Rigid tapping. CDH} {11/6/97, Initial : Okuma 5020M [KEPP] MW37.89 Created: Okuma 5020M [KEPP] MW37.89.1 Customer: Keith Eickert Power Products Changes to "Prog": 1. Replaced "DIV# DirectTapFeed# SpeedRPM#" with FeedTapIPR#('1'). 2. Added FORMAT for FeedTapIPR#. 3. Added RigidTap code (G284 and G274) and moved G95 (IPR mode) up a line. 4. Added G94 (IPM mode) after Rigid Tapping. 5. Moved CoolOn (M8) one block up. JHE} {11Dec97 Original: Okuma 5020M [KEPP] MW37.89.1 Created: Okuma LH 5020M [WMC] MW69.12 For: WMC Grinding Inc Changes made per: Lee Deleted old version numbers and comments e.g. {.62}, {commands}, {literals}, etc Updated to .12 Longhand Post per LongHand M001.12 Charles Winston} {18Dec97 Original: Okuma LH 5020M [WMC] MW69.12 Created: Okuma LH 5020M [WMC] CW69.12 For: WMC Grinding Inc Changes made per: Lee Created C Style Advanced Mill Longhand Post Charles Winston} {Prog Numeric Format Definitions ****} #1 = '#.00' #2 = '###.###;0.' #3 = '*###.###;0.' #4 = '####.####;0.' #5 = '########;0' #6 = '####.###;' #7 = '###0' #8 = '?#bbbb.bbbb#' #9 = '#' FORMAT(FileFeet#,1) FORMAT(FileMeters#,1) FORMAT(CSOffsetA#,3) FORMAT(CSOffsetB#,3) FORMAT(CSOffsetX#,4) FORMAT(CSOffsetY#,4) FORMAT(CSOffsetZ#,4) FORMAT(ADD#,4) FORMAT(TrackZNO#,4) FORMAT(ToolDiameter#,4) FORMAT(Recall#,5) FORMAT(Operation#,5) FORMAT(Tool#,5) FORMAT(NewWFO#,5) FORMAT(Dwell#,6) FORMAT(Tag#,7) FORMAT(Program#,7) FORMAT(Parts#,7) FORMAT(Repeats#,7) FORMAT(ADD#,5) FORMAT(DIV#,4) FORMAT(FeedTapIPR#,4) FORMAT(RapidF#,9) FORMAT(PartShiftX#,8) FORMAT(PartShiftY#,8) FORMAT(PartShiftZ#,8) {Testing Subroutines *} #20 = '?0000.0000' FORMAT(OriginShiftPX#,20) FORMAT(OriginShiftPY#,20) FORMAT(OriginShiftPZ#,20) FORMAT(OriginUnshiftPX#,20) FORMAT(OriginUnshiftPY#,20) FORMAT(OriginUnshiftPZ#,20) FORMAT(OriginUSPXCTP#,20) FORMAT(OriginUSPYCTP#,20) FORMAT(OriginUSPZCTP#,20) Report: IF MultipleParts? AND WorkFixtureOffsets? SetStatusOff ' ' EOL ' PartShiftX# = ' PartShiftX# ' ' ' PartShiftY# = ' PartShiftY# ' ' ' PartShiftZ# = ' PartShiftZ# EOL 'OriginUnshiftPX#(0) = ' OriginUnshiftPX#('0') ' ' 'OriginUnshiftPY#(0) = ' OriginUnshiftPY#('0') ' ' 'OriginUnshiftPZ#(0) = ' OriginUnshiftPZ#('0') EOL 'OriginUnshiftPX#(1) = ' OriginUnshiftPX#('1') ' ' 'OriginUnshiftPY#(1) = ' OriginUnshiftPY#('1') ' ' 'OriginUnshiftPZ#(1) = ' OriginUnshiftPZ#('1') EOL 'OriginUnshiftPX#(2) = ' OriginUnshiftPX#('2') ' ' 'OriginUnshiftPY#(2) = ' OriginUnshiftPY#('2') ' ' 'OriginUnshiftPZ#(2) = ' OriginUnshiftPZ#('2') EOL ' OriginShiftPX# = ' OriginShiftPX# ' ' ' OriginShiftPY# = ' OriginShiftPY# ' ' ' OriginShiftPZ# = ' OriginShiftPZ# EOL ' OriginUSPXCTP#(0) = ' OriginUSPXCTP#('0') ' ' ' OriginUSPYCTP#(0) = ' OriginUSPYCTP#('0') ' ' ' OriginUSPZCTP#(0) = ' OriginUSPZCTP#('0') EOL ' OriginUSPXCTP#(1) = ' OriginUSPXCTP#('1') ' ' ' OriginUSPYCTP#(1) = ' OriginUSPYCTP#('1') ' ' ' OriginUSPZCTP#(1) = ' OriginUSPZCTP#('1') EOL ' OriginUSPXCTP#(2) = ' OriginUSPXCTP#('2') ' ' ' OriginUSPYCTP#(2) = ' OriginUSPYCTP#('2') ' ' ' OriginUSPZCTP#(2) = ' OriginUSPZCTP#('2') EOL ' ' EOL SetStatusOn END RETURN {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 DoPartCycleComment: IF MultipleParts? AND UseComments? AND SubComment? ' ( PART NO. ' Tag# ' )' EOL END RETURN DoCycleComment: IF UseComments? AND SubComment? ' ( CYCLE START )' 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 BadMPWFOReport: SetStatusOff ' ' EOL '?????????????????????????????????????????' EOL '? NOTE: Even though you have elected to ?' EOL '? process this file using Multiple ?' EOL '? Parts with Work Fixtures, there exist ?' EOL '? non-zero values in the invisible, ?' EOL '? Equally Spaced? fields, as follows: ?' EOL '? ?' EOL '*****************************************' EOL IF NotEqual? PartShiftX# Num#('0') ' X axis shift = ' PartShiftX# EOL END IF NotEqual? PartShiftY# Num#('0') ' Y axis shift = ' PartShiftY# EOL END IF NotEqual? PartShiftZ# Num#('0') ' Z axis shift = ' PartShiftZ# EOL END '*****************************************' EOL '? ?' EOL '? Please reset these values to zero as ?' EOL '? they affect the coordinate values ?' EOL '? output, starting with Part# 2. ?' EOL '? Thank You. ?' EOL '?????????????????????????????????????????' EOL ' ' EOL SetStatusOn RETURN CSWFO: ' G15 H' ADD# CS# SUB# NewWFO# Num#('1') RETURN CalcCSWFO: {(iPart-1)*NumOfCS#)} IF MultipleParts? IF Flag?('3') ' G15 H' ADD# NewWFO# SUB# Tag# Num#('1') ELSE ' G15 H' ADD# NewWFO# SUB# Parts# Tag# END ELSE CSWFO 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 DoCSWFOComment: ' ( CS#' CS# ' - ' CSComment$ ' )' EOL ' (' CalcCSWFO '= X' CSOffsetX# ' Y' CSOffsetY# ' Z' CSOffsetZ# ' )' EOL RETURN DoCSG52Comment: ' ( CS#' CS# ' - ' CSComment$ ' )' EOL RETURN PSInit: NewWFOF RotateF OptCyc1F MasterOpF CallMasterOpF RETURN PSStuff: IF FourthCW? FORMAT(FourthDegree#,2) SeqC 'A' FourthDegree# EOL FourthCWF END IF FourthCCW? FORMAT(FourthDegree#,3) SeqC 'A' FourthDegree# EOL FourthCCWF END IF FifthCW? FORMAT(FifthDegree#,2) SeqC 'B' FifthDegree# EOL FifthCWF END IF FifthCCW? FORMAT(FifthDegree#,3) SeqC 'B' FifthDegree# EOL FifthCCWF END 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 ExitMove: SeqC IF FeedConnect? IF NOT AutoCycle? IF NOT NoZMoves? FeedC ZInC FeedEntC END END ELSE CRCOffC IF FIFO? { .81 } FeedC ELSE RapidC END PRIME ZCP2C IF FIFO? { .81 } FeedEntC END END EOL RETURN ExitMove2: IF FIFO? FeedC ZCP3C FeedEntC ELSE RapidC ZCP3C END RETURN CycleWarning: { NOTE: This Post Processor takes care of Z Clearance. } RETURN ToggleIncDecWFO: IF Flag?('3') SetFlagF('3') ELSE SetFlag('3') END RETURN OpenMP: IF Flag?('2') OR WFOCS? ClearCSOffset IF Flag?('3') IF Flag?('2') SeqC CalcCSWFO EOL DoCSG52Comment ClearCSOffset SeqC ' G52X' CSOffsetX# 'Y' CSOffsetY# 'Z' CSOffsetZ# EOL ELSE DoCSWFOComment ClearCSOffset SeqC CalcCSWFO EOL END ClearCSOffset ELSE IF Flag?('2') SeqC CalcCSWFO EOL DoCSG52Comment ClearCSOffset SeqC ' G52X' CSOffsetX# 'Y' CSOffsetY# 'Z' CSOffsetZ# EOL ELSE DoCSWFOComment ClearCSOffset SeqC CalcCSWFO EOL END END END RETURN CloseMP: IF Flag?('2') OR WFOCS? IF Flag?('4') ToggleIncDecWFO END END RETURN SubCSMP: IF Flag?('2') OR WFOCS? ClearCSOffset 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? SetFlag('1') { CRCOffsetC } CRCOnC END END RETURN FormatLine: ckCRC FeedC MoveXYZC RETURN ckCRC...
kmex