{Change Comments ***********************************************************}
{7/21/87 TF, ADDED N TO STRING 2 FO SEQUENCE # ?}
{5/23/89
Copied & modified; GE 550 M087.56; for, Lawerence Berkley.
Changed format from 3 to 4 trailing zeros.
Added "NoIJKSigns".
Changed "FIDRO?" to "FIRO?".
Changed "'F300'" to "RapidF" or "RapidFC".
Added typical feedrate stuff.
Added "ToolChng" (M00).
Added Cutter Comp stuff as needed.
Changed "SeqC" to "Seq" or "SeqC" and deleted the literal tab.
Added "SpinOn".
Deleted RunTimeComment.
Moved "SeqC Feed StrtPos RapidF EOL" line to after "IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?".
Added "SeqC Feed StrtPos RapidF EOL" after "EachRep" in Milling.
Added "IF ToolChangeAtHome? SetHome" to beginning of prog.
Changed "Home" to "FirstHome" at end of prog.
Jim Radcliffe}
{8/24/89
Modified; GE 550 Wells Indexer M206.55.
For; Lawernce Berkley.
Add "CoolOn" before "SpinOn".
Move "CRCOn" to a line before "StrtPos".
SameTool to be formated just like NewTool.
For MP FullUp and ExitClearancePlane are the same output,
deleted FullUp & change ExitClearancePlane to just OneToolAllParts.
Modified drill cycles & deleted routine's from ToolPath.
Jim Radcliffe}
{2/14/90, Updated to Version 3.2 per Dynapath 5M Excello M091.69 Format, DWB}
{6/28/90
Copied & modified: GE 550 Wells Indexer M206.69
For: H&B Engineering
Changed format from 4 to 3 trailing zeros
Deleted NoIJKSigns, IJK signs are needed.
Jim Radcliffe}
{7/24/90, Added InitProg globally to posts with this remark, DWB}
{7/24/90, Replaced all occurances of SetSRXYZero with SetSRXYtoSP, DWB}
{4/03/91
Modified: GE 550 Wells Indexer M206.70
For: Gibbs & Associates
Updated to Version 4.0 per Fanuc 6M M001.80 Format.
DWB}
{Prog Numeric Format Definitions *******************************************}
#1 = '#.00'
FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
{Prog Subroutines **********************************************************}
DoSubComment:
IF UseComments? AND SubComment?
'( CYCLE START )' EOL
END
RETURN
PSStuff:
IF Rotate?
IF FourthCW?
FORMAT(FourthDegree#,2)
SeqC 'A' FourthDegree# EOL
ELSE
IF FourthCCW?
FORMAT(FourthDegree#,3)
SeqC 'A' FourthDegree# EOL
ELSE
IF FifthCW?
FORMAT(FifthDegree#,2)
SeqC 'B' FifthDegree# EOL
ELSE
IF FifthCCW?
FORMAT(FifthDegree#,3)
SeqC 'B' FifthDegree# EOL
END
END
END
END
END
RETURN
DoPostScript:
EachPS
SeqC PostScript EOL
PSStuff
NextPS
RETURN
DoEndOpPS:
EachEOPS
SeqC EndOpPS EOL
PSStuff
NextPS
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
IF Metric? {CAM file is in metric, tools and tool path}
SetScale('.03937007874') { change to English, this is an English post}
END
END
RETURN
EntryMove:
IF FeedEntry?
SeqC ZInC FeedEntC EOL
ELSE
SeqC ZInC RapidFC EOL
END
RETURN
SubWarning:
{not needed with new PRIME modifier, 1/1/90 WFG}
RETURN
FormatArc:
IF ArcCW?
CWArcC
ELSE
CCWArcC
END
MoveXYZC
ArcIJ
RETURN
ToolPath2:
EACHFeat
IF RapidFeat?
SeqC FeedC MoveXYZC RapidFC EOL
ELSE
IF LineFeat?
SeqC FeedC MoveXYZC FeedRateC EOL
ELSE
IF ArcFeat?
EACHQuadrant
SeqC FormatArc FeedRateC EOL
NEXTQuadrant
END
END
END
NEXTFeat
RETURN
CutAutoCycle:
SaveSubStatus {save tool position}
SetPass1 {element cut moves}
SetSRXYtoSP
Seq IncValue EOL
IF Repeats? AND ZshiftOnly?
EachRep
SeqC StrtPosC EOL
EntryMove
ToolPath2
IF NOT FeedConnect?
SeqC Feed PRIME ZCP2 EOL
END
NextRep
SeqC AbsOrInc EOL
SeqC Feed ZCP2 RapidF EOL
ELSE
SeqC StrtPosC EOL
EntryMove
ToolPath2
SeqC AbsOrInc EOL
SeqC Feed ZCP2 RapidF EOL
END
SetSRSubXY {restore tool position}
SetSRSubMove
ReSetPass2 {restore for positioning moves}
RETURN
CheckLastFeat:
IF LastFeat?
CoolOff
END
RETURN
ToolPath:
EACHFeat
IF PointFeat?
SeqC MoveSXYC RapidFC CheckLastFeat EOL
IF AutoCycle?
CutAutoCycle
END
ELSE
IF RapidFeat?
SeqC FeedC MoveXYZC RapidFC CheckLastFeat EOL
ELSE
IF LineFeat?
SeqC FeedC MoveXYZC FeedRateC CheckLastFeat EOL
ELSE
IF ArcFeat?
EACHQuadrant
SeqC FormatArc FeedRateC CheckLastFeat EOL
NEXTQuadrant
END
END
END
END
NEXTFeat
RETURN
WFOchk:
IF WorkFixtureOffsets?
'*** THIS POST DOES NOT SUPPORT WFO MULTIPLE PARTS ***' EOL
END
RETURN
{Start of executable Prog **************************************************}
{setup and initializations}
InitProg
ReverseXZArcs
InitWFONum
SetFlood
SetMaxRPM('10000')
SetMaxFeed('500')
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
' Use after ENDOP in previous OP for a same tool WFO change' EOL
' 4thAxisCW(12.5), 4ACW(12.5) -' EOL
' generates a + A move of the value you specify' EOL
' 4thAxisCCW(22.5), 4ACCW(22.5) -' EOL
' generates a - A move of the value you specify' EOL
' 5thAxisCW(30), 5ACW(30) -' EOL
' generates a + B move of the value you specify' EOL
' 5thAxisCCW(22.5), 5ACCW(22.5) -' EOL
' generates a - B move of the value you specify' EOL
END
EachOp {Start of post processing *********************}
IF FirstOperation?
IF UseComments? AND ProgramNameComment?
'( ' ProgramName$ ' )'
END
EOL
IF ToolChangeAtHome?
SetHome
END
IF UseComments?
IF ProgramComment?
'( ' ProgramComment$ ' )' EOL
END
IF FormatNameComment?
'( FORMAT: ' FormatName$ ' )' EOL
END
IF TimeComment?
'( ' Date$ ' AT ' Time$ ' )' EOL
END
IF MovesComment?
'( OUTPUT IN ' MoveType$ ' )' EOL
END
IF PartsComment?
'( PARTS PROGRAMMED: ' Parts# ' )' EOL
END
IF StartToolComment?
'( FIRST TOOL IN SPINDLE )' EOL
END
END
OpenSub
IF Metric? {CAM file is in metric, tools and tool path}
SetScale('.03937007874') { change to English, this is an English post}
END
IF MultipleParts? AND AllToolsOnePart?
WFOchk
EachPart
END
Plane
DoPostScript
DoOpComments
IF AutoCycle? {use the correct StrtPos}
SetPass2
ELSE
SetPass1
END
Seq AbsOrInc EOL
SeqC 'M07' EOL
SeqC SpinOn EOL
IF MultipleParts? AND OneToolAllParts?
WFOchk
EachPart
END
IF CutterRadiusCompensation?
SeqC CRCOn CRCOfst EOL
END
SeqC Feed StrtPos RapidF EOL
ELSE
IF NewTool?
{Finish off last Operation}
IF MultipleParts? AND OneToolAllParts?
NextPart
END
DoEndOpPS
IF ToolChangeAtHome?
SeqC Feed Home RapidF EOL
END
SeqC CRCOff 'D00' EOL
IF LAST ProgStop?
SeqC 'M00' EOL
ELSE
SeqC ProgStop EOL
END
{Start new Operation}
DoOpComments
Plane
Seq 'M07' EOL
SeqC SpinOn EOL
IF AutoCycle? {use the correct StrtPos}
SetPass2
ELSE
SetPass1
END
DoPostScript
IF MultipleParts? AND OneToolAllParts?
WFOchk
EachPart
END
IF CutterRadiusCompensation?
SeqC CRCOn CRCOfst EOL
END
SeqC Feed StrtPos RapidF EOL
ELSE
IF SameTool?
IF CoolOff? AND LAST NOT CoolOff?
SeqC CoolOff EOL
END
IF MultipleParts? AND OneToolAllParts?
NextPart
END
DoEndOpPS
IF ToolChangeAtHome?
SeqC Feed Home RapidF EOL
END
SeqC CRCOff 'D00' EOL
IF LAST ProgStop?
SeqC 'M00' EOL
ELSE
SeqC ProgStop EOL
END
{Start new Operation}
DoOpComments
Plane
Seq 'M07' EOL
SeqC SpinOn EOL
IF AutoCycle? {use the correct StrtPos}
SetPass2
ELSE
SetPass1
END
DoPostScript
IF MultipleParts? AND OneToolAllParts?
WFOchk
EachPart
END
IF CutterRadiusCompensation?
SeqC CRCOn CRCOfst EOL
END
SeqC Feed StrtPos RapidF EOL
IF NOT CoolOff? AND LAST CoolOff?
SeqC CoolOn EOL
END
END
END
END {common point for all operations}
IF Milling?
SeqC ZCP2 RapidFC EOL
IF Repeats?
IF ZshiftOnly? AND AutoCycle?
ELSE
EACHRep
DoSubComment
SubWarning
IF NOT FirstCycle?
IF NOT FeedConnect?
SeqC Feed StrtPos RapidF EOL
ELSE
SeqC Feed StrtPos FeedRate EOL
END
END
END
END
IF NOT AutoCycle?
EntryMove
END
ToolPath
IF Repeats?
IF ZshiftOnly? AND AutoCycle?
ELSE
IF NOT FeedConnect?
SeqC Feed PRIME ZCP2C RapidF EOL
END
NEXTRep
END
END
SeqC Feed ZCP3 RapidF SpinOff EOL
ELSE
IF Drilling?
SeqC ZCP2 RapidFC EOL
IF Repeats?
EachRep
DoSubComment
SeqC StrtPos EOL
END
GetCycle
SeqC Cycle ZDepth RLevel FeedEnt EOL
ToolPath
IF Repeats?
NextRep
END
SeqC Feed ZCP3 RapidF SpinOff EOL
END
END
NextOp {loops back to EachOP until last Operation}
{End of program ************************************************************}
{finish last operation}
IF MultipleParts? AND OneToolAllParts?
NextPart
END
DoEndOpPS
IF ToolChangeAtHome?
SeqC Feed FirstHome RapidF EOL
END
SeqC CRCOff 'D00' EOL
IF ProgStop?
SeqC 'M00' EOL
END
IF MultipleParts? AND AllToolsOnePart?
NextPart
END
SeqC 'M30' EOL
CloseSub
Post2 {organize Subs into one program}
Close
IF UseComments?
SetScale('1') {restore scale for comments}
Reopen
IF FileBytesComment?
'( FILE LENGTH: ' FileBytes# ' CHARACTERS )' EOL
END
IF FileFeetComment?
'( FILE LENGTH: ' FileFeet# ' FEET )' EOL
END
IF FileMetersComment?
'( FILE LENGTH: ' FileMeters# ' METERS )' EOL
END
Close
END
Wyszukiwarka
Podobne podstrony:
GE 550 L&S [GV] L293 82 3GE 550 DeVlieg 4K M908 89GE 550 LeBlonde [KSW] L219 82 8GE 550 M087 87GE 550 MC [SN] NMU25 87 1GE 550 L&S [FC] L407 85GE 550 LeBlonde L080 82GE 550 Okuma LS N L059 82 1GE 550 LeBlonde (CCD) L178 82GE 550 HNC L003 85GE 550 HNC [AMC] L246 82GE 550 L&S L184 82 5GE 550 LeBlond (HAC) L115 82GE 550 Monarch 75 L223 85 2GE 550 HNC [GT] L346 85 1GE 550 Cinc M909 89p (79)więcej podobnych podstron