Hybrid D6 M431 80 02m


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

{6/26/91
Copied & modified: Burny 5 M367.80.01
For: Gibbs & Associates
Machine:
Control: Hybrid-D6
Made modifications per manual.
Modefied Burny Flavor File.
DWB}

{7/2/91 Modified Hybrid D6 M431.80.1 to create Metric version, JC}

{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 **********************************************************}

DoPartCycleComment:
IF UseComments? AND SubComment?
'( START NEW PART )' EOL
END
RETURN

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 NOT Metric? {CAM file is in English, tools and tool path}
SetScale('25.4') { change to Metric, this is a Metric 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 CRCOnC EOL
IF FeedEntry? { Oxy/Fuel Selected }
SeqC ' M07' EOL { Pierce Cycle Start }
ELSE { Plasma Torch Selected }
SeqC ' M15' EOL { Plasma On }
END
RETURN

TurnOffCuttingCycle: {Cutting Process Off}
IF FeedEntry? { Oxy/Fuel Selected }
SeqC ' M08' EOL { Flame Off }
ELSE { Plasma Torch Selected }
SeqC ' M16' EOL { Plasma Off }
END
SeqC CRCOffC EOL
RETURN

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

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

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

ToolPath:
RapidF# { For forcing FeedRate }
EACHFeat
IF PointFeat?
SeqC MoveSXYC EOL
IF Dwell?
SeqC ' G04 X' Dwell# EOL
END
ELSE
IF RapidFeat?
IF XMove? OR YMove?
SeqC RapidC MoveXYC EOL
END
ELSE
IF LineFeat?
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
RETURN

XYZRep:
EachRep
IF NOT FirstCycle?
Connect
END
SeqC StrtPosC EOL
DoCycleComment
Milling
SeqC CRCOffC EOL
NextRep
RETURN

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

XYZRepAutoCycle:
EachRep
EACHFeat
IF FirstCycle? AND FirstFeat?
ELSE
SeqC AbsOrInc EOL
Connect
END
AutoCycCutSub1
DoCycleComment
Milling
AutoCycCutSub2
NEXTFeat
NextRep
RETURN

ZonlyRepAutoCycle:
EACHFeat
IF NOT FirstFeat?
SeqC AbsOrInc EOL
Connect
END
AutoCycCutSub1
EachRep
IF NOT FirstFeat?
Connect
END
SeqC MoveSXYC EOL
DoCycleComment
Milling
NextRep
AutoCycCutSub2
ReSetPass2 {restore for positioning moves}
NEXTFeat
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 post processing *********************}
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
IF NOT Metric? {CAM file is in English, tools and tool path}
SetScale('25.4') { change to Metric, this is a Metric post}
END
IF MultipleParts? AND AllToolsOnePart?
EachPart
DoPartCycleComment
END
Plane { No Output }
SeqC ' G21' EOL { Metric Units }
SeqC CRCOff EOL
DoOpComments
DoPostScript
IF MultipleParts? AND OneToolAllParts? AND FullUp?
EachPart
DoPartCycleComment
END
CheckPass
Seq AbsOrInc EOL
SeqC Rapid StrtPos EOL
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
EachPart
DoPartCycleComment
SeqC StrtPos EOL
END
ELSE
IF NewTool?

{Finish off last Operation}

IF MultipleParts? AND OneToolAllParts?
NextPart
END
DoEndOpPS
IF ToolChangeAtHome?
SeqC AbsOrInc EOL
SeqC Rapid Home EOL
END
IF LAST ProgStop?
SeqC ' M00' EOL
ELSE
SeqC ProgStop EOL
END

{Start new Operation}

Plane { No Output }
SeqC CRCOffC EOL
DoOpComments
DoPostScript
IF MultipleParts? AND OneToolAllParts? AND FullUp?
EachPart
DoPartCycleComment
END
CheckPass
Seq AbsOrInc EOL
SeqC Rapid StrtPos EOL
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
EachPart
DoPartCycleComment
SeqC StrtPos EOL
END
ELSE
IF SameTool?
DoEndOpPS
IF LAST ProgStop?
SeqC ' M00' EOL
END

{Start new Operation}

GetStartOfSameTool
SeqC AbsOrInc EOL
SeqC Rapid StrtPos EOL
END
END
END {common point for all operations}
IF Milling?
IF AutoCycle?
IF Repeats?
IF ZshiftOnly?
ZonlyRepAutoCycle
ELSE
XYZRepAutoCycle
END
ELSE
NoRepAutoCycle
END
ELSE { NOT AutoCycle }
IF Repeats?
XYZRep
ELSE
Milling
END
END
ELSE
IF Drilling? { Using Punch\Powder Marker }
SeqC ' M09' EOL {Punch\Powder On}
SeqC ' M11' EOL {Marker Offset On}
IF Repeats?
EachRep
SeqC StrtPosC EOL
DoCycleComment
ToolPath
NextRep
ELSE
ToolPath
END
SeqC ' M10' EOL {Marker Offset Off}
SeqC ' M12' EOL {Punch\Powder Off}
END
END
IF MultipleParts? AND LastOp?

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

{finish last operation}
IF OneToolAllParts?
NEXTPart
END
DoEndOpPS
IF FIRST ToolChangeAtHome? {.71.2 added FIRST modifier}
SeqC AbsOrInc EOL
SeqC Rapid FirstHome EOL
END
IF ProgStop?
SeqC ' M00' EOL
END
IF AllToolsOnePart?
NEXTPart
END
ELSE { NOT MultipleParts }
NextOp {loops back to EachOP until last Operation}

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

{finish last operation}
DoEndOpPS
IF FIRST ToolChangeAtHome? {.71.2 added FIRST modifier}
SeqC AbsOrInc EOL
SeqC Rapid FirstHome EOL
END
IF ProgStop?
SeqC ' M00' EOL
END
END
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:
EV (Electric Vehicle) and Hybrid Drive Systems
żuraw 80
HybridCars
Dynapath 20M M074 80 1
OLYMPUS µ [mju] III 80 instrukcja obsługi
New hybrid drying technologies for heat sensitive foodstuff (S K Chou and K J Chua)
cmd=kom jedno,80&serwis=1

więcej podobnych podstron