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