W & S 1SC AB 7360 L581 85 3


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

{3/7/89
Copied & modified; Fanuc 10T-MS [-] L001.57, for Angelus Can.
Machine is a Warner & Swasey 2SC with Alan Bradley 7360 control
Jim Radcliffe}

{3/10/89
Deleted 'StockOnNoCan:' subroutine which sets post to 'StockOn' if
'CannedCycle?' is false. Changed 'StockOnNoCan' subcall to 'StockOn'
Altough this machine has no canned cycles, and ncPOST should always
be directed to 'StockOn', I left the canned cycle
info in the Mach Spec and am using the 'CannedCycle?' boolean
to control the rapid feed around the part if
'Prefered Canned Cycles' was selected in ncCAM.
Jim Radcliffe}

{9/27/89, updated & added PostScript to W & S 2SC AB 7360 L096.55, JR}

{7/24/90, Added InitProg globally to posts with this remark, DWB}
{8/9/90, Updated: W & S 2SC AB 7360 L096.62 to .71 format, JR}

{8/13/92
Updated: W & S 2SC AB 7360 L096.71
For: Gibbs & Associates
Updated to Version 4.0 per Fanuc 6M M001.82 Format.
Kim Michelman}

{3/9/95
Updated: W & S 2SC AB 7360 L096.82
For: Gibbs & Associates/Lincoln Automotive
Versions: ncCad 4.33.01/ncCAM 4.33/ncPost 4.33.05/Catalyst v2.14.30/Compost 4.21.27
Updated to Version 4.2 per Fanuc 6M M001.81.2f Format.
DWB}

{4/11/97
Copied: W & S 2SC AB 7360 L096.82.2
Created: W & S 1SC AB 7360 L1sc.85
For: Armstrong Blum per Lee Hench
Updated to Version .85 per Fanuc 10T L001.85 Format.
Created new post per customer FAX and Telecon.
Joe Cusimano}

{5/4/97
Modified: W & S 1SC AB 7360 L1sc.85
Created: W & S 1SC AB 7360 L1sc.85.1
For: Armstrong Blum per Lee Hench
Modified Bar Pull cycle to include width of cut-off tool.
Joe Cusimano}

{5/15/97
Modified: W & S 1SC AB 7360 L1sc.85.1
Created: W & S 1SC AB 7360 L1sc.85.2
For: Armstrong Blum per Lee Hench
Modified Bar Pull cycle 'Feed On' distance to include width of cut-off tool.
Joe Cusimano}

{5/20/97
Modified: W & S 1SC AB 7360 L1sc.85.2
Created: W & S 1SC AB 7360 L1sc.85.3
For: Armstrong Blum per Lee Hench
Modified Bar Pull cycle.
Joe Cusimano}

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

#1 = '#.00'
#2 = '0#^####'
#3 = '#######0'
#4 = '###0'
#5 = '0'

FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(ADD#,2) { Non-Canned Threading AutoFinish }
FORMAT(StartPosX#,2)
FORMAT(FirstMoveEPX#,2)
FORMAT(FirstMoveEPZ#,2)
FORMAT(Dwell#,2) {.72}
FORMAT(Program#,3) {.72}
FORMAT(Operation#,3) {.72}
FORMAT(Tool#,3) {.72}
FORMAT(CalcEPRPM#,4)
FORMAT(RapidF#,5)
FORMAT(FirstHomeX#,2)
FORMAT(FirstHomeZ#,2)

{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

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# ': ' ToolSize$ ' ' ToolType$ ' )' EOL
END
IF ToolComment?
'( ' ToolComment$ ' )' EOL
END
RestoreScale
END
RETURN

PSInit: {reset flags from last Op, .70}
SetFlagF('10') { initialize Tailstock in Flag }
SetFlagF('11') { initialize Tailstock out Flag }
RETURN

SetPSFlags:
Save# Num#('10') Pallet#
IF Equal? Recall# Num#('10') Num#('10') { tailstock advance cycle }
SetFlag('10')
END
IF Equal? Recall# Num#('10') Num#('11') { tailstock retract cycle }
SetFlag('11')
END
RETURN

PSStuff:
IF PalletIn?
SetPSFlags
END
RETURN

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

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

StockOnNoCan:
StockOn { CannedCycle not supported }
RETURN

FeedNoCan:
FeedC { CannedCycle not supported }
RETURN

FeedRateNoCan:
FeedRateC { CannedCycle not supported }
RETURN

CheckRapidFC:
IF NOT EmptyLine?
IF Flag?('1')
RapidF
SetFlagF('1')
ELSE
RapidFC
END
END
RETURN

ODApproachSP:
SeqC StockOnNoCan ZSPC CheckRapidFC EOL
SeqC StockOff XOpCDC CheckRapidFC EOL
StockOnNoCan
IF NotEqual? CycleStartX# XOpCD#
SeqC FeedNoCan XSPC FeedRateNoCan EOL
END
RETURN

IDApproachSP:
SeqC StockOnNoCan ZSPC CheckRapidFC EOL
SeqC StockOff XOpCDC CheckRapidFC EOL { for SameTool ApproachID }
StockOnNoCan
IF NotEqual? CycleStartX# XOpCD#
SeqC FeedNoCan XSPC FeedRateNoCan EOL
END
RETURN

FaceApproachSP:
SeqC StockOnNoCan XSPC CheckRapidFC EOL { for SameTool ApproachFace }
SeqC StockOff ZOpCPC CheckRapidFC EOL
StockOnNoCan
IF NotEqual? CycleStartZ# ZOpCP#
SeqC FeedNoCan ZSPC FeedRateNoCan EOL
END
RETURN

AppMove:
StockOff ThisOpEntryZCP RapidF
RETURN

Approach: { NOT FOR TAILSTOCK, .82 }
Rapid
IF ApproachOD?
SeqC StockOff ThisOpEntryXCP AppMove EOL
ODApproachSP
ELSE
IF ApproachID?
SeqC StockOff XOpCD AppMove EOL
IDApproachSP
ELSE {ApproachFace}
SeqC StockOnNoCan XSP AppMove EOL
FaceApproachSP
END
END
RETURN

CheckOffset:
DoEndOpPS
IF LAST ProgStop?
SeqC 'M00' EOL
ELSE
IF CoolOff? AND LAST NOT CoolOff?
SeqC CoolOff EOL
END
END
IF NewToolOffset?
SeqC LOfstOff '00' EOL
SeqC OpToolID LatheOffset EOL
END
IF ConstantSurfaceFeed?
IF LAST ConstantSurfaceFeed?
IF NotEqual? MaxRPM# LAST MaxRPM#
SeqC Preset MaxRPM EOL
END
ELSE
SeqC Preset MaxRPM EOL
END
SeqC CSSOff 'G97' CalcRPM1
ELSE
IF LAST ConstantSurfaceFeed?
SeqC CSSOff 'G97' Speed
ELSE
SeqC SpeedC
END
END
IF LAST ProgStop?
SpinOn EOL
SeqC CoolOn EOL
ELSE
EOL
IF NOT CoolOff? AND LAST CoolOff?
SeqC CoolOn EOL
END
END
DoPostScript
RETURN

FormatArc:
IF ArcCW?
CWArcC
ELSE
CCWArcC
END
MoveXC MoveZC
IF ArcIJFormat?
ArcIJC
ELSE
ArcRC
END
RETURN

GetRapidFC:
IF FirstFeat?
CheckRapidFC
ELSE
IF Drilling?
CheckRapidFC
ELSE
IF NOT CannedCycle?
CheckRapidFC
ELSE
IF LAST RapidFeat?
CheckRapidFC
ELSE
'F' RapidF# '1' { Optional Slower CannedCycle RapidFeed }
SetFlag('1')
END
END
END
END
RETURN

ToolPath:
EACHFeat
GetToolTip
IF LastFeat?
IF Drilling?
IF Tap?
SeqC SpinOff EOL
SeqC 'G4X02' EOL
SeqC Speed InverseSpinOn EOL
ELSE
IF Dwell?
SeqC 'G04X' Dwell# EOL
END
END
END
END
IF PointFeat?
SeqC MoveSXYC EOL
ELSE
IF RapidFeat?
SeqC RapidC MoveXC MoveZC GetRapidFC EOL
ELSE
IF LineFeat?
SeqC FeedC MoveXC MoveZC FeedRateC EOL
ELSE
IF ArcFeat?
EACHQuadrant { Do not use NOT, LAST, FIRST or NEXT modifiers in this loop }
SeqC FormatArc FeedRateC EOL
NEXTQuadrant
ELSE
IF ThreadFeat?
SeqC LCycle MoveXC MoveZC XTapAtZ ThrdLead EOL
Rapid
END
END
END
END
END
NEXTFeat
RETURN

ThreadPath: {straight thread along Z axis no single edge or chamfer}
EACHFeat
IF ThreadFeat?
SeqC LCycle MoveZC ThrdLead EOL
ELSE
IF RapidFeat?
IF NOT FirstFeat? AND LAST ThreadFeat?
SeqC Rapid MoveXC RapidF EOL
ELSE
SeqC MoveXC MoveZC EOL
END
END
END
NEXTFeat
RETURN

CheckRapid:
IF LAST CannedCycle?
IF LAST RoughPatternShift?
RapidC
ELSE
SetStatusRapid
END
ELSE
RapidC
END
RETURN

TailstockIn:
SeqC 'M05' EOL
SeqC 'M21' EOL
SeqC 'G94' EOL
SeqC 'G04X04M18' EOL
SeqC 'G04X04M20' EOL
SeqC 'G95' EOL
RETURN

TailstockOut:
'( TAILSTOCK OUT )' EOL
Seq 'M05' EOL
SeqC 'G94' EOL
SeqC 'G04X04M21' EOL
SeqC 'G04X04M19' EOL
SeqC 'G95' EOL
RETURN

DoBarPullerOp:
'( Tool 7: BARPULL )' EOL
Seq 'G92X03875Z01' EOL
SeqC 'T0700' EOL
SeqC Rapid 'X0Z' ADD# Num#('.287') ZStockMin# 'F0' EOL
{ .287 = (.375+.1)-.188, where .375 equals a fixed amount added to the actual
part length, .100 is the clearance, and .188 is the cutoff tool width }
SeqC SpinOff EOL
SeqC 'G94' EOL
SeqC Rapid 'Z' ADD# Num#('-.438') ZStockMin# 'F050' EOL
{ .438 = (.625 - .375)+.188, where .375 equals a fixed amount added to the actual
part length, .625 is the Bar Puller feed on distance, and .188 is the cutoff tool width }
SeqC 'G04X04M14' EOL
SeqC Rapid 'Z' ADD# Num#('-.625') ZStockMax# 'F100' EOL
SeqC 'G04X04M15' EOL
SeqC Rapid 'Z001F050' EOL
SeqC 'X03875Z01' 'F0' EOL
SeqC ProgStop EOL
RETURN

SetCutOffFlag:
EachOp
IF Turning?
IF CutOff?
SetFlag('3')
END
END
NextOp
RETURN

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

{setup and initializations}
InitProg
SetAbs
PosSideLathe
StandardXZArcs
XsAreRadii
NoIJKSigns
SetMaxRPM('10000')
SetMaxFeed('500')
SetFlagF('3') { initialize CutOff cycle flag }
SetFlagF('10') { initialize Tailstock in Flag }
SetFlagF('11') { initialize Tailstock out Flag }
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: must be all capital letters when typed in.' 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
' PIN(10) -' EOL
' This command adds a -Tailstock In- cycle at the start of the current operation.' EOL
' This command must be placed in the -At Op Start- section of the Utility Data in' EOL
' order to work properly.' EOL
' PIN(11) -' EOL
' This command adds a -Tailstock Out- cycle at the start of the current operation.' EOL
' This command must be placed in the -At Op Start- section of the Utility Data in' EOL
' order to work properly.' EOL
' SPECIAL NOTE -' EOL
' This Post Processor has been set up to add a Stock Stop Bar Pull cycle at the start' EOL
' of the program if the -CutOff- button is selected on any operation. To work properly,' EOL
' .375 must be added to the actual part cut-off length in the document control dialog.' EOL
END
SetCutOffFlag
EachOp {Start of post processing *********************}
GetLCycle
IF FirstOperation?
EOR EOL
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 ABSOLUTE INCHES )' EOL
END
END
RestoreScale
OpenSub
StockOff {.71.2}
SetHome
Plane
SeqC 'G70' EOL { Inch }
IF Flag?('3')
DoBarPullerOp
END
SeqC 'G95' EOL { FeedRate per Revolution }
DoOpComments
DoPostScript
IF Flag?('10') { Start operation with Tailstock in cycle }
'( TAILSTOCK IN )' EOL
Seq Preset Home MaxRPM EOL
SeqC OpToolID LatheOffset CoolOn EOL
TailStockIn
SeqC CSSOff 'G97'
IF ConstantSurfaceFeed?
CalcRPM1
ELSE
Speed
END
SpinOn EOL
ELSE
IF Flag?('11') { Start operation with Tailstock out cycle }
TailStockOut
SeqC Preset Home MaxRPM EOL
SeqC CSSOff 'G97'
IF ConstantSurfaceFeed?
CalcRPM1
ELSE
Speed
END
SpinOn EOL
SeqC OpToolID LatheOffset CoolOn EOL
ELSE { normal operation }
Seq Preset Home MaxRPM EOL
SeqC CSSOff 'G97'
IF ConstantSurfaceFeed?
CalcRPM1
ELSE
Speed
END
SpinOn EOL
SeqC OpToolID LatheOffset CoolOn EOL
END
END
Approach
ELSE
IF NewTool?

{Finish off last Operation}

StockOff {.62}
CheckRapid
IF LAST ApproachOD?
SeqC LAST OpExitXCPC CheckRapidFC EOL
ELSE
IF LAST ApproachID?
SeqC LAST XOpECDC CheckRapidFC EOL
END
END
SeqC LAST OpExitZCPC CheckRapidFC EOL
DoEndOpPS
IF LAST ConstantSurfaceFeed?
SeqC CSSOff 'G97' CalcRPM2 EOL
END
SeqC NewHome CheckRapidFC EOL
SeqC LOfstOff '00' EOL
IF LAST ProgStop?
SeqC 'M00' EOL
ELSE
SeqC ProgStop EOL
END

{Start new Operation}

SeqC 'G95' EOL
DoOpComments
DoPostScript
IF Flag?('10') { Start operation with Tailstock in cycle }
'( TAILSTOCK IN )' EOL
Seq Preset Home MaxRPM EOL
SeqC OpToolID LatheOffset CoolOn EOL
TailStockIn
SeqC CSSOff 'G97'
IF ConstantSurfaceFeed?
CalcRPM1
ELSE
Speed
END
SpinOn EOL
ELSE
IF Flag?('11') { Start operation with Tailstock out cycle }
TailStockOut
SeqC Preset Home MaxRPM EOL
SeqC CSSOff 'G97'
IF ConstantSurfaceFeed?
CalcRPM1
ELSE
Speed
END
SpinOn EOL
SeqC OpToolID LatheOffset CoolOn EOL
ELSE { normal operation }
Seq Preset Home MaxRPM EOL
SeqC CSSOff 'G97'
IF ConstantSurfaceFeed?
CalcRPM1
ELSE
Speed
END
SpinOn EOL
SeqC OpToolID LatheOffset CoolOn EOL
END
END
Approach
ELSE
IF SameTool? {.62}

{Start new Operation}

StockOff
DoOpComments
IF LAST StraightConnect?
CheckOffset
CheckRapid
SeqC StockOnNoCan XSPC ZSPC CheckRapidFC EOL
ELSE
CheckRapid
IF ApproachOD?
IF LAST ApproachOD?
SeqC LAST XOpECDC CheckRapidFC EOL
ELSE {around}
IF LAST ApproachID?
SeqC LAST XOpECDC CheckRapidFC EOL
END
SeqC LAST OpExitZCPC CheckRapidFC EOL
SeqC LAST OpExitXCPC CheckRapidFC EOL
END
CheckOffset
ODApproachSP
ELSE
IF ApproachID?
IF LAST ApproachID?
SeqC LAST XOpECDC CheckRapidFC EOL
ELSE
IF LAST ApproachOD? {around}
SeqC LAST OpExitXCPC CheckRapidFC EOL
END
SeqC LAST OpExitZCPC CheckRapidFC EOL
SeqC XOpCDC CheckRapidFC EOL
END
CheckOffset
IDApproachSP
ELSE {ApproachFace}
IF LAST ApproachFace?
SeqC LAST ZOpECPC CheckRapidFC EOL
ELSE
IF LAST ApproachOD? {around}
SeqC LAST OpExitXCPC CheckRapidFC EOL
ELSE {LAST ApproachID}
SeqC LAST XOpECDC CheckRapidFC EOL
END
SeqC LAST OpExitZCPC CheckRapidFC EOL
END
CheckOffset
FaceApproachSP
END
END
END
END
END
END {common point for all operations}
IF ConstantSurfaceFeed?
SeqC CSSOn 'G96R' StartPosX# Speed EOL
END
StockOn
SetPass1
IF Threading?
ThreadPath
IF AutoFinish? { .82.1c }
SetPass1
SeqC 'X' ADD# FinishXRadius# Taper# EOL
SeqC LCycle FinZ ThrdLead EOL {straight thread along Z axis no single edge or chamfer}
SeqC Rapid XSP RapidF EOL
SeqC ZSP EOL
END
ELSE
ToolPath
IF AutoFinish? { .82.1c }
StockOff
IF Turning?
SetPass1
RapidC
IF ApproachFace?
SeqC ZOpECPC CheckRapidFC EOL
FaceApproachSP
ELSE
SeqC XOpECDC CheckRapidFC EOL
IF ApproachOD?
ODApproachSP
ELSE {ApproachID}
IDApproachSP
END
END
SeqC StockOff StrtPosC CheckRapidFC EOL
ToolPath
ELSE
IF Roughing? AND NOT RoughSimple?
SetPass2
SeqC RapidC XSPC ZSPC CheckRapidFC EOL
SeqC StockOff StrtPosC CheckRapidFC EOL
ToolPath
END
END
END
END
IF Drilling? AND Tap?
SeqC SpinOff EOL
SeqC 'G04X02' EOL
SeqC Speed SpinOn EOL
END
NextOp {loops back to EachOP until last Operation}

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

{finish last operation}
StockOff
IF NOT CannedCycle?
RapidC
END
IF ApproachOD?
SeqC OpExitXCPC CheckRapidFC EOL
ELSE
IF ApproachID?
SeqC XOpECDC CheckRapidFC EOL
END
END
SeqC OpExitZCPC CheckRapidFC EOL
DoEndOpPS
SeqC CoolOff EOL
IF ConstantSurfaceFeed?
SeqC CSSOff 'G97S' CalcEPRPM# EOL
END
SeqC FirstHome CheckRapidFC EOL
SeqC OpToolID '00' EOL
IF ProgStop?
SeqC 'M00' EOL
END
IF Flag?('3')
SeqC 'Z' ADD# ADD# ADD# Num#('6.549') ZStockMin# FirstHomeZ# Num#('.375') EOL
SeqC 'G92Z' ADD# ADD# Num#('6.549') ZStockMin# Num#('.375') EOL
SeqC 'G21T1000' EOL
SeqC 'Z0F0' EOL
END
SeqC EOP EOL
Post
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:
W & S 1SC AB 7360 L327 85 1
W & S 1SC AB 7360 KOL L460 85 1
AB 7360 Hardinge L167 85
W&S 2SC AB 7360 [BD4] L705 85 3
AB 7360 [SH] L609 85
AB 7360 Hardinge [SP] L822 85
W&S 2SC AB 7360 [SN] L829 85
W & S 2SC AB 7360 JD L380 85 1m
W & S 2SC AB 7360 JD L380 85 1m
AB 7360 Hardinge [IN] L444 85
W & S 2SC AB 7360 L096 82 1
AB 7365 J & L L216 85
AB Sheldon [ ] L141 85
W & S 2SC AB 7360 L096 82m
AB CNC 8400 LP L623 85
AB 9 240 Bullard UW L701 85
AB 8600 J&S Grinder L524 85

więcej podobnych podstron