Cin 10VC Acr 900MC AM M840 80 6


{6/1/89 Modified; Cincinnati 900V2 (1) M099.54, for C G Richter. Change "RapidC" to "Rapid" after Drilling. Add "NullFoot" twice to beginning and twice to end of prog. Changed "'( MSG" to "'(MSG". Checked "Use Absolute Drill Depths" in Booleans. Jim Radcliffe} {9/6/89 Copied & modified: Cincinnati 900V2 (1) M099.55 For: Hughes T&CSD Machine: Cincinnati Cintimatic 5VC-750 Control: Acramatic 900 V2 New processer from Manual and Customer requests. Jim Radcliffe} {9/15/89, add PostScript, JR} {9/21/89 Copied & modified: Cin 5VC Acr 900V2 M238.56 For: Hughes T&CSD Machine: Cincinnati Cintimatic 10VC Control: Acramatic 900 MC Added Probing Operation utilizing PostScript commands SetZSurf & OptCyc1. Probing and setting of Z axis should be OK. Needs method for X an Y axis. Jim Radcliffe} {10/11/89, modified operation comments, JR} {12/5/89 Modified: Cin 10VC Acr 900MC M245.62 For: Hughes T&CSD Machine: Cincinnati Cintimatic 10VC Control: Acramatic 900 MC Added PostScript for Coolant, Program Stop & Index. Jim Radcliffe} {3/29/90, Updated: Cin 10VC Acr 900MC M245.63 to .70.3 format, JR} {7/24/90, Added InitProg globally to posts with this remark, DWB} {7/24/90, Replaced all occurances of SetSRXYZero with SetSRXYtoSP, DWB} {7/24/90, Deleted SetZSurf command at start of prog, DWB} {12/14/90, Updated: Cin 10VC Acr 900MC M245.71 to .76.1 format, JR} {4/03/91 Modified: Cin 10VC Acr 900MC M245.76.1 For: Gibbs & Associates Updated to Version 4.0 per Fanuc 6M M001.80 Format. DWB} {6/18/91, Changed ArcIJC & ArcRC to ArcIJ & ArcR. Added OptCyc1f to PSInit, JC} {6/27/91 Modified: Cin 10VC Acr 900MC M245.79.1 For: Hughes T&CSD per Terry Lowe Modified Subs; changed Sub ID from "PGM" to "DFS", changed to output subs in front of program, deleted all EOR codes except for the 1st one. Modified Cutter Radius Compensation, must be in Feed when CRCOn is called and cannot have 2 G codes on same line; deleted boolean statement that ouputs Feed, after a rapid entry, from; EntryMove, ZonlyRepAutoCycle & ZonlyRep, added sub CheckCRC to put Feed on line by itself before CRCOn, using flag to check condition, put CRCOff on line by itself following move line and reset flag. Jim Radcliffe} {7/29/91 Modified: Cin 10VC Acr 900MC M245.80 For: Hughes T&CSD per Terry Lowe Added codes to allow Retract to 1st Clearance Plane for Drilling Cycles. For proper drill cycle depths: changed ZDepth to 'Z' ADD# ZDepth# NumSc#('.1'), unchecked "Use Absolute Drill Depths" in the MachSpec. Jim Radcliffe} {2/19/92 Modified: Cin 10VC Acr 900MC M245.80.1 For: Hughes T&CSD per Terry Lowe Changed to no sub output, all long hand output. Jim Radcliffe} {8/22/95 Initial: Cin 10VC Acr 900MC M245.80.2 Created: Cin 10VC Acr 900MC M840.80.2 ForUser: Murtaugh Represents / Applied Materials Control: Cincinnati Acramatic 900 Machine: Cincinnati 10VC Develop: ComPost 4.21.32, Virtual v.2.20 Comment: New Post Processor per marked up readout and conversation with John King Changed 'T' ToolComment$ to OpToolID Deleted PreTooling. Deleted O code from StrtPos line. Changed O code to output the tool number. Suppressed SameTool output of Speed, SpinOn and ToolOfst. Added TCZ# default to 3.000 Strung ProgStop/CoolOff to TCZ line Jim Radcliffe} {8/24/95, M840.80.3, force endpoints in proper plane for arcs with helical in XY, JR} {8/24/95, M840.80.4, force a line move if there is not motion in both of the arc planes axis, JR} {10/11/95, M840.80.5, addded FeedEnt to Approach for Peck, JR} {19Sep97 Original: Cin 10VC Acr 900MC AM M840.80.5 Created: Cin 10VC Acr 900MC AM M840.80.6 For: Applied Materials Changes made per: John King Deleted ToolOfst from FirstOperation, NewTool and SameTool Deleted IF NewToolOffset Boolean from SameTool Charles Winston} #1 = '#.00' #2 = '###^##0' #3 = '*###^##0' #4 = '###^###0' #5 = '#0' #6 = '#.0000' #7 = '00' FORMAT(FileFeet#,1) FORMAT(FileMeters#,1) FORMAT(CalcZSurf#,4) FORMAT(TCZ#,4) FORMAT(ArcZRads#,4) FORMAT(Tag#,5) FORMAT(Operation#,5) {.72} FORMAT(Parts#,5) {.72} FORMAT(Tool#,5) FORMAT(ToolDiameter#,6) FORMAT(NewWFO#,7) FORMAT(SUB#,4) FORMAT(ADD#,4) DoSubComment: IF UseComments? AND SubComment? SeqLabC '( CYCLE START )' EOL END RETURN DoPartSubComment: IF UseComments? AND SubComment? TagInc '( Part Number: ' Tag# ' )' EOL IF LastPart? TagInit END END RETURN DoOpComments: IF UseComments? SetScale('1') IF OperationIDComment? SeqLabC '( OPERATION ' Operation# ': ' OperationType$ ' )' EOL END IF OperationComment? SeqLabC '( ' OperationComment$ ' )' EOL END IF WorkGroupComment? SeqLabC '( ' WorkGroupComment$ ' )' EOL END IF SameTool? IF NewToolOffset? IF ToolTypeComment? SeqLabC '( TOOL ' Tool# ': (' ToolDiameter# ') ' ToolType$ ' )' EOL END IF ToolComment? SeqLabC '( ' ToolComment$ ' )' EOL END END ELSE IF ToolTypeComment? SeqLabC '( TOOL ' Tool# ': (' ToolDiameter# ') ' ToolType$ ' )' EOL END IF ToolComment? SeqLabC '( ' ToolComment$ ' )' 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 END RETURN PSInit: {reset flags} NewWFOF RotateF OptCyc1f RETURN PSStuff: {revised.72} {see CheckIndexer for rotate stuff} RETURN DoPostScript: PSInit EachPS SeqLabC PostScript EOL {literals} PSStuff {commands} NextPS RETURN DoEndOpPS: PSInit EachEOPS SeqLabC EndOpPS EOL {literals} PSStuff {commands} NextPS RETURN CheckCRC: IF CutterRadiusCompensation? IF Flag?('1') FeedC ELSE FeedC EOL SeqLabC CRCOn SetFlag('1') END ELSE FeedC END RETURN FormatArc2: IF ArcCW? CWArcC ELSE CCWArcC END IF XYPlane? IF ZMove? MoveX MoveY MoveZ ArcIJ 'K' ArcZRads# ELSE MoveX MoveY ArcIJ END ELSE IF XZPlane? IF YMove? MoveX MoveY MoveZ ArcI 'J' ArcZRads# ArcJ ELSE MoveX MoveYC MoveZ ArcIJ END ELSE {YZ Plane} IF XMove? MoveX MoveY MoveZ 'I' ArcZRads# ArcI ArcJ ELSE MoveXC MoveY MoveZ ArcIJ END END END RETURN FormatArc: IF XYPlane? AND XMove? AND YMove? FormatArc2 ELSE IF XZPlane? AND XMove? AND ZMove? FormatArc2 ELSE IF YZPlane? AND YMove? AND ZMove? FormatArc2 ELSE FeedC MoveXYZC END END END RETURN StdRapid: IF XMove? OR YMove? OR ZMove? SeqLabC RapidC MoveXYZC EOL END RETURN StdLine: {enables CRC on first call, .70} IF Decelerate? IF RoomToDecel? DecelMove1 SeqLabC CheckCRC MoveXYZC FeedRateC EOL DecelMove2 END SeqLabC CheckCRC MoveXYZC DecelFeed EOL ELSE IF XMove? OR YMove? OR ZMove? SeqLabC CheckCRC MoveXYZC FeedRateC EOL END END RETURN StdArc: EACHQuadrant IF LastQuadrant? AND Decelerate? IF RoomToDecel? DecelMove1 SeqLabC FormatArc ArcFeedC EOL DecelMove2 END SeqLabC FormatArc DecelFeed EOL ELSE SeqLabC FormatArc ArcFeedC EOL END NEXTQuadrant RETURN ToolPath2: {for AutoCycle element moves} EACHFeat IF RapidFeat? IF LastFeat? SeqLabC RapidC MoveXYZC EOL SeqLabC CRCOffC SetFlagF('1') EOL ELSE StdRapid END ELSE IF LineFeat? IF LastFeat? SeqLabC FeedC MoveXYZC FeedRateC EOL SeqLabC CRCOffC SetFlagF('1') EOL ELSE IF ZMove? {skip CRCOn until first non-Z move line, skipping ramps} SeqLabC FeedC MoveXYZC FeedRateC EOL ELSE StdLine {enables CRC on first call} END END ELSE IF ArcFeat? StdArc END END END NEXTFeat RETURN EntryMove: IF FeedEntry? SeqLabC Feed ZIn FeedEnt EOL ELSE SeqLabC RapidC ZIn EOL END RETURN CutAutoCycle: SaveSubStatus {save tool position} SetPass1 {element cut moves} SetSRXYtoSP SeqLabC IncValue EOL IF Repeats? AND ZshiftOnly? EachRep EntryMove ToolPath2 IF NOT FeedConnect? SeqLabC RapidC PRIME ZCP2 EOL END NextRep SeqLabC AbsOrInc EOL SeqLabC RapidC ZCP2 EOL ELSE EntryMove ToolPath2 SeqLabC AbsOrInc EOL SeqLabC RapidC ZCP2 EOL END SetSRSubXY {restore tool position} SetSRSubMove ReSetPass2 {restore for positioning moves} RETURN ToolPath: EACHFeat IF PointFeat? SeqLabC MoveSXYC EOL IF AutoCycle? CutAutoCycle CalcACSRXY {calc tool position after sub call, CalcAutoCycleStatusRecordXY} END ELSE IF RapidFeat? StdRapid ELSE IF LineFeat? StdLine ELSE IF ArcFeat? StdArc END END END END NEXTFeat RETURN WFOStuff: IF NewWFO? IF MultipleParts? '*** WARNING *** DO NOT USE NEWWFO() WITH NCPOST MULTIPLE PARTS' ELSE 'H' NewWFO# END ELSE IF NOT SameTool? IF NeedWFO1? 'H' NewWFO# END END END RETURN CheckPass: IF AutoCycle? {use the correct StrtPos} SetPass2 ELSE SetPass1 END RETURN Approach: IF Drilling? AND NOT Peck? GetCycle IF FIFO? AND Dwell? 'G89' ELSE Cycle END StrtPos 'Z' ADD# ZDepth# NumSc#('.1') RLevelCin FeedEnt ELSE {milling or pecking} Rapid StrtPos IF Peck? ZCP2 FeedEnt ELSE {milling} IF NOT SameTool? ZCP1 END END END RETURN CheckSpinOn: {turns on spindle and coolant} IF CoolOff? IF CWSpindle? 'M03' ELSE 'M04' END ELSE IF Mist? IF CWSpindle? 'M17' ELSE 'M18' END ELSE IF CWSpindle? 'M13' ELSE 'M14' END END END RETURN CheckIndexer: IF FourthCW? FORMAT(FourthDegree#,2) 'B' FourthDegree# FourthCWF {reset flag} END IF FourthCCW? FORMAT(FourthDegree#,3) 'B' FourthDegree# FourthCCWF {reset flag} END RETURN {************************ Set-Up ***************************************} InitProg ReverseXZArcs SetMist InitWFONum SetMaxRPM('4000') SetMaxFeed('200') SetTCZ('3') 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 ' Use Literals to specify a Spindle Rotate for probing operations.' EOL ' Commands: may be capital and/or lower case letters. Separate commands with a space.' 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 ' NewWFO(56), NWFO(56) -' EOL ' The Work Fixture Offset # you specify will be used for all following operations.' EOL ' Do not use with the ncPost multiple part option.' EOL ' OPTCYC1' EOL ' This is a non-modal command affecting the current operation only.' EOL ' It instructs the Post application that this is to be a Probe & Set' EOL ' operation. Use this command before an ENDOP command.' EOL ' SetZSurf(-.05)' EOL ' This is a non-modal command affecting the current operation only.' EOL ' The value in ( ) establishes the Z surface position incrementally' EOL ' from clearance plane #2. For example, if clearance plane #2 equals' EOL ' Z.1 and SetZSurf(-.05) is given for that operation, the Z top surface' EOL ' will be Z.05. This command only effects drilling operations and' EOL ' must be used with the OPTCYC1 command and before the ENDOP command' EOL ' for a Probe & Set Z axis operation. If SetZSurf() is not specified,' EOL ' the value will be taken from ncCAM, if it is version 3.2 or better' EOL ' MistCoolant, MCool' EOL ' This is a non-modal command affecting the current operation only.' EOL ' Turns on the spindle with mist coolant.' EOL ' SetMist, SM' EOL ' This is a modal command affecting all operations.' EOL ' Turns on the spindle with mist coolant.' EOL ' This is the default setting.' EOL ' SetFlood, SF' EOL ' This is a modal command affecting all operations.' EOL ' Turns on the spindle with flood coolant.' EOL ' 4thAxisCW(12.5), 4ACW(12.5) -' EOL ' This is a non-modal command affecting the current operation only.' EOL ' generates a + B move of the value you specify' EOL ' 4thAxisCCW(22.5), 4ACCW(22.5) -' EOL ' This is a non-modal command affecting the current operation only.' EOL ' generates a - B move of the value you specify' EOL ' ToolChangeZ(3.0), TCZ(3.0) -' EOL ' The value in parenthese establishes the value the spindle will retract to.' EOL ' Its is Modal and 30000 is the default.' EOL END {**************** Customized header comments with tool list *****************} EACHOp IF FirstOperation? IF UseComments? IF ProgramNameComment? SeqLabC '( PROGRAM: ' ProgramName$ ' )' EOL END IF ProgramComment? SeqLabC '( ' ProgramComment$ ' )' EOL END IF FormatNameComment? SeqLabC '( FORMAT: ' FormatName$ ' )' EOL END IF TimeComment? SeqLabC '( ' Date$ ' AT ' Time$ ' )' EOL END IF MovesComment? SeqLabC '( OUTPUT IN ' MoveType$ ' INCHES )' EOL END IF PartsComment? SeqLabC '( PARTS PROGRAMMED: ' Parts# ' )' EOL END IF StartToolComment? SeqLabC '( FIRST TOOL NOT IN SPINDLE )' EOL END END SeqLabC '( )' EOL END IF SameTool? IF NewToolOffset? SeqLabC '( TOOL ' Tool# ' (' ToolDiameter# ') ' ToolType$ ' ' ToolComment$ ' ' ToolOfst ' )' EOL END ELSE SeqLabC '( TOOL ' Tool# ' (' ToolDiameter# ') ' ToolType$ ' ' ToolComment$ ' ' ToolOfst ' )' EOL END NEXTOp {*************************** Beginning **********************************} EACHOp IF FirstOperation? SeqLabC '( )' EOL EOR EOL IF ToolChangeAtHome? SetHome END OpenSub IF Metric? {CAM file is in metric, tools and tool path} SetScale('.03937007874') { change to English, this is an English post} END IF MultipleParts? AND AllToolsOnePart? EACHPart DoPartSubComment END 'O' Tool# Rapid OpToolID ToolChng EOL DoOpComments SeqLabC Plane EOL SeqLabC AbsOrInc EOL DoPostScript CheckPass IF OptCyc1? {OptCyc1 used for Probe} SeqLabC 'G75' StrtPos ZCP1 CheckIndexer SpinOff EOL ELSE SeqLabC Approach CheckIndexer Speed WFOStuff CheckSpinOn EOL END IF MultipleParts? AND OneToolAllParts? EACHPart DoPartSubComment IF NOT FirstPart? DoOpComments SeqLabC StrtPos EOL END END ELSE IF NewTool? IF MultipleParts? AND OneToolAllParts? NEXTPart END DoEndOpPS SeqLabC Rapid 'Z' TCZ# CoolOff EOL IF ToolChangeAtHome? SeqLabC RapidC Home EOL END IF LAST ProgStop? SeqLabC 'M00' EOL ELSE SeqLabC ProgStop EOL END {************* Beginning of a new tool ******************} 'O' Tool# Rapid OpToolID ToolChng EOL DoOpComments SeqLabC PlaneC EOL DoPostScript CheckPass IF OptCyc1? {OptCyc1 used for Probe} SeqLabC 'G75' StrtPos ZCP1 CheckIndexer SpinOff EOL ELSE SeqLabC Approach CheckIndexer Speed WFOStuff CheckSpinOn EOL END IF MultipleParts? AND OneToolAllParts? EACHPart DoPartSubComment IF NOT FirstPart? DoOpComments SeqLabC StrtPos EOL END END ELSE IF SameTool? DoEndOpPS SeqLabC IF LAST ProgStop? OR NewToolOffset? Rapid 'Z' TCZ# END IF LAST ProgStop? OR CoolOff? AND LAST NOT CoolOff? CoolOff END EOL IF LAST ProgStop? IF ToolChangeAtHome? SeqLabC Rapid Home EOL END SeqLabC 'M00' EOL END {************* Beginning of a new operation with same tool ******************} DoOpComments SeqLabC PlaneC EOL DoPostScript CheckPass IF OptCyc1? {OptCyc1 used for Probe} SeqLabC 'G75' StrtPos ZCP1 CheckIndexer SpinOff EOL ELSE SeqLabC Approach CheckIndexer IF LAST ProgStop? Speed END WFOStuff IF LAST ProgStop? CheckSpinOn ELSE IF NOT CoolOff? AND LAST CoolOff? SeqC CoolOn END END EOL END END END END {Common point for all operations} IF Milling? SeqLabC ZCP2C EOL IF OptCYC1? SeqLabC ZInC EOL SeqLabC 'G77' MoveXYC '( Add I or J Value )' EOL {needs an I or J value to set X or Y} SeqLabC Rapid ZCP3 EOL SeqLabC 'G74' EOL ELSE IF Repeats? IF ZshiftOnly? AND AutoCycle? {done in CutAutoCycle called from ToolPath} ELSE EACHRep DoSubComment IF NOT FirstCycle? SeqLabC Connect StrtPos EOL IF NOT FeedConnect? SeqLabC ZCP2C EOL END END END END IF NOT AutoCycle? EntryMove END ToolPath IF Repeats? IF ZshiftOnly? AND AutoCycle? {done in CutAutoCycle called from ToolPath} ELSE IF NOT FeedConnect? SeqLabC RapidC PRIME ZCP3C EOL END NEXTRep END END SeqLabC RapidC ZCP3C EOL SeqLabC CRCOffC SetFlagF('1') EOL END ELSE IF Drilling? IF OptCyc1? SeqLabC ZCP2C EOL SeqLabC 'G77' ZIn 'K' CalcZSurf# EOL {find & set Z surface} SeqLabC 'G75' EOL SeqLabC Rapid ZCP3 EOL SeqLabC 'G74' EOL ELSE IF Repeats? EACHRep DoSubComment IF NOT FirstCycle? SeqLabC Approach EOL END END EACHFeat IF Peck? SeqLabC RapidC MoveSXYC EOL SeqLabC ZCP2C EOL PeckManual IF RetractToCP1? SeqLabC RapidC ZCP1C EOL END ELSE IF RetractToCP1? IF NOT FirstFeat? SeqLabC IF FIFO? AND Dwell? 'G89' ELSE Cycle END MoveSXYC 'Z' ADD# ZDepth# NumSc#('.1') RLevelCin EOL END IF NOT LastFeat? SeqLabC DrillOff 'R' SUB# ClearancePlane1# NumSc#('.1') EOL END ELSE SeqLabC MoveSXYC EOL END END NEXTFeat IF NOT Peck? SeqLabC DrillOff EOL END SeqLabC Rapid ZCP3 EOL IF Repeats? NEXTRep END END END END {NEXTOp} {modified to prevent endless looping in ncPOST} IF MultipleParts? IF LastOp? IF MultipleParts? AND OneToolAllParts? NEXTPart END DoEndOpPS SeqLabC Rapid 'Z' TCZ# CoolOff EOL IF FIRST ToolChangeAtHome? SeqLabC FirstHome EOL END IF ProgStop? SeqLabC 'M00' EOL ELSE SeqLabC ProgStop EOL END IF MultipleParts? AND AllToolsOnePart? NEXTPart END ELSE NEXTOp END ELSE NEXTOp DoEndOpPS SeqLabC Rapid 'Z' TCZ# CoolOff EOL IF FIRST ToolChangeAtHome? SeqLabC FirstHome EOL END END SeqLabC EOP EOL CloseSub Post2 {organize Subs into one program} EOR EOL Close Retag IF UseComments? SetScale('1') 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:
Cin 10VC Acr 900MC M245 80 2m
Cin 10VC Acr 900MC M245 80 2
Cin Acr 900MC [ABB] DU62 12
Cin 5VC Acr 900V2 M238 80 2
Cin 720 Acr 5 [PAMA] M492 87
Cin 10VC [CG] M732 81 2
Cin MA Acr 900TC [WSR] L812 85
Cin T10 Acr 950MC[JD] M535 87
Cin MA Acr 900TC L211 85
Cin 10HC Acr 900 PMW DV69 15 1
Cin 10VC Big Blue O&F M641 87
Cin 18C Acr 900TC L130 85
Cin 10VC Big Blue SP MU38 87 2
Cin 10VC Big Blue [TC] MY29 87
Cin AT Acr 900TC L202 85
Cin 10VC Big Blue [TC] MQ27 87
Cin T10 Acr 950MC M324 87m
Cin 10VC [CG] M732 81 2m

więcej podobnych podstron