{ 9/14/88 }
{ Bridgeport IIA M131.54 for Barry Alexander }
{ literal Z1. with home pos. }
{ first tool to be in spindle }
{ slight chane to tool change & prog end sequence }
{ I & J commands are unconditional, use ArcIJ insted of ArcIJC }
{ only drilling supported on machine is FIRO & FIFO }
{ Jim Radcliffe }
{10/24/88 .56 WFG}
{changed ZDepthInc# to ZDepth# for drilling}
{7/24/90, Added InitProg globally to posts with this remark, DWB}
{11/9/90, Updated: BP IIA M131.57 to .76.1 format, JR}
{4/03/91
Modified: BP IIA M131.76.1
For: Gibbs & Associates
Updated to Version 4.0 per Fanuc 6M M001.80 Format.
DWB}
{Prog Numeric Format Definitions *******************************************}
#1 = '#.00'
#2 = '###.###;0.'
#3 = '*###.###;0.'
#4 = '####.####;0.'
#5 = '########;0'
#6 = '+####.####;0.'
FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(ToolDiameter#,4)
FORMAT(Operation#,5)
FORMAT(Tool#,5)
FORMAT(Parts#,5)
FORMAT(ZDepth#,6)
{Prog Subroutines **********************************************************}
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
DoSubComment:
IF UseComments? AND SubComment?
'( CYCLE START )' EOL
END
RETURN
DoPartSubComment:
IF UseComments? AND SubComment?
TagInc
'( Part Number: ' Tag# ' )' EOL
IF LastPart?
TagInit
END
END
RETURN
PSInit: {reset flags}
RotateF
RETURN
PSStuff: {revised.72}
IF FourthCW?
FORMAT(FourthDegree#,2)
Seq 'A' FourthDegree# EOL
FourthCWF {reset flag}
END
IF FourthCCW?
FORMAT(FourthDegree#,3)
Seq 'A' FourthDegree# EOL
FourthCCWF {reset flag}
END
IF FifthCW?
FORMAT(FifthDegree#,2)
Seq 'B' FifthDegree# EOL
FifthCWF {reset flag}
END
IF FifthCCW?
FORMAT(FifthDegree#,3)
Seq 'B' FifthDegree# EOL
FifthCCWF {reset flag}
END
RETURN
DoPostScript:
PSInit
EachPS
Seq PostScript EOL {literals}
PSStuff {commands}
NextPS
RETURN
DoEndOpPS:
PSInit
EachEOPS
Seq EndOpPS EOL
PSStuff
NextPS
RETURN
FormatArc:
IF ArcCW?
CWArcC
ELSE
CCWArcC
END
MoveXYZC
IF ArcIJFormat?
ArcIJ
ELSE
ArcR
END
RETURN
ToolPath2: {for AutoCycle element moves}
EACHFeat
IF RapidFeat?
IF XMove? OR YMove? OR ZMove?
Seq RapidC MoveXYZC EOL
END
ELSE
IF LineFeat?
IF Decelerate?
IF RoomToDecel?
DecelMove1
Seq FeedC MoveXYZC FeedRateC EOL
DecelMove2
END
Seq FeedC MoveXYZC DecelFeed EOL
ELSE
IF XMove? OR YMove? OR ZMove?
Seq FeedC MoveXYZC FeedRateC EOL
END
END
ELSE
IF ArcFeat?
IF NOT XYPlane?
Seq PLANE EOL
END
EACHQuadrant
IF LastQuadrant? AND Decelerate?
IF RoomToDecel?
DecelMove1
Seq FormatArc ArcFeedC EOL
DecelMove2
END
Seq FormatArc DecelFeed EOL
ELSE
Seq FormatArc ArcFeedC EOL
END
NEXTQuadrant
END
END
END
NEXTFeat
RETURN
EntryMove:
IF FeedEntry?
Seq FeedC ZinC FeedEntC EOL
ELSE
Seq RapidC ZinC EOL
END
RETURN
CutAutoCycle:
SaveSubStatus {save tool position}
SetPass1 {element cut moves}
SetSRXYtoSP
Seq IncValue EOL
IF Repeats? AND ZshiftOnly?
EachRep
EntryMove
ToolPath2
IF NOT FeedConnect?
Seq RapidC PRIME ZCP2 EOL
END
NextRep
Seq AbsOrInc RapidC ZCP2 EOL
ELSE
EntryMove
ToolPath2
Seq AbsOrInc RapidC ZCP2 EOL
END
SetSRSubXY {restore tool position}
SetSRSubMove
ReSetPass2 {restore for positioning moves}
RETURN
ToolPath:
EACHFeat
IF PointFeat?
Seq MoveSXYC EOL
IF Peck?
PeckManual
ELSE
IF AutoCycle?
CutAutoCycle
CalcACSRXY {calc tool position after sub call, CalcAutoCycleStatusRecordXY}
END
END
ELSE
IF RapidFeat?
Seq RapidC MoveXYZC EOL
ELSE
IF LineFeat?
IF Decelerate?
IF RoomToDecel?
DecelMove1
Seq FeedC MoveXYZC FeedRateC EOL
DecelMove2
END
Seq FeedC MoveXYZC DecelFeed EOL
ELSE
Seq FeedC MoveXYZC FeedRateC EOL
END
ELSE
IF ArcFeat?
IF NOT XYPlane?
Seq PLANE EOL
END
EACHQuadrant
IF LastQuadrant? AND Decelerate?
IF RoomToDecel?
DecelMove1
Seq FormatArc ArcFeedC EOL
DecelMove2
END
Seq FormatArc DecelFeed EOL
ELSE
Seq FormatArc ArcFeedC EOL
END
NEXTQuadrant
END
END
END
END
NEXTFeat
RETURN
CheckPass:
IF AutoCycle? {use the correct StrtPos}
SetPass2
ELSE
SetPass1
END
RETURN
InitProg
NoIJKSigns
ReverseYZArcs
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
' 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?
'( PROGRAM: ' 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$ ' )' 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
Seq Plane AbsValue Preset SpinOn Home 'Z1.' EOL
IF MultipleParts? AND AllToolsOnePart?
EachPart
DoPartSubComment
END
IF MultipleParts? AND OneToolAllParts? AND FullUp?
EachPart
DoPartSubComment
END
DoOpComments
DoPostScript
CheckPass
Seq Rapid StrtPos CoolOn EOL
Seq 'M67' ZCP1 EOL
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
EachPart
DoPartSubComment
IF NOT FirstPart?
DoOpComments
Seq Rapid StrtPos EOL
END
END
ELSE
IF NewTool?
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
EOL
NextPart
ELSE
'M60' EOL
END
IF MultipleParts? AND OneToolAllParts? AND FullUp?
NextPart
END
DoEndOpPS
Seq Home 'Z1.' EOL
Seq ToolChng EOL
IF LAST ProgStop?
Seq 'M00' EOL
ELSE
Seq ProgStop EOL
END
{Start new Operation}
Seq PlaneC AbsValue Preset SpinOn Home 'Z1.' EOL
IF MultipleParts? AND OneToolAllParts? AND FullUp?
EachPart
DoPartSubComment
END
DoOpComments
DoPostScript
CheckPass
Seq Rapid StrtPos CoolOn EOL
Seq 'M67' ZCP1 EOL
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
EachPart
DoPartSubComment
IF NOT FirstPart?
DoOpComments
Seq AbsOrInc Rapid StrtPos EOL
END
END
ELSE
IF SameTool?
EOL
DoEndOpPS
IF LAST ProgStop?
Seq 'M00' EOL
Seq SpinOn EOL
DoOpComments
DoPostScript
CheckPass
Seq PlaneC AbsOrInc Rapid StrtPos EOL
Seq CoolOn EOL
ELSE
IF CoolOff? AND LAST NOT CoolOff?
SeqC CoolOff EOL
END
DoOpComments
DoPostScript
CheckPass
Seq PlaneC AbsOrInc Rapid StrtPos EOL
IF NOT CoolOff? AND LAST CoolOff?
SeqC CoolOn EOL
END
END
END
END
END
IF Milling?
Seq ZCP2C EOL
IF Repeats?
IF ZshiftOnly? AND AutoCycle?
{done in CutAutoCycle called from ToolPath}
ELSE
EACHRep
DoSubComment
IF NOT FirstCycle?
Seq Connect StrtPos EOL
IF NOT FeedConnect?
Seq ZCP2C EOL
END
END
END
END
IF NOT AutoCycle?
EntryMove
END
ToolPath
IF Repeats?
IF ZshiftOnly? AND AutoCycle?
{done in CutAutoCycle called from ToolPath}
ELSE
Seq CRCOffC
IF NOT FeedConnect?
RapidC PRIME ZCP3C
END
EOL
NEXTRep
END
END
Seq RapidC ZCP3C
ELSE
IF Drilling?
Seq ZCP2C EOL
IF Repeats?
EachRep
Seq StrtPos EOL
END
IF NOT Peck?
GetCycle
Seq Cycle 'Z' ZDepth# FeedEnt EOL
END
ToolPath
Seq 'G80' EOL
IF Repeats?
NextRep
END
Seq RapidC ZCP3C
END
END
{NEXTOp} {modified to prevent endless looping in ncPOST}
IF MultipleParts?
IF LastOp?
IF OneToolAllParts? AND ExitClearancePlane?
EOL
NextPart
ELSE
'M60' EOL
END
IF OneToolAllParts? AND FullUp?
NextPart
END
DoEndOpPS
IF FIRST ToolChangeAtHome? {.71.2 added FIRST modifier}
Seq AbsOrInc Rapid FirstHome 'Z1.' EOL
ELSE
Seq AbsOrInc Rapid 'Z1.' EOL
END
IF ProgStop?
SeqC 'M00' EOL
END
IF AllToolsOnePart?
NextPart
END
ELSE
IF ProgStop?
SeqC 'M00' EOL
END
NEXTOp
END
ELSE
NEXTOp
'M60' EOL
DoEndOpPS
IF FIRST ToolChangeAtHome? {.71.2 added FIRST modifier}
Seq AbsOrInc Rapid FirstHome 'Z1.' EOL
ELSE
Seq AbsOrInc Rapid 'Z1.' EOL
END
END
Seq EOP EOL
Post
EOR EOL
Close
IF UseComments?
SetScale('1')
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:
BP IIA (HAC) M200 81BP Boss 6 [G75] M497 79 1Heidenhain 145C BP M215 79 1Bandit IIA Shizouka M006 79BP Series 1 (R2E4) M128 79BP Series 1 Boss 5 M266 792009 03 BP KGP Niebieska karta sprawozdanie za 2008rid&657p (79)bpBP SSEP wyklad5en 79BP Boss 1 6 M041 89 113 79 Pistons and connecting rods assemblyBP EZ Trak [WD] MX65 1379 atytBP BTC [VT] M959 89 1więcej podobnych podstron