Cincinnati 225W M027 81 4


{7/24/90, Added InitProg globally to posts with this remark, DWB}
{1/9/91, Updated: Cincinnati 225W M027.54 to .76.1 format, JR}

{4/03/91
Modified: Cincinnati 225W M027.76.1
For: Gibbs & Associates
Updated to Version 4.0 per Fanuc 6M M001.80 Format.
DWB}

{10/07/93
Modified: Cincinnati 225W M027.79
For: Gibbs & Associates
Arcs Stop On Quadrants
Minor uptated stuff per Fanuc 6M M001.81.2
Jim Radcliffe}

{12/14/93
Modified: Cincinnati 225W M027.81.2
For: Northwest
Modified FormatArc to output unconditional G02/G03 and IJK info.
Jim Radcliffe}

{10/10/95
Modified: Cincinnati 225W M027.81.3
For: Gibbs & Associates
Versions: ncCad 4.33.01/ncCAM 4.33.01/ncPost 4.33.06/Catalyst v2.27/Compost 4.21.32/1.0a
Changes made per Pete Jackson.
Changed PostCinc to Post2 at end of Prog.
PostCinc is not supported in Virtual.
DWB}

{Prog Numeric Format Definitions *******************************************}

#1 = '#.00'
#2 = '###.###;0.'
#3 = '*###.###;0.'
#4 = '####.####;0.'
#5 = '#######0'

FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(ToolDiameter#,4) {.72}
FORMAT(Operation#,5) {.72}
FORMAT(Tool#,5) {.72}
FORMAT(Parts#,5) {.72}

{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?
'( 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

PSInit: {reset flags}
RotateF
RETURN

PSStuff: {revised.72}
IF FourthCW?
FORMAT(FourthDegree#,2)
SeqLabC 'A' FourthDegree# EOL
FourthCWF {reset flag}
END
IF FourthCCW?
FORMAT(FourthDegree#,3)
SeqLabC 'A' FourthDegree# EOL
FourthCCWF {reset flag}
END
IF FifthCW?
FORMAT(FifthDegree#,2)
SeqLabC 'B' FifthDegree# EOL
FifthCWF {reset flag}
END
IF FifthCCW?
FORMAT(FifthDegree#,3)
SeqLabC 'B' FifthDegree# EOL
FifthCCWF {reset flag}
END
RETURN

DoPostScript:
PSInit
EachPS
SeqLabC PostScript EOL {literals}
PSStuff {commands}
NextPS
RETURN

DoEndOpPS:
PSInit
EachEOPS
SeqLabC EndOpPS EOL {literals}
PSStuff {commands}
NextPS
RETURN

OpenMP:
NewProg '>' FileNum '>' Parts CinShftP EOL
OpenSub
RETURN

CloseMP:
CloseSub
RETURN

FormatArc:
IF ArcCW?
CWArc
ELSE
CCWArc
END
MoveXYZC
IF ArcIJFormat?
ArcIJ
ELSE
ArcR
END
RETURN

StdRapid:
IF XMove? OR YMove?
SeqLabC RapidC MoveXYC EOL
END
RETURN

StdLine:
IF Decelerate?
IF RoomToDecel?
DecelMove1
SeqLabC FeedC MoveXYZC FeedRateC EOL
DecelMove2
END
SeqLabC FeedC MoveXYZC DecelFeed EOL
ELSE
IF XMove? OR YMove?
SeqLabC FeedC MoveXYC FeedRateC EOL
END
END
RETURN

StdArc:
EACHQuadrant
IF LastQuadrant? AND Decelerate?
IF RoomToDecel?
DecelMove1
SeqLabC FormatArc ArcFeedC EOL
DecelMove2
END
SeqLabC FormatArc DecelFeed EOL
ELSE
SeqLabC FormatArc ArcFeedC EOL
END
NEXTQuadrant
RETURN

ToolPath2: {for AutoCycle element moves}
EACHFeat
IF RapidFeat?
StdRapid
ELSE
IF LineFeat?
StdLine
ELSE
IF ArcFeat?
StdArc
END
END
END
NEXTFeat
RETURN

CutAutoCycle:
SaveSubStatus {save tool position}
SetPass1 {element cut moves}
SetSRXYtoSP
SeqLabC IncValue EOL
IF Repeats? AND ZshiftOnly?
'( cant do a Z Shift on this machine )' EOL
ELSE
ToolPath2
SeqLabC AbsOrInc ' G81' EOL
END
SetSRSubXY {restore tool position}
SetSRSubMove
ReSetPass2 {restore for positioning moves}
RETURN

ToolPath:
EACHFeat
IF PointFeat?
IF AutoCycle?
IF NOT FirstFeat?
SeqLabC 'G78' MoveSXYC EOL
END
CutAutoCycle
CalcACSRXY {calc tool position after sub call, CalcAutoCycleStatusRecordXY}
ELSE
SeqLabC MoveSXYC EOL
END
ELSE
IF RapidFeat?
StdRapid
ELSE
IF LineFeat?
StdLine
ELSE
IF ArcFeat?
StdArc
END
END
END
END
NEXTFeat
RETURN

CheckPass:
IF AutoCycle? {use the correct StrtPos}
SetPass2
ELSE
SetPass1
END
RETURN

{Start of executable Prog **************************************************}

{setup and initializations}
InitProg
ReverseXZArcs
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
' 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
IF FirstOperation?
EOR EOL
IF ToolChangeAtHome?
SetHome
END
IF UseComments?
IF ProgramNameComment?
'( ' ProgramName$ ' )' EOL
END
IF ProgramComment?
'( ' ProgramComment$ ' )' EOL
END
IF FormatNameComment?
'( FORMAT: ' FormatName$ ' )' EOL
END
IF TimeComment?
'( ' Date$ ' AT ' Time$ ' )' EOL
END
IF MovesComment?
'( OUTPUT IN ' MoveType$ ' INCHES )' EOL
END
IF PartsComment?
'( PARTS PROGRAMMED: ' Parts# ' )' EOL
END
IF StartToolComment?
'( FIRST TOOL NOT IN SPINDLE )' EOL
END
END
OpenSub
RestoreScale
IF MultipleParts? AND AllToolsOnePart?
OpenMP
END
SeqLabC 'G80' EOL
SeqLabC ToolChng EOL
DoPostScript
DoOpComments
IF MultipleParts? AND OneToolAllParts? AND FullUp?
OpenMP
END
CheckPass
IF Milling?
'H?' 'G78' Plane StrtPos FeedEnt OpToolID EOL
ELSE
IF Drilling?
GetCycle 'H?' Plane Cycle StrtPos FeedEnt OpToolID EOL
END
END
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
OpenMP
END
ELSE
IF NewTool?
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
CloseMP
END
IF MultipleParts? AND OneToolAllParts? AND FullUp?
CloseMP
END
DoEndOpPS
IF ToolChangeAtHome?
SeqLabC Rapid Home EOL
END
IF LAST ProgStop?
SeqLabC 'M00' EOL
ELSE
SeqLabC ProgStop EOL
END

{Start new Operation}

SeqLab ToolChng EOL
DoOpComments
DoPostScript
IF MultipleParts? AND OneToolAllParts? AND FullUp?
OpenMP
END
CheckPass
IF Milling?
'H?' 'G78' Plane StrtPos FeedEnt OpToolID EOL
ELSE
IF Drilling?
GetCycle 'H?' Plane Cycle StrtPos FeedEnt OpToolID EOL
END
END
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
OpenMP
END
ELSE
IF SameTool?
DoEndOpPS
IF LAST ProgStop?
SeqLabC 'M00' EOL
END
DoOpComments
DoPostScript
IF ProgStop?
SeqLabC 'M00' EOL
END
CheckPass
IF Milling?
SeqLabC 'G78' Plane StrtPos FeedEnt EOL
ELSE
IF Drilling?
GetCycle SeqLabC Cycle Plane StrtPos FeedEnt EOL
END
END
END
END
END
IF Milling?
IF Repeats?
EACHRep
DoSubComment
IF NOT FirstCycle?
SeqLabC 'G78' StrtPos EOL
END
END
ToolPath
IF Repeats?
IF NOT FeedConnect?
SeqLabC 'G81' EOL
END
NEXTRep
END
SeqLabC 'G81' EOL
ELSE
IF Drilling?
IF Repeats?
EACHRep
DoSubComment
SeqLabC StrtPosC EOL
END
ToolPath
IF Repeats?
NEXTRep
END
END
END
NEXTOp
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
CloseMP
END
IF MultipleParts? AND OneToolAllParts? AND FullUp?
CloseMP
END
DoEndOpPS
IF FIRST ToolChangeAtHome? {.71.2 added FIRST modifier}
SeqLabC Rapid FirstHome EOL
END
IF ProgStop?
SeqC 'M00' EOL
END
IF MultipleParts? AND AllToolsOnePart?
CloseMP
END
SeqLabC EOP EOL
CloseSub
Post2
EOR EOL
Close
Reseq
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:
Cincinnati 900V2 M029 81 3
Cincinnati 720 Acr 5 M144 81
Fanuc 10M (AGA) M147 81 2
Tosnuc 600M VMC 45 M442 81 3
DM 81 Diper Kenwooda
BP IIA (HAC) M200 81
30 (81)
Artran Contour MV83 81
Yas MX3 Mat [AbsZAC] M591 81 2
T81 2
node S0281
G & L 15V Bickford M314 81 3
Fanuc 0M Wasino WM3 M525 81 2

więcej podobnych podstron