W & S Wiedmatic 3050 M193 81 2


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

{copy of M152.54}
{for Warner & Swasey Wiedmatic MacII 3050 for RAH}
{Changed to no decimal & trailing zero supression}
{Deleted M99 for program end}
{added Nullfoot to start and end of file}
{TF 4/14/89}

{8/18/89
Modified; W & S Wiedmatic 3050 M193.55, for RAH.
Change format of tool numbers & move down 1 line.
Change home position at beginning to 'X720Y0400'.
Jim Radcliffe}

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

{7/30/93
Modified: W & S Wiedmatic 3050 M193.58
For: Gibbs & Associates
Updated to .81.2 format per Fanuc 6M M001.81.2
Not much to update!
Jim Radcliffe}

{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(Program#,5) {.72}
FORMAT(Operation#,5) {.72}
FORMAT(Tool#,5) {.72}
FORMAT(Parts#,5) {.72}
FORMAT(OriginShiftPX#,6)
FORMAT(OriginShiftPY#,6)
FORMAT(OriginShiftRX#,6)
FORMAT(OriginShiftRY#,6)
FORMAT(OriginUnshiftPX#,6)
FORMAT(OriginUnshiftPY#,6)
FORMAT(OriginUnshiftRX#,6)
FORMAT(OriginUnshiftRY#,6)

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

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

DoSubComment:
IF UseComments? AND SubComment?
'( SUB NUMBER: ' Program# ' )' 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
RestoreScale
END
RETURN

PSInit: {reset flags}
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 {literals}
PSStuff {commands}
NextPS
RETURN

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

OpenMP:
NewProg TagUp TagInc
EachPart
SeqC 'PAT' Tag# EOL
NextPart
OpenSub
'PAT' Tag# '/' EOL
DoSubComment
RETURN

CloseMP:
SeqC IncValue Preset 'OFS/DX' OriginShiftPX# 'DY' OriginShiftPY# EOL
SeqC 'END' Tag# EOL
TagDown
CloseSub
SeqC IncValue Preset 'OFS/DX' OriginUnshiftPX#('1') 'DY' OriginUnshiftPY#('1') EOL
RETURN

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

GetStartOfSameTool:
DoOpComments
DoPostScript
CheckPass
RETURN

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

{setup and initializations}
InitProg
UseSeparateSubCalls
SetMaxSeparateSubCalls('89')
SetMaxRPM('10000') {?}
SetMaxFeed('500') {?}
TagUp TagInc
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?
Nullfoot 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 IN POSITION )' EOL
END
END
OpenSub
RestoreScale
IF MultipleParts? AND AllToolsOnePart?
OpenMP
END
Seq Rapid Plane AbsValue 'X720Y0400' OpToolID 'M0' EOL
DoOpComments
DoPostScript
IF MultipleParts? AND OneToolAllParts? AND FullUp?
OpenMP
END
CheckPass
SeqC AbsValue EOL
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
OpenMP
END
ELSE
IF NewTool?
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
CloseMP
END
IF MultipleParts? AND OneToolAllParts? AND FullUp?
CloseMP
END
DoEndOpPS
IF LAST ProgStop?
SeqC 'M0' EOL
END

{Start new Operation}

DoOpComments
DoPostScript
Seq Rapid Plane AbsValue StrtPos OpToolID EOL
IF MultipleParts? AND OneToolAllParts? AND FullUp?
OpenMP
END
CheckPass
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
OpenMP
END
ELSE
IF SameTool?
DoEndOpPS
IF LAST ProgStop?
SeqC 'M0' EOL
END
GetStartOfSameTool
SeqC PlaneC AbsValue Rapid EOL
END
END
END
IF Milling?
'( WARNING THERE IS NO NIBBLING OPERATION FOR THIS POST PROCESSOR )' EOL
ELSE
IF Drilling?
IF Repeats?
NewProg TagUp TagInc
EachRep
SeqC 'PAT' Tag# EOL
NextRep
OpenSub
'PAT' Tag# '/' EOL
DoSubComment
END
EACHFeat
SeqC AbsValue MoveSXYC EOL
NEXTFeat
IF Repeats?
SeqC IncValue Preset 'OFS/DX' OriginShiftRX# 'DY' OriginShiftRY# EOL
SeqC 'END' Tag# EOL
TagDown
CloseSub
SeqC IncValue Preset 'OFS/DX' OriginUnshiftRX#('1') 'DY' OriginUnshiftRY#('1') EOL
END
END
END
NextOp
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
CloseMP
END
IF MultipleParts? AND OneToolAllParts? AND FullUp?
CloseMP
END
DoEndOpPS
IF MultipleParts? AND AllToolsOnePart?
CloseMP
END
Nullfoot EOL
Post
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:
Fanuc 10M (AGA) M147 81 2
Tosnuc 600M VMC 45 M442 81 3
DM 81 Diper Kenwooda
BP IIA (HAC) M200 81
30 (81)
Artran Contour MV83 81
Yas MX3 Mat [AbsZAC] M591 81 2
T81 2
node S0281
G & L 15V Bickford M314 81 3
Fanuc 0M Wasino WM3 M525 81 2

więcej podobnych podstron