SloSyn MNC 363J M056 79


{7/24/90, Added InitProg globally to posts with this remark, DWB}

{6/22/88}
{original: SloSyn MNC 263JQT}
{added Z to mach spec, added comments, deleted SkipZ command}
{Jim Radcliffe}

{ 9/15/88 }
{ Slo-Syn MNC 363J M056.54 for Barry Alexander }
{ Changed F format & deleted all M52's }
{ ATTN:
Needs incremental move to first start pos in first operation }
{ Jim Radcliffe }

{12/8/88. No 3 axis simultaneous moves. Changed all 'XYZ' commands to 'XY'}
{commands. Added 'Zin' command in milling section. Removed all 'CRC' type}
{commands. Added 'ZCP3C' during Repeats if 'FeedConnect?' was false, and also}
{at end of both milling & drilling contour. Changed 'IncValue' to 'AbsOrInc'.}
{Even though his machine is an incremental mill, Barry would like the}
{capability of checking the absolute coordinates. Added 'SetHome' if}
{'ToolChangeAtHome?' was true. - Danny Ball}

{2/14/89
Updated: Slo-Syn MNC 363J M056.55, for: Barry Alexander.
Changed ''G81'' to 'ZCP2 RapidFC' in drilling section.
Changed Rapid Feed in Format to 18000 & all 'F1800' to 'RapidFC'.
Added 'RapidFC' to 'ZCP3C'. Changed 'XYZ' back the way they
were as 'Zin' commanded before the tool path will take care of
not being allowed 3 axis moves. Note: we CAN have a XZ move!
Added to ToolPath 'PeckManual' if 'Peck?' is true also added 'FIRO'
subroutine to be executed if 'FIDRO?' is true else execute the
added subroutine 'FIFO'.
Changed 'Feedrate' to 'ZCP1' in FirstOp NewTool &
deleted it from SameTool.
Added 'StrtPos' after 'EachRep' in milling section.
Added entry possibilities to 'ZIn' in milling section.
Added 'StrtPos' after 'EachRep' in drilling section.
Changed 'Home' at end of prog to 'FirstHome' and added 'SpinOff'.
Jim Radcliffe}

{5/19/89
Modified; Slo-Syn MNC 363J M056.56, for Barry Alexander.
Replaced FIDRO? with FIRO?.
Deleted RunTime Comments.
Jim Radcliffe}

{11/9/90, Updated: SloSyn MNC 363J M056.58 to .76.1 format, JR}

{4/03/91
Modified: SloSyn MNC 363J M056.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 = '000^0'

FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(ToolDiameter#,4)
FORMAT(Operation#,5)
FORMAT(Tool#,5)
FORMAT(Parts#,5)
FORMAT(Tag#,5)
FORMAT(RapidF#,6)


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

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

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)
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?
ArcIJC
ELSE
ArcRC
END
RETURN

FIRO:
Seq ZCP2C EOL
Seq ZIn FeedEntC EOL
IF RetractToCP1?
Seq ZCP3 RapidFC EOL {using ZCP3 as ZCP1 wont ouput when posting incremental and in this particular case ZCP1 & ZCP3 should normaly be set the same}
ELSE
Seq ZCP2 RapidFC EOL
END
RETURN

FIFO:
Seq ZCP2C EOL
Seq ZIn FeedEntC EOL
Seq ZCP2 EOL
IF RetractToCP1?
Seq ZCP3 RapidFC EOL
END
RETURN

ToolPath2: {for AutoCycle element moves}
EACHFeat
IF RapidFeat?
IF XMove? OR YMove? OR ZMove?
Seq MoveXYZC RapidFC 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?
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:
Seq
IF FeedEntry?
FeedC ZInC FeedEntC
ELSE
RapidC ZInC
END
EOL
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 RapidFC EOL
END
NextRep
Seq AbsOrInc RapidC ZCP2 RapidFC EOL
ELSE
EntryMove
ToolPath2
Seq AbsOrInc RapidC ZCP2 RapidFC EOL
END
SetSRSubXY {restore tool position}
SetSRSubMove
ReSetPass2 {restore for positioning moves}
RETURN

ToolPath:
EACHFeat
IF PointFeat?
Seq MoveSXYC RapidFC EOL
IF AutoCycle?
CutAutoCycle
CalcACSRXY {calc tool position after sub call, CalcAutoCycleStatusRecordXY}
ELSE
IF Peck?
PeckManual
ELSE
IF FIRO?
FIRO
ELSE
FIFO
END
END
END
ELSE
IF RapidFeat?
Seq MoveXYZC RapidFC 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?
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

GetStartOfSameTool:
DoOpComments
DoPostScript
CheckPass
RETURN

InitProg
ReverseXZArcs
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 {Start of post processing *********************}
IF FirstOperation?
EOL
EOR 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$ ' )' EOL
END
IF PartsComment?
'( PARTS PROGRAMMED: ' Parts# ' )' EOL
END
IF StartToolComment?
'( FIRST TOOL NOT 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
AbsOrInc
IF ToolChangeAtHome?
SetHome
END
IF MultipleParts? AND AllToolsOnePart?
EACHPart
DoPartSubComment
END
Plane
DoOpComments
DoPostScript
Seq SpinOn EOL
IF MultipleParts? AND OneToolAllParts? AND FullUp?
EACHPart
DoPartSubComment
IF NOT FirstPart?
DoOpComments
END
END
CheckPass
Seq 'G80' StrtPos RapidF EOL
Seq ZCP1 EOL {not ouput if posted incremental, calculation only}
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
EACHPart
DoPartSubComment
IF NOT FirstPart?
DoOpComments
Seq 'G80' StrtPos RapidF EOL
END
END
ELSE
IF NewTool?
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
NEXTPart
END
IF MultipleParts? AND OneToolAllParts? AND FullUp?
NEXTPart
END
DoEndOpPS
IF ToolChangeAtHome?
Seq Home RapidFC SpinOff EOL
ELSE
Seq SpinOff EOL
END
IF LAST ProgStop?
Seq 'M00' EOL
ELSE
Seq ProgStop EOL
END

{Start new Operation}

Seq ToolChng EOL
Plane
DoPostScript
Seq SpinOn EOL
DoOpComments
IF MultipleParts? AND OneToolAllParts? AND FullUp?
EACHPart
DoPartSubComment
IF NOT FirstPart?
DoOpComments
END
END
CheckPass
Seq 'G80' StrtPos RapidF EOL
Seq ZCP1 EOL
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
EACHPart
DoPartSubComment
IF NOT FirstPart?
DoOpComments
Seq 'G80' StrtPos RapidF EOL
END
END
ELSE
IF SameTool?
DoEndOpPS
Plane
IF LAST ProgStop?
Seq SpinOff EOL
Seq 'M00' EOL

{Start new Operation}

GetStartOfSameTool
Seq SpinOn EOL
Seq 'G80' StrtPos RapidF EOL
Seq ZCP1 EOL
ELSE
IF CoolOff? AND LAST NOT CoolOff?
SeqC CoolOff EOL
END
{Start new Operation}

GetStartOfSameTool
Seq 'G80' StrtPos RapidF EOL
IF NOT CoolOff? AND LAST CoolOff?
SeqC CoolOn EOL
END
END
END
END
END {common point for all operations}
IF Milling?
Seq ZCP2C RapidFC EOL
IF Repeats?
IF ZshiftOnly? AND AutoCycle?
{done in CutAutoCycle called from ToolPath}
ELSE
EACHRep
DoSubComment
IF NOT FirstCycle?
IF FeedConnect?
Seq StrtPos EOL
ELSE
Seq StrtPos RapidFC EOL
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
IF NOT FeedConnect?
Seq RapidC PRIME ZCP3C RapidFC EOL
END
NEXTRep
END
END
Seq RapidC ZCP3C RapidFC EOL
ELSE
IF Drilling?
Seq ZCP2C RapidFC EOL
IF Repeats?
EachRep
DoSubComment
IF NOT FirstCycle?
Seq RapidC StrtPos RapidFC EOL
END
END
ToolPath
IF Repeats?
NextRep
END
Seq RapidC ZCP3C RapidFC EOL
END
END
{NEXTOp} {modified to prevent endless looping in ncPOST}

IF MultipleParts?
IF LastOp?
IF OneToolAllParts? AND ExitClearancePlane?
NEXTPart
END
IF OneToolAllParts? AND FullUp?
NEXTPart
END
DoEndOpPS
IF FIRST ToolChangeAtHome? {.71.2 added FIRST modifier}
Seq 'G80' FirstHome RapidFC SpinOff EOL
ELSE
Seq SpinOff EOL
END
IF ProgStop?
SeqC 'M00' EOL
END
IF AllToolsOnePart?
NEXTPart
END
ELSE
NEXTOp
END
ELSE
NEXTOp
DoEndOpPS
IF FIRST ToolChangeAtHome? {.71.2 added FIRST modifier}
Seq 'G80' FirstHome RapidFC SpinOff EOL
ELSE
Seq SpinOff EOL
END
IF ProgStop?
SeqC 'M00' EOL
END
END

Seq EOP EOL
CloseSub
PostCinc
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:
SloSyn MNC 263J QT M049 79
p (79)
en 79
13 79 Pistons and connecting rods assembly
79 atyt
01?dania makroskopowe instrukcja 2id 79
Heidenhain TNC 145C M082 79 1
Tree Journeyman 200 M187 79

więcej podobnych podstron