plik


{Change Comments ***********************************************************} {7/24/90, Added InitProg globally to posts with this remark, DWB} {9/24/91 Updated: GE 1050 LeBlonde Rgl L033.56 For: Gibbs & Associates Updated to Version 4.0 per Fanuc 6M M001.82 Format. KM} {12/12/91 Modified: GE 1050 LeBlonde Rgl L033.82 For: Gibbs & Associates Made necessary minor changes. Updated to Version 4.1 per Fanuc 10T MS [-] L001.82 Format. Rapid is not used, RapidF and FeedRate instruct the control. This Post Processor only supports Canned Simple Turn/Bore Cycles. However, there was no documentation to verify its validity. DWB} {12/19/97 Updated: GE 1050 LeBlonde Rgl L033.82.1 Created: GE 1050 LeBlonde Rgl L033.85 For: Gibbs & Associates/General Hone Corporation Versions: Catalyst v4.21.30(mac)/ComPost2 1.1b3 Updated for Catalyst v3.35C per Fanuc 10T MS [-] L001.85.02e Format. DWB} {1/13/98 Copied: GE 1050 LeBlonde Rgl L033.85 Created: GE 1050T LB Rgl [GH] L690.85 For: General Hone Corporation Machine: LeBlonde Regal Control: GE 1050T Versions: Catalyst v4.21.30(mac)/ComPost2 1.1b3 Changes made per Dave Kauffman of General Hone Corporation, phone calls, G200B5701.VNC, L690.85 Test, L690.85 V Tool & Gear, L690.85 Tool & Gear. Changed Seq to 'N' Operation# '00' at FirstOperation and NewTool. Added 'N' Operation# '00' EOL at SameTool. Changed Spindle Forward from M03 to M04 in Compost2 Spindle and Coolant Dialog. Changed Spindle Reverse from M04 to M03 in Compost2 Spindle and Coolant Dialog. Changed to Diameter Output. Changed to Decimal Output. Changed Back Turret to NegSideLathe. Back Turret consists of Tools 1 through 7. Changed Front Turret to PosSideLathe. Front Turret consists of Tools 8 through 14. Added NullFoot at end of Prog. Made other changes per customer requests. DWB} {2/11/98 Modified: GE 1050T LB Rgl [GH] L690.85 Created: GE 1050T LB Rgl [GH] L690.85.1 For: General Hone Corporation Versions: Catalyst v4.21.30(mac)/ComPost2 1.1b3 Changes made per Dave Kauffman of General Hone Corporation, phone calls. Changed $ to Address O in Program ID Label Edit Field in Compost2 General Info Dialog. Added ###0 to FORMAT for Address O in Compost2 Default Formats Dialog. Changed literal '$1' to ProgID1 at FirstOperation. Customer requested that all Line Numbers be based on Operation#. Changed Sequence Label from N to N? in Compost2 General Info Dialog. Changed all Seq/SeqC to SeqLab/SeqLabC throughout Prog. Added SetOpLines sub. Outputs '¦' Operation# '00' EOL Added call to SetOpLines at FirstOperation, NewTool and SameTool. Changed 'N' Operation# '00' to SeqLab at FirstOperation and NewTool. Changed 'N' Operation# '00' to SeqLab ' ' at and SameTool. Added Retag at end of Prog. DWB} {Prog Numeric Format Definitions *******************************************} #1 = '#.00' #2 = '##0.####;0.' #3 = '#######0' #4 = '00' #5 = '#^#####0' #6 = '###0' #7 = '#.0' FORMAT(FileFeet#,1) FORMAT(FileMeters#,1) FORMAT(MUL#,2) { Non-Canned Threading AutoFinish } FORMAT(CycleStartX#,2) FORMAT(NewHomeX#,2) FORMAT(NewHomeZ#,2) FORMAT(FirstHomeX#,2) FORMAT(FirstHomeZ#,2) FORMAT(Program#,3) {.72} FORMAT(Operation#,3) {.72} FORMAT(Tool#,4) {.72} FORMAT(Dwell#,2) {.72} FORMAT(SpeedRPM#,6) FORMAT(CalcRPM1#,6) FORMAT(RapidF#,7) {Added Subroutines *********************************************************} GetSpeedRPM: TABLE(1,SpeedRPM#,1) RETURN ckSpeed: IF GTEqual? SpeedRPM# Num#('1868') { S24 } IF LTEqual? LAST SpeedRPM# Num#('1867') GetSpeedRPM END ELSE IF GTEqual? SpeedRPM# Num#('1508') { S23 } IF LTEqual? LAST SpeedRPM# Num#('1507') GetSpeedRPM ELSE IF GTEqual? LAST SpeedRPM# Num#('1869') GetSpeedRPM END END ELSE IF GTEqual? SpeedRPM# Num#('1233') { S12 } IF LTEqual? LAST SpeedRPM# Num#('1232') GetSpeedRPM ELSE IF GTEqual? LAST SpeedRPM# Num#('1508') GetSpeedRPM END END ELSE IF GTEqual? SpeedRPM# Num#('879') { S11 } IF LTEqual? LAST SpeedRPM# Num#('878') GetSpeedRPM ELSE IF GTEqual? LAST SpeedRPM# Num#('1233') GetSpeedRPM END END ELSE IF GTEqual? SpeedRPM# Num#('631') { S10 } IF LTEqual? LAST SpeedRPM# Num#('630') GetSpeedRPM ELSE IF GTEqual? LAST SpeedRPM# Num#('879') GetSpeedRPM END END ELSE IF GTEqual? SpeedRPM# Num#('457') { S09 } IF LTEqual? LAST SpeedRPM# Num#('456') GetSpeedRPM ELSE IF GTEqual? LAST SpeedRPM# Num#('631') GetSpeedRPM END END ELSE IF GTEqual? SpeedRPM# Num#('331') { S08 } IF LTEqual? LAST SpeedRPM# Num#('330') GetSpeedRPM ELSE IF GTEqual? LAST SpeedRPM# Num#('457') GetSpeedRPM END END ELSE IF GTEqual? SpeedRPM# Num#('236') { S07 } IF LTEqual? LAST SpeedRPM# Num#('235') GetSpeedRPM ELSE IF GTEqual? LAST SpeedRPM# Num#('331') GetSpeedRPM END END ELSE IF GTEqual? SpeedRPM# Num#('168') { S06 } IF LTEqual? LAST SpeedRPM# Num#('167') GetSpeedRPM ELSE IF GTEqual? LAST SpeedRPM# Num#('236') GetSpeedRPM END END ELSE IF GTEqual? SpeedRPM# Num#('121') { S05 } IF LTEqual? LAST SpeedRPM# Num#('120') GetSpeedRPM ELSE IF GTEqual? LAST SpeedRPM# Num#('168') GetSpeedRPM END END ELSE IF GTEqual? SpeedRPM# Num#('86') { S04 } IF LTEqual? LAST SpeedRPM# Num#('85') GetSpeedRPM ELSE IF GTEqual? LAST SpeedRPM# Num#('121') GetSpeedRPM END END ELSE IF GTEqual? SpeedRPM# Num#('61') { S03 } IF LTEqual? LAST SpeedRPM# Num#('60') GetSpeedRPM ELSE IF GTEqual? LAST SpeedRPM# Num#('86') GetSpeedRPM END END ELSE IF GTEqual? SpeedRPM# Num#('44') { S02 } IF LTEqual? LAST SpeedRPM# Num#('43') GetSpeedRPM ELSE IF GTEqual? LAST SpeedRPM# Num#('61') GetSpeedRPM END END ELSE { S01 } IF GTEqual? LAST SpeedRPM# Num#('44') GetSpeedRPM END END END END END END END END END END END END END END RETURN {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 setOpLines: '¦' Operation# '00' EOL 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? FORMAT(Tool#,3) '( TOOL ' Tool# ': ' ToolSize$ ' ' ToolType$ ' )' EOL FORMAT(Tool#,4) END IF ToolComment? '( ' ToolComment$ ' )' EOL END RestoreScale END RETURN PSInit: {reset flags from last Op, .70} RETURN PSStuff: RETURN DoPostScript: PSInit EachPS SeqLabC PostScript EOL {literals} PSStuff {commands} NextPS RETURN DoEndOpPS: PSInit EachEOPS SeqLabC EndOpPS EOL {literals} PSStuff {commands} NextPS RETURN StockOnNoCan: IF NOT CannedCycle? StockOn {need stock for SP positioning, if not a canned cycle} END RETURN FeedNoCan: IF NOT CannedCycle? IF FirstOperation? OR NewTool? Feed ELSE FeedC END END RETURN FeedRateNoCan: IF NOT CannedCycle? FeedRateC END RETURN ApproachSP: IF ApproachFace? SeqLabC StockOnNoCan XSPC EOL SeqLabC StockOff ZOpCPC EOL StockOnNoCan IF NotEqual? CycleStartZ# ZOpCP# SeqLabC FeedNoCan ZSPC FeedRateNoCan EOL END ELSE { ODApproach/IDApproach } SeqLabC StockOnNoCan ZSPC EOL SeqLabC StockOff XOpCDC EOL StockOnNoCan IF NotEqual? CycleStartX# XOpCD# SeqLabC FeedNoCan XSPC FeedRateNoCan EOL END END RETURN AppMove: StockOff ThisOpEntryZCP CoolOn RETURN Approach: { NOT FOR TAILSTOCK, .82 } IF ApproachOD? SeqLabC ThisOpEntryXCP AppMove EOL ELSE IF ApproachID? SeqLabC XOpCD AppMove EOL ELSE {ApproachFace} SeqLabC StockOnNoCan XSP AppMove EOL END END IF NOT Threading? SetStatusRapid { Force Feed at next LineFeat } END ApproachSP RETURN CheckOffset: DoEndOpPS IF LAST ProgStop? SeqLabC 'M00' EOL ELSE IF CoolOff? AND LAST NOT CoolOff? SeqLabC CoolOff EOL END END CSSOff IF LAST ProgStop? GetSpeedRPM ELSE IF NotEqual? SpeedRPM# LAST SpeedRPM# ckSpeed END END IF LAST ProgStop? SeqLabC {SpeedC} SpinOn EOL SeqLabC CoolOn EOL ELSE SeqLabC {SpeedC} EOL IF NOT CoolOff? AND LAST CoolOff? SeqLabC CoolOn EOL END END DoPostScript RETURN FormatArc: IF ArcCW? CWArcC ELSE CCWArcC END MoveXC MoveZC ArcIJ RETURN CkCRC: { 4.2 } IF XMove? OR ZMove? { Approach Length Feature and Multiple Pockets } IF LastFeat? CRCOffC { Exit Length Feature } ELSE CRCOnC { Entry Length Feature } END END RETURN GetRapidFC: RapidFC RETURN ToolPath: EACHFeat GetToolTip IF LastFeat? IF Drilling? IF Tap? SeqLabC SpinOff EOL SeqLabC 'G04X2.' EOL SeqLabC GetSpeedRPM InverseSpinOn EOL ELSE IF Dwell? SeqLabC 'G04X' Dwell# EOL END END END END IF PointFeat? SeqLabC MoveSXYC EOL ELSE IF RapidFeat? IF NOT FirstFeat? AND LAST ThreadFeat? SeqLabC Feed RapidF MoveXC MoveZC EOL SetFlagF('1') { Do not force Feed and RapidF at CheckRapid and CheckRapidF } ELSE IF NOT FirstFeat? AND LAST NOT RapidFeat? FeedC END IF NOT LastFeat? IF NEXT LastFeat? AND NEXT RapidFeat? ELSE IF FirstFeat? OR LAST LineFeat? SetStatusRapid { Force Feed at next LineFeat } END END END SeqLabC RapidFC MoveXC MoveZC EOL END ELSE IF LineFeat? SeqLabC CkCRC FeedC MoveXC MoveZC FeedRateC EOL ELSE IF ArcFeat? EACHQuadrant { Do not use NOT, LAST, FIRST or NEXT modifiers in this loop } SeqLabC FormatArc FeedRateC EOL NEXTQuadrant ELSE IF ThreadFeat? SeqLabC 'G33' MoveXC MoveZC ThrdLead EOL SetFlag('1') { Force Feed and RapidF at CheckRapid and CheckRapidF } END END END END END NEXTFeat RETURN CheckRapid: CRCOffC IF Flag?('1') { LAST Threading } Feed ELSE FeedC END RETURN CheckRapidF: IF Flag?('1') { LAST Threading } SetFlagF('1') RapidF ELSE IF SameTool? AND EmptyLine? AND NOT Threading? SetStatusRapid { Force Feed at next LineFeat } END RapidFC END RETURN GetTurret: IF LTEqual? Tool# Num#('7') NegSideLathe ELSE PosSideLathe END RETURN {Start of executable Prog **************************************************} {setup and initializations} InitProg SetAbs ReverseXZArcs NoIJKSigns SetMaxRPM('2500') SetFlagF('1') { Force Feed and RapidF at CheckRapid and CheckRapidF for Threading } IF Metric? SetMaxFeed('12700') ELSE SetMaxFeed('500') END 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 NullFoot EOL ProgID1 EOL IF UseComments? IF ProgramNameComment? '( PROGRAM: ' 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 GetTurret DoOpComments DoPostScript Plane SetOpLines SeqLab Preset Home EOL SeqLabC GetSpeedRPM EOL SeqLabC SpinOn EOL SeqLabC ToolChng EOL SeqLabC RapidF 'T00' Tool# EOL Approach ELSE IF NewTool? {Finish off last Operation} StockOff {.62} CheckRapid CheckRapidF IF LAST ApproachOD? SeqLabC LAST OpExitXCPC EOL ELSE IF LAST ApproachID? SeqLabC LAST XOpECDC EOL END END SeqLabC LAST OpExitZCPC EOL DoEndOpPS SeqLabC 'X' NewHomeX# CoolOff EOL SeqLabC 'T0000' EOL { LOfstOff } SeqLabC 'Z' NewHomeZ# EOL IF LAST ProgStop? SeqLabC 'M00' EOL ELSE SeqLabC ProgStop EOL END {Start new Operation} GetTurret DoOpComments DoPostScript SetOpLines SeqLab Preset Home EOL SeqLabC GetSpeedRPM EOL SeqLabC SpinOn EOL SeqLabC ToolChng EOL SeqLabC RapidF 'T00' Tool# EOL Approach ELSE IF SameTool? {.62} {Start new Operation} StockOff DoOpComments SetOpLines SeqLab ' ' EOL IF LAST StraightConnect? CheckOffset CheckRapid CheckRapidF SeqLabC StockOnNoCan XSPC ZSPC EOL ELSE CheckRapid CheckRapidF IF ApproachOD? IF LAST ApproachOD? SeqLabC LAST XOpECDC EOL ELSE {around} IF LAST ApproachID? SeqLabC LAST XOpECDC EOL END SeqLabC LAST OpExitZCPC EOL SeqLabC LAST OpExitXCPC EOL END ELSE IF ApproachID? IF LAST ApproachID? SeqLabC LAST XOpECDC EOL ELSE IF LAST ApproachOD? {around} SeqLabC LAST OpExitXCPC EOL END SeqLabC LAST OpExitZCPC EOL SeqLabC XOpCDC EOL END ELSE {ApproachFace} IF LAST ApproachFace? SeqLabC LAST ZOpECPC EOL ELSE IF LAST ApproachOD? {around} SeqLabC LAST OpExitXCPC EOL ELSE {LAST ApproachID} SeqLabC LAST XOpECDC EOL END SeqLabC LAST OpExitZCPC EOL END END END CheckOffset ApproachSP END END END END {common point for all operations} IF CannedCycle? StockOff IF Roughing? IF RoughSimple? StockOn SetPass1 IF NOT ApproachFace? SeqLabC LCycle 'X' CalcDeltaX 'H' CalcNumCuts EOL SeqLabC Feed FinZ FeedRate EOL END END END ELSE StockOn SetPass1 ToolPath IF AutoFinish? { .82.1c } StockOff IF Turning? FeedC IF EmptyLine? SetStatusRapid { Force Feed at next LineFeat } END GetRapidFC IF ApproachFace? SeqLabC ZOpECPC EOL ELSE SeqLabC XOpECDC EOL END ApproachSP SeqLabC StockOff StrtPosC EOL ToolPath ELSE IF Roughing? AND NOT RoughSimple? SetPass2 FeedC IF EmptyLine? SetStatusRapid { Force Feed at next LineFeat } END SeqLabC GetRapidFC XSPC ZSPC EOL SeqLabC StockOff StrtPosC EOL ToolPath SetPass1 ELSE IF Threading? SeqLabC 'X' MUL# Num#('2') ADD# FinishXRadius# Taper# EOL SeqLabC 'G33' IF Taper? XatFinZ END FinZ ThrdLead EOL SeqLabC Feed RapidF XSP EOL SeqLabC ZSP EOL SetFlagF('1') { Do not force Feed and RapidF at CheckRapid and CheckRapidF } END END END END END IF Drilling? AND Tap? SeqLabC SpinOff EOL SeqLabC 'G04X2.' EOL SeqLabC GetSpeedRPM SpinOn EOL END NextOp {loops back to EachOP until last Operation} {End of program ************************************************************} {finish last operation} StockOff IF Flag?('1') { Threading } Feed RapidF ELSE FeedC RapidFC END IF ApproachOD? SeqLabC OpExitXCPC EOL ELSE IF ApproachID? SeqLabC XOpECDC EOL END END SeqLabC OpExitZCPC EOL DoEndOpPS SeqLabC 'X' FirstHomeX# CoolOff EOL SeqLabC 'T0000' EOL { LOfstOff } SeqLabC 'Z' FirstHomeZ# EOL IF LAST ProgStop? SeqLabC 'M00' EOL ELSE SeqLabC ProgStop EOL END SeqLabC SpinOff EOL SeqLabC EOP EOL Post EOR EOL Close Retag 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 Reopen NullFoot EOL Close

Wyszukiwarka

Podobne podstrony:
GE 1050T LB Kngt [GH] L691 85 2
GE 1050 LeBlonde Rgl L033 85
GE 1050T [GT] Baron L591 85
GE 1050T W&S 1SC L587 85
GE 1050T LeBlonde L105 85 1
GE 1050T W&S 242 [HP] L401 85
GE 1050T W&S 242 VFR L284 85 1
GE 1050T LeBlonde [CM] L249 82
GE 1050T (R&M) L151 82
GE 1050T Monarch L074 82
Fanuc 6T Mazak [GH] L688 85 1
GE 1050T Farrel L311 82 3
GE 1050T Farrel L311 82 3
GE 1050T (T&CSD) L136 82
GN5 P&W ST [GH] L689 85 3
W&S 2SC GE 2000 [BD4] L773 85 1

więcej podobnych podstron