{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}
{
Format: Cinc Acr 225WA M911.81.5
12/18/95
Changed:
SeqLabC 'G80' EOL
To:
SeqLabC 'G80X+0000Y+0000M06' EOL
at start of output
Added:
SeqLabC 'G81M26' EOL
SeqLabC 'G80M02' EOL
to end of output
Changed format to match fax from Jeff Casto
TH}
{2/9/96, Updated .81 number to .84, no changes necessary, MPK}
{3/22/96, Tested ZOnlyRepAutCycle, Incremented number to .87, MPK}
{11/12/97
Initial: Cin Acr 225WA M911.87
Created: Cin Acr 225WA M911.87.1
ForUser: FC Machine
Control: Cincinnati Acramatic 225
Machine: ????
Develop: ComPost2 1.1b2, Virtual 4.21.12
Comment: Modified per marked up readout from Jeff Casto.
Deleted extra M06 from beginning of program.
Deleted FeedEnt from beginning of Drilling operations.
Added G80 to ToolChng line at NewTool.
Added missing default F format to MachSpec.
Added G78 line to end of milling operations to un-clamp the spindle.
Added M26 to G81 line at end of milling operations.
Added SetStatusRapid to SameTool to force output of FeedC on first feature in ToolPath.
Jim Radcliffe}
{7/30/98
Initial: Cin Acr 225WA M911.87.1
Created: Cin Acr 225WA M911.87.2
ForUser: FC Machine
Develop: ComPost2 1.1b3, Virtual Gibbs 4.24
Comment: Modified Drill Cycles per fax from John Hartge
Changed FI-RO with Dwell from G82 to G86.
Changed FI-FO from G85 to G89.
Added 'G88' for FI-FO with Dwell (actually FI-Dwell-Stop-RO).
Jim Radcliffe}
{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
DrillCycle:
IF FIFO? AND Dwell?
'G88'
ELSE
Cycle
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 'G80X+0000Y+0000' 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 DrillCycle StrtPos 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 'G80' 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 DrillCycle StrtPos OpToolID EOL
END
END
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
OpenMP
END
ELSE
IF SameTool?
DoEndOpPS
IF LAST ProgStop?
SeqLabC 'M00' EOL
END
SetStatusRapid
DoOpComments
DoPostScript
IF ProgStop?
SeqLabC 'M00' EOL
END
CheckPass
IF Milling?
SeqLabC 'G78' Plane StrtPos FeedEnt EOL
ELSE
IF Drilling?
GetCycle SeqLabC DrillCycle Plane StrtPos EOL
END
END
END
END
END
IF Milling?
IF Repeats?
EACHRep
DoSubComment
IF NOT FirstCycle?
SeqLabC 'G78' StrtPos EOL
END
ToolPath
IF NOT FeedConnect?
SeqLabC 'G78' EOL
SeqLabC 'G81M26' EOL
END
NEXTRep
IF FeedConnect?
SeqLabC 'G78' EOL
SeqLabC 'G81M26' EOL
END
ELSE
ToolPath
SeqLabC 'G78' EOL
SeqLabC 'G81M26' EOL
END
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 'G81M26' EOL
SeqLabC 'G80M02' EOL
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:
Cin Acr 338 D M160 87Cin Acr A2100 M703 87 1Cin 720 Acr 5 [PAMA] M492 87Cin Acr 850MC [RI] M664 87Cin Acr 850SX [WI] M700 87Cin Acr 850 [FMI] M814 87Cin Acr 850MC [SJ] M494 87Cin Acr 850SX [LBS] MU11 87Cin Acr 5 Heald [CI] MY92 87 1Cin Acr 900V2 [KM] MT25 89Cin Acr 850SX Sabre PM689 17 3Cin Acr CNC TC [12] L273 85 1Cin Acr 850 SX [WF] L592 85Cin Acr 950HMC [T40] CW32 15Cin Acr 850MC M196 89Cin Acr 850 SX L315 85więcej podobnych podstron