{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 6BP IIA (HAC) M200 81BP Series 1 (R2E4) M128 79BP Series 1 Boss 5 M266 79BP Series II R2E3 CSD M659 12 7BP Series 3 MZ12 89 2BP Boss 5 Series I GI M822 89BP Boss 5 Series II M527 81 3BP Boss 6 Series II M289 89 1BP Boss 6 Series II M289 81 3BP Boss 4 Series I TC M817 87żuraw 802009 03 BP KGP Niebieska karta sprawozdanie za 2008rid&657Dynapath 20M M074 80 1bpwięcej podobnych podstron