W&S 2SC AB 7360 [SN] L829 85


{
MILL=F
LATHE=T
SIMPLE_ROT_POS=F
ROTARY_MILL=F
ADV_MILL=F
SUBS=F
MILLTURN_Y-AXIS=F
MILLTURN_POLAR-SEG=F
METRIC=F
}

{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/8/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/13/95
Copied: W & S 2SC AB 7360 L096.82.1
Created: W & S 1SC AB 7360 L327.82.1
For: Lincoln Automotive
Machine: Warner & Swasey 1SC
Control: Allen Bradley 7360
Versions: ncCad 4.33.01/ncCAM 4.33/ncPost 4.33.05/Catalyst v2.14.30/Compost 4.21.27
Changes made per Bill White of Lincoln Automotive.
Using G21, G22 and G23, which serve the same purpose as G01, G02 and G03 except that these commands
ensure that the machine has completed the last programmed move before it acts on the next block.
DWB}

{6/6/96, Updated W & S 1SC AB 7360 L327.82.1 to .85 format per Fanuc 10T MS [-] L001.85.01.01, JR}

{3/12/99
Initial: W & S 1SC AB 7360 L327.85
Created: W&S 2SC AB 7360 [SN] Lxxx.85
ForUser: Shepard Niles
Control: Allen Bradley 7360
Machine: Warner & Swasey 2SC
Develop: Compost2 PPC 1.7b15, Virtual Gibbs 5.05
Comment: New processor per marked up readout and conversation with Brian McLean
Updated per Fanuc 10T MS [-] L001.85.01.02
Gear Ranges:
The gear range is set by specifying an Odd or Even speed value.
In CSS mode it is set on the G92 line with MaxRPM.
In direct RPM mode, there is no S value on the G92 line, its set on the G97 line.
In CSS mode, G97 calls must match odd or even as MaxRPM or an error occurs.
Rapid motion:
Using G94 IPM for Rapid and G95 IPR for Feed motion.
Rapids from and to index position are at 250 IPM, other rapids are at 100 IPM.
BarPuller.
Jim Radcliffe}

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

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

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

{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

IPM:
' G94'
RETURN

IPMC:
IF NOT Rapid?
IPM
END
RETURN

IPR:
' G95'
RETURN

IPRC:
IF Rapid?
IPR
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}
RETURN

PSStuff:
RETURN

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

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

StockOnNoCan:
StockOn { CannedCycle not supported }
RETURN

IPRNoCan:
IF NOT Drilling? AND NOT Threading?
IPRC
END
RETURN

FeedNoCan:
IF NOT Drilling? AND NOT Threading?
FeedC
END
RETURN

FeedRateNoCan:
IF NOT Drilling? AND NOT Threading?
FeedRateC
END
RETURN

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

ApproachSP:
IF ApproachFace?
SeqC StockOnNoCan XSPC CheckRapidFC EOL
SeqC StockOff ZOpCPC CheckRapidFC EOL
StockOnNoCan
IF NotEqual? CycleStartZ# ZOpCP#
SeqC IPRNoCan EOL
SeqC FeedNoCan ZSPC FeedRateNoCan EOL
END
ELSE { ODApproach/IDApproach }
SeqC StockOnNoCan ZSPC CheckRapidFC EOL
SeqC StockOff XOpCDC CheckRapidFC EOL
StockOnNoCan
IF NotEqual? CycleStartX# XOpCD#
SeqC IPRNoCan EOL
SeqC FeedNoCan XSPC FeedRateNoCan EOL
END
END
RETURN

FastRapidF:
SetFlag('22') ' F25'
RETURN

AppMove:
StockOff ThisOpEntryZCP FastRapidF
RETURN

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

setGearFlag:
{ check to see if the MaxRPM value is even }
{ if MaxRPM / 2 = Truncated MaxRPM / 2 then the value is even }
IF Equal? DIV# MaxRPM# Num#('2') TRUNC# DIV# MaxRPM# Num#('2')
SetFlag('21')
ELSE
SetFlagF('21')
END
RETURN

MakeVarEven:
Save# Num#('21') ADD# Num#('0') MUL# Num#('2') TRUNC# DIV# Recall# Num#('21') Num#('2')
RETURN

MakeVarOdd:
Save# Num#('21') ADD# Num#('1') MUL# Num#('2') TRUNC# DIV# Recall# Num#('21') Num#('2')
RETURN

EvenOrOddSpeed:
IF Flag?('21')
MakeVarEven
ELSE
MakeVarOdd
END
' S' Recall# Num#('21')
RETURN

setCalcRPM1:
Save# Num#('21') CalcRPM1#
EvenOrOddSpeed
RETURN

setCalcRPM2:
Save# Num#('21') CalcRPM2#
EvenOrOddSpeed
RETURN

setCalcEPRPM:
Save# Num#('21') CalcEPRPM#
EvenOrOddSpeed
RETURN

CheckOffset:
DoEndOpPS
IF LAST ProgStop?
SeqC ' M00' EOL
ELSE
IF CoolOff? AND LAST NOT CoolOff?
SeqC CoolOff EOL
END
END
DoOpComments
DoPostScript
IF ConstantSurfaceFeed?
IF LAST ConstantSurfaceFeed?
IF NotEqual? MaxRPM# LAST MaxRPM#
SeqC Preset MaxRPM EOL
END
ELSE
SeqC Preset MaxRPM EOL
END
END
SeqC
IF ConstantSurfaceFeed?
setGearFlag CSSOff ' G97' setCalcRPM1
ELSE
IF LAST ConstantSurfaceFeed?
CSSOff ' G97' Speed
ELSE
IF NotEqual? SpeedRPM# LAST SpeedRPM#
Speed
END
END
END
IF NewToolOffset?
' T0'
END
IF LAST ProgStop?
SpinOn
END
EOL
SeqC
IF NewToolOffset?
OpToolID LatheOffset
END
IF LAST ProgStop?
CoolOn
ELSE
IF NOT CoolOff? AND LAST CoolOff?
CoolOn
END
END
EOL
RETURN

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

CkCRC: { 4.2 }
IF XMove? OR ZMove? { Approach Length Feature and Multiple Pockets }
IF NOT LastFeat?
CRCOnC
END
END
IF LastFeat? AND EmptyLine? { Exit Length Feature }
CRCOffC
END
RETURN

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

CheckRapid:
SeqC CRCOffC EOL
SeqC IPMC EOL
IF LAST Threading?
Rapid
ELSE
RapidC
END
RETURN

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

{setup and initializations}
InitProg
PosSideLathe
StandardXZArcs
XsAreRadii
NoIJKSigns
SetMaxRPM('10000') {?}
SetMaxFeed('500') {?}
SetFlagF('21') { even MaxRPM value }
SetFlagF('22') { Fast Rapid Rate }
SetFlagF('23') { Bar Puller Program }
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
END
EachOp
IF CutOff?
SetFlag('23')
END
NextOp
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 ' MoveType$ ' INCHES )' EOL
END
END
RestoreScale
OpenSub
StockOff {.71.2}
SetHome
Plane
Seq ' G70' EOL
SeqC AbsOrInc EOL
SeqC IPM SpinOff EOL

IF Flag?('23')
{Bar Puller Routine}
'( Tool 12: BARPULL )' EOL
Seq Preset ' X' TurretX# ' Z' TurretZ# EOL
SeqC ' T1212' EOL
SeqC Rapid ' X' ADD# StockXRadius# Num#('1.0') ' Z01' FastRapidF EOL
SeqC ' Z00375' RapidF EOL
SeqC ' X0' EOL { moves bar puller arm onto the part }
SeqC ' G04 X04 M14' EOL { dwell and open chuck }
SeqC Rapid ' Z' ADD# ZStockMax# Num#('-.437') RapidF EOL
SeqC ' G04 X04 M15' EOL { dwell and close chuck }
SeqC Rapid ' X' ADD# StockXRadius# Num#('1.0') RapidF EOL { moves bar puller arm off the part }
SeqC ' X' TurretX# ' Z' TurretZ# FastRapidF EOL
SeqC ' T0' EOL
SeqC ProgStop EOL
Seq AbsOrInc EOL
SeqC IPM EOL
END

DoOpComments
DoPostScript
SeqC Preset Home MaxRPM EOL
SeqC CSSOff ' G97'
IF ConstantSurfaceFeed?
setGearFlag setCalcRPM1
ELSE
Speed
END
SpinOn EOL
SeqC OpToolID LatheOffset CoolOn EOL
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' setCalcRPM2 EOL
END
SeqC NewHome FastRapidF EOL
SeqC ' T0' EOL
IF LAST ProgStop?
SeqC ' M00' EOL
ELSE
SeqC ProgStop EOL
END

{Start new Operation}

Seq AbsOrInc EOL
SeqC IPM EOL
DoOpComments
DoPostScript
SeqC Preset Home MaxRPM EOL
SeqC CSSOff ' G97'
IF ConstantSurfaceFeed?
setGearFlag setCalcRPM1
ELSE
Speed
END
SpinOn EOL
SeqC OpToolID LatheOffset CoolOn EOL
Approach
ELSE
IF SameTool? {.62}

{Start new Operation}

StockOff
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
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
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
END
END
CheckOffset
ApproachSP
END
END
END
END {common point for all operations}
IF ConstantSurfaceFeed?
SeqC CSSOn ' G96 R' StartPosX# Speed EOL
END
StockOn
SetPass1
ToolPath
IF AutoFinish? { .82.1c }
StockOff
IF Turning?
SeqC IPMC EOL
IF ApproachFace?
SeqC RapidC ZOpECPC CheckRapidFC EOL
ELSE
SeqC RapidC XOpECDC CheckRapidFC EOL
END
ApproachSP
SeqC StockOff StrtPosC EOL
ToolPath
ELSE
IF Roughing? AND NOT RoughSimple?
SetPass2
SeqC IPMC EOL
SeqC RapidC XSPC ZSPC CheckRapidFC EOL
SeqC StockOff StrtPosC EOL
ToolPath
SetPass1
ELSE
IF Threading?
SeqC ' X' MUL# Num#('1') FinishXRadius# Taper# EOL
SeqC IPRC EOL
SeqC ' G33' FinZ ThrdLead EOL
SeqC IPMC EOL
SeqC Rapid XSP RapidF EOL
SeqC ZSP EOL
END
END
END
END
IF Drilling? AND Tap?
SeqC SpinOff EOL
SeqC ' G04 X02' EOL
SeqC Speed SpinOn EOL
END
NextOp {loops back to EachOP until last Operation}

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

{finish last operation}
StockOff
SeqC CRCOffC EOL
SeqC IPMC EOL
IF Threading?
Rapid
ELSE
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 ' G97' setCalcEPRPM EOL
END
SeqC FirstHome FastRapidF EOL
SeqC ' T0' EOL
IF ProgStop?
SeqC ' M00' 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 2SC AB 7360 [BD4] L705 85 3
W & S 2SC AB 7360 JD L380 85 1m
W & S 2SC AB 7360 JD L380 85 1m
AB 7360 Hardinge L167 85
W & S 2SC AB 7360 L096 82 1
AB 7360 [SH] L609 85
W & S 1SC AB 7360 KOL L460 85 1
W & S 2SC AB 7360 L096 82m
AB 7360 Hardinge [SP] L822 85
W & S 1SC AB 7360 L581 85 3
AB 7360 Hardinge [IN] L444 85
W & S 1SC AB 7360 L327 85 1
W&S 2SC GE 2000 [BD4] L773 85 1
W & S 2SC AB [CE] L186 82 1
AB 8600 J&S Grinder L524 85
AB 7365 [HP] L413 85
AB 7300 J&L 4515B L625 85 1
AB 8400 Monarch L610 85

więcej podobnych podstron