Burny 5 M367 80 5m


{Change Comments ***********************************************************}

{11/27/90
Copied & modified: Fanuc 6M M001.76.1
For: Bigham Bros
Machine: Burny 5
Control: Burny 5
NOTE: This processor was written according to the instructions of a Burny 3 manual.
OpToolID and Booleans that test for Spindle direction and Peck cycles are a result of
modified Flavor File.
DWB}

{6/26/91
Modified: Burny 5 M367.76.1
For: Bigham Bros
Updated to Version 4.0 per No Subs M001.80.01 Format.
DWB}

{7/25/91
Modified: Burny 5 M367.80.1
For: Bigham Bros
Modified to output CRCOnC ( G41/G42 ) on same line as 'M4' in TurnOnCuttingCycle sub.
Modified to output CRCOffC ( G40 ) on same line as 'M3' in TurnOffCuttingCycle sub.
Moved OpenSub command in FirstOperation.
This was causing SeqC to reset itself after the OpenSub command was issued.
Modified output flow for Program Comments and added Operator SetUp Information.
DWB}

{8/15/91
Modified: Burny 5 M367.80.2
For: Bigham Bros
Changes made per conversations with George Aguerre at Bigham Bros and sample programs provided.
Set "Arcs Stop on Quadrants" to True in the Form.
Changed to non-conditional Arc Centers in Prog.
Added literal 'G97' at FirstOperation, and 'G98' at end of Prog.
G98 causes the control to return to the G97 and start running the program all over again.
This is in effect is an Unconditional Endless Loop, but it is what George requested.
Added a move back to StrtPosC after each Milling Operation.
This is to keep the Torch from 'Burning' the part.
DWB}

{02/10/92
Modified: Burny 5 M367.80.3
For: Bigham Bros
Took out all capabilities for All Parts One Tool in Multiple Parts.
Tool path automatically returns to the contour start point at
the end of the contour unless the No Home box is checked in ncCam.
This post only works with ncPost 4.11.13 or higher.
Tread lightly, we completely changed all of the multiple part logic.
Joe Cusimano & Kim Michelman}

{03/09/92
Modified: Burny 5 M367.80.4
For: Keystone
Deleted 'G46' OpToolID line in the FirstOp.
Changed the 'M3' to 'M5' and 'M4' to 'M3'.
Moved the TurnOffCuttingCycle above the IF ToolChangeAtHome? boolean in the Milling sub. To
output the StrtPos before the 'M5' - spinoff, per request.
Kim Michelman}

{9/18/92
Modified: Burny 5 M367.80.5
For: Gibbs & Associates
Changed Formats and SetScale value for Metric version
DWB}

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

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

FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(ToolDiameter#,4) {.72}
FORMAT(Program#,5) {.72}
FORMAT(Operation#,5) {.72}
FORMAT(Tool#,5) {.72}
FORMAT(Parts#,5) {.72}
FORMAT(Dwell#,6) {.72}
FORMAT(RapidF#,7)

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


DoCycleComment:
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
IF Metric? {CAM file is in metric, tools and tool path}
SetScale('25.4') { change to English, this is an English post}
END
END
RETURN

PSInit: {reset flags}
RETURN

PSStuff: {revised.72}
RETURN

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

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

TurnOnCuttingCycle: {Cutting Process On}
SeqC
IF CWSpindle?
'M3'
ELSE
'M21'
END
CRCOnC EOL
IF Milling? AND CutterRadiusCompensation?
'G45' {Lead in to Kerf Compensated part, do not output on line by itself}
END
RETURN

TurnOffCuttingCycle: {Cutting Process Off}
SeqC
IF CWSpindle?
'M5'
ELSE
'M20'
END
CRCOffC EOL
RETURN

EntryMove:
{ NOTE: This processor does not support Z moves. }
RETURN

FormatArc:
IF ArcCW?
CWArcC
ELSE
CCWArcC
END
MoveXYC ArcIJ
RETURN

StdLine: {enables CRC on first call, .70}
IF Decelerate?
IF RoomToDecel?
DecelMove1
SeqC MoveXYC FeedRateC EOL
DecelMove2
END
SeqC MoveXYC DecelFeed EOL
ELSE
IF XMove? OR YMove?
SeqC MoveXYC FeedRateC EOL
END
END
RETURN

ToolPath:
RapidF# { For forcing FeedRate }
EACHFeat
IF PointFeat? { AutoCycle only }
SeqC MoveSXYC EOL
TurnOnCuttingCycle
IF Dwell?
SeqC 'G4F' Dwell# EOL
END
TurnOffCuttingCycle
ELSE
IF RapidFeat?
Rapid { No Output }
IF XMove? OR YMove?
SeqC MoveXYC FeedRateC EOL
END
ELSE
IF LineFeat?
Feed { No Output }
StdLine
ELSE
IF ArcFeat?
EACHQuadrant { Do not use NOT, FIRST, LAST or NEXT modifiers in this loop }
IF LastQuadrant? AND Decelerate?
IF RoomToDecel?
DecelMove1
SeqC FormatArc ArcFeedC EOL
DecelMove2
END
SeqC FormatArc DecelFeed EOL
ELSE
SeqC FormatArc ArcFeedC EOL
END
NEXTQuadrant
END
END
END
END
NEXTFeat
RETURN

WFOStuff:
{ NOTE: This processor does not support work fixture offsets. }
RETURN

AutoCycCutSub1: {part 1}
SeqC MoveSXYC EOL
CalcACSRXY {calc tool position, CalcAutoCycleStatusRecordXY}
SaveSubStatus {save tool position}
SetPass1 {element cut moves}
SetSRXYtoSP
SeqC IncValue EOL
RETURN

AutoCycCutSub2: {part 2}
SetSRSubXY {restore SR to 1st position value}
SetSRSubMove
ReSetPass2 {restore for positioning moves}
RETURN

Milling:
TurnOnCuttingCycle
ToolPath
TurnOffCuttingCycle
IF ToolChangeAtHome? {If 'No Home' is not checked, post will generate move back to Start Pos}
SeqC StrtPosC EOL { See comments 8/15/91 }
END
RETURN

XYRep:
EachRep
SeqC StrtPosC EOL
DoCycleComment
Milling
NextRep
RETURN

NoRepAutoCycle:
EACHFeat
IF NOT FirstFeat?
AbsOrInc
END
AutoCycCutSub1
DoCycleComment
Milling
AutoCycCutSub2
NEXTFeat
RETURN

XYRepAutoCycle:
EachRep
NoRepAutoCycle
NextRep
RETURN

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

GetStartOfSameTool:
Plane { No Output }
DoOpComments
DoPostScript
CheckPass
RETURN

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

{setup and initializations}
InitProg
ReverseXZArcs
SkipZ
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
END
EACHOp {Start of initial comments ********************}
IF FirstOperation?
OpenSub
EOR EOL
SeqC ProgID1
IF UseComments? AND ProgramNameComment?
'( ' ProgramName$ ' )'
END
EOL
IF UseComments?
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
' ( LEAD IN LEAD OUT = .375 )' EOL
' ( KERF COMPENSATION = .06 )' EOL
' ( TORQUE SPEED = 0 )' EOL
END { IF UseComments? }
END { IF FirstOperation? }
IF UseComments?
' ( OPERATION ' Operation# ': '
IF Milling?
OperationType$ ' ROTATION = '
IF CutterRadiusCompensation?
IF CRCLeft?
'CW G41'
ELSE
'CCW G42'
END
END
ELSE
IF Drilling?
'Punch'
END
END
' )' EOL
END { IF UseComments? }
IF LastOp?
IF UseComments?
' ( TORCH SPACING = 0 )' EOL
' ( SCRAP DIMENSIONS = 0 )' EOL
' ( TIP SIZE = .06 )' EOL
END { IF UseComments? }
END { IF LastOp? }
NEXTOp {End of initial comments **********************}

EACHPart
IF UseComments? AND SubComment?
'( START NEW PART )' EOL
END
EACHOp {Start of post processing *********************}
IF FirstOperation?
SetHome
IF Metric? {CAM file is in metric, tools and tool path}
SetScale('25.4') { change to English, this is an English post}
END
Plane { No Output }
DoOpComments
DoPostScript
CheckPass
Seq AbsOrInc StrtPos EOL
SeqC 'G97' EOL { Start of Unconditional Loop }
ELSE
IF NewTool?

{Finish off last Operation}

DoEndOpPS
{IF ToolChangeAtHome? These Turkey's claim that a 'Burning' machine has no use for this.
SeqC AbsOrInc Home EOL
END}
IF LAST ProgStop?
SeqC 'M0' EOL
ELSE
SeqC ProgStop EOL
END

{Start new Operation}

Plane { No Output }
DoOpComments
DoPostScript
CheckPass
Seq AbsOrInc StrtPos EOL
ELSE
IF SameTool?
DoEndOpPS
IF LAST ProgStop?
SeqC 'M0' EOL
END

{Start new Operation}

GetStartOfSameTool
SeqC AbsOrInc StrtPos EOL
END
END
END {common point for all operations}
IF Milling?
Rapid { No Output }
IF AutoCycle?
IF Repeats?
XYRepAutoCycle
ELSE
NoRepAutoCycle
END
ELSE { NOT AutoCycle }
IF Repeats?
XYRep
ELSE
Milling
END
END
ELSE
IF Drilling?
IF Peck? {Using Plate Marker}
IF PeckFullRetract? {Plate Marker #1}
SeqC 'M8' EOL {Plate Marker #1 On}
SeqC 'M71' EOL {Marker Offset #1 On}
ELSE
IF PeckChipBreaker? {Plate Marker #2}
SeqC 'M10' EOL {Plate Marker #2 On}
SeqC 'M73' EOL {Marker Offset #2 On}
END
END
END
IF Repeats?
EachRep
SeqC StrtPosC EOL
DoCycleComment
ToolPath
NextRep
ELSE
ToolPath
END
IF Peck? {Using Plate Marker}
IF PeckFullRetract? {Plate Marker #1}
SeqC 'M70' EOL {Marker Offset #1 Off}
SeqC 'M7' EOL {Plate Marker #1 Off}
ELSE
IF PeckChipBreaker? {Plate Marker #2}
SeqC 'M72' EOL {Marker Offset #2 Off}
SeqC 'M9' EOL {Plate Marker #2 Off}
END
END
END
END
END
NEXTOp
NEXTPart

{End of program ************************************************************}

{finish last operation}
DoEndOpPS
IF ProgStop?
SeqC 'M00' EOL
END
SeqC 'G98' EOL { End of Unconditional Loop }
SeqC EOP EOL
CloseSub
Post2 {organize Subs into one program}
EOR EOL
Close
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:
Burny 5 M367 81 3
AT Fanuc 5M M083 80
Fanuc 5M (QMT) M335 80
żuraw 80
Dynapath 20M M074 80 1
OLYMPUS µ [mju] III 80 instrukcja obsługi
Deckel Maho Indramat MY97 15 5m
cmd=kom jedno,80&serwis=1

więcej podobnych podstron