BP Series I (HAC) M226 80 1


{1/24/89
Update BP Boss 5-6 M042.53
Deleted: IF cutterRadiusCompensation? AND FirstFeat? AND NEXT LineFeat?
{ avoid 2 co-linear lines by skipping extra ncCAM line}
from ToolPath.
Jim Radcliffe}
{add feed to 1st line and move %, 7/30/89, WFG}

{10/4/89
Modified: BP Series 1 (HAC) M226.57
Added missing DoOpComments commands.
Do update stuff except SepSubs.
Jim Radcliffe}

{7/24/90, Added InitProg globally to posts with this remark, DWB}
{6/26/91, Updated BP Series I (HAC) M226.62 to .80 format, no CRC in AutoCycle, JR}
{7/1/91, Corrections to Cutter Radius Compensation, no CRC in AutoCycle, JR}


{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) {.72}
FORMAT(Tag#,5)
FORMAT(Operation#,5) {.72}
FORMAT(Tool#,5) {.72}
FORMAT(Parts#,5) {.72}
FORMAT(Dwell#,6)


{Prog Subroutines **********************************************************}

DoSubComment:
IF UseComments? AND SubComment?
'( SUB NUMBER: ' Tag# ' )' 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
IF Metric? {CAM file is in metric, tools and tool path}
SetScale('.03937007874') { change to English, this is an English post}
END
END
RETURN

PSInit: {reset flags}
RotateF
RETURN

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

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

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

EntryMove:
IF FeedEntry?
SeqLab Feed ZIn FeedEnt EOL
ELSE
SeqLab RapidC ZIn EOL
END
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:
SeqLab CallLabB '²' Tag# RepLab RepCycs EOL
RETURN

FinishSub1: {part 1}
UnSkipZ
IF NOT FeedConnect?
IF CutterRadiusCompensation? AND NOT AutoCycle?
SeqLab RapidC CRCOff BPCRCEndPos ZCP3C EOL
ELSE
SeqLab RapidC ZCP3C EOL
END
ELSE
IF CutterRadiusCompensation? AND NOT AutoCycle?
SeqLab FeedC CRCOff BPCRCEndPos EOL
END
END
RETURN

FinishSubG92: {part 2}
SeqLab Preset ShiftRC EOL
'<' Tag# EOL
TagDown
SeqLab Preset UnshftRC EOL
RETURN

OpenMP:
IF EquallySpacedOffsets?
TagUp TagInc
SeqLab CallLabB '²' Tag# RepLab Parts EOL
DoSubComment
END
RETURN

CloseMP:
IF EquallySpacedOffsets?
SeqLab Preset ShiftPC EOL
'<' Tag# EOL
TagDown
SeqLab Preset UnshftPC EOL
END
RETURN

FormatArc:
IF ArcCW?
CWArc
ELSE
CCWArc
END
IF XYPlane?
MoveX MoveY MoveZC
ELSE
IF XZPlane?
MoveX MoveYC MoveZ
ELSE
MoveXC MoveY MoveZ
END
END
IF ArcIJFormat?
ArcIJ
ELSE
ArcR
END
RETURN

ToolPath2:
EACHFeat
IF RapidFeat?
IF XMove? OR YMove? OR ZMove?
SeqLab RapidC MoveXYZC EOL
END
ELSE
IF LineFeat?
IF Decelerate? AND NOT CutterRadiusCompensation?
IF RoomToDecel?
DecelMove1
SeqLab FeedC MoveXYZC FeedRateC EOL
DecelMove2
END
SeqLab FeedC MoveXYZC DecelFeed EOL
ELSE
IF XMove? OR YMove? OR ZMove?
SeqLab FeedC MoveXYZC FeedRateC EOL
END
END
ELSE
IF ArcFeat?
EACHQuadrant
IF LastQuadrant? AND Decelerate?
IF RoomToDecel?
DecelMove1
SeqLab FormatArc ArcFeedC EOL
DecelMove2
END
SeqLab FormatArc DecelFeed EOL
ELSE
SeqLab FormatArc ArcFeedC EOL
END
NEXTQuadrant
END
END
END
NEXTFeat
RETURN

CutAutoCycle:
SaveSubStatus {save tool position}
SetPass1 {element cut moves}
SetSRXYtoSP
SeqLab IncValue EOL
IF Repeats? AND ZshiftOnly?
SubWarning
TagUp TagInc
SeqLab CallLabB '²' Tag# RepLab RepCycs EOL
EntryMove
ToolPath2
IF NOT FeedConnect?
SeqLab RapidC ZCP2C EOL
END
'<' Tag# EOL
TagDown
SeqLab AbsOrInc RapidC ZCP2 EOL
ELSE
EntryMove
ToolPath2
SeqLab AbsOrInc RapidC ZCP2 EOL
END
SetSRSubXY {restore tool position}
SetSRSubMove
ReSetPass2 {restore for positioning moves}
RETURN

ToolPath:
EACHFeat
IF PointFeat?
SeqLab MoveSXYC EOL
IF AutoCycle?
CutAutoCycle
CalcACSRXY {calc tool position after sub call, CalcAutoCycleStatusRecordXY}
END
ELSE
IF RapidFeat?
IF XMove? OR YMove? OR ZMove?
SeqLab RapidC MoveXYZC EOL
END
ELSE
IF LineFeat?
IF Decelerate? AND NOT CutterRadiusCompensation?
IF RoomToDecel?
DecelMove1
SeqLab FeedC MoveXYZC FeedRateC EOL
DecelMove2
END
SeqLab FeedC MoveXYZC DecelFeed EOL
ELSE
IF cutterRadiusCompensation? AND FirstFeat? AND NEXT LineFeat?
{cannot have consecutive moves along the same line, skip v ector on move supplied by ncCAM}
ELSE
IF XMove? OR YMove? OR ZMove?
SeqLab FeedC MoveXYZC FeedRateC EOL
END
END
END
ELSE
IF ArcFeat?
EACHQuadrant
IF LastQuadrant? AND Decelerate?
IF RoomToDecel?
DecelMove1
SeqLab FormatArc ArcFeedC EOL
DecelMove2
END
SeqLab FormatArc DecelFeed EOL
ELSE
SeqLab FormatArc ArcFeedC EOL
END
NEXTQuadrant
END
END
END
END
NEXTFeat
RETURN

Milling:
IF AutoCycle?
ToolPath
ELSE
EntryMove
ToolPath
END
RETURN

G92Sub:
TagUp TagInc
SubWarning
StdSub
DoSubComment
IF CutterRadiusCompensation? AND NOT AutoCycle?
SeqLab CRCOn AbsOrInc Connect BPCRCStartPos EOL
SeqLab Feed StrtPos EOL
ELSE
SeqLab AbsOrInc Connect StrtPos EOL
END
Milling
FinishSub1
FinishSubG92
RETURN

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

GetStartPos2:
IF CutterRadiusCompensation? AND NOT AutoCycle?
IF Repeats?
BPCRCStartPos
ELSE
CRCOn BPCRCStartPos
END
ELSE
StrtPos
END
RETURN

GetStartPos:
IF CutterRadiusCompensation? AND NOT AutoCycle?
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
BPCRCStartPos
ELSE
IF Repeats?
BPCRCStartPos
ELSE
CRCOn BPCRCStartPos
END
END
ELSE
StrtPos
END
RETURN

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

InitProg
ReverseYZArcs
SetFlood
UseSeparateSubCalls
SetMaxSeparateSubCalls ('50') {?}
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 {Start of post processing *********************}
IF FirstOperation?
'%' EOL
'.N1' Plane AbsValue 'G75' FeedEnt EOL
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$ ' INCHES )' EOL
END
IF PartsComment?
'( PARTS PROGRAMMED: ' Parts# ' )' EOL
END
IF StartToolComment?
'( FIRST TOOL NOT IN SPINDLE )' EOL
END
END
IF ToolChangeAtHome?
SetHome
END
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?
OpenMP
END
SeqLab Rapid Home Speed OpToolID ToolChng EOL
DoOpComments
DoPostScript
IF MultipleParts? AND OneToolAllParts? AND FullUp?
OpenMP
END
CheckPass
SeqLab RapidC GetStartPos ZCP1 EOL
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
OpenMP
SeqLab GetStartPos2 EOL
END
ELSE
IF NewTool?
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
CloseMP
END
IF MultipleParts? AND OneToolAllParts? AND FullUp?
CloseMP
END
DoEndOpPS
IF LAST ProgStop?
SeqLab 'M00' EOL
ELSE
SeqLab ProgStop EOL
END

{Start new Operation}

SeqLab AbsOrInc Rapid Home Speed OpToolID ToolChng EOL
DoOpComments
SeqLab Plane AbsValue 'G75' EOL
DoPostScript
IF MultipleParts? AND OneToolAllParts? AND FullUp?
OpenMP
END
CheckPass
SeqLab AbsOrInc Rapid GetStartPos ZCP1 EOL
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
OpenMP
SeqLab GetStartPos2 EOL
END
ELSE
IF SameTool?
DoEndOpPS
IF LAST ProgStop?
SeqC 'M00' EOL
END

{Start new Operation}

DoOpComments
DoPostScript
CheckPass
SeqLab PlaneC AbsOrInc Rapid GetStartPos2 ZCP1 EOL
END
END
END {common point for all operations}
IF Milling?
SeqLab ZCP2C EOL
IF Repeats?
IF ZshiftOnly? AND AutoCycle?
ToolPath
ELSE
G92Sub
END
ELSE
IF CutterRadiusCompensation? AND NOT AutoCycle?
SeqLab Feed StrtPos EOL
END
Milling
IF CutterRadiusCompensation? AND NOT AutoCycle?
SeqLab RapidC CRCOff BPCRCEndPos ZCP3C EOL
END
END
SeqLab RapidC ZCP3C EOL
ELSE
IF Drilling?
IF Repeats?
TagUp TagInc
SeqLab CallLabB '²' Tag# RepLab RepCycs EOL
DoSubComment
SeqLab AbsOrInc Rapid StrtPos EOL
END
SeqLab ZCP2C EOL
GetCycle
IF Dwell?
SeqLab 'G04/' Dwell# EOL
END
SeqLab Cycle StrtPos ZDepthAbs Peck Retract FeedEnt EOL
ToolPath
SeqLab 'G80' EOL
IF Repeats?
SeqLab Preset ShiftRC EOL
'<' Tag# EOL
TagDown
SeqLab Preset UnshftRC EOL
END
SeqLab ZCP3C EOL
END
END
NEXTOp
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
CloseMP
END
IF MultipleParts? AND OneToolAllParts? AND FullUp?
CloseMP
END
DoEndOpPS
SeqLab AbsOrInc Rapid
IF ToolChangeAtHome?
FirstHome
END
IF MultipleParts? AND AllToolsOnePart?
EOL
CloseMP
SeqLab
END
EOP EOL
'E' EOL
Close
Retag
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 Series II [KSW] M425 80 6
BP IIA (HAC) M200 81
BP Series 1 (R2E4) M128 79
BP Series 1 Boss 5 M266 79
BP Series II R2E3 CSD M659 12 7
BP Series 3 MZ12 89 2
BP Boss 5 Series I GI M822 89
BP Boss 5 Series II M527 81 3
BP Boss 6 Series II M289 89 1
BP Boss 6 Series II M289 81 3
BP Boss 4 Series I TC M817 87
żuraw 80
2009 03 BP KGP Niebieska karta sprawozdanie za 2008rid&657
Dynapath 20M M074 80 1
bp

więcej podobnych podstron