{Change Comments ***********************************************************}
{10/3/89
Copied & modified: Fanuc 10T-MS [-] L001.61
For: Hughes T&CSD
Machine: Leblond Tape Turn II
Control: GE 1050T
JR}
{7/24/90, Added InitProg globally to posts with this remark, DWB}
{1/4/91
Modified: GE 1050T (T&CSD) L136.62
For: Hughes T&CSD
Updated per Fanuc 10T MS [-] L001.71 Format.
JR}
{12/12/91
Modified: GE 1050T (T&CSD) L136.71
For: Hughes T&CSD
Updated to Version 4.1 per Fanuc 10T MS [-] L001.82 Format.
Rapid is not used, Feed outputs 'G21', CWArc outputs 'G23' and CCWArc outputs 'G22'.
Flag('1') is used to toggle between 'M07' Rapid Mode and 'M06' Feed Mode.
This Post Processor does not support CannedCycles.
This control does support Parametric Subroutines, however, and may be supported in the future.
DWB}
{Prog Numeric Format Definitions *******************************************}
#1 = '#.00'
#2 = '##0.####;0.0'
#3 = '########;0'
#4 = '0.0'
#5 = '0000'
FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(CycleStartX#,2)
FORMAT(Dwell#,2) {.72}
FORMAT(Program#,3) {.72}
FORMAT(Operation#,3) {.72}
FORMAT(Tool#,3) {.72}
FORMAT(ToolOffset#,3)
FORMAT(RapidF#,4)
FORMAT(CalcEPRPM#,5)
{Prog Subroutines **********************************************************}
DoToolComment1:
'( TOOL SEQ ' ToolOffset#
IF ToolOver?('26')
' INVALID TOOL POSITION '
ELSE
IF ToolOver?('20') { Rear Turret }
' REAR TURRET '
ELSE
IF ToolOver?('12')
' INVALID TOOL POSITION '
ELSE { Front Turret }
' FRONT TURRET '
END
END
END
ToolComment$ ' )' EOL
RETURN
DoToolComment2:
'( TOOL SEQ ' ToolOffset#
IF ToolOver?('26')
'NA'
ELSE
IF ToolOver?('20') { Rear Turret }
'R'
ELSE
IF ToolOver?('12')
'NA'
ELSE { Front Turret }
'F'
END
END
END
' ' ToolComment$ ' )' EOL
RETURN
DoOpComments:
IF UseComments?
SetScale('1')
IF OperationIDComment?
'( OPERATION ' Operation# ': ' OperationType$ ' )' EOL
END
IF FirstOperation? OR NewTool?
IF ToolComment?
DoToolComment2
END
IF ToolTypeComment?
'( TOOL ' Tool# ': ' ToolSize$ ' ' ToolType$ ' )' EOL
END
END
IF OperationComment?
'( ' OperationComment$ ' )' EOL
END
IF FirstOperation? OR NewTool?
IF ToolComment?
'( USE OFFSET ' ToolOffset# ' )' EOL
END
ELSE
IF SameTool?
IF NewToolOffset?
'( USE OFFSET ' ToolOffset# ' )' EOL
END
END
END
IF WorkGroupComment?
'( ' WorkGroupComment$ ' )' 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
CheckRapid:
IF NOT Flag?('1')
SetFlag('1')
SeqC 'M07' EOL { Rapid Mode }
END
RETURN
CheckFeed:
IF Flag?('1')
SetFlagF('1')
SeqC 'M06' EOL { Feed Mode }
END
RETURN
ODApproachSP:
SeqC StockOnNoCan ZSPC EOL
SeqC StockOff XOpCDC EOL
CheckFeed
SeqC StockOnNoCan XSPC FeedRate EOL
RETURN
IDApproachSP:
SeqC StockOnNoCan ZSPC EOL
SeqC StockOff XOpCDC EOL { for SameTool ApproachID }
CheckFeed
SeqC StockOnNoCan XSPC FeedRate EOL
RETURN
FaceApproachSP:
SeqC StockOnNoCan XSPC EOL { for SameTool ApproachFace }
SeqC StockOff ZOpCPC EOL
CheckFeed
SeqC StockOnNoCan ZSPC FeedRate EOL
RETURN
AppMove:
ZCP RapidF
RETURN
Approach: { NOT FOR TAILSTOCK, .82 }
CheckRapid
SeqC CoolOn EOL
IF ApproachOD?
SeqC Feed XCP AppMove EOL
ODApproachSP
ELSE
IF ApproachID?
SeqC Feed XOpCD AppMove EOL
IDApproachSP
ELSE {ApproachFace}
SeqC Feed StockOnNoCan XSP StockOff AppMove EOL
FaceApproachSP
END
END
RETURN
GetConstantSurfaceFeed:
SeqC CSSOn 'G96R' CycleStartX# Speed EOL
RETURN
CheckSpinOn:
IF ToolOver?('20')
InverseSpinOn
ELSE
SpinOn
END
RETURN
CheckInverseSpinOn:
IF ToolOver?('20')
SpinOn
ELSE
InverseSpinOn
END
RETURN
CheckGear:
IF NewGear?
CheckSpinOn
END
RETURN
CheckOffset:
DoEndOpPS
IF LAST ProgStop?
'/' SeqC 'M00' EOL
ELSE
IF CoolOff? AND LAST NOT CoolOff?
SeqC CoolOff EOL
END
END
IF NewToolOffset?
IF NewGear?
SeqC 'T' Tool# '00' SpinOff EOL
SeqC 'T' Tool# LatheOffset GearRange EOL
ELSE
SeqC 'T' Tool# '00' EOL
SeqC 'T' Tool# LatheOffset EOL
END
ELSE
IF NewGear?
SeqC SpinOff EOL
SeqC GearRange EOL
END
END
IF ConstantSurfaceFeed?
IF LAST NOT ConstantSurfaceFeed?
CSSOn CalcRPM1
END
ELSE
IF LAST ConstantSurfaceFeed?
CSSOff 'G97' Speed
END
END
IF LAST ProgStop?
SeqC SpeedC CheckSpinOn EOL
SeqC CoolOn EOL
ELSE
SeqC SpeedC CheckGear EOL
IF NOT CoolOff? AND LAST CoolOff?
SeqC CoolOn EOL
END
END
DoPostScript
RETURN
GetG21: { G21 = In-Position Zone Linear }
IF FirstFeat?
IF FirstOperation? OR NewTool?
'G21'
END
ELSE
IF LAST ArcFeat?
'G21'
END
END
RETURN
FormatArc:
IF ArcCW?
CWArcC
ELSE
CCWArcC
END
MoveXC MoveZC ArcIJC
RETURN
GetRapidFC:
IF NOT EmptyLine?
RapidFC
END
RETURN
ToolPath:
EACHFeat
GetToolTip
IF LastFeat?
IF Drilling?
IF Tap?
SeqC SpinOff EOL
SeqC 'G04X2.' EOL
SeqC Speed CheckInverseSpinOn EOL
ELSE
IF Dwell?
SeqC 'G04X' Dwell# EOL
END
END
END
END
IF PointFeat?
SeqC MoveSXYC EOL
ELSE
IF RapidFeat?
CheckRapid
IF NOT FirstFeat? AND LAST ThreadFeat?
Feed
END
SeqC FeedC MoveXC MoveZC GetRapidFC EOL
ELSE
CheckFeed
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 'G33' MoveXC MoveZC FeedRateC EOL
END
END
END
END
END
NEXTFeat
RETURN
{Start of executable Prog **************************************************}
{setup and initializations}
InitProg
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
END
EachOp {Start Operator Information *******************}
IF UseComments?
IF FirstOperation?
IF ProgramNameComment?
'( PROGRAM: ' ProgramName$ ' )' EOL
END
IF ProgramComment?
'( ' ProgramComment$ ' )' EOL
END
'( Machine LB1 )' EOL
IF FormatNameComment?
'( FORMAT: ' FormatName$ ' )' EOL
END
IF TimeComment?
'( ' Date$ ' AT ' Time$ ' )' EOL
END
IF MovesComment?
'( OUTPUT IN ' MoveType$ ' INCHES )' EOL
END
'( )' EOL
DoToolComment1
ELSE
IF NewTool?
DoToolComment1
ELSE
IF SameTool? AND NewToolOffset?
DoToolComment1
END
END
END
END
NextOp {End Operator Information *********************}
EachOp {Start of post processing *********************}
GetLCycle
IF FirstOperation?
IF UseComments?
'( )' EOL
'( SEE TOOL SETTING SCHEDULE FOR SETUP DATA )' EOL
'( )' EOL
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
IF ToolOver?('20')
NegSideLathe
ELSE
PosSideLathe
END
DoOpComments
DoPostScript
EOR EOL
Plane
SetFlagF('1') { Set For Rapid Mode }
Seq 'G70' EOL { Inch Data Input }
SeqC AbsOrInc EOL
SeqC 'G95' EOL { Inches Per Revolution }
SeqC GearRange EOL
SeqC CSSOff 'G97'
IF ConstantSurfaceFeed?
CalcRPM1
ELSE
Speed
END
CheckSpinOn EOL
SeqC Preset Home EOL
SeqC 'T' Tool# LatheOffset EOL
Approach
ELSE
IF NewTool?
{Finish off last Operation}
StockOff {.62}
CheckRapid
IF LAST ApproachOD?
SeqC XCPC GetRapidFC EOL
ELSE
IF LAST ApproachID?
SeqC LAST XOpECDC GetRapidFC EOL
END
END
SeqC ZCPC GetRapidFC EOL
DoEndOpPS
SeqC CoolOff EOL
SeqC LAST Home EOL
SeqC 'T' LAST Tool# '00' EOL
IF NewGear?
SeqC SpinOff EOL
END
IF LAST ProgStop?
'/' SeqC 'M00' EOL
ELSE
SeqC ProgStop EOL
END
{Start new Operation}
SetFlagF('1') { Set For Rapid Mode }
IF ToolOver?('20')
NegSideLathe
ELSE
PosSideLathe
END
IF UseComments?
'( )' EOL
END
DoOpComments
DoPostScript
IF UseComments?
'( )' EOL
END
Seq 'G70' EOL { Inch Data Input }
SeqC AbsOrInc EOL
SeqC 'G95' EOL { Inches Per Revolution }
SeqC GearRange EOL
SeqC CSSOff 'G97'
IF ConstantSurfaceFeed?
CalcRPM1
ELSE
Speed
END
CheckSpinOn EOL
SeqC Preset Home EOL
SeqC 'T' Tool# LatheOffset EOL
Approach
ELSE
IF SameTool? {.62}
{Start new Operation}
DoOpComments
StockOff
IF LAST StraightConnect?
CheckOffset
CheckRapid
SeqC StockOnNoCan XSPC ZSPC GetRapidFC EOL
ELSE
CheckRapid
IF ApproachOD?
IF LAST ApproachOD?
SeqC LAST XOpECDC GetRapidFC EOL
ELSE {around}
IF LAST ApproachID?
SeqC LAST XOpECDC GetRapidFC EOL
END
SeqC ZCPC GetRapidFC EOL
SeqC XCPC EOL
END
CheckOffset
ODApproachSP
ELSE
IF ApproachID?
IF LAST ApproachID?
SeqC LAST XOpECDC GetRapidFC EOL
ELSE
IF LAST ApproachOD? {around}
SeqC XCPC GetRapidFC EOL
END
SeqC ZCPC GetRapidFC EOL
SeqC XOpCDC EOL
END
CheckOffset
IDApproachSP
ELSE {ApproachFace}
IF LAST ApproachFace?
SeqC LAST ZOpECPC GetRapidFC EOL
ELSE
IF LAST ApproachOD? {around}
SeqC XCPC GetRapidFC EOL
ELSE {LAST ApproachID}
SeqC LAST XOpECDC GetRapidFC EOL
END
SeqC ZCPC EOL
END
CheckOffset
FaceApproachSP
END
END
END
END
END
END {common point for all operations}
IF ConstantSurfaceFeed?
IF SameTool?
IF LAST ConstantSurfaceFeed?
IF NotEqual? SpeedRPM# LAST SpeedRPM#
GetConstantSurfaceFeed
END
ELSE
SeqC Preset MaxRPM EOL
GetConstantSurfaceFeed
END
ELSE
SeqC Preset MaxRPM EOL
GetConstantSurfaceFeed
END
END
StockOn
SetPass1
ToolPath
IF AutoFinish?
IF NOT Threading? AND NOT Drilling? AND NOT Grooving?
StockOff
IF Turning?
SetPass1
ELSE
SetPass2
END
CheckRapid
SeqC FeedC StrtPos GetRapidFC EOL
ToolPath
END
END
IF Drilling? AND Tap?
SeqC SpinOff EOL
SeqC 'G04X2.' EOL
SeqC Speed CheckSpinOn EOL
END
NextOp {loops back to EachOP until last Operation}
{End of program ************************************************************}
{finish last operation}
StockOff
CheckRapid
IF ApproachOD?
SeqC XCPC GetRapidFC EOL
ELSE
IF ApproachID?
SeqC XOpECDC GetRapidFC EOL
END
END
SeqC ZCPC GetRapidFC EOL
DoEndOpPS
SeqC CoolOff EOL
SeqC Home EOL
SeqC Preset 'X0.0Z36.0' EOL
SeqC 'T2500' EOL
SeqC 'T100' EOL
SeqC GearRange EOL
IF ConstantSurfaceFeed?
SeqC CSSOff 'G97S' CalcEPRPM# CheckSpinOn EOL
END
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:
GE 1050T Monarch L074 82GE 1050T Farrel L311 82 3GE 1050T Farrel L311 82 3GE 1050T LeBlonde [CM] L249 82GE 1050T (R&M) L151 82GE 550T LeBlonde L082 82GE 1050 Monarch ( R) L090 82GE 550 L&S [GV] L293 82 3GE 1050T [GT] Baron L591 85GE 1050T W&S 1SC L587 85GE 1050T LB Kngt [GH] L691 85 2GE 1050T LeBlonde L105 85 1GE 550 LeBlonde L080 82GE 2000 Monarch L116 82GE 1050T LB Rgl [GH] L690 85 1GE 1050T W&S 242 [HP] L401 85GE 550L LeBlonde L083 82więcej podobnych podstron