Agie 100D LH [S3R] MV40 89 2m


{5/24/93
created initial NoSubs Processor to .81 format
FIFO stuff not supported
variables: 1 = tools 1st op; 2 = tools last op; 3 = ncCAMs last op
Jim Radcliffe}

{7/29/93, v.81.1, added FIFO handling, JR}
{8/3/93, v.81.2, SameTool WFO, RapidF#, additional FIFO handling, JR}
{9/12/95, v.81.3, FIFO? queries changed to ExitType & ExitFeed calls, WFO MultipleParts, JR}
{5/8/96, v.89, Return to the StrtPos before next iteration of CutAutoCycle Repeats ZshiftOnly, JR}
{6/4/96, v.89.1, minor corrections SeqC, CRCOff & SameTool, JR}
{9/26/97, v89.1m, created metric version, JR}

{3/23/98,
Initial : Fanuc 6M NoSubs M877.89.1m
Created: Agie 100D LH [S3R] MV40.89m
Customer: System 3R, Sweden

**** CHANGED FROM MILL TO 2 AXIS WIRE EDM ****

Changes to "Form":

1. Under Default Formats, removed A B C F H K L O Q R Z.
Changed I J X Y to Ä…000^000;+000000, and D G M P S T to 00
2. Under Origins and Values, removed all Labels and Numbers.
3. Under Arcs, unchecked Allow R-format Arcs & Negative Angels,
changed I-J Max Arc Radius to 1000.000, and checked Arcs Stop On Quadrents.
4. Under Movement, changed Rapid Line Number to 1,
removed Z & Rapid Z End Point Label and Feed Label.
5. Under Work Planes, removed all Labels and Numbers.
6. Under Subs, removed all Labels and Numbers.
7. Under Tool Offsets, changed both CRCL & CRCR number to 44.
Removed Label and Number of Tool Lenght Offset Enable & Cancel,
and changed Label to P.
8. Under Spindle and Coolant, changed Spindle on Number to 63 (thread wire)
and Spindle Off to 62 (cut wire).
Removed Label and Number of Coolant On, Off, Spindle Reverse, and Change tool.
9. Under Program Stops, changed End Program Number to 2.

Changes to "Prog":

1. Added SetInc (output is only incremental) and removed all AbsOrInc.
2. Removed all IncValue OfstOff and OfstOn and added ToolOfst (P label).
3. Changed all RapidC to Rapid and added M21 (move with wire).
Added M22 (move without wire) to all motions to start position.
4. Changed all MoveXYZC to MoveXYC and removed all ZCP'n'.
5. Changed all FeedC to Feed and removed all FeedRate.
6. Added Save#(4) & (5) for StartPosX & Y, Save#(6) & (7) for EPX & Y in the FirstFeat,
and Save#(8) & (9) for EPX & Y in the SecondFeat.
These variables needed to output a vector block at contour end, and
at contour start, we output the second motion before the first motion.
7. Removed all IF Repeats? checks. Removed ExitType, ExitFeed, & EntryMove subs.
8. Removed Drilling and Work Fixture Offset support.
9. Changed FirstOperation, NewTool, SameTool, & FinishLastOp output.
10. In DoToolsOps, added codes to cut the wire between parts.
JHE}

{4/7/98,
Initial : Agie 100D LH [S3R] MV40.89m
Created: Agie 100D LH [S3R] MV40.89.1m
Customer: System 3R, Sweden

Changes to "Form":

1. Under Default Formats, changed N to 000

Changes to "Prog":

1. Removed PROGRAM: and EOR from tape start.
2. At tape start, added empty line, moved M63 to be the first block and added EOR
(%) to that block.
3. Changed vector block to be X+000000 Y+000000.
4. Removed the output of all M21 and M22.
5. At NewTool, SameTool, and patterns, moved the parameters block (G43) after
threading the wire.
6. Added a check and 3 blocks in DoOp FirstOperation and MultipleParts.
JHE}

{4/15/98,
Initial : Agie 100D LH [S3R] MV40.89.1m
Created: Agie 100D LH [S3R] MV40.89.2m
Customer: System 3R, Sweden

Changes to "Prog":

1. Changed StdArc to output an entry block (1st Feat). This change is possible
since the vector block is allways X+000000 Y+000000.
JHE}

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

#1 = '#.00'
#2 = 'Ä…000^000;+000000' {Changed - JHE}
#3 = '*Ä…000^000;+000000' {Changed - JHE}
#4 = '####0.###;0.'
#5 = '#######0'
#6 = '####^##0'
#7 = '#;'

FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(SUB#,2) {Added - JHE}
FORMAT(TrackXNO#,4) {Added - JHE}
FORMAT(TrackYNO#,4) {Added - JHE}
FORMAT(ToolDiameter#,4)
FORMAT(Program#,5)
FORMAT(Operation#,5)
FORMAT(Tool#,5)
FORMAT(NewWFO#,5)
FORMAT(Parts#,5)
FORMAT(Dwell#,6)
FORMAT(RapidF#,7)

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

RestoreScale:
IF NOT Metric? {CAM file is in English, tools and tool path}
SetScale('25.4') { change to Metric, this is a Metric post}
END
RETURN

DoSubComment:
IF UseComments? AND SubComment?
'( CYCLE START )' EOL
END
RETURN

DoOpComments:
IF UseComments?
SetScale('1')
IF MultipleParts? AND SubComment?
'( PART ' Tag# ' )' EOL
END
IF OperationIDComment?
'( OPERATION ' Operation# ': ' OperationType$ ' )' EOL
END
IF OperationComment?
'( ' OperationComment$ ' )' EOL
END
IF WorkGroupComment?
'( ' WorkGroupComment$ ' )' EOL
END
IF ToolTypeComment?
'( TOOL ' Tool# ': ' ToolDiameter# ' Wire Diameter )' EOL
END
IF ToolComment?
'( ' ToolComment$ ' )' EOL
END
RestoreScale
END
RETURN

PSInit: {reset flags}
NewWFOF
RotateF
RETURN

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

DoPostScript:
PSInit
EachPS
SeqC PostScript EOL
PSStuff
NextPS
RETURN

DoEndOpPS:
PSInit
EachEOPS
SeqC EndOpPS EOL
PSStuff
NextPS
RETURN

ExitType:
{Removed all calls - JHE}
RETURN

ExitFeed:
{Removed all calls - JHE}
RETURN

FormatArc:
IF ArcCW?
CWArc {Removed C - JHE}
ELSE
CCWArc {Removed C - JHE}
END
MoveXYC ArcIJ {Removed C - JHE}
RETURN

StdRapid:
IF LastFeat?
{SeqC Rapid 'X' SUB# Recall# Num#('8') Recall# Num#('6')} {Removed - JHE 4/7}
{ 'Y' SUB# Recall# Num#('9') Recall# Num#('7') EOL} {vector block - JHE}
SeqC Rapid 'X+000000' 'Y+000000' EOL {Added - JHE 4/7}
SeqC Rapid MoveXYC CRCOff EOL {Removed - M21 JHE 4/7}
ELSE
IF FirstFeat? {Changed from ZMove - JHE}
SeqC Rapid MoveXYC CRCOn EOL {changed - JHE}{Removed - M21 JHE 4/7}
ELSE
IF XMove? OR YMove? {Removed ZMove - JHE}
SeqC Rapid MoveXYC CRCOn EOL {Removed - M21 JHE 4/7}
END
END
END
RETURN

StdLine:
IF LastFeat?
{SeqC 'X' Recall# Num#('4') 'Y' Recall# Num#('5') '*** start pos ***' EOL}
{SeqC 'X' Recall# Num#('6') 'Y' Recall# Num#('7') '*** 1 st mot ***' EOL}
{SeqC 'X' Recall# Num#('8') 'Y' Recall# Num#('9') '*** 2 nd mot ***' EOL}
{SeqC Feed 'X' SUB# Recall# Num#('8') Recall# Num#('6')} {Removed - JHE 4/7}
{ 'Y' SUB# Recall# Num#('9') Recall# Num#('7') EOL} {vector block - JHE}
SeqC Rapid 'X+000000' 'Y+000000' EOL {Added - JHE 4/7}
SeqC Feed MoveXYC CRCOff EOL {Removed - M21 JHE 4/7}
ELSE
IF FirstFeat?
Save# Num#('6') EPX# {Save 1st Feat location}
Save# Num#('7') EPY#
TrackXNO# EPX# {update 1st Feat location}
TrackYNO# EPY#
{SeqC Feed MoveXYC CRCOff EOL} {no output here - JHE}
ELSE
IF LAST FirstFeat? {IF 2nd Feat, output 1st Feat too - JHE}
Save# Num#('8') EPX# {Save 2nd Feat location}
Save# Num#('9') EPY#
SeqC Feed MoveXYC CRCOn EOL {2nd Feat - JHE}
SeqC Feed 'X' SUB# Recall# Num#('6') Recall# Num#('4')
'Y' SUB# Recall# Num#('7') Recall# Num#('5') CRCOff EOL {1st Feat - JHE}
ELSE
IF XMove? OR YMove? {Removed ZMove - JHE}
SeqC Feed MoveXYC CRCOn EOL
END
END
END
END
RETURN

StdArc:
{IF NOT FirstFeat?}
IF LAST FirstFeat? {IF 2nd Feat, output 1st Feat too - JHE 4/15}
SetFlag('3') {Flag the 1st quadrent - JHE}
EACHQuadrant
SeqC FormatArc CRCOn EOL {2nd Feat - JHE}
IF Flag?('3') {output 1st Feat only one time}
SeqC Feed 'X' SUB# Recall# Num#('6') Recall# Num#('4') {1st Feat - JHE}
'Y' SUB# Recall# Num#('7') Recall# Num#('5') CRCOff EOL
SetFlagF('3')
END
NEXTQuadrant
ELSE
EACHQuadrant
SeqC FormatArc CRCOn EOL {Added CRCOn - JHE}
NEXTQuadrant
END
RETURN

ToolPath2: {for AutoCycle element moves}
EACHFeat
IF RapidFeat?
StdRapid
ELSE
IF LineFeat?
StdLine
ELSE
IF ArcFeat?
StdArc
END
END
END
NEXTFeat
RETURN

EntryMove:
{Removed all calls - JHE}
RETURN

CutAutoCycle:
SaveSubStatus {save tool position}
SetPass1 {element cut moves}
SetSRXYtoSP
ToolPath2
SetSRSubXY {restore tool position}
SetSRSubMove
ReSetPass2 {restore for positioning moves}
RETURN

ToolPath:
EACHFeat
IF PointFeat?
IF AutoCycle?
IF Flag?('2') {if not 1st point - JHE}
{IF NOT FirstFeat?} {does not works with 3rd point - JHE}
SeqC 'G45' EOL {Added this line - JHE}{Removed M21 - JHE 4/7}
SeqC SpinOff EOL {cut wire - JHE}
SeqC Rapid MoveSXYC 'G40' EOL {Added G40M22 - JHE}{Removed M22 - JHE 4/7}
SeqC SpinOn EOL {thread wire - JHE}
SeqC CRCOfst ToolOfst Speed OpToolID 'G43' EOL {Added this line - JHE}
END
CalcACSRXY {calc tool position after sub call, CalcAutoCycleStatusRecordXY}
CutAutoCycle
SetFlag('2') {setting flag ON after 1st point - JHE}
ELSE
SeqC MoveSXYC EOL {Removed drilling - JHE}
END
ELSE
IF RapidFeat?
StdRapid
ELSE
IF LineFeat?
StdLine
ELSE
IF ArcFeat?
StdArc
END
END
END
END
NEXTFeat
RETURN

WFOStuff:
{Removed all calls - JHE}
RETURN

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

DoOp:
IF FirstOperation?
SetFlagF('2') {flag 1st point in a pattern - JHE}
Save# Num#('4') StartPosX# {Save Start Pos location}
Save# Num#('5') StartPosY#
DoOpComments
DoPostScript
CheckPass
IF MultipleParts? AND NOT FirstPart? {Added this check - JHE 4/7}
SeqC Rapid StrtPos CRCOff EOL
SeqC SpinOn EOL
SeqC CRCOfst ToolOfst Speed OpToolID 'G43' EOL
ELSE
SeqC Plane CRCOfst ToolOfst Speed OpToolID 'G43' EOL {Added this line - JHE}
SeqC Rapid StrtPos CRCOff EOL {Removed M22 - 4/7}
END
ELSE
IF NewTool?
SeqC 'G45' EOL {Added this line - JHE}{Removed M21 - JHE 4/7}
SeqC SpinOff EOL {Cut wire - JHE}
DoEndOpPS
IF ToolChangeAtHome?
SeqC Rapid Home EOL {Move without wire - JHE}{Removed M22 - JHE 4/7}
END
IF LAST ProgStop?
SeqC 'M00' EOL
ELSE
SeqC ProgStop EOL
END

{Start new Operation}

SetFlagF('2') {flag 1st point in a pattern - JHE}
Save# Num#('4') StartPosX# {Save Start Pos location}
Save# Num#('5') StartPosY#
DoOpComments
DoPostScript
CheckPass
SeqC Rapid StrtPos CRCOff EOL {Move without wire - JHE}{Removed M22 - JHE 4/7}
SeqC SpinOn EOL {Thread wire - JHE}
SeqC CRCOfst ToolOfst Speed OpToolID 'G43' EOL {Added this line - JHE}
ELSE
IF SameTool?

{Finish off last Operation}

SeqC 'G45' EOL {Added this line - JHE}{Removed M21 - JHE 4/7}
SeqC SpinOff EOL {Cut wire - JHE}
DoEndOpPS
IF LAST ProgStop?
SeqC 'M00' EOL
END

{Start new Operation}

SetFlagF('2') {flag 1st point in a pattern - JHE}
Save# Num#('4') StartPosX# {Save Start Pos location}
Save# Num#('5') StartPosY#
DoOpComments
DoPostScript
CheckPass
SeqC Rapid StrtPos CRCOff EOL {Move without wire - JHE}{Removed M22 - JHE 4/7}
SeqC SpinOn EOL {Thread wire - JHE}
SeqC CRCOfst ToolOfst Speed OpToolID 'G43' EOL {Added this line - JHE}
END
END
END

{ Common Point for All Operations }

ResetCRCNum {call here to reset for each new operation only, call in tool path
to reset for each repeat in an operation}
IF Milling?
ToolPath
ELSE
IF Drilling? {Removed Drilling - JHE}
' ' EOL
'( warning: this post does not support drilling !!! )' EOL
' ' EOL
END
END
RETURN

FinishLastOp:
SeqC 'G45' EOL {Added this line - JHE}{Removed M21 - JHE 4/7}
SeqC SpinOff EOL {Cut wire - JHE}
DoEndOpPS
IF FIRST ToolChangeAtHome?
SeqC Rapid FirstHome EOL {Move without wire - JHE}{Removed M22 - JHE 4/7}
END
IF MultipleParts? AND AllToolsOnePart? AND NOT LastPart?
{no tool change after doing last part}
IF ProgStop?
SeqC 'M00' EOL
ELSE
SeqC ProgStop EOL
END
ELSE
SeqC EOP EOL
END
RETURN

DoToolsOps:
EachOp
IF GTEqual? Operation# Recall# Num#('1') AND LTEqual? Operation# Recall# Num#('2')
{Tools1stOp ² op ² ToolsLastOp}
IF NOT FirstPart? {Added this check and 2 lines - JHE}
SeqC 'G45' EOL {Removed M21 - JHE 4/7}
SeqC SpinOff EOL {cut wire between parts - JHE}
END
DoOp
END
NextOp
RETURN

NextTools1stOp:
SetNextToolOp Operation#
RETURN

GetToolsOps:
EachOp
IF Equal? Operation# Recall# Num#('1') {if op = Tools1stOp}
IF GreaterThan? NextTools1stOp Recall# Num#('1') {if NextTools1stOp is greater Tools1stOp}
Save# Num#('2') SUB# NextTools1stOp Num#('1') {ToolsLastOp becomes NextTools1stOp less 1}
ELSE {else}
Save# Num#('2') Recall# Num#('3') {ToolsLastOp becomes ncCAMsLastOp}
END
END
NextOp
RETURN

DoTool:
IF NOT Flag?('1')
GetToolsOps
EachPart
TagInc
DoToolsOps
NextPart
IF LessThan? Recall# Num#('2') Recall# Num#('3') {if ToolsLastOp < ncCAMsLastOp}
Save# Num#('1') ADD# Recall# Num#('2') Num#('1') {Tools1stOp becomes NextTools1stOp}
ELSE {else}
SetFlag('1') {set DoneFlag}
END
TagInit
END
RETURN

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

{setup and initializations}
InitProg
TagInit
SetFlagF('1') {done flag}
ReverseXZArcs
InitWFONum
SetFlood
SetInc {Added - JHE}
SetMaxRPM('10000') {?}
IF Metric?
SetMaxFeed('2540')
ELSE
SetMaxFeed('100')
END
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
' Correction Functions: ' EOL
' Corection Setting D01 thru D16 can be obtained by entering the desired' EOL
' number in the CRC Offset Number box. ' EOL
' Conic Setting P01 thru P16 can be obtained by entering the desired' EOL
' number in the Tl Len Offset Number box. ' EOL
' Cutting Setting S01 thru S16 can be obtained by entering the desired' EOL
' number in the Speed RPM box. ' EOL
' Generator Setting T01 and T02 can be obtained by selecting the Tool Number. ' EOL
' ' EOL
END
EachOp {Start of post processing *********************}
IF FirstOperation?
IF ToolChangeAtHome?
SetHome
END
IF UseComments?
IF ProgramNameComment?
'( ' ProgramName$ ' )' EOL {Removed PROGRAM: - JHE 4/7}
END
IF ProgramComment?
'( ' ProgramComment$ ' )' EOL
END
IF FormatNameComment?
'( FORMAT: ' FormatName$ ' )' EOL
END
IF TimeComment?
'( ' Date$ ' AT ' Time$ ' )' EOL
END
IF MovesComment?
'( OUTPUT IN incremental MILLIMETERS )' EOL {Changed - JHE}
END
IF PartsComment?
'( PARTS PROGRAMMED: ' Parts# ' )' EOL
END
{IF StartToolComment?
'( FIRST TOOL NOT IN SPINDLE )' EOL {Removed - JHE}
END}
END
OpenSub
RestoreScale
' ' EOL {Added empty line - JHE 4/7}
SeqC EOR SpinOn EOL {Added SeqC & SpinOn - JHE 4/7}
END
NextOp
IF MultipleParts?
IF AllToolsOnePart?
IF WorkFixtureOffsets? {Removed - JHE}
' ' EOL
'( warning: this post does not support multi parts )' EOL
'( with work fixture offset !!! )' EOL
'( use equally spaced offset. )' EOL
' ' EOL
ELSE
EachPart
TagInc
EachOp
DoOp
NextOp
FinishLastOp
NextPart
END
ELSE
IF OneToolAllParts?
IF WorkFixtureOffsets? {Added this check and warning - JHE}
' ' EOL
'( warning: this post does not support multi parts )' EOL
'( with work fixture offset !!! )' EOL
'( use equally spaced offset. )' EOL
' ' EOL
ELSE
EachOp
IF FirstOperation?
Save# Num#('1') Operation# {ncCAMs1stOp becomes Tools1stOp}
END
IF LastOp?
Save# Num#('3') Operation# {save ncCAMsLastOp}
END
NextOp
DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool
DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool
DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool
DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool
DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool DoTool
FinishLastOp
END
END
END
ELSE
EachOp
DoOp
NextOp
FinishLastOp
END
EOR EOL
CloseSub
Post2
IF UseComments?
SetScale('1')
IF FileBytesComment?
'( FILE LENGTH: ' FileBytes# ' CHARACTERS )' EOL
END
IF FileFeetComment?
'( FILE LENGTH: ' FileFeet# ' FEET )' EOL
END
IF FileMetersComment?
'( FILE LENGTH: ' FileMeters# ' METERS )' EOL
END
END
Close


Wyszukiwarka

Podobne podstrony:
Centurion V LH [CT] MW13 15 2m
Fadal Format 1 LH AI MV41 89 1
Dynapath 20M LH [PC] MV20 89
Juaristi LH [GT] MY76 89 3
Fanuc 3000C Mat LH PM M495 89 3
Fanuc 0M Jhnfrd CMK MU93 89 2m
Fanuc 0M [CTH] M723 89 2m
Mit Mel 500M LH [ETS] MY80 89 1
Fanuc 0M [NIL] MZ81 89 2m
Fanuc 11M Demo LH [TI] MU21 89
Fadal 2 LH [AIM] MY42 89 1
Heid TNC 415[Gimbel] MZ34 89 2m
Fanuc 0M [APLP] MX72 89 2m
Fanuc 0M M062 89 2m

więcej podobnych podstron