AB 7370 CHNC4 L161 82


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

{5/30/90
Copied & modified: Allen Bradley Hard L019.69
For Hughes E&DSG
Changed format N to 3 places
Added missing EOL after SpinOn.
Added PostScript, use OptCyc1 for Barfeed program.
Updated to .69.5 format
JR}

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

{6/11/91
Modified: AB 7370 CHNC4 L161.70
For: Gibbs & Associates
Updated to Version 4.0 per Fanuc 10T MS [-] L001.80 Format.
Rapid outputs 'G94' to set control into ipm, Feed outputs 'G95' to set control
into ipr. 'G1' is only output on initial Approach line from FirstOperation and
NewTool, and to cancel 'G2/G3', Thread Cycle and Canned Drill Cycles.
Only Canned Cycles supported are SimpleRough, Threading and PeckFullRetract.
DWB}

{9/6/91
Modified: AB 7370 CHNC4 L161.80
For: Graziano Machine
Changed I & K values in arcs to be unsigned using NoIJKSigns.
Moved operation comments to be after the O line.
Changed XatFinZ FinZ to FinishXRadiusInc FinishZInc# in SimpleRough.
Updated to .82 format except for Drilling Stuff.
Jim Radcliffe}

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

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

FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(CutDepth#,2)
FORMAT(FirstCutRadius#,2)
FORMAT(FinishXRadius#,2)
FORMAT(DistanceToThread#,2)
FORMAT(CycleStartZ#,2)
FORMAT(ZStockMin#,2)
FORMAT(Operation#,3) {.72}
FORMAT(Tool#,3) {.72}
FORMAT(Dwell#,4) {.72}
FORMAT(Program#,5) {.72}
FORMAT(RapidF#,6)
FORMAT(CalcEPRPM#,6)
FORMAT(FinishZInc#,2)
FORMAT(FinishXRadiusInc#,2)

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

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
IF Metric? {CAM file is in metric, tools and tool path}
SetScale('.03937007874') { change to English, this is an English post}
END
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:
IF NOT CannedCycle?
StockOn {need stock for SP positioning, if not a canned cycle}
END
RETURN

ODApproachSP:
SeqC StockOnNoCan ZSPC EOL
SeqC StockOff XOpCDC EOL
SeqC Feed StockOnNoCan XSPC FeedRate EOL
RETURN

IDApproachSP:
SeqC StockOnNoCan ZSPC EOL
SeqC StockOff XOpCDC EOL { for SameTool ApproachID }
SeqC Feed StockOnNoCan XSPC FeedRate EOL
RETURN

FaceApproachSP:
SeqC StockOnNoCan XSPC EOL { for SameTool ApproachFace }
SeqC StockOff ZOpCPC EOL
SeqC Feed StockOnNoCan ZSPC FeedRate EOL
RETURN

AppMove:
ZCP OpToolID LatheOffset RapidF
RETURN

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

CheckOffset:
DoEndOpPS
IF LAST ProgStop?
SeqC 'M0' EOL
END
IF NewToolOffset?
SeqC LOfstOff '00' EOL
SeqC OpToolID LatheOffset EOL
END
IF ConstantSurfaceFeed?
SeqC CalcRPM1 EOL
IF LAST NOT ConstantSurfaceFeed?
SeqC Preset MaxRPM EOL
END
ELSE
SeqC SpeedC EOL
END
IF LAST ProgStop?
SeqC SpinOn EOL
END
DoPostScript
RETURN

FormatArc:
IF ArcCW?
'G2'
ELSE
'G3'
END
MoveXC MoveZC
IF ArcIJFormat?
ArcIJC
ELSE
ArcRC
END
RETURN

ToolPath:
EACHFeat
GetToolTip
IF PointFeat?
SeqC MoveSXYC EOL
ELSE
IF RapidFeat?
SeqC RapidC
IF NOT FirstFeat?
IF LAST ArcFeat?
'G1'
END
END
MoveXC MoveZC
IF LAST ThreadFeat?
RapidF
ELSE
RapidFC
END
EOL
ELSE
IF LineFeat?
SeqC FeedC
IF NOT FirstFeat?
IF LAST ArcFeat?
'G1'
END
END
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 Feed 'G33' MoveXC MoveZC ThrdLead EOL
Rapid
END
END
END
END
END
NEXTFeat
RETURN

CheckRapid:
IF LAST CannedCycle?
IF LAST Roughing?
IF LAST RoughSimple?
Rapid
END
ELSE
IF LAST Threading?
IF LAST NOT AutoFinish?
Rapid
END
ELSE
IF LAST Drilling?
IF LAST PeckFullRetract?
IF LAST NOT AutoFinish?
Rapid
END
END
END
END
END
ELSE
RapidC
END
RETURN

CheckRapidF:
IF LAST CannedCycle?
IF LAST Roughing?
IF LAST RoughSimple?
RapidF
END
ELSE
IF LAST Threading?
IF LAST NOT AutoFinish?
RapidF
END
ELSE
IF LAST Drilling?
IF LAST PeckFullRetract?
IF LAST NOT AutoFinish?
RapidF
END
END
END
END
END
ELSE
RapidFC
END
RETURN

CheckRapid2:
IF CannedCycle?
IF Roughing?
IF RoughSimple?
Rapid
END
ELSE
IF Threading?
IF NOT AutoFinish?
Rapid
END
ELSE
IF Drilling?
IF PeckFullRetract?
IF NOT AutoFinish?
Rapid
END
END
END
END
END
ELSE
RapidC
END
RETURN

CheckRapidF2:
IF CannedCycle?
IF Roughing?
IF RoughSimple?
RapidF
END
ELSE
IF Threading?
IF NOT AutoFinish?
RapidF
END
ELSE
IF Drilling?
IF PeckFullRetract?
IF NOT AutoFinish?
RapidF
END
END
END
END
END
ELSE
RapidFC
END
RETURN

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

{setup and initializations}
InitProg
PosSideLathe
XsAreRadii
NoIJKSigns
SetMaxRPM('2500')
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
' OptionalCycle1, OptCyc1 -' EOL
' Enter into the 1st operation before an ENDOP command for a Barfeed program.' EOL
' In the first operation it will output a G54 line.' EOL
' After the last operation it will output the Cut Off Sequence followed by the' EOL
' BarFeed sequence using station number 8. The Z will move to the Min Z Stock' EOL
' specified in CAD then open the chuck and move to Z.05 and close the chuck.' EOL
END
EachOp {Start of post processing *********************}
GetLCycle
IF FirstOperation?
EOR EOL
'(TN,' Program# ')' 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
IF Metric? {CAM file is in metric, tools and tool path}
SetScale('.03937007874') { change to English, this is an English post}
END
OpenSub
StockOff {.71.2}
SetHome
Plane
'O'
IF ConstantSurfaceFeed?
CalcRPM1
ELSE
Speed
END
SpinOn EOL
DoOpComments
SeqC '(CP,1)' EOL
OptCyc1F
DoPostScript
IF OptCyc1?
SeqC 'G54' EOL
END
SeqC OpToolID '00' EOL
IF ConstantSurfaceFeed?
SeqC Preset MaxRPM EOL
END
Approach
ELSE
IF NewTool?

{Finish off last Operation}

StockOff {.62}
CheckRapid CheckRapidF
IF LAST ApproachOD?
SeqC XCPC EOL
ELSE
IF LAST ApproachID?
SeqC LAST XOpECDC EOL
END
END
SeqC ZCPC EOL
DoEndOpPS
SeqC '(CP,2)' EOL
IF LAST ProgStop?
SeqC 'M0' EOL
ELSE
SeqC ProgStop EOL
END

{Start new Operation}

'O'
IF ConstantSurfaceFeed?
CalcRPM1
ELSE
Speed
END
SpinOn EOL
DoOpComments
SeqC '(CP,1)' EOL
DoPostScript
SeqC OpToolID '00' EOL
IF ConstantSurfaceFeed?
SeqC Preset MaxRPM EOL
END
Approach
ELSE
IF SameTool? {.62}

{Start new Operation}

DoOpComments
StockOff
IF LAST StraightConnect?
CheckOffset
CheckRapid CheckRapidF
SeqC StockOnNoCan XSPC ZSPC EOL
ELSE
CheckRapid CheckRapidF
IF ApproachOD?
IF LAST ApproachOD?
SeqC LAST XOpECDC EOL
ELSE {around}
IF LAST ApproachID?
SeqC LAST XOpECDC EOL
END
SeqC ZCPC EOL
SeqC XCPC EOL
END
CheckOffset
ODApproachSP
ELSE
IF ApproachID?
IF LAST ApproachID?
SeqC LAST XOpECDC EOL
ELSE
IF LAST ApproachOD? {around}
SeqC XCPC EOL
END
SeqC ZCPC EOL
SeqC XOpCDC EOL
END
CheckOffset
IDApproachSP
ELSE {ApproachFace}
IF LAST ApproachFace?
SeqC LAST ZOpECPC EOL
ELSE
IF LAST ApproachOD? {around}
SeqC XCPC EOL
ELSE {LAST ApproachID}
SeqC LAST XOpECDC EOL
END
SeqC ZCPC EOL
END
CheckOffset
FaceApproachSP
END
END
END
END
END
END {common point for all operations}
IF ConstantSurfaceFeed?
SeqC CSSOn 'G96' Speed EOL
END
IF CannedCycle?
StockOff
IF Roughing?
IF RoughSimple?
StockOn
SetPass1
SeqC IncValue EOL
IF ApproachFace?
SeqC LCycle 'Z' FinishZInc# 'X' FinishXRadiusInc# 'K' CutDepth# FeedRate EOL
ELSE
SeqC LCycle 'X' FinishXRadiusInc# 'Z' FinishZInc# 'I' CutDepth# FeedRate EOL
END
SeqC AbsOrInc EOL
END
ELSE
IF Threading?
IF ConstantVolumeCut?
SeqC LCycle 'X' FirstCutRadius# ZCSP 'D' FinishXRadius# 'F100' EOL
SeqC 'G29G33' FinZ 'D' DistanceToThread# ThrdLead 'F100L0' EOL
IF AutoFinish?
SeqC Feed XatFinZ FeedRate EOL
END
ELSE
StockOn
SetPass1
ToolPath
IF AutoFinish?
SeqC FeedC XatFinZ FeedRateC EOL
END
END
IF AutoFinish?
SeqC 'G33' FinZ ThrdLead EOL
SeqC Rapid XCSP RapidF EOL
SeqC ZCSP EOL
END
ELSE
IF Drilling? AND PeckFullRetract?
SeqC IncValue EOL
SeqC LCycle ZDepth Peck Retract FeedRate 'L0.' EOL
SeqC 'G80' EOL
SeqC AbsOrInc EOL
IF AutoFinish?
SeqC Feed ZDepth FeedRate EOL
SeqC Rapid 'Z' CycleStartZ# RapidF EOL
END
END
END
END
ELSE
StockOn
SetPass1
ToolPath
IF AutoFinish?
IF NOT Drilling? AND NOT Grooving?
StockOff
IF Turning?
SetPass1
ELSE
SetPass2
END
SeqC RapidC StrtPos RapidFC EOL
ToolPath
END
END
END
IF ConstantSurfaceFeed?
SeqC CSSOff 'G97S' CalcEPRPM# EOL
END
IF ApproachID? {.62}
SeqC CheckRapid2 XOpECDC CheckRapidF2 EOL
END
NextOp {loops back to EachOP until last Operation}

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

{finish last operation}
StockOff
CheckRapid2 CheckRapidF2
IF ApproachOD?
SeqC XCPC EOL
ELSE
IF ApproachID?
SeqC XOpECDC EOL
END
END
SeqC ZCPC EOL
DoEndOpPS
SeqC '(CP,2)' EOL
IF OptCyc1?
IF ProgStop?
SeqC 'M0' EOL
ELSE
SeqC ProgStop EOL
END
IF UseComments?
IF OperationComment?
'( Cut Off )' EOL
END
IF ToolComment?
'( Cut Off Tool )' EOL
END
END
'OS500M13' EOL
SeqC 'M24' EOL {Advance cutoff tool and parts catcher}
SeqC 'M25' EOL {retract cutoff tool and parts catcher}
SeqC CoolOff EOL
SeqC SpinOff EOL
SeqC ProgStop EOL
IF UseComments?
IF OperationComment?
'( Bar Feed )' EOL
END
IF ToolComment?
'( Stock Stop )' EOL
END
END
'OS100M3' EOL
SeqC '(CP,1)' EOL
SeqC 'T0800' EOL
SeqC 'X0.Z.2T0808' EOL
SeqC 'Z' ZStockMin# 'F10' EOL {move to stock}
SeqC 'M21' EOL {open chauck}
SeqC 'M20' EOL {feed stock}
SeqC 'Z.05F50' EOL {feed out}
SeqC 'M22' EOL {close chuck}
SeqC '(CP,2)' EOL
SeqC '/M31' EOL {loop command}
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:
AB 7370 Hard [PP] L782 85 2
AB Sheldon [BRL ] L142 82 2
AB 8200 Pneumo L230 82 2
W & S 2SC AB [CE] L186 82 1
W & S 2SC AB 7360 L096 82 1
Stromlaufplan Passat 82 Gefährdeten Alarmsystem (Passat Protect) ab 06 2001
AB 8200 B&S L236 82 1
Stromlaufplan Passat 82 Motor 1,8l 92kW ARG,APT Motronic ab 01 1999
AB 8400 Rev F [Gin] M417 82 1
Bandit IV AB [DM] MV32 89 1
Fanuc 2000C Mazak L168 82
Fanuc 10T MS [2 G54] L066 82
Stromlaufplan Passat 6 Motor 1,9l 66kW AHU, 1,9l 81kW AFN mit Schaltgetriebe ab 10 1996
Stromlaufplan Passat 52 Automatisches 4 Gang Getriebe (AG4) ab 10 2000
GE 550T LeBlonde L082 82

więcej podobnych podstron