{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}
{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)
{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}
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
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 ZCP RapidF
RETURN
Approach: { NOT FOR TAILSTOCK, .82 }
Rapid
IF ApproachOD?
SeqC StockOff XCP 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
{Start of executable Prog **************************************************}
{setup and initializations}
InitProg
SetAbs
PosSideLathe
StandardXZArcs
XsAreRadii
NoIJKSigns
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: 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 {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 }
SeqC 'G95' EOL { FeedRate per Revolution }
DoOpComments
DoPostScript
Seq Preset Home MaxRPM EOL
SeqC CSSOff 'G97'
IF ConstantSurfaceFeed?
CalcRPM1
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 XCPC CheckRapidFC EOL
ELSE
IF LAST ApproachID?
SeqC LAST XOpECDC CheckRapidFC EOL
END
END
SeqC ZCPC 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
Seq Preset Home MaxRPM EOL
SeqC CSSOff 'G97'
IF ConstantSurfaceFeed?
CalcRPM1
ELSE
Speed
END
SpinOn EOL
SeqC OpToolID LatheOffset CoolOn EOL
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 ZCPC CheckRapidFC EOL
SeqC XCPC CheckRapidFC EOL
END
CheckOffset
ODApproachSP
ELSE
IF ApproachID?
IF LAST ApproachID?
SeqC LAST XOpECDC CheckRapidFC EOL
ELSE
IF LAST ApproachOD? {around}
SeqC XCPC CheckRapidFC EOL
END
SeqC ZCPC 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 XCPC CheckRapidFC EOL
ELSE {LAST ApproachID}
SeqC LAST XOpECDC CheckRapidFC EOL
END
SeqC ZCPC 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 XCPC CheckRapidFC EOL
ELSE
IF ApproachID?
SeqC XOpECDC CheckRapidFC EOL
END
END
SeqC ZCPC 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
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 L096 82mW & S 2SC AB [CE] L186 82 1W&S 2SC AB 7360 [BD4] L705 85 3W&S 2SC AB 7360 [SN] L829 85W & S 2SC AB 7360 JD L380 85 1mW & S 2SC AB 7360 JD L380 85 1mAB 7360 Hardinge L167 85AB 7360 [SH] L609 85AB 7360 Hardinge [SP] L822 85AB 8200 B&S L236 82 1W & S 1SC AB 7360 L581 85 3W & S 1SC AB 7360 KOL L460 85 1AB 7360 Hardinge [IN] L444 85W & S 1SC AB 7360 L327 85 1Stromlaufplan Passat 82 Gefährdeten Alarmsystem (Passat Protect) ab 06 2001AB 7370 CHNC4 L161 82Stromlaufplan Passat 82 Motor 1,8l 92kW ARG,APT Motronic ab 01 1999AB 8400 Rev F [Gin] M417 82 1więcej podobnych podstron