{Change Comments ***********************************************************}
{6/1/89
Modified; Cincinnati 900V2 (1) M099.54, for C G Richter.
Change "RapidC" to "Rapid" after Drilling.
Add "NullFoot" twice to beginning and twice to end of prog.
Changed "'( MSG" to "'(MSG".
Checked "Use Absolute Drill Depths" in Booleans.
Jim Radcliffe}
{9/6/89
Copied & modified: Cincinnati 900V2 (1) M099.55
For: Hughes T&CSD
Machine: Cincinnati Cintimatic 5VC-750
Control: Acramatic 900 V2
New processer from Manual and Customer requests.
Jim Radcliffe}
{9/15/89, add PostScript, JR}
{9/21/89
Copied & modified: Cin 5VC Acr 900V2 M238.56
For: Hughes T&CSD
Machine: Cincinnati Cintimatic 10VC
Control: Acramatic 900 MC
Added Probing Operation utilizing PostScript commands SetZSurf & OptCyc1.
Probing and setting of Z axis should be OK.
Needs method for X an Y axis.
Jim Radcliffe}
{10/11/89, modified operation comments, JR}
{12/5/89
Modified: Cin 10VC Acr 900MC M245.62
For: Hughes T&CSD
Machine: Cincinnati Cintimatic 10VC
Control: Acramatic 900 MC
Added PostScript for Coolant, Program Stop & Index.
Jim Radcliffe}
{3/29/90, Updated: Cin 10VC Acr 900MC M245.63 to .70.3 format, JR}
{7/24/90, Added InitProg globally to posts with this remark, DWB}
{7/24/90, Replaced all occurances of SetSRXYZero with SetSRXYtoSP, DWB}
{7/24/90, Deleted SetZSurf command at start of prog, DWB}
{12/14/90, Updated: Cin 10VC Acr 900MC M245.71 to .76.1 format, JR}
{12/17/90 - 4/23/91
Copied & modified: Cin 10VC Acr 900MC M245.76.1
For: Hughes
Control: Acramatic CNC-MC (Big Blue)
Machine: Cincinati 10HC
Added P & Q vectoring for cutter compensation.
Updated to .80 format.
Jim Radcliffe}
{6/18/91, Changed ArcIJC & ArcRC to ArcIJ & ArcR. Added OptCyc1f to PSInit, JC}
{6/27/91
Modified: Cin 10HC Big Blue M413.80.1
For: Hughes T&CSD per Terry Lowe
Modified Subs;
changed Sub ID from "PGM" to "DFS",
changed to output subs in front of program,
deleted all EOR codes except for the 1st one.
Modified header and operation comments per 10VC M245.80.
Modified tool ID and tool call per 10VC M245.80.
Jim Radcliffe}
{8/21/91
Modified: Cin 10HC Big Blue M413.80.2
For: Hughes T&CSD per Terry Lowe
Added codes to allow Retract to 1st Clearance Plane for Drilling Cycles.
For proper drill cycle depths:
changed ZDepth to 'Z' ADD# ZDepth# NumSc#('.1'),
unchecked "Use Absolute Drill Depths" in the MachSpec.
Jim Radcliffe}
{1/22/92
Modified: Cin 10HC Big Blue M413.80.3
Changed to no sub output, all long hand output.
Jim Radcliffe}
{4/14/92
Modified: Cin 10HC Big Blue M413.80.4
Changed "PreToolComment$" to "SetNextToolOp TrimToolComment$('8')" in CheckPreTool sub.
Changed ToolComment$ to TrimToolComment$('8') on ToolChng lines.
Changed MaxRPM to 5500
Changed MaxFeed to 200
Added PostScript and commands for tool change Z position.
Jim Radcliffe}
{2/20/96
Copied: Cin 10HC Big Blue M413.80.4
Created: Cin 10HC [ST&D] M931.85
For: Schroeder Tool & Die
Machine: Cincinatti 10HC
Control: Cincinatti Milacron Acramatic
Versions: ncCad 4.33.02/ncCAM 4.33.01/ncPost 4.33.09/Catalyst v3.02.01/Compost 4.21.34/1.0a
Changes made per on sight visit with customer, phone calls, sample parts and printouts.
Updated for Catalyst v2.20 per Fanuc 6M M001.85.02 Format
Converted from Longhand, no subprogram format.
Added ASCII(10) at start of blocks, $ at end of blocks.
Added '=' for EOR code.
Numerous other changes.
DWB}
{2/21/96
Modified: Cin 10HC [ST&D] M931.85
For: Schroeder Tool & Die
Versions: ncCad 4.33.02/ncCAM 4.33.01/ncPost 4.33.09/Catalyst v3.02.02/Compost 4.21.34/1.0a
Changes made per Tom Hubina.
Updated for Catalyst v3.0 per Fanuc 6M M001.86 Format.
Modified ASCII(10).
Tom said outputting character first, before anything else was causing problems with DOS conversion.
Changed SetLineStrtChr(
) to literal
at FirstOperation.
Added to Numbers Dialog in Mach Spec.
DWB}
{3/22/96, Tested ZOnlyRepAutoCycle, Changed version # to .89, MPK}
{Prog Numeric Format Definitions ****}
#1 = '#.00'
#2 = '###^##0'
#3 = '*###^##0'
#4 = '###^###0'
#5 = '#######0'
#6 = '#.0000'
#7 = '00'
FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(SUB#,4)
FORMAT(TrackZNO#,4)
FORMAT(CalcZSurf#,4)
FORMAT(TCZ#,4)
FORMAT(XEPVec#,4)
FORMAT(YEPVec#,4)
FORMAT(XVector#,4)
FORMAT(YVector#,4)
FORMAT(ArcZRads#,4)
FORMAT(CallMasterNum#,5)
FORMAT(Repeats#,5)
FORMAT(Program#,5) {.72}
FORMAT(Operation#,5) {.72}
FORMAT(Tool#,5) {.72}
FORMAT(Parts#,5) {.72}
FORMAT(ToolDiameter#,6)
FORMAT(NewWFO#,7)
{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
DoSubComment:
IF UseComments? AND SubComment?
'(SUB NUMBER - ' Program# ' )' EOL
END
RETURN
DoOpComments:
IF UseComments?
SetScale('1')
IF OperationIDComment?
'(MSG, OPERATION ' Operation# ' - ' OperationType$ ' )' EOL
END
IF OperationComment?
'(MSG, ' OperationComment$ ' )' EOL
END
IF WorkGroupComment?
'(MSG, ' WorkGroupComment$ ' )' EOL
END
IF SameTool?
IF NewToolOffset?
IF ToolTypeComment?
'(MSG, TOOL ' Tool# ' - ' ToolDiameter# ' ' ToolType$ ' )' EOL
END
IF ToolComment?
'(MSG, T' ToolComment$ ' )' EOL
END
END
ELSE
IF ToolTypeComment?
'(MSG, TOOL ' Tool# ' - ' ToolDiameter# ' ' ToolType$ ' )' EOL
END
IF ToolComment?
'(MSG, T' ToolComment$ ' )' EOL
END
END
RestoreScale
END
RETURN
PSInit: {reset flags}
NewWFOF
RotateF
OptCyc1F
MasterOpF
CallMasterOpF
RETURN
CheckIndexer:
IF FourthCW?
FORMAT(FourthDegree#,2)
'B' FourthDegree#
FourthCWF {reset flag}
END
IF FourthCCW?
FORMAT(FourthDegree#,3)
'B' FourthDegree#
FourthCCWF {reset flag}
END
RETURN
PSStuff: {revised.72}
RETURN
DoPostScript:
PSInit
EachPS
SeqLabC PostScript EOL {literals}
PSStuff {commands}
NextPS
RETURN
DoEndOpPS:
PSInit
EachEOPS
SeqLabC EndOpPS EOL {literals}
PSStuff {commands}
NextPS
RETURN
EntryMove:
IF FeedEntry?
SeqLabC Feed ZIn FeedEnt EOL
ELSE
SeqLabC RapidC ZIn EOL
END
RETURN
StartSub:
OpenSub
SeqLabC '(PRG,I' Program# ')' 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:
SeqLabC '(CLS,I' Program# ',R' Repeats# ')' EOL
StartSub
RETURN
FinishSub1: {part 1}
SeqLabC
IF NOT FeedConnect?
IF AutoCycle?
ZCP3C
ELSE
IF FIFO? {.81}
FeedC ZCP3C FeedEntC
ELSE
RapidC ZCP3C
END
END
END
EOL
RETURN
FinishSubG92: {part 2}
SeqLabC Preset ShiftRC EOL
SeqLabC EndSub EOL
CloseSub
SeqLabC Preset UnshftRC EOL
RETURN
OpenMP:
NewProg
IF WorkFixtureOffsets?
NewWFO
EachWFO
SeqLabC SetWFO EOL
SeqLabC '(CLS,I' Program# ')' EOL
IncWFO
NextWFO
ELSE
SeqLabC '(CLS,I' Program# ',R' Parts# ')' EOL
END
StartSub
RETURN
CloseMP:
IF WorkFixtureOffsets?
SeqLabC EndSub EOL
CloseSub
SeqLabC WFO1 EOL
ELSE
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:
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?
SeqLabC AbsValue EOL
END
RETURN
GetVector:
IF CutterRadiusCompensation?
IF FirstFeat?
{ unconditional to set up proper vectors, cannot
have an axis vector without a call to that axis }
MoveX MoveY MoveZC 'P' XVector# 'Q' YVector#
ELSE
IF LastFeat?
IF XMove?
IF YMove?
MoveXYZC 'P' XEPVec# 'Q' YEPVec#
ELSE
MoveXYZC 'P' XEPVec#
END
ELSE
MoveXYZC 'Q' YEPVec#
END
ELSE
IF XMove?
IF YMove?
MoveXYZC 'P' XVector# 'Q' YVector#
ELSE
MoveXYZC 'P' XVector#
END
ELSE
MoveXYZC 'Q' YVector#
END
END
END
ELSE
MoveXYZC
END
RETURN
FormatArc:
IF ArcCW?
CWArcC
ELSE
CCWArcC
END
IF XYPlane? AND ZMove?
GetVector ArcIJ 'K' ArcZRads#
ELSE
IF XZPlane? AND YMove?
GetVector ArcI 'J' ArcZRads# ArcJ
ELSE
IF YZPlane? AND XMove?
GetVector 'I' ArcZRads# ArcIJ
ELSE
GetVector ArcIJ
END
END
END
RETURN
ckCRC:
{ NOTE: Not Supported, uses Vectors }
RETURN
FormatLine:
FeedC GetVector
RETURN
ckCRCNum:
{ NOTE: Not Supported }
RETURN
ToolPath:
EACHFeat
IF PointFeat?
IF AutoCycle?
SeqLabC MoveSXYC EOL
SeqLabC '(CLS,I' Program# ')' EOL
CalcACSRXY {calc tool position after sub call, CalcAutoCycleStatusRecordXY}
ELSE
IF Peck?
SeqLabC RapidC MoveSXYC EOL
SeqLabC ZCP2C EOL
PeckManual
IF RetractToCP1?
SeqLabC RapidC ZCP1C EOL
END
ELSE
IF RetractToCP1?
IF NOT FirstFeat?
SeqLabC
IF FIFO? AND Dwell?
'G89'
ELSE
Cycle
END
MoveSXYC 'Z' SUB# Num#('.1') SUB# ClearancePlane2# SPZ# RLevelCin EOL
END
IF NOT LastFeat?
SeqLabC DrillOff 'R' SUB# ClearancePlane1# NumSc#('.1') EOL
END
ELSE
SeqLabC DoDrillAbsOrInc MoveSXYZC EOL {.80.01}
END
END
END
ELSE
IF RapidFeat?
IF XMove? OR YMove? OR ZMove?
SeqLabC DoAbsOrInc EOL
SeqLabC RapidC GetVector EOL
END
ELSE
IF LineFeat?
IF XMove? OR YMove? OR ZMove?
SeqLabC DoAbsOrInc EOL
IF Decelerate?
IF RoomToDecel?
DecelMove1
SeqLabC FormatLine FeedRateC EOL
DecelMove2
END
SeqLabC FormatLine DecelFeed EOL
ELSE
SeqLabC FormatLine FeedRateC EOL
END
END
ELSE
IF ArcFeat?
SeqLabC DoAbsOrInc EOL
EACHQuadrant { Do not use NOT, FIRST, LAST or NEXT modifiers in this loop }
IF LastQuadrant? AND Decelerate?
IF RoomToDecel?
DecelMove1
SeqLabC FormatArc ArcFeedC EOL
DecelMove2
END
SeqLabC FormatArc DecelFeed EOL
ELSE
SeqLabC FormatArc ArcFeedC EOL
END
NEXTQuadrant
END
END
END
END
NEXTFeat
RestoreAbsOrInc
RETURN
WFOStuff:
IF NewWFO?
IF MultipleParts?
EOL
'*** WARNING *** DO NOT USE NEWWFO() WITH NCPOST MULTIPLE PARTS' EOL
SeqLabC
ELSE
'H' NewWFO#
END
ELSE
IF NOT SameTool?
IF NeedWFO1?
'H' NewWFO#
END
END
END
RETURN
AutoCycCutSub1: {part 1}
SaveSubStatus {save tool position}
SetPass1 {element cut moves}
StartSub
SetSRXYtoSP
SeqLabC IncValue EOL
RETURN
AutoCycCutSub2: {part 2}
ToolPath
SeqLabC AbsOrInc EOL
SeqLabC
IF Repeats? AND FeedConnect? AND ZshiftOnly?
{.69 removed RapidC} {.71.2 removed CRCOffC, gets turned off in ToolPath}
ELSE
IF FIFO? {.81}
FeedC ZCP2 FeedEntC
ELSE
RapidC ZCP2
END
END
EOL
SeqLabC EndSub EOL
CloseSub
SetSRSubXY {restore SR to 1st position value}
SetSRSubMove
RETURN
AutoCycPat:
SetPass2 {position pattern}
ToolPath {call after NewProg for correct sub calls}
SetPass1 {reset}
RETURN
Milling:
IF AutoCycle?
NewProg
AutoCycCutSub1
EntryMove
AutoCycCutSub2
AutoCycPat
ELSE
EntryMove
ToolPath
END
RETURN
G92Sub:
SubWarning
StdSub
SeqLabC AbsOrInc EOL
SeqLabC Connect StrtPos EOL
Milling
FinishSub1
FinishSubG92
RETURN
ZonlyRepAutoCycle: {.86}
AutoCycPat {write pattern moves and main calls}
StartSub
NewProg
EachCycle
SetSRXYtoEP
IF FeedConnect?
Feed
IF NOT FirstCycle?
IF SPXMove? OR SPYMove?
SeqLabC IncValue StrtPosC EOL
AbsOrInc
END
END
SeqLabC ZInPlusInc FeedEnt EOL
ELSE
IF NOT FirstCycle?
Rapid
IF SPXMove? OR SPYMove?
SeqLabC IncValue StrtPosC EOL
AbsOrInc
IF FeedEntry?
SeqLabC ZCP2PlusInc EOL
SeqLabC Feed ZInPlusInc FeedEnt EOL
ELSE
SeqLabC ZInPlusInc EOL
END
ELSE
IF FeedEntry?
SeqLabC ZCP2PlusInc EOL
SeqLabC Feed ZInPlusInc FeedEnt EOL
ELSE
SeqLabC ZInPlusInc EOL
END
END
ELSE
IF FeedEntry?
SeqLabC Feed ZInPlusInc FeedEnt EOL
ELSE
SeqLabC Rapid ZInPlusInc EOL
END
END
END
IF FirstCycle?
SetStatusOff {protect Z position for incremental sub}
END
SeqLabC '(CLS,I' Program# ')' EOL
NextCycle
SetStatusOn
AutoCycCutSub1 {build element sub}
AutoCycCutSub2
{.69, removed FinishSub1}
IF FeedConnect? {there is no Z up in the sub, .69}
IF FIFO? {.81}
SeqLabC Feed ZCP2 FeedEnt EOL {.69}
ELSE
SeqLabC Rapid ZCP2 EOL {.69}
END
END {.69}
SeqLabC EndSub EOL
CloseSub
{Element shift, not pattern}
RETURN
ZonlyRep:
EachCycle
IF NOT FirstCycle?
SeqLabC Connect StrtPos EOL {.71.2, added Connect}
END
IF FeedConnect?
SeqLabC FeedC ZInPlusInc FeedEnt EOL {.71.2, changed to FeedC}
ELSE {Entry/Exit Connect}
IF FeedEntry?
IF NOT FirstCycle?
SeqLabC RapidC ZCP2PlusIncC EOL {can't call for cycle =1} {.69 added Rapid, reads better} {.71.2, changed to RapidC, reads better}
END
SeqLabC Feed ZInPlusInc FeedEnt EOL
ELSE
SeqLabC RapidC ZInPlusInc EOL {.69 added Rapid, reads better} {.71.2, changed to RapidC, reads better}
END
END
SeqLabC '(CLS,I' Program# ')' EOL
NextCycle
StartSub
TrackZNO# FIRST SPZ#
ToolPath
FinishSub1
SeqLabC EndSub EOL
CloseSub
RETURN
CheckPass:
IF AutoCycle? {use the correct StrtPos}
SetPass2
ELSE
SetPass1
END
RETURN
Approach:
IF Drilling? AND NOT Peck?
IF FirstOperation? OR NewTool? OR LAST ProgStop? OR NewToolOffset?
TrackZNO# ClearancePlane1#
END
GetCycle
IF FIFO? AND Dwell?
'G89'
ELSE
Cycle
END
StrtPos 'Z' SUB# Num#('.1') SUB# ClearancePlane2# FIRST SPZ# RLevelCin FeedEnt
ELSE {milling or pecking}
Rapid StrtPos
IF Peck?
ZCP2
ELSE {milling}
IF NOT SameTool?
ZCP1
END
END
END
RETURN
CheckPreTool:
IF NOT LastTool?
PreTool
END
RETURN
CheckSpinOn: {turns on spindle and coolant}
IF CoolOff?
IF CWSpindle?
'M03'
ELSE
'M04'
END
ELSE
IF Mist?
IF CWSpindle?
'M17'
ELSE
'M18'
END
ELSE
IF CWSpindle?
'M13'
ELSE
'M14'
END
END
END
RETURN
SkipToLastFeat:
EachFeat
IF LastFeat?
TrackXNO# SPX#
TrackYNO# SPY#
END
NextFeat
RETURN
SetDrillEndOpZ:
IF RetractToCP1?
TrackZNO# ClearancePlane1#
ELSE
TrackZNO# ClearancePlane2#
END
RETURN
GetStartOfSameTool:
DoOpComments
DoPostScript
CheckPass
RETURN
{Start of executable Prog **************************************************}
{setup and initializations}
InitProg
SetTCZ('10.0')
SetMaxVec('3.2767')
ReverseXZArcs
InitWFONum
SetFlood
UseSeparateSubCalls
SetMaxSeparateSubCalls('50')
SetMaxRPM('5500')
SetMaxFeed('200')
SetFlagF('1') { Milling ZShiftOnly SepSubs }
IF PSComment? AND UseComments?
'PostScript:' EOL
' Literals: put between single or double quotes.' EOL
' Separate commands and literals with at least one space.' EOL
' A CR ( RETURN key ) will start a new line.' EOL
' Commands: may be capital and/or lower case letters. Separate commands with a space.' EOL
' EndOP -' EOL
' all literals and commands before an ENDOP command' EOL
' will appear at the beginning of the operation. All ' EOL
' literals and commands after an ENDOP command will appear' EOL
' at the end of the operation. ' EOL
' NewWFO(56), NWFO(56) -' EOL
' The Work Fixture Offset # you specify will be used for all following operations.' EOL
' Do not use with the ncPost multiple part option.' EOL
' SetZSurf(-.05)' EOL
' This is a non-modal command affecting the current operation only.' EOL
' The value in ( ) establishes the Z surface position incrementally' EOL
' from clearance plane #2. For example, if clearance plane #2 equals' EOL
' Z.1 and SetZSurf(-.05) is given for that operation, the Z top surface' EOL
' will be Z.05. This command only effects drilling operations and' EOL
' must be used with the OPTCYC1 command and before the ENDOP command' EOL
' for a Set Z axis operation. If SetZSurf() is not specified,' EOL
' the value will be taken from ncCAM, if it is version 3.2 or better' EOL
' MistCoolant, MCool' EOL
' This is a non-modal command affecting the current operation only.' EOL
' Turns on the spindle with mist coolant.' EOL
' SetMist, SM' EOL
' This is a modal command affecting all operations.' EOL
' Turns on the spindle with mist coolant.' EOL
' SetFlood, SF' EOL
' This is a modal command affecting all operations.' EOL
' Turns on the spindle with flood coolant.' EOL
' This is the default setting.' EOL
' 4thAxisCW(12.5), 4ACW(12.5) -' EOL
' This is a non-modal command affecting the current operation only.' EOL
' generates a + B move of the value you specify' EOL
' 4thAxisCCW(22.5), 4ACCW(22.5) -' EOL
' This is a non-modal command affecting the current operation only.' EOL
' generates a - B move of the value you specify' EOL
' TCZ(), TOOLCHANGEZ() -' EOL
' This is a modal command affecting all operations.' EOL
' The value in () establishes the Z tool change position.' EOL
' Internally set to Z10.0000 as a default.' EOL
END
{**************** Customized header comments with tool list *****************}
EACHOp
IF FirstOperation?
IF UseComments?
ASCII('10')
'PARTNO ' ProgramName$ ' BY - T. LOWE PROG -' ProgramComment$ ' ' EOL
' ' EOL { }
'=' EOL { EOR }
'(MSG, MACHINE 10HC )' EOL
IF ProgramNameComment?
'(MSG, PROGRAM - ' ProgramName$ ' )' EOL
END
IF ProgramComment?
'(MSG, ' ProgramComment$ ' )' EOL
END
IF FormatNameComment?
'(MSG, FORMAT - ' FormatName$ ' )' EOL
END
IF TimeComment?
'(MSG, ' Date$ ' AT ' Time$ ' )' EOL
END
IF MovesComment?
'(MSG, OUTPUT IN ' MoveType$ ' INCHES )' EOL
END
IF PartsComment?
'(MSG, PARTS PROGRAMMED - ' Parts# ' )' EOL
END
IF StartToolComment?
'(MSG, FIRST TOOL NOT IN SPINDLE )' EOL
END
END
'(MSG, )' EOL
END
IF SameTool?
IF NewToolOffset?
'( TOOL ' Tool# ' - ' ToolDiameter# ' ' ToolType$ ' )' EOL
END
ELSE
'( TOOL ' Tool# ' - ' ToolDiameter# ' ' ToolType$ ' )' EOL
END
IF LastOp?
'(MSG, )' EOL
END
NEXTOp
EachOp {Start of post processing *********************}
IF FirstOperation?
IF ToolChangeAtHome?
SetHome
END
OpenSub
RestoreScale
IF MultipleParts? AND AllToolsOnePart?
OpenMP
END
'O?' Rapid OpToolID ToolChng EOL
DoOpComments
SeqLabC Plane EOL
SeqLabC AbsOrInc EOL
DoPostScript
IF MultipleParts? AND OneToolAllParts? AND FullUp?
OpenMP
SeqLabC AbsOrInc EOL
END
CheckPass
SeqLabC Approach CheckIndexer Speed CheckPreTool WFOStuff CheckSpinOn EOL
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
OpenMP
SeqLabC StrtPos EOL
END
ELSE
IF NewTool?
{Finish off last Operation}
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
CloseMP
END
IF MultipleParts? AND OneToolAllParts? AND FullUp?
CloseMP
END
DoEndOpPS
IF NotEqual? TCZ# LAST ClearancePlane3#
SeqLabC RapidC 'Z' TCZ# EOL
END
IF ToolChangeAtHome?
SeqLabC RapidC Home EOL
END
IF LAST ProgStop?
SeqLabC 'M00' EOL
ELSE
SeqLabC ProgStop EOL
END
{Start new Operation}
'O?' Rapid OpToolID ToolChng EOL
DoOpComments
SeqLabC PlaneC EOL
DoPostScript
IF MultipleParts? AND OneToolAllParts? AND FullUp?
OpenMP
SeqLabC AbsOrInc EOL
END
CheckPass
SeqLabC Approach CheckIndexer Speed PreTool WFOStuff CheckSpinOn EOL
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
OpenMP
SeqLabC StrtPos EOL
END
ELSE
IF SameTool?
DoEndOpPS
IF LAST ProgStop?
IF NotEqual? TCZ# LAST ClearancePlane3#
SeqLabC RapidC 'Z' TCZ# EOL
END
IF ToolChangeAtHome?
SeqLabC RapidC Home EOL
END
SeqLabC CoolOff EOL
SeqLabC 'M00' EOL
{Start new Operation}
GetStartOfSameTool
SeqLabC PlaneC EOL
SeqLabC Approach CheckIndexer Speed WFOStuff CheckSpinOn EOL
ELSE
IF CoolOff? AND LAST NOT CoolOff?
SeqLabC CoolOff EOL
END
IF NewToolOffset?
{Start new Operation}
GetStartOfSameTool
SeqLabC PlaneC EOL
SeqLabC Approach CheckIndexer SpeedC WFOStuff EOL
ELSE
GetStartOfSameTool
SeqLabC PlaneC EOL
SeqLabC Approach CheckIndexer SpeedC WFOStuff EOL
END
IF NOT CoolOff? AND LAST CoolOff?
SeqLabC CoolOn EOL
END
END
END
END
END {common point for all operations}
IF Milling?
SeqLabC ZCP2C EOL
IF Repeats?
NewProg
IF ZshiftOnly?
IF AutoCycle? {incremental Autocycle sub can have Z moves}
ZonlyRepAutoCycle
ELSE {Z shift only, NOT Auto Cycle}
IF UseSeparateSubCalls? AND CyclesLessThanMaxSubCalls?
SetFlag('1') { Milling ZShiftOnly SepSubs }
ZonlyRep
SetFlagF('1')
ELSE {no sep subs desired}
G92Sub
END
END {end Auto Cycle IF}
ELSE {not Z only}
G92Sub
END {end Z only IF}
ELSE {no repeat OPs}
Milling
END
IF AutoCycle?
SeqLabC ZCP3C EOL
ELSE
IF FIFO? {.81}
SeqLabC FeedC ZCP3C FeedEntC EOL
ELSE
SeqLabC RapidC ZCP3C EOL
END
END
ELSE
IF Drilling?
IF Repeats?
NewProg
StdSub
SeqLabC AbsOrInc EOL
SeqLabC Rapid StrtPos EOL
END
IF CallMasterOp?
SeqLabC '(CLS,I' CallMasterNum# ')' EOL
SkipToLastFeat
ELSE
TrackZNO# FIRST SPZ#
IF MasterOp?
SetFlag('1') {std sep sub Zreps in effect}
NewMasterProg
SeqLabC '(CLS,I' Program# ')' EOL
StartSub
ToolPath
SeqLabC EndSub EOL
CloseSub
SetFlagF('1') {not std sep sub Zreps in effect}
ELSE
ToolPath
END
END
IF NOT Peck?
SeqLabC DrillOff EOL
END
SetDrillEndOpZ
SeqLabC Rapid ZCP3 EOL
IF Repeats?
FinishSubG92
END
END
END
NextOp {loops back to EachOP until last Operation}
{End of program ************************************************************}
{finish last operation}
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
CloseMP
END
IF MultipleParts? AND OneToolAllParts? AND FullUp?
CloseMP
END
DoEndOpPS
IF NotEqual? TCZ# ClearancePlane3#
SeqLabC RapidC 'Z' TCZ# EOL
END
IF FIRST ToolChangeAtHome?
SeqLabC RapidC FirstHome EOL
END
IF MultipleParts? AND AllToolsOnePart?
CloseMP
END
SeqLabC EOP EOL
CloseSub
Post2 {organize Subs into one program}
Close
Retag
IF UseComments?
SetScale('1') {restore scale for comments}
Reopen
IF FileBytesComment?
'(MSG, FILE LENGTH - ' FileBytes# ' CHARACTERS )' EOL
END
IF FileFeetComment?
'(MSG, FILE LENGTH - ' FileFeet# ' FEET )' EOL
END
IF FileMetersComment?
'(MSG, FILE LENGTH - ' FileMeters# ' METERS )' EOL
END
Close
END
Wyszukiwarka
Podobne podstrony:
Cin 10HC [ST&D] PM931 17 3Mazatrol M2 Mzk [ST] M630 89Cin Acr 850MC M196 89Mazatrol M2 Mzk [ST] M630 89 1mHeid 415 BR [ST] MX50 89 1mCin 10HC Acr 900 PMW DV69 15 1Cin 10HC Big Blue M413 80 5Fanuc 6M [ST] NMT61 89Cin Acr [GH] MW97 89 2Cin Acr [GH] MW97 89 2Cin Acr 900V2 [KM] MT25 89Cin 5H 2500 Acr 8D PMW MV67 89Cin Acr A8D 7VT1000 MY96 89Fanuc 0MC Cin Sabre M978 89Cin Arrow 750 [DFM] MT60 89 1Cin Acr 850SX [WI] M598 89Cin Acr 900 [CKC] M818 89więcej podobnych podstron