^2 PMAC NC FOR MILL APPLICATION

Size: px
Start display at page:

Download "^2 PMAC NC FOR MILL APPLICATION"

Transcription

1 ^1 SOFTWARE REFERENCE MANUA ^2 PMAC NC FOR MI APPICATION ^3 Integato/Softwae Manual ^4 3xx xSxx ^5 June 11, 2004 Single Souce Machine Contol Powe // Flexibility // Ease of Use assen Steet Chatswoth, CA // Tel. (818) Fax. (818) //

2 Copyight Infomation 2003 Delta Tau Data Systems, Inc. All ights eseved. This document is funished fo the customes of Delta Tau Data Systems, Inc. Othe uses ae unauthoized without witten pemission of Delta Tau Data Systems, Inc. Infomation contained in this manual may be updated fom time-to-time due to poduct impovements, etc., and may not confom in evey espect to fome issues. To epot eos o inconsistencies, call o Delta Tau Data Systems, Inc. Technical Suppot Phone: (818) Fax: (818) suppot@deltatau.com Website: Opeating Conditions All Delta Tau Data Systems, Inc. motion contolle poducts, accessoies, and amplifies contain static sensitive components that can be damaged by incoect handling. When installing o handling Delta Tau Data Systems, Inc. poducts, avoid contact with highly insulated mateials. Only qualified pesonnel should be allowed to handle this equipment. In the case of industial applications, we expect ou poducts to be potected fom hazadous o conductive mateials and/o envionments that could cause ham to the contolle by damaging components o causing electical shots. When ou poducts ae used in an industial envionment, install them into an industial electical cabinet o industial PC to potect them fom excessive o coosive moistue, abnomal ambient tempeatues, and conductive mateials. If Delta Tau Data Systems, Inc. poducts ae diectly exposed to hazadous o conductive mateials and/o envionments, we cannot guaantee thei opeation.

3 Table of Contents INTRODUCTION... 1 Hadwae/Softwae Components... 1 Hadwae Components... 1 Softwae Components:... 1 NC 32 BIT FOR MI APPICATION... 3 NC Mill Basics... 3 Tool Motion... 3 Tool Movement Specification... 3 Axis Move Specification... 3 Feed Specification... 4 Cutting Speed Specification... 4 Tool Movement Consideations... 4 Coodinate Systems... 5 Machine Coodinates... 5 Pogam Coodinates... 5 Absolute Coodinate Positions... 5 Incemental Coodinate Values... 5 Refeence Point... 6 G Code ibay... 6 CNC G-Codes... 6 G Codes... 8 G00 Rapid Tavese Positioning... 8 G01 inea Intepolation... 8 G01.1 Spline Intepolation... 8 G02 Cicula Intepolation CW (Helical CW)... 9 G03 Cicula Intepolation CCW (Helical Intepolation CCW) G04 Dwell G09 Exact Stop G10 Pogammable Data Input G10.1 PMAC Data Input by Pogam G17/G18/G19 (XY/ZX/YZ) Plane Selection G25 Spindle Detect Off G26 Spindle Detect On G27 Refeence Point Retun Check G28 Retun to Refeence Point G29 Retun fom Refeence Point G30 Retun to Refeence Point 2nd - 3 d G31 Move Until Tigge G40/G41/G42 Cutte Compensation Compensation Requiements How PMAC Intoduces Compensation Speed of Compensated Moves Teatment of Inside Cones Teatment of Outside Cones G43/G44/G49 Tool ength Compensation + /- and Cancel G45/G46/G47/G48 Single Block Tool Offsets G50/G51 Coodinate Scaling G50.1/G51.1 Coodinate Mioing G52 ocal Coodinate System Set G53 Machine Coodinate Selection G54-59 Wok Coodinate System 1-6 Selection G61 Exact Stop Mode G64 Cutting Mode Table of Contents i

4 G65 MACRO Instuction G68/G69 Coodinate System Rotation G70 Bolt Hole Cicle Patten G70.1 Bolt Hole, Cente Hole Ignoe Patten G71 Ac Patten G72 Bolt ine Patten G80-89 Canned Cycles G80 Canned Cycle Cancel G81 Dilling Cycle G82 Boing, Spotfacing, Counte Sinking Cycle (Fee Cutting) G83 Deep Hole (Peck) Dilling Cycle G84 Tapping Cycle G85 Reaming, Boing Cycle G87 Boing Cycle (Manual o Pogammed Quill Retun) G88 Boing Cycle (Fee Cutting, Manual o Pogammed Quill Retun) G89 Boing Cycle (Finishing Cut, Fee Cutting) G90/G91 Absolute/Incemental Mode G90.1/G91.1 Ac Radius Abs/Inc Mode G92 Wok Coodinate System Set G93 Invese Time Feed G94/G95 Feed Pe Min/Feed Pe Rev G98/G99 Canned Cycle Retun Point M00 Pogam Stop M01 Optional Stop M02 Pogam Rewind M03 Spindle Clockwise M04 Spindle Counteclockwise M05 Spindle Stop M06 Tool Change M08 Coolant On M09 Coolant Off M19 Spindle Oient M30 End of Pogam (and Rewind) M87 Stat Data Gatheing M88 End Data Gatheing M98 Suboutine Call M99 Retun fom Suboutine T-Codes T-Code Fomat Miscellaneous Block Delete Chaacte: / PARAMETRIC PROGRAMMING Intoducing Paametic Pogamming Example Pogams Paametic Suboutines Vaiables Expessions Pogam Contol Fomatted Output Paamete Display M Code Aliasing Geneal Concepts Aliasing M Codes Integation TOUCH PROBING FOR PMAC-NC ii Table of Contents

5 PMAC-NC Pobing Appendix Hadwae Integation Manual Diffeences Between PMAC and PMAC PMAC Wiing fo Skip Signal Installing a Spindle and Table Pobe Optical Inteface Softwae Integation Manual Pobing Memoy Map Installation of Softwae Files Requied fo Installation Testing the Pobe Testing G31 Opeation Machining Cente Opeatos Manual Pobing Cycles Calling Method Calibation Safe Axis Movement Measuement Miscellaneous Macos Alams Boken Tool A Input Missing B Input Missing C Input Missing D Input Missing Data #130-#139 Missing Fomat Eo G65 Addess Code Missing G65 Nesting evel Exceeded H Input Not Allowed M Input Not Allowed No Feed Rate No Tool ength Active Path Obstucted Pobe Fail Pobe Open Runtime Eo S Input Not Allowed SH Input Mixed ST Input Mixed T Input Missing T Input Not Allowed TM Input Mixed Tool Out of Range X Input Missing XY Input Missing XY Input Mixed XYZ Input Missing XYZ Input Mixed Y Input Missing Z Input Missing ZK Input Mixed Table of Contents iii

6 iv Table of Contents

7 INTRODUCTION Although this manual discusses NC-32 in tems of the Adv 810 Contol Panel, it is equally applicable to the Adv 800 and Adv 600, with egad to softwae and opeation. The manual assumes that the Contol Panel package is wied to the machine aleady o is to be used with the UMAC DEMO box. Hadwae/Softwae Components Nomally, the system is deliveed with the following components installed: Hadwae Components Adv 810 Contol Panel UMAC Softwae Components: NC UI32 CNC Auto Pilot Executive softwae to talk Tubo Setup pogam PMAC Plot pogam Intoduction 1

8 2 Intoduction

9 NC 32 BIT FOR MI APPICATION This section defines the basics of CNC Mills, and instuctions fo the PMAC NC 32 fo Windows application. The goal of this document is to povide desciptions of the softwae within the equied hadwae envionment and a detailed desciption of RS-274 style G-Code pogamming. The default G-codes deliveed with PMAC NC 32 ae designed to emulate a Fanuc 10 style of G-codes. Hence a CNC pogam posted fo a Fanuc 10 should wok without any changes. NC Mill Basics Unlike a lathe tool which moves aound the wok piece to poduce a shape, a otating mill tool emains stationay while the table moves, moving the wok piece aound the tool. But NC pogammes descibe the opeation of both machines in the same way, as if the tool moves aound the wok piece. That is not a poblem when dealing with a lathe, but this section discusses mill opeation fom a pogamme s pespective. So although we know that physically the table moves and not the tool, the section discusses opeation in tems of tool motion. Tool Motion The tool moves though lines and acs within the table boundaies as equied to manufactue a pat. In a woking machine, the table is moved in elation to the otating tool, so the actual table displacement will be the evese of commanded tool motion. Tool Movement Specification Pogam commands fo NC machines ae called the pepaatoy functions, also known as G codes. The function of moving the table along staight lines and acs is called intepolation. Pepaatoy functions specify the type of intepolation used. The thee basic intepolation pepaatoy functions ae: 1. Table movement along staight line: G01 2. Table movement along cicula ac: G02 / G03 3. Table movement along specified tajectoy: G01.1 Refeence to the axis position wod executes motion. The PMAC contolle coodinates the movement of the axis motos to execute the command. In this document, the genealized fom of the axis position wod, X_Y_Z_, is used. Axis Move Specification The last commanded position is the stating position of a move and the final position is the commanded position. The final position may be eithe an absolute position (a point efeenced to pogam zeo) o a elative move (signed incemental distance fom the pevious point). This is specified with axis move o position wods, the axis addess lette followed by a numeic liteal: N100 X5.2Y0Z-.001 (length units in. o mm.) NC 32 Bit fo Mill Application 3

10 Feed Specification Movement of the table at a specified speed fo cutting a wok piece is called the feedate. Feedates can be specified similaly with the feed wod: N100 F150.0 (length/time units in./min. o mm./min.) ength units ae within pogam contol (see the G-code definitions in the next section). The machine builde sets time units. Tool Feedate Example Cutting Speed Specification The elative otational speed of the tool with espect to the wok piece duing a cut is called the spindle speed. As fo the CNC, the spindle speed can be specified in pm units, using the S addess lette followed by the value: N100 S250 (pm units) Tool Movement Consideations At multiple move (o block) boundaies, the CNC applies a coodinated amp of the vecto velocity into and out of the point without stopping. The esult of this is called move blending. Because of blending, cones ae not cut shaply. If shap cones ae equied to be cut, Exact Stop o Dwell must be commanded in the block o set modally (see G04, G09, G61). This foces an in-position stop befoe stating the next move. In-position means that the feed moto is within a specified ange about the commanded position. Move Blending Example 4 NC 32 Bit fo Mill Application

11 Coodinate Systems Thee ae two types of coodinate systems. One is fixed by the machine mechanics and the othe is a elative coodinate system specified by the NC pogam that coincides with the pat dawing. The contol is awae only of the fixed one. Theefoe, to coectly cut the wok piece as specified on the dawing, the two coodinate systems must be specified at machine statup. When a wok piece is set on the table, these two coodinate systems ae as follows: Coodinate system specified by the CNC: Machine Coodinates Coodinate system specified by the pat: Pogam Coodinates Machine Coodinates The machine zeo point is a standad efeence point on the machine. The machine coodinate system is established when the efeence point etun is fist executed afte the machine powe is tuned on o the homing cycle is executed. Once the machine coodinate system is established, it is not changed. A G- code pogam will not execute without the machine coodinate system being established fist (i.e., all the machine axes must be homed befoe a G-code pogam can be executed). Pogam Coodinates The Pogam coodinates ae always within one of the Wok coodinate systems, G54 though G59, and ae eithe absolute positions o incemental values. A Wok coodinate offset, W off, defines the position within the Machine coodinate space. Within the Wok coodinate system, a ocal coodinate offset, off, may define a ocal coodinate system. When thee ae no Wok o ocal offsets in effect, o the wok coodinates ae zeo then the Machine and Pogam coodinates ae the same. It is possible that the Machine zeo position is not accessible by the tool. Coodinate and Refeence Point Examples Absolute Coodinate Positions The table moves to a point at the distance fom zeo point of the coodinate system (i.e. to the position of the coodinate values). Specify the table movement fom point A to point B by using the coodinate values of point B. Incemental Coodinate Values This specifies table moves elative to the cuent table position. A move fom point A to point B will use the signed diffeence between the two points. The tem Relative is also used. NC 32 Bit fo Mill Application 5

12 Refeence Point Aside fom Machine zeo, a machine tool may need to locate othe fixed positions coesponding to attached hadwae (i.e. a tool change). This position is called the efeence point (which may coincide with Machine zeo). The tool can be moved to the efeence point in two ways eithe manually o automatically. In geneal, manual efeence point etun is pefomed fist afte the machine powe is tuned on. Usually this is the same as the homing function, since the efeence point is at a fixed offset fom the Machine zeo position. In ode to move the tool to the efeence point fo tool change theeafte, the function of automatic efeence point etun is used. G Code ibay CNC G-Codes G-Code PMAC NC 32 fo Windows Machining Cente G Code ibay Function Valid As Of 6/1/99 Bold indicates Default G Codes used at statup G00* Rapid Tavese G01 inea Intepolation G01.1 Spline Intepolation G02 Cicula Intepolation, CW G03 Cicula Intepolation, CCW G02 & G03 Helical Intepolation (X, Y, & Z in the G code command line) G04 Dwell G09 Exact Stop Check G10 Pogam Data Input G10.1 PMAC Data Input G17 G18 G19 G20 G21 G25 G26 G27 G28 G29 G30 G31 G40 G41 G42 G43 G44 G45 G46 G47 G48 XY Plane Selection ZX Plane Selection YZ Plane Selection Inch Mode Metic Mode Spindle Speed Detect Off Spindle Speed Detect On Refeence Point Retun Check Retun To Refeence Point Retun Fom Refeence Point 2 nd Refeence Point Retun Move Until Tigge Cutte Compensation Cancel Cutte Compensation eft Cutte Compensation Right Tool ength Compensation, + Diection Tool ength Compensation, - Diection Tool Offset Incease Tool Offset Decease Tool Offset Double Incease Tool Offset Double Decease 49 Tool ength Compensation Cancel G50 Scaling Cancel G51 Scaling G50.1 Mio Cancel G51.1 Mio Image G52 ocal Coodinate System Setting G53 Machine Coodinate System Setting 6 NC 32 Bit fo Mill Application

13 G54 Wok Coodinate System 1 G55 Wok Coodinate System 2 G56 Wok Coodinate System 3 G57 Wok Coodinate System 4 G58 Wok Coodinate System 5 G59 Wok Coodinate System 6 G61 Exact Stop Mode G64 Cutting Mode (Cancel Exact Stop Mode) G68 Coodinate System Rotation G69 Coodinate System Rotation Cancel G70 Bolt Hole Cicle Patten G70.1 Bolt Hole, Cente Hole Ignoe Patten G71 Ac Patten G72 Bolt ine Patten G80 G81 G82 G83 G84 G85 G86 G87 G88 G89 Canned Cycle Cancel Spot Dilling Canned Cycle Counte Boing Dilling Cycle Peck Dilling Cycle Tapping Cycle Fine Boing Canned Cycle Boing Canned Cycle Back Boing Canned Cycle Revese Tapping Canned Cycle Canned Cycle Recall G90 Absolute Command Mode G91 Incemental Command Mode G90.1 Ac Radius Abs/Inc Mode G91.1 Ac Radius Abs/Inc Mode G92 Absolute Zeo Point Pogamming G92.1 Absolute Zeo Point Pogamming Cancel G93 G94 G95 G98 G99 Invese Time Feed Feed Pe Minute Feed Pe Revolution Retun To Initial Point in Canned Cycle Retun to R Point in Canned Cycle NC 32 Bit fo Mill Application 7

14 G Codes G00 Rapid Tavese Positioning This is used to position the tool fom the cuent pogammed point to the next pogammed point at maximum tavese ate fo all axes. G00 is goup 01 modal. It is canceled by othe goup 01 functions. The apid move is not axis coodinated. Each axis has a diffeent endpoint velocity amp. Each axis may also have a diffeent maximum tavese ate. The axis with the longest move time (move distance/axis velocity) will finish last and povide the final in-position fo end of block egistation. Rapid moves ae neve blended with adjacent blocks. Syntax: G00X_Y_Z_ Example Code: N005 G49 G54 G20 G90 G40 G80 N010 S2500 M03 N015 G55 N020 G20 G90 G0 X0 Y0 (inch, abs, apid to wok piece x,y zeo psn) G01 inea Intepolation inealy intepolates the position of the tool fom the cuent point to the pogammed point in the G01 block. Segmentation contol fo all intepolation is contolled by the PMAC I13 paamete. The speed of the tool is contolled by the modal feedate wod F and is the vecto velocity of the tool path defined by: Fx = F 2 y x + x ; F 2 y = F y 2 2 y + x inea moves may blend with adjacent intepolative blocks. If the G01 block contains a Dwell (G04) o an Exact Stop (G09), a contolled deceleation to a stop with in-position going tue will inhibit blending with the next block. If the G61 modal Exact Stop is active, no blending between linea blocks will occu until canceled (G64 Cutting Mode). G01 is goup 01 modal. It is canceled by othe goup 01 functions. Syntax: G01X_Y_Z_F_ Example Code: N030 X1.125 Y2.25 N040 G61 G1 Z-.02 F20 (exact stop mode, linea, plunge cutte, 20 ipm) N050 G64 G3 X0.5 Y2.0 R0.375 G01.1 Spline Intepolation Intepolates as a thee point Cubic Spline, a segmented pofile (tajectoy of points) with no change in acceleation at segment boundaies (smooth contouing). A fixed move time of R/F fo all segments is specified indiectly with a segment size and feedate in the initial G01.1 block with R and F, espectively. Actual commanded velocities, a esult of the Spline calculations, ae smooth. Acceleations ae matched at segment boundaies. Subsequent blocks ae blended to fit a 3-point cubic Spline with the adjacent blocks until dwell, new segment wod (R) o modal change (i.e. G00 o G01). Zeo length intevals of R/F time units ae added at the endpoints to facilitate enty and exit of the Spline. The PMAC segmentation paamete I13 does not effect Spline mode. Intemediate positions ae elaxed somewhat to meet the velocity and acceleation constaints imposed and may be calculated fom the following equation: e n = [ Seg Seg ] n It applies to vecto sum of axis components, fo simultaneous multiple axis splines. If a segment size within the block sequence deviates fom that specified in the initial block R wod, then the above equation gives the eo amount. G01.1 is modal in-goup 01. It is canceled by othe goup 01 functions. Syntax: G01.1R_X_Y_Z_F_ n 8 NC 32 Bit fo Mill Application

15 Example Code: N6 Z.1 H1 M8 N7 G1.1 R.05 F150. (spline mode seg size of.05 in at 150 ipm) N8 X10Y10 (point 1) N9 X Y (point 2) N10 X Y (point 3) G02 Cicula Intepolation CW (Helical CW) Cicula intepolation uses the axis infomation contained in a block to move the tool in a clockwise ac of a cicle, up to 360 degees. The velocity at which the tool is moved is contolled by the feedate wod and is a vecto tangent in the intepolation plane: F 2 f 2 t = f x + y. All cicles ae defined and machined by pogamming thee pieces of infomation to the PMAC. They ae: Stat Point of the ac End Point of the ac Ac Cente of the ac o Ac Radius The Stat Point is defined pio to the G02 line, usually by a G01 o G00 positioning move. The End Point is defined by the axis coodinates within the G02 line. The Ac Cente is defined by the I, J and K values (vecto incemental fom the stat point) o the R value within the G02 line. The full fomat fo a G02 line must eflect in which plane the ac is being cut. This is accomplished by use of a G code to define the intepolation plane and the lette addesses I, J, and K. G17 (XY - Plane) ette addess I fo X ette addess J fo Y G18 (XZ - Plane) ette addess I fo X ette addess K fo Z G19 (YZ - Plane) ette addess J fo Y ette addess K fo Z The I, J and K vecto incemental values ae signed distances fom whee the tool stats cutting (Stat Point) the ac to the Ac Cente. Fo 90-degee cones o fillets, the I, J and K values can be detemined easily. The G17 (XY - Plane) is the default o powe on condition. If anothe axis not specified in the cicula intepolation is pogammed then helical cutting will be affected. The feedate of the linea axis will be: F x (length of linea axis / length of ac). Syntax: [G17/G18/G19]G02X_Y_Z_I_J_K_F_ [G17/G18/G19]G02X_Y_Z_R_F_ Example Code: N040 G73 G1 Z-.02 F20 N050 G64 G2 X0.5 Y2.0 R0.375 (cut mode, cw cicle) N060 G1 Y Cicula Intepolation Example NC 32 Bit fo Mill Application 9

16 G03 Cicula Intepolation CCW (Helical Intepolation CCW) Cicula contouing contol uses the axis infomation contained in a block, to move the tool in a counteclockwise ac of a cicle, up to 360 degees. The velocity at which the tool is moved is contolled by the feedate wod and is vecto tangential F 2 f 2 t = f x + y. All cicles ae defined and machined by pogamming thee pieces of infomation to the contol: Stat Point of the ac End Point of the ac Ac Cente of the ac The Stat Point is defined pio to the G03 line, usually by a G01 linea positioning move. The End Point is defined by the X- and Y-axis coodinates within the G03 line when in the XY - Plane. The Ac Cente is defined by the I, J and K values (vecto incemental fom the stat point) when in the X-Y - Plane, o the R value within the G03 line. The full fomat fo a G03 line must eflect in which plane the ac is being cut. This is accomplished by use of a G code to define the plane and the lette addesses I, J, and K. G17 (XY - Plane) ette addess I fo X ette addess J fo Y G18 (XZ - Plane) ette addess I fo X ette addess K fo Z G19 (YZ - Plane) ette addess J fo Y ette addess K fo Z The I, J and K vecto incemental values ae signed distances fom whee the tool stats cutting (Stat Point) the ac to the Ac Cente. Fo 90-degee cones o fillets, the I, J and K values can be detemined easily. The G17 (XY - Plane) is the default o powe on condition. Cicula Intepolation Example If anothe axis not specified in the cicula intepolation is pogammed, then helical cutting will be affected. The feedate of the linea axis will be: F x (length of linea axis / length of ac). Syntax: [G17/G18/G19]G03X_Y_I_J_F_ [G17/G18/G19]G03X_Y_R_F_ Example Code: N4 G0 G90 G17 S500 M3 N5 X0 Y N6 Z.1 H1 M8 N7 G03 I1 J1 Y0 X2 F NC 32 Bit fo Mill Application

17 G04 Dwell When pogammed in a block following some motion such as G00, G01, G02 o G03, all axis motion will be stopped fo the amount of time specified in the F, P o X wod in seconds. Only axis motion is stopped; the spindle and machine functions unde PC contol ae unaffected. The numeical ange is fom.001 to seconds. If no paamete is specified then a default value of 0 seconds dwell is executed. Syntax: G04X_ Example Code: N4 G0 G90 S500 M3 N5 X0 Y N6 Z.1 H1 M8 N7 G04 X10 N8 G04 P0.055 (dwell 10 seconds) (dwell seconds) G09 Exact Stop This foces a contolled deceleation to a stop, with in-position egistation, at the end of the block. This is used to pevent move blending with the next block (i.e. shap cones ae cut). G09 is not modal. It is valid fo the cuent block only and is affected by issuing a dwell of zeo time (see G73 fo modal Exact Stop). Syntax: G09 Example Code: N030 X1.125 Y2.25 N040 G73 G1 Z-.02 F20 (exact stop mode, linea, plunge cutte, 20 ipm) N050 G64 G3 X0.5 Y2.0 R0.375 G10 Pogammable Data Input R_, IP_ epesents the X, Y, Z, U, V, W, A, B o C offsets to change. R is used when changing a cutte compensation value. An axis value must be pesent to get its offset value alteed. If the cuent mode is in incemental, the offsets ae incemented by the IP_ point. Othewise, the IP_ is substituted fo the cuent offset. P epesents the offset to change as follows. If P is between 1 and 6 the offset changed is the wok offset. P1 will change G54, P2 will change G55 up though P6 fo G59. Example Code: G10 P1 X-10 Z-30 (Set G54 offsets) G10 P2001 X Z R0.025 (Set tool wea offsets & cutte comp) G10 P1001 X-5 Z-5 (Set tool geomety offsets and cutte comp) G10.1 PMAC Data Input by Pogam Allows configuation of PMAC I-vaiables fom NC pogam. The I, Q, and P ae addesses fo the PMAC like vaiables. The K addess holds the value. Syntax: G10.1 I_ K_ G10.1 Q_ K_ G10.1 P_ K_ Example Code: G10.1 I125 K (I125= ) G10.1 Q10 K8 (Q10=8) G10.1 P11 K7 (P11=7) NC 32 Bit fo Mill Application 11

18 PMAC Data Input By Pogam G17/G18/G19 (XY/ZX/YZ) Plane Selection When cutting motion is fo X and Y using cicula intepolation, the G17 plane must be in effect. The G17 plane is a powe on default, so nomally is not pogammed. When cutting motion is fo Z and X using cicula intepolation, the G18 plane must be in effect. When cutting motion is fo Y and Z using cicula intepolation, the G19 plane must be in effect. Syntax: G17/G18/G19 Example Code: N4 G0 G90 G17 S500 M3 N5 X0 Y N6 Z.1 H1 M8 N7 G03 I1 J1 Y0 X2 F150 G25 Spindle Detect Off G25 sets the system flag, SPND_SPEED_DETECT, false. This will be intepeted by the CNC as cancellation of Spindle Speed detect. This will make the CNC pogam disegad whethe the spindle is at speed. Syntax: G25 G26 Spindle Detect On G26 sets the system flag, SPND_SPEED_DETECT, tue. The CNC will pevent the next block fom executing until spindle pm's ae within a specified pecentage of the commanded value. Pogamme s note: This is epoted via system flags: CS_SPND_AT_SPEED and CS_SPND_AT_ZERO. Syntax: G26 G27 Refeence Point Retun Check G27 positions the tool at apid tavese to the optional intemediate point (ip) and then the efeence point. The ip is saved fo subsequent use by G29. Syntax: G27 (X Y Z ) Example Code: N4 G0 G90 S500 M3 N5 G27 X0 Y Z.1 12 NC 32 Bit fo Mill Application

19 Refeence Point Retun Check Example G28 Retun to Refeence Point The tool is etuned to the efeence point via an intemediate point (ip) specified in the block. The ip is saved fo subsequent use by G29. Syntax: G28(X Y Z ) Example Code: N4 G0 G90 S500 M3 N5 G74 X0 Y Z.1 G29 Retun fom Refeence Point The tool is moved to the point specified in the block via the ip stoed by G28/G27. Syntax: G29X Y Z G30 Retun to Refeence Point 2nd - 3 d Implementation may be machine dependent. The system integato povides this functionality. In geneal, the tool is moved to the second efeence point (the P addess) via the ip specified in the block. The ip is saved fo subsequent use by G29. Syntax: G30P (X Y Z ) G31 Move Until Tigge Does a move until tigge (skip). When the skip signal occus, the move will deceleate to a stop and the location at which the skip signal occued will be stoed fo late use. Syntax: G65 P9810 X Y F G40/G41/G42 Cutte Compensation While cutting the pogammed contous of lines and cuves, being dependent on the diection of cutting and spindle otation, the opeato must keep the tool consistently oiented to the cutting suface, at the offset needed to maintain the depth of cut and suface finish called fo in the pint. Usually calculations involving moving suface nomals and cuve tangencies ae equied. Cutte adius compensation will povide cutte oientation and tool offset automatically. The contol will offset the tool nomal to the instantaneous suface tangent of the wok piece with espect to the diection of tool motion in the compensation plane. This allows a pogamme to compensate fo cuttes of diffeent adial dimensions without the need fo complex tigonometic code changes. Climb milling will use G41 to instate cutte adius compensation. Conventional milling will use G42 to instate cutte adius compensation. Of geatest concen is how to position the tool just pio to the stat up of cutte adius compensation. PMAC-NC will not engage compensation unless a move having a vecto component in the compensation plane is commanded. NC 32 Bit fo Mill Application 13

20 G40 - Cancel cutte adius compensation G41 - Cutte compensation, tool on the left of the wok piece (in the feed diection) G42 - Cutte compensation, tool on the ight of the wok piece (in the feed diection) When activating cutte compensation (G41/G42), cae must be taken in selecting a cleaance move in the compensation plane. On stat up, the tool will move a vecto distance equal to the offset value + the initial compensation in-plane move. The tool must be positioned so that as the compensation engages, the tool begins cutting nomal to the suface. In addition, the cente of the cutte must be at least the cutte adius away fom the fist suface to be machined. Cutte adius compensation is modal. Once cutte adius compensation is coectly engaged, it will emain in effect until it is canceled. Make any zeo component compensation plane axis moves befoe cutte compensation. Make an axis statup move, having a non-zeo component in the compensation plane (G17/18/19), on o immediately afte the G41 o G42 block. The compensation adjustment will be vectoed with this move. The pogamme must conside this effect when moving out of the cuent plane, as in-depth changes in pocket milling. Execute a move whose vecto component in the compensation plane paallel to the last in-plane compensation move, but have opposite diection is intepolated with the intended out-of-plane axis move. Cutte Radius Compensation Example When deactivating cutte compensation (G40), cae must be taken in selecting a cleaance move. If the move is omitted, the contol will not cancel cutte adius compensation (and esulting axis motion) until a block with a non-zeo move component in the compensation plane is executed. Do not cancel cutte compensation on any line that is still cutting the pat. Cancel of cutte compensation may be a one- o two-axis move. When cutte compensation is active, the contol applies a vitual cutte of zeo diamete. The physical o actual diamete of the cutte is stoed in the contol by the opeato on the page that contains the cutte tool lengths and diametes. The tool length is addessed by an H wod, and the tool diamete is addessed by a D wod. A tool offset numbe (T wod) addesses both, using values stoed in the Tools page. Nomally the tool length and the tool diamete ae assigned the same tool offset numbe. Cutte compensation takes the stoed value fo the diamete and calculates the cutte path offset fom that value. Because of look-ahead, cae must be taken that pogammed moves do not violate the called-fo compensation. Compensation Requiements Plane Seveal paametes must be specified fo the compensation. Fist, the plane in which the compensation is to be pefomed must be set. Any plane in xyz-space may be specified. Executing G17/G18/G19 does this. Fo example, G17, by descibing a vecto paallel to the z-axis in the negative diection, specifies the xy-plane with the nomal ight/left sense of the compensation. (This same command also specifies the plane fo cicula intepolation.) 14 NC 32 Bit fo Mill Application

21 Radius The amount of compensation must be set using the d addess and data wod, as in: G42x.5d1. The units of the agument ae the use units of the x, y, and z-axes. Negative and zeo values fo adius ae possible, although not necessaily useful. Diection The diection of compensation is detemined by the G41/G42. As mentioned above, the compensation is tuned on by the s-274 G-codes G41 and G42, espectively. The compensation is tuned off by G-code G40. How PMAC Intoduces Compensation Any change in compensation is intoduced gadually and linealy ove the move immediately following the change. The change could be tuning compensation on, tuning compensation off, o changing adius. All ae teated the same as a change in compensation adius. When compensation is off, it is effectively zeo adius. When the diection of offset is changed (left to ight o vice vesa), the endpoint of the move is changed (extended o shotened) so that the next move will stat on the pope side of the cone. The path of the move to that point is not changed. When the change in compensation is intoduced ove a linea move, the compensated tool path will be at a diagonal to the pogammed move path. When the change in compensation is intoduced ove a cicula ac move, the compensated tool path will be a spial. Speed of Compensated Moves Tool cente speed fo the compensated path emains the same as that pogammed by the F paamete. On an ac move, this means that the tool edge speed (the pat of the tool in contact with the pat) will be diffeent fom that pogammed by the faction R tool /R ac. Teatment of Inside Cones Inside cones ae still subject to blending. The longe the acceleation time, the lage the ounding of the cone. (The cone ounding stats and ends a distance F*TA/2 fom the compensated, but unblended cone.) The geate the potion of the blending is S-cuve, the squae the cone will be. When coming to a full stop at an inside cone, PMAC will stop at the compensated, but unblended cone. Teatment of Outside Cones Fo outside cones, PMAC intoduces an ac move to cove the additional distance aound the cone. The stating and ending points fo the ac ae points offset fom the pogammed cone point, pependicula to the path on each side at the cone point, by an amount equal to the cutte adius compensation. The ac has its cente at the pogammed cone point. (Any outside cone with a change in angle less than 1 degee does not intoduce an ac; it simply blends the offset cone using TA and TS.) When coming to a full stop at an outside cone (e.g. Step, Quit, o DWE at the cone), PMAC includes the added ac move aound the outside of the cone befoe stopping. Syntax: G41/G42X_Y_F_D_ G40X_Y_F_ NC 32 Bit fo Mill Application 15

22 a) When going aound an inside cone i) inea inea ii) inea Cicula a a Pogammed path CC2 : Offset amount S Tool cente path CC2 S C Tool cente path Pogammed path b) When going aound the outside cone i) inea inea ii) inea Cicula CC2 a CC2 a Pogammed path C S Tool cente path C S C Tool cente path Pogammed path S = Intesection = inea C = Cicula Offset Stat-up (Sheet 1 of 2) 16 NC 32 Bit fo Mill Application

23 c) When going aound the outside of an acute angle i) inea inea ii) inea Cicula CC2 CC2 a a Pogammed path C C S Tool cente path S C Tool cente path Pogammed path d) When the tool goes aound the outside linea at an acute angle less than 1 degee, compensation is pefomed as follows S Tool cente path CC1 less than 1 deg. Pogammed path S = Intesection = inea C = Cicula Offset Stat-up (Sheet 2 of 2) NC 32 Bit fo Mill Application 17

24 a) When going aound an inside cone i) inea inea ii) inea Cicula a a Pogammed path CC2 S Tool cente path CC2 S C Tool cente path iii) Cicula inea iv) Cicula Cicula a Pogammed path a CC2 CC2 S Tool cente path S C C C Pogammed path Tool cente path v) Staight line to Staight line S Tool cente path C CC1 Pogammed path S Offset Mode (Sheet 1 of 3) 18 NC 32 Bit fo Mill Application

25 b) When going aound an outside cone at an obtuse angle i) inea inea ii) inea Cicula CC2 CC2 a Pogammed path a C Tool cente path C C Pogammed path Tool cente path iii) Cicula inea iv) Cicula Cicula CC2 CC2 C a Pogammed path C a C Tool cente path C C Pogammed path Tool cente path NOTE: When the change in angle is less than 1 (a>179 ), no cicula segment is added. Thee is simply the blending fom the incoming segment to the outgoing segment ove one TA time. Offset Mode (Sheet 2 of 3) NC 32 Bit fo Mill Application 19

26 c) When going aound an outside cone at an acute angle i) inea inea ii) inea Cicula CC2 CC2 S S a a Pogammed path C C Tool cente path Tool cente path Pogammed path iii) Cicula inea iv) Cicula Cicula C CC2 C CC2 C C a a Pogammed path C C C Tool cente path C Tool cente path Offset Mode (Sheet 3 of 3) Pogammed path 20 NC 32 Bit fo Mill Application

27 i) inea inea ii) inea Cicula CC2 CC2 C CC1 Tool cente path Pogammed path CC2 CC2 C Tool cente path CC1 Pogammed path iii) Cicula Cicula iv) Cicula Cicula Scoll Tool cente path Scoll Cicle C P P CC2 CC2 Tool cente path Pogammed path CC1 CC1 Pogammed path v) When an intesection is not obtained if offset is nomally pefomed i) inea inea S Pogammed pathcc2 CC1 CC1 Tool cente path S Offset vecto Pogammed path CC1 CC2 ii) inea Tool cente path Cicula S C Tool cente path = CCR S = Intesection = inea C = Cicula P = Paabloic CC1 CC2 Pogammed path C Change of Offset Diection CC2 C NC 32 Bit fo Mill Application 21

28 a) When going aound an inside cone i) inea inea ii) Cicula inea CC2 a a Pogammed path CC2 Tool cente path S CC0 S C CC0 Pogammed path Tool cente path b) When going aound the outside cone i) inea inea ii) Cicula inea CC2 a CC0 a CC0 Pogammed path CC2 Tool cente path S C C S C Pogammed pathtool cente path S = Intesection = inea C = Cicula Offset Cancel (sheet 1 of 2) 22 NC 32 Bit fo Mill Application

29 c) When going aound the outside of an acute angle i) inea inea ii) Cicula inea CC0 CC0 a a Pogammed path C C Tool cente path CC2 C CC2 Pogammed path Tool cente path d) When the tool goes aound the outside linea at an acute angle less than 1 degee, compensation is pefomed as follows S Tool cente path CC2 (CC0) less than 1 deg. Pogammed path S = Intesection = inea C = Cicula Offset Cancel (sheet 2 of 2) NC 32 Bit fo Mill Application 23

30 i) Machining an inside cone at a adius smalle than the cutte adius Tool cente path CC1 Pogammed path The PMAC does not stop, ovecutting occus ii) Machining a goove smalle than the tool diamete Tool cente path CC2 Pogammed path The PMAC does not stop, and ovecutting occus Ove cutting by Cutte Compensation (Sheet 1 of 2) 24 NC 32 Bit fo Mill Application

31 iii) When machining a step smalle than the tool adius Cicula movement CC2 Tool cente path Pogammed path PMAC backs up to coect when intesection is detemined (at 1 block ahead) The PMAC does not stop, and ovecutting occus iv) Machining small segments PMAC backs up to coect (at 1 block ahead) when intesection is detemined Many small segments The PMAC does not stop, and ovecutting occus The PMAC calculates tajectoy 2 blocks ahead. If the adius of compensation is sufficiently lage and pogammed segments ae shot. Ovecutting can occu. Tubo calculates in segments. If thee ae too many segments, ovecutting can occu. Ovecutting by Cutte Compensation (Sheet 2 of 2) G43/G44/G49 Tool ength Compensation + /- and Cancel Pogam zeo is a point of efeence fo coodinates in a pat pogam, usually fom a key location on the wok piece. The position of the tool s cente in X and Y does not change as the tool changes. In the Z- axis, this is not the case. If the length of the tool changes, so does the distance fom the tip of each tool to the pogam zeo point in Z. Note that each tool has a diffeent distance fom the tip of the tool to a suface on the pat. Tool length compensation lets the contol call out the Z axis movements in a pogam as the tool changes, although, physical intefeence poblems between the wok piece and the tool must still be ovecome by the pogamme. NC 32 Bit fo Mill Application 25

32 The pogamme initializes tool length compensation in each tool s fist Z-axis appoach move to the wok piece. This initialization command includes a G43/G44 wod and an H o T wod to invoke the desied tool offset. It must also contain a Z-axis positioning move. Tool length compensation is modal. Once instated it emains in effect until cancelled o changed. G49 cancels tool length compensation that is in effect. Syntax: G43Z G44Z Example Code: N020 G20 G90 G0 X0 Y0 N025 G43 Z0.25 H1 (move to z0+.25 with tool offset comp) N030 X1.125 Y2.25 G45/G46/G47/G48 Single Block Tool Offsets Single block incease and decease of stoed tool offset. It uses the last modal H code. G45 Incease offset by stoed value G46 Decease offset by stoed value G47 Incease offset by stoed value X 2 G48 Decease offset by stoed value X 2 Syntax: G45/G46/G47/G48 G50/G51 Coodinate Scaling G51 is coodinate scaling. X_Y_ Z_ is the cente of scaling. These paametes ae meaningful only in absolute mode. I_ J_ K_ is the scaling magnification of the X-, Y-, and Z-axis, espectively. When pefoming cicula intepolation specified by a Radius, the maximum value of the scaling magnification fo the appopiate plane is applied to the Radius component. Fo example, if the selected plane is the X- Z plane then the maximum magnification of X Z is used to scale R. ikewise. if the selected plane is the X-Y plane, the maximum magnification of Y is used to scale R. When pefoming cicula intepolation with I J K components, each component is magnified by its appopiate scale facto. Coodinate scaling is canceled with G50. Syntax: G51X_Y_Z_I_J_K_ G50 G50.1/G51.1 Coodinate Mioing G51.1 is mioing. X_Y_Z_ is the axis to mio about. The value of this paamete is meaningful only in absolute mode. It indicates the line about which mioing occus. In incemental mode, only the axis lette is meaningful and the actual value may be anything. Mioing is canceled with G50.1. G51 G-Code Values Mioed Pogam Positions Mioed Pogam Positions (Absolute Moves) (Incemental Moves) G1 G90 X0 Y0 X Y G1 G90 X0 Y0 G91 X Y G51.1 X3 X Y G51.1 X3 X Y X1 X Y X1 X Y Y1 X Y Y1 X Y G50.1 X Y G50.1 X Y Mioing is canceled with G50.1. Syntax: G51.1X Y Z G NC 32 Bit fo Mill Application

33 G52 ocal Coodinate System Set While pogamming in a wok coodinate system, it is sometimes moe convenient to have a common coodinate system within all the wok coodinate systems. This coodinate system is called a local coodinate system. The G52 specifies the local coodinate system. The ocal CS (X'Y') is offset fom the Wok CS (XY) by the vecto (A) that makes the cuent tool point in the ocal CS equal to the position wod in the G52 block (G52X100Y100). When a local coodinate system is set, the move commands in absolute mode (G90), which is subsequently commanded, as ae the coodinate values in the local coodinate system. The local coodinate system can be changed by specifying the G52 command with the zeo point of a now local coodinate system in the wok coodinate system. To cancel the local coodinate system, specify G52X0Y0. Syntax: G52X Y Z Example Code: N4 G0 G90 S500 M3 N5 G52 X.0157 Y Z0 ocal Coodinate System Example G53 Machine Coodinate Selection The machine zeo point is a standad point on the machine. A coodinate system having the zeo point at the machine zeo point is called the machine coodinate system. The tool cannot always move to the machine zeo point. The machine coodinate system is established when the efeence point etun is fist executed afte the powe is on. Once the machine coodinate system is established, it is not changed by eset, change of wok coodinate system (G92), local coodinate system setting (G52) o othe opeations unless the powe is tuned off. Occasionally it is necessay to move the axes to a specific position in elation to machine zeo and ignoe any tool and wok offsets that ae active. This is accomplished using G53 fo machine coodinate pogamming. Machine coodinates ae always expessed as absolute coodinates. If the G91 incemental mode is active, the G53 command is ignoed. All G92 codes and offsets ae ignoed. The intepolation mode must be eithe G00 o G01. The tool is moved to the absolute Machine coodinates expessed in the G53 block. Syntax: G53X Y Z Example Code: N4 G53 X0 Y0 Z0 NC 32 Bit fo Mill Application 27

34 G54-59 Wok Coodinate System 1-6 Selection Six coodinate systems pope to the machine tool ae set in advance, pemitting the selection of any of them by G54 to G59. Wok coodinate system 1 G54 Wok coodinate system 2 G55 Wok coodinate system 3 G56 Wok coodinate system 4 G57 Wok coodinate system 5 G58 Wok coodinate system 6 G59 The six coodinate systems ae detemined by setting distances (wok zeo offset values) in each axis fom the machine zeo point to thei espective zeo points. The offsets ae saved in the OFS page of the PMAC-NC pogam. Example Code: G55G00X20.0Z100.0; X40.0Z20.0; In the above example, positioning is made to positions (X=20.0, Z=100.0) and (X=40.0, Z = 20.0) in wok coodinate system 2. Whee the tool is positioned on the machine depends on wok zeo point offset values. Wok coodinate systems 1 to 6 ae established afte efeence point etun (o homing) afte the powe is tuned on. When the powe is tuned on, G54 coodinate system is selected by default. Syntax: G54-59 G61 Exact Stop Mode G61 causes a stop between block moves so that no cone ounding o blending between the moves is done (i.e. shap cones ae cut). When G61 is commanded, deceleation is applied to the end point of the cutting block, and the in-position check is pefomed evey block theeafte. The G61 is valid until G64 (cutting mode) o G73 (tapping mode) is commanded. Cutting mode (G64) is the statup default. Syntax: G61 Exact Stop Mode Example G64 Cutting Mode When G64 is commanded, deceleation at the end point of each block is not pefomed theeafte, and cutting is blended to the next block. This command is valid until G61 (exact stop mode), o G63 (tapping mode) is commanded. Howeve, in G64 mode, feed ate is deceleated to zeo and in-position check is pefomed in the following cases: Positioning mode (G00) Block with exact stop check (G09) Next block is a block without movement command Syntax: G64 28 NC 32 Bit fo Mill Application

35 G65 MACRO Instuction G68/G69 Coodinate System Rotation A pogammed shape can be otated about a point. By using this function, it becomes possible, fo example, to modify a pogam using a otation command when a wok piece has been placed with some angle otated fom the pogammed position on the machine. Futhe, when thee is a patten compising some identical shapes in the positions otated fom a shape, the time equied fo pogamming and the length of the pogam can be educed by pepaing a subpogam of the shape and calling it afte otation. The angle of otation (+ is the CCW diection) is commanded with a signed angle value in decimal degees using the R addess in the G68 block. The cente of otation is specified in the block with axis addess data; X, Y, and Z. Afte this command is specified, subsequent commands ae otated by the specified paametes. Command the angle of otation (R) within the ange of 360 to 360 degees. A otation plane must be specified (Gl7, G18, G19) when G68 is designated, though not equied to be designated in the same block. G68 may be designated in the same block with othe commands. Tool offsets, such as cutte compensation, tool length compensation, o tool offset is pefomed afte the coodinate system is otated fo the command pogam. The coodinate system otation is cancelled by G69. Syntax: G68X_Y_Z_R_ G69 Example Code: N4 G17 G69 X1 Y1 R90 (90 Degee otation, CCW in the XY plane, about X1Y1) G70 Bolt Hole Cicle Patten When commanded, the tool will fist dill a cente hole, and then dill holes located at points equally distibuted on the cicle. This G-code must be peceded by a valid canned dilling cycle (i.e., G81 ~ G88). The canned cycle G-code must pecede G70 to establish the method of dilling fo the patten cycle. The X_ and Y_ paametes specified on the line containing the G81 ~ G88 detemine whee the cente of the patten will eside. The dilling canned cycle cannot eside on the same line as the dilling patten cycle, G70. Syntax: G70 I_ J I: Radius of cicle must be geate than 0. J: Angle fomed by X-axis and vecto fom cente of cicle to stat point. : Numbe of points in the cicle. Pogamming Example: G83 X_ Y_ Z_ R G70 I3 J45 8 G80 G84 X_ Y_ Z_ R F_ P_ Q_ G70 I3 J45 8 G80 The code except above would fist dill the cente hole, then dill a hole at the points in the pictue with a peck dill cycle, then would tap holes with the tap dill cycle at the same points. NC 32 Bit fo Mill Application 29

36 G70.1 Bolt Hole, Cente Hole Ignoe Patten When commanded, the tool will fist locate, but not dill a cente hole, then dill holes located at points equally distibuted on the cicle. This G-code must be peceded by a valid canned dilling cycle (i.e., G81 - G88). The canned cycle G-code must pecede G70.1 to establish the method of dilling fo the patten cycle. The X_ and Y_ paametes specified on the line containing the G81 - G88 detemine whee the cente of the patten will eside. The dilling canned cycle cannot eside on the same line as the dilling patten cycle, G70.1. Syntax: G70.1 I_ J I: Radius of cicle must be geate than 0. J: Angle fomed by X axis and vecto fom cente of cicle to stat point. : Numbe of points in the cicle. Pogamming Example: G83 X_ Y_ Z_ R G70.1 I3 J45 8 G80 G84 X_ Y_ Z_ R F_ P_ Q_ G70.1 I3 J45 8 G80 The code except above would fist efeence, but not dill the cente hole, then dill a hole at the points in the pictue with a peck dill cycle, then would tap holes with the tap dill cycle at the same points. G71 Ac Patten When commanded, the tool is located at points distibuted equally on an ac. This G-Code must be peceded by a valid canned cycle (i.e. G81, G82, G83, G84, G85, G86, G87, G88). The canned cycle G- code must pecede G71 to establish the method of dilling fo the patten cycle. The X_ and Y_ paametes specified on the line containing G81- G88 detemine whee the cente of the patten will eside. The canned cycle G81 - G88 cannot eside on the same line as the patten cycle G71. Syntax: G71 I_ J_ K I: Radius of ac must be geate than 0. J: Angle fomed by X-axis and vecto fom cente of ac to stat point. : Numbe of points in the ac K: Angle between points on the ac Pogamming Example: G83 X_ Y_ Z_ R G71 I3 J0 8 G80 G70.1 G84 X_ Y_ Z_ R F_ P_ Q_ G71 I3 J0 8 G80 30 NC 32 Bit fo Mill Application

37 The code except above would fist dill a hole at the points in the pictue with a peck dill cycle then would tap holes with the tap cycle at the same points. G72 Bolt ine Patten When commanded the tool is located at points distibuted equally on a line. This G-Code must be peceded by a valid canned cycle (i.e. G81, G82, G83, G84, G85, G86, G87, G88). The canned cycle G- code must pecede G72 so as to establish the method of dilling fo the patten cycle. The X_ and Y_ paametes specified on the line containing G81- G88 detemine whee the stat of the patten will eside. The canned cycle G81 - G88 cannot eside on the same line as the patten cycle G72. Syntax: G72 I_ J I: Distance between dill points, must be geate than 0. J: Angle fomed by X-axis and vecto of line. : Numbe of points on the line. Pogamming Example: G83 X_ Y_ Z_ R G72 I1 J45 5 G80 G84 X_ Y_ Z_ R F_ P_ Q_ G72 I1 J45 5 G80 The code except above would fist dill a hole at the points in the pictue with a peck dill cycle, then would tap holes with the tap cycle at the same points. G80-89 Canned Cycles A canned cycle simplifies pogamming though the use of single G codes to specify machine opeations nomally equiing seveal blocks of NC code. The canned cycle consists of a sequence of five opeations as shown hee: 1. Position of axes 2. Rapid to initial point 3. Hole body machining 4. Hole bottom opeations 5. Retact to efeence point A canned cycle has a positioning plane and a dilling axis. The positioning plane is the G17 plane. The Z-axis is used as the dilling axis. Whethe the tool is to be etuned to the efeence point o to the initial point is specified accoding to G98 o G99. Use G99 fo the fist dilling and G98 fo the last dilling. When the canned cycle is to be epeated by in G98 mode, the tool is etuned to the initial level fom the fist time dilling. In the G99 mode, the initial level does not change even when dilling is pefomed. NC 32 Bit fo Mill Application 31

38 Canned Cycle Example The dilling data can be specified following the G and a single block can be fomed. This command pemits the data to be stoed in the contol unit as a modal value. The machining data in a canned cycle is specified as shown below. G80 Canned Cycle Cancel Cancels any active canned cycles. G81 Dilling Cycle When this cycle is commanded, the tool is located to the specified X, Y at apid tavese ate, followed by a apid tavese to the R-value. Nomal dilling is then pefomed at the specified feedate to the specified Z position. The tool is then immediately etacted fom the bottom of the hole at apid tavese ate. The etun point in Z is eithe the value of Z when the canned cycle is called if G98 mode is active. Othewise, the etun point in Z is the value of R specified on the G81 line if G99 mode is active. This cycle will occu on evey line, which includes an X and Y move, until the mode is canceled with G80 canned cycle cancel. Syntax: G81 X_ Y_ Z_ R_ F X: Cente location of hole along X Y: Cente location of hole along Y Z: Depth to dill to R: Refeence plane in Z F: Cutting feedate : Numbe of epeats Pogamming Example: G99G81X-3.Y-2.75Z-0.05R0.1F2502 X-2.75 X-2.52 X-2.25 G80 32 NC 32 Bit fo Mill Application

39 Dilling Cycle with G99 Active Pogamming Example: G98G81X-3.Y-2.75Z-0.05R0.1F25.02 X-2.75 X-2.52 X-2.25 G80 Dilling Cycle with G98 Active G82 Boing, Spotfacing, Counte Sinking Cycle (Fee Cutting) When this cycle is commanded, the tool is located to the specified X, Y at apid tavese ate, followed by a apid tavese to the R-value. Nomal dilling is then pefomed at the specified feedate to the specified Z position. A dwell then occus at the bottom of the hole fo P seconds. The tool is then etacted fom the bottom of the hole at apid tavese ate. The etun point in Z is eithe the value of Z when the canned cycle is called if G98 mode is active. Othewise, the etun point in Z is the value of R specified on the G82 line if G99 mode is active. This cycle occus on evey line that includes an X and Y move until the mode is canceled with G80 canned cycle cancel. Syntax: G82 X_ Y_ Z_ R_ F X: Cente location of hole along X Y: Cente location of hole along Y Z: Depth to dill to R: Refeence plane in Z F: Cutting feedate : Numbe of epeats P: Numbe of seconds of bottom dwell NC 32 Bit fo Mill Application 33

40 Pogamming Examples: G99G8.2X-3Y-2.75Z-0.05R0.1F25.02P2 X-2.75 X-2.52 X-2.25 G80 Pogamming Examples: G98G8.2X-3Y-2.75Z-0.05R0.1F25.02P2 X-2.75 X-2.52 X-2.25 G80 Boing, Spotfacing, Counte Sinking Cycle with G99 Active Boing, Spotfacing, Counte Sinking Cycle with G98 Active G83 Deep Hole (Peck) Dilling Cycle When this cycle is commanded, the tool is located to the specified X, Y at apid tavese ate, followed by a apid tavese to the R-value. Nomal dilling is then pefomed at the specified feedate to a depth of K below the R-value. The tool is then etacted fom the bottom of the hole at apid tavese ate to the R- value. The tool is then moved at apid tavese ate to the height of the last dilling plus the R paamete. Nomal dilling is then epeated to a depth of K below the last hole. The tool is then once again etacted fom the bottom of the hole at apid tavese ate to the R-value. This patten is epeated until the depth of the Z paamete is achieved. This cycle pemits intemittent cutting feed to the bottom of the hole, to assist in emoving chips fom the hole. 34 NC 32 Bit fo Mill Application

41 The etun point in Z is the value of Z when the canned cycle is called if G98 mode is active. Othewise, the etun point in Z is the value of R specified on the G83 line if G99 mode is active. This cycle occus on evey line that includes an X and Y move until the mode is canceled with G80 canned cycle cancel. Syntax: G83X_ Y_ Z_ R_ F K_ X: Cente location of hole along X Y: Cente location of hole along Y Z: Depth to dill to R: Refeence plane in Z F: Cutting feedate : Numbe of epeats K: Peck depth Pogamming Examples: G83X-2Y-1Z-0.600K0.150R0.1F25 G80 G98 G83X-2Y-1Z-0.600K0.150R0.1F25 G80 Deep Hole (Peck) Dilling Cycle Example G84 Tapping Cycle When this cycle is commanded, the tool is located to the specified X, Y at apid tavese ate, followed by a apid tavese to the R-value. inea movement is then pefomed at the pogammed feedate to the specified Z position. At this point a dwell of P seconds occus. The spindle diection is then evesed and Z is fed linealy to the R-value. The etun point in Z is the value of Z when the canned cycle is called if G98 mode is active. Othewise, the etun point in Z is the value of R specified on the G84 line if G99 mode is active. This cycle occus on evey line that includes an X and Y move until the mode is canceled with G80 canned cycle cancel. Duing this cycle, manual feedate oveide is ignoed. Syntax: G84 X_ Y_ Z_ R_ F P_ X: Cente location of hole along X Y: Cente location of hole along Y Z: Depth to dill to R: Refeence plane in Z F: Cutting feedate, IPM (RPM * (1 / numbe of theads pe inch)) : Numbe of epeats P: Dwell in seconds at bottom of Z tavel NC 32 Bit fo Mill Application 35

42 Pogamming Examples: G99 G84X-2Y-1Z-0.5Q1R0.1F15.625P.5 X-3 Y-1 G80 G98 G84X-2Y-1Z-0.5Q1R0.1F15.625P.5 X-3 Y-1 G80 Tapping Cycle Example G85 Reaming, Boing Cycle When this cycle is commanded, the tool is located to the specified X, Y at apid tavese ate, followed by a apid tavese to the R-value. inea movement is then pefomed at the pogammed feedate to the specified Z position. Z is then fed linealy to the R-value. The etun point in Z is the value of Z when the canned cycle is called if G98 mode is active. Othewise, the etun point in Z is the value of R specified on the G85 line if G99 mode is active. This cycle occus on evey line that includes an X and Y move until the mode is canceled with G80 canned cycle cancel. Duing this cycle, manual feedate oveide is ignoed. Syntax: G85 X_ Y_ Z_ R_ F X: Cente location of hole along X Y: Cente location of hole along Y Z: Depth to dill to R: Refeence plane in Z F: Cutting feedate : Numbe of epeats Pogamming Examples: G99 G85X-3.Y-2.75Z-0.005P.5R0.1F25.0 X-2.75 X-2.5 G80 G98 G85X-3.Y-2.75Z-0.005P.5R0.1F25.0 X-2.75 X-2.5 G80 G86 Boing Cycle (Finishing cut) 36 NC 32 Bit fo Mill Application

43 When this cycle is commanded, the tool is located to the specified X, Y at apid tavese ate, followed by a apid tavese to the R-value. inea movement is then pefomed at the pogammed feedate to the specified Z position. At this point, the spindle is stopped and a dwell of P seconds will occu. Z is then fed apidly to the R-value. The etun point in Z is eithe the value of Z when the canned cycle is called if G98 mode is active. Othewise, the etun point in Z is the value of R specified on the G85 line if G99 mode is active. This cycle occus on evey line that includes an X and Y move until the mode is canceled with G80 canned cycle cancel. Duing this cycle, manual feedate oveide is ignoed. Reaming, Boing Cycle Example Syntax: G86 X_ Y_ Z_ R_ F_ P X: Cente location of hole along X Y: Cente location of hole along Y Z: Depth to dill to R: Refeence plane in Z F: Cutting feedate P: Dwell in seconds at the bottom of the cut : Numbe of epeats Pogamming Examples: G99 G86X-3.Y-2.75Z-0.005P.5R0.1F25.0 X-2.75 X-2.5 G80 G98 G86X-3.Y-2.75Z-0.005P.5R0.1F25.0 X-2.75 X-2.5 G80 NC 32 Bit fo Mill Application 37

44 Finishing Cut Boing Cycle Example G87 Boing Cycle (Manual o Pogammed Quill Retun) When this cycle is commanded, the tool is located to the specified X, Y at apid tavese ate, followed by a apid tavese to the R-value. inea movement is then pefomed at the pogammed feedate to the specified Z position. At this point the spindle is stopped. The Z-axis is etuned eithe manually o with pogammed instuctions. Syntax: G87 X_ Y_ Z_ R_ F X: Cente location of hole along X Y: Cente location of hole along Y Z: Depth to dill to R: Refeence plane in Z F: Cutting feedate : Numbe of epeats Pogamming Examples: G99 G87X-3.Y-2.75Z-0.005P.5R0.1F25.0 X-2.75 X-2.5 G80 G98 G87X-3.Y-2.75Z-0.005P.5R0.1F25.0 X-2.75 X-2.5 G80 Manual o Pogammed Quill Retun Example 38 NC 32 Bit fo Mill Application

45 G88 Boing Cycle (Fee Cutting, Manual o Pogammed Quill Retun) When this cycle is commanded, the tool is located to the specified X, Y at apid tavese ate, followed by a apid tavese to the R-value. inea movement is then pefomed at the pogammed feedate to the specified Z position. At this point, a dwell of P seconds is pefomed and then the spindle is stopped. The Z-axis is etuned eithe manually o with pogammed instuctions. Syntax: G88 X_ Y_ Z_ R_ F_ P X: Cente location of hole along X Y: Cente location of hole along Y Z: Depth to dill to R: Refeence plane in Z F: Cutting feedate P: Dwell in seconds at the bottom of the cut : Numbe of epeats Pogamming Examples: G99 G88X-3.Y-2.75Z-0.005P.5R0.1F25.0 X-2.75 X-2.5 G80 G98 G88X-3.Y-2.75Z-0.005P.5R0.1F25.0 X-2.75 X-2.5 G80 Fee Cutting, Manual o Pogammed Quill Retun Example G89 Boing Cycle (Finishing Cut, Fee Cutting) When this cycle is commanded, the tool is located to the specified X, Y at apid tavese ate, followed by a apid tavese to the R-value. inea movement is then pefomed at the pogammed feedate to the specified Z position. At this point a dwell of P seconds is pefomed. Z is then fed linealy to the R- value. The etun point in Z is the value of Z when the canned cycle is called if G98 mode is active. Othewise, the etun point in Z is the value of R specified on the G85 line if G99 mode is active. This cycle occus on evey line that includes an X and Y move until the mode is canceled with G80 canned cycle cancel. Duing this cycle, manual feedate oveide is ignoed. Syntax: G88 X_ Y_ Z_ R_ F_ P X: Cente location of hole along X Y: Cente location of hole along Y Z: Depth to dill to NC 32 Bit fo Mill Application 39

46 R: Refeence plane in Z F: Cutting feedate P: Dwell in seconds at the bottom of the cut : Numbe of epeats Pogamming Examples: G99 G88X-3.Y-2.75Z-0.005P.5R0.1F25.0 X-2.75 X-2.5 G80 G98 G88X-3.Y-2.75Z-0.005P.5R0.1F25.0 X-2.75 X-2.5 G80 Finishing Cut, Fee Cutting Example G90/G91 Absolute/Incemental Mode Pogam commands fo movement of the axes may be pogammed eithe in incemental movement commands o in absolute coodinates. The absolute mode is selected automatically when the powe is tuned on o the contol is eset. In the absolute mode (G90), all axis wod dimensions ae efeenced fom a single pogam zeo point. The algebaic signs (+ o -) of absolute coodinates denote the position of the axis elative to pogam zeo. In the incemental mode (G91), the axis wod dimensions ae efeenced fom the cuent position. The input dimensions ae the distance to be moved. The algebaic sign (+ o -) specifies the diection of tavel. Syntax: G90 (Absolute mode) G91 (Incemental mode) Example Code: N020 G20 G90 G0 X0 Y0 (inch, abs, apid to wok piece x,y zeo psn) N025 G43 Z0.25 H1 N030 X1.125 Y2.25 G90.1/G91.1 Ac Radius Abs/Inc Mode Pogam commands fo movement of the axes may be pogammed eithe in incemental o absolute movement commands. Syntax: G90 (Absolute mode) G91 (Incemental mode) 40 NC 32 Bit fo Mill Application

47 G92 Wok Coodinate System Set This command establishes the wok coodinate system so that a cetain point of the tool (e.g. tool tip) becomes IP in the established wok coodinate system. Any subsequent absolute commands use the position in this wok coodinate system. Meet the pogamming stat point with the tool tip and command G92 at the stat of pogam (G92X25.2Z23.0). When ceating a new wok coodinate system with the G92 command, a cetain point of the tool becomes a cetain coodinate value; theefoe, the new wok coodinate system can be detemined iespective of the old wok coodinate system. If the G92 command issued to detemine a stat point fo machining based on wok pieces, a new coodinate system can be ceated even if thee is an eo in the old wok coodinate system. If the elative elationships among the G54 to G59 wok coodinate systems ae coectly set at the beginning, all wok coodinate systems become new coodinate systems as desied. Syntax: G92X Y Z Example Code: N4 G53X0Y0Z0 N5 G92X0 Y N6 Z.1 H1 M8 Wok Coodinate System Set Example G93 Invese Time Feed G93 specifies invese time mode: move is specified by move time. F wod is in time units of seconds and is deived fom the Rate x Time = Distance equation applied to the specific block move: ( X in / F ipm ) x 60 = T sec Example: Assume X is at zeo. Specify the following as Invese Time. G01X1F100 a. Solve fo move time. F ipm = 100; X in = 1 T sec = (1 100) x 60 =.6sec. b. Recode the block G01G93X1F0.6 Syntax: G93F_ NC 32 Bit fo Mill Application 41

48 G94/G95 Feed Pe Min/Feed Pe Rev The G94 pepaatoy function code specifies the feed ate in tems of vecto pe unit time. The G95 pepaatoy function code specifies feed ate in tems of vecto feed pe spindle evolution. The G94 and G95 pepaatoy functions ae modal and emain in effect until eplaced by the opposite code. The mode is set to G94 by powe on, data eset and the M30 code. Syntax: G94/G95 G98/G99 Canned Cycle Retun Point Used in a canned cycle block to detemine the etun point. G98: Initial point. G99: cleaance plane o efeence point. G98 causes the tool to etun to the point fom which it was fist called. G99 causes the tool to etun to the point specified by the R addess. Syntax: G98/G99 Example Code: N4 X0Y0 N5 G98 N6 G81X1 Y1R0.1Z-3... N4 Z5 N5 G99 N6 G81X1Y1R0.1Z-3 M Code ibay CNC M-Codes PMAC NC 32 fo Windows Machining Cente M & T Code ibay G-Code M00 M01 M02 M03 M04 M05 M06 M08 M09 M19 M30 M87 M88 M98 M99 Valid As Of 6/1/99 Bold indicates Default M Codes used at statup Function Pogam Stop Optional Stop Pogam End & Rewind Spindle CW Spindle CCW Spindle Stop Tool Change Coolant On Coolant Off Spindle Oient Pogam End & Rewind Stat Data Gatheing End Data Gatheing Subpogam Call Subpogam Retun M00 Pogam Stop Unconditional stop of pat pogam at cuent block. The coolant and spindle ae stopped with this command. Machine state does not change until estat o ewind. 42 NC 32 Bit fo Mill Application

49 M01 Optional Stop Same as M00, but conditional on Optional stop switch setting. Example:... X-1.25 X-1. G80 M1 (OPT STOP M1) M02 Pogam Rewind This esets the pogam buffe to the beginning of the pogam, cancels tool compensation and esets coolant and spindle to off. Example:... G0G49X0Y0Z0 Z.5M5M9 G90G0G49M5M9 X0Y0Z0 M2 M03 Spindle Clockwise Stats the spindle in the clock-wise diection (CW) using the cuent setting fo speed. Example:... N30 G54 G0 X Y N40 S5000 M3 T1 N50 G43 H1 Z.1... M04 Spindle Counteclockwise Stats the spindle in the counte-clockwise diection (CCW) using the cuent setting fo speed. M05 Spindle Stop Tuns off the coolant and stops the spindle. Example:... N1940 G28 X0. Z0. N1945 M5 N1947 G4 X2. N1950 M2... tool change lighted pushbutton. Example: M06 Tool Change Moves to the tool change position and blinks the... G0G49X0Y0 T3M6 M3S100 M8 G0X1.5Y Note: The tool change position is above the home position. NC 32 Bit fo Mill Application 43

50 M08 Coolant On Engages the coolant pump. Example:... G43Z0.5H10 M8... M09 Coolant Off Disengages the coolant pump. Example:... X Y G2X Y I J G0Z0.5M5M9... M19 Spindle Oient The spindle otates to a known angle. Example:... X Y M19 Z M30 End of Pogam (and Rewind) Same as M2. Example:... Z.5M5M9 G90G0G49M5M9 X0Y0Z0 M30 M87 Stat Data Gatheing Setup the Data Gatheing buffe and begin gatheing data. Example:... Z.5M5M9 G90G0G49M5M9 X0Y0Z0 M87 M88 End Data Gatheing End the Data Gatheing. Example:... Z.5M5M9 G90G0G49M5M9 X0Y0Z0 M88 44 NC 32 Bit fo Mill Application

51 M98 Suboutine Call Syntax M98 [l ] [P ] [;] M98 [ ] (C:\ ) [;] M98 [ ] [O ] [;] Whee: - specifies the numbe of times to execute the pogam O - specifies a pogam name of the fom O.nc P - specifies a pogam name of the fom P.nc (C:\ ) - specifies a pogam name as a path and filename in a comment. Desciption M98 is the NC pogam s method of tansfeing contol to anothe pogam fom an executing pogam. When an M98 command is encounteed in a cuently executing pogam (the calling pogam), contol is tansfeed to the specified pogam in the M98 block, the called pogam. The name of the calling pogam is saved by the Contol. The called pogam can tansfe contol back to the calling pogam with an M99 block. Thee ae thee ways of specifying a called pogam in an M98 block: 1. P Code specification 2. Comment specification 3. Code specification P Code Specification: The most used and standad method is by efeencing a pogam numbe with a P addess code. This is the method that is suggested if unning the pogams on othe contols. When the contol sees a Pnnnn code on the M98 line, it constucts a filename fom the numbe following the P addess code. The filename is of the following fom: Onnnn.nc. The nc pat of the filename is called the file extension. By default the file extension is nc. The contol then seaches the diectoy that the calling pogam was executed fom fo the pogam that has that filename. If the pogam is not found, an alam is issued and pogam execution stops. Othewise, that pogam is loaded and pogam execution continues fom the fist block in the called pogam, the suboutine. Comment Specification: Anothe way to specify a pogam is by specifying a full path and filename in a comment that is on the M98 line. This is a way to tansfe contol to outines that ae not in the same diectoy as the calling outine. All that is necessay is to place a valid file path name in the comment. If the path o filename is invalid, then an alam is issued. Note: When specifying a filename explicitly (C:SUBPROG.NC), the full path is not necessay. If the full path is not specified, NCUI will look fo the file in the diectoy specified by the Stat in popety of the windows shotcut that launched the pogam. O Code Specification: When neithe of these methods is pesent in a block, the contol constucts a filename using the numbe associated with the most ecently invoked O addess code. This means that O can be used just like a P code. Note: When in MDI mode, the calling pogam exists in the diectoy specified by the Stat in popety of the windows shotcut that launched the NCUI. This means that when in MDI mode the subpogams identified by an O should eside in the Stat in diectoy. MDI mode does not suppot subpogams calls, such as M98P100. NC 32 Bit fo Mill Application 45

52 Note: If a P code o comment on an M98 line is missing and thee is an O code at the top of the pogam, the pogam will be called again ecusively. If moe than one of these methods exists, the contol selects a method based on pioity. Only one method is selected. The pioities ae fist P code, then Comment, and finally O code. So if thee is a P and O addess code on the same block, the P code is used to constuct a filename fo pogam execution. A called pogam (suboutine) can etun contol back to the calling pogam by executing an M99. The numbe of suboutines that can be nested is limited only by PC memoy. Howeve, nest no moe than ten levels deep. This value is often encounteed in othe contols. A suboutine can be called moe than once within the same block. This is called looping. The numbe of loops is specified with the addess code. M98 P10 4; would execute pogam O10.nc fou consecutive times. Examples Pogam O98.nc calls O100.nc once and PRG.nc 100 times. Pogam O98.nc --- % O98 (Suboutine call example) ; G04 X1 ; M98 P100 ; M98 (C:\CNC\PRG.NC) 100 ; G04 x2 ; M30 ; % Pogam O100.nc in the same diectoy as pogam O10.nc --- % O100 G91 G81 X.5Z-1.0 F30; G90 M99 ; % PRG.NC is an NC pogam with a M99 fo a etun fom subpogam. --- % (PRG.NC) G1 X5 Z5 ; (... ) ; G0 X2 ; M99 ; % M99 Retun fom Suboutine Syntax M99 [ ] [P ] [;] Whee: - specifies the numbe of times to execute the pogam P - specifies a pogam block to banch to. Desciption M99 tansfes pogam contol to a calling pogam o to a diffeent location of the cuent pogam being executed. The action of M99 is diffeent depending on whethe M99 is encounteed in a suboutine o in the main pogam. 46 NC 32 Bit fo Mill Application

53 Suboutine pogam action of M99: If M99 is encounteed in a subpogam and no o P addess code is in the block, pocessing is tansfeed to the fist block afte the M98 block o the calling pogam that called the cuent pogam. If an is on the M99 line, the suboutine esumes execution at the fist block of the suboutine and loops times. This oveides any in the calling M98 block. In a suboutine, contol is always tansfeed to the fist block, even if thee is a P on the M99 line. If a P addess code is on the M99 line in a suboutine, execution is esumed in the calling pogam, not at the line afte the M98 call, but at the fist N addess code found afte the M98 call matching the P addess code. The contol seaches fom the fist block afte the block with the M98 addess code to the end of the pogam, and then continues fom the top of the pogam to the block containing the M98. If no match is found an alam is issued the pogam execution stops. Main pogam action of M99: If M99 is encounteed in the main pogam and no o P code is in the block, pocessing is tansfeed to the fist block of the pogam. In this manne a pogam can be commanded to loop indefinitely. If an is on the M99 line, the pogam loops times and then executes an M30. If a P addess code is on the M99 line, pocessing is tansfeed to a block that contains a matching N addess code. The contol seaches fom the fist block afte the block with the M99 addess code, to the end of the pogam and then continues fom the top of the pogam to the block containing the M99. Contol is tansfeed to the fist block found with a matching N addess code in it. If no match is found, an alam is issued and pogam execution stops. Examples: Pogam O99.nc pefoms initialization and loops indefinitely. --- Pogam O99.nc --- % O99 (M99 example) ; ( ) ; (Initialization code. Executed one time only) ; ( ) ; N50 ; ( ) ; (The pat pogam. Executed indefinitely) ; ( ) ; M99 P50 ; % Pogam O990.nc calls O991.nc twice. Each time O991.nc loops 5 times and etuns. Pogam O990.nc % O990 (M99 example) G90 M98 O991 G0 X-5.0 ' M98 P991 M30 % Pogam O991.nc. Called by O990.nc % O991 (Suboutine) G91 G81 X.5 Z-.5 F30.0 ; NC 32 Bit fo Mill Application 47

54 X.4 ; X,2 ; G90 G80 M99 5 ; % T-Codes T-Code Fomat Tnn Whee nn specifies tool numbe fom the Tools page in the NC display. Example: (TOO 4 =.437 DRI) (TOO 3 = 1/2-13 TAP) G90G80G49G40G20G17G56 T4M6 M3S3000 M8 G0X1.5Y Miscellaneous Block Delete Chaacte: / Pevents execution of the block when Block Delete is on. Must be the fist chaacte in the block. 48 NC 32 Bit fo Mill Application

55 PARAMETRIC PROGRAMMING Intoducing Paametic Pogamming Paametic pogamming is an extension to NC (Numeic Contol) pogamming. It gives the pogamme of NC poducts the ability to use vaiables and to pefom conditional banching within an NC pogam. Suboutines ae extended to accept aguments. Pedefined functions such as sine and cosine can be used. Expessions can be evaluated. With paametic pogamming it is possible to ceate libaies of outines that can be used and eused. Custom canned cycles and families of pats can be pogammed with less effot. Paametic pogamming inceases the poductivity and vesatility of machine tools and educes the cost of machined poducts. Paametic pogamming is not meant to be used in lieu of CADCAM systems. It is povided to add flexibility to the NC contol and to povide compatibility to contols that have made use of paametic pogamming in the past. Delta Tau offes two foms of paametic pogamming. The pogamme has the ability to pogam in PMAC native code, o he can pogam in FANUC compatible (macos) paametic pogamming. This section descibes the paametic pogamming that is compatible with FANUC maco code. Example Pogams This section contains example pogams. Seveal applications ae pesented hee to give an idea of the powe of paametic pogamming. Each pogam is descibed by thee paagaphs. Pupose explains the pogam and includes suppoting documentation to fully explain the pogam. Routines contains commented listings of suppoting outines used in the main pogam. Pogam is a commented listing of the main pogam. The following is a list of example pogams displayed in this section: Cleaing global vaiables Dilling custom bolt-hole pattens Simple pocket milling Cleaing Global Vaiables Pupose: This is an example of how to initialize vaiables. The pogam calls a genealized suboutine that initializes a ange of vaiables. The pogam is identified on disk as O100.NC and the paametic suboutine as O9400.NC. Stat and ending numbes define the ange of vaiables. If no value is passed in agument V, the ange is initialized to #0 which indicates that the vaiables value is undefined. If the ange of vaiables is invalid an alam is geneated. The ange checking is not necessay in the sense that if an invalid vaiable is passed, the contol will automatically alam. In a suboutine like the one below, the ange of vaiables may be limited to potect vaiables eseved fo the application. Routines: % O9400 (Init vaiables); (V=value to wite to ange of vaiables); (S=vaiable numbe to stat witing to); (E=vaiable to end witing to); (Wite V into vaiables stating with S thu and including); (Vaiable E. S must be less than e and both aguments must); (be supplied and valid. V is always used to wite to vaiables); IF [#19 EQ #0] GOTO N9410 (S not passed); IF [#8 EQ #0] GOTO N9410 (E not passed); (Invalid S agument); IF [[#19 GE 1] AND [#19 E 33]] GOTO 9402 (1..33 is OK); IF [[#19 GE 100] AND [#19 E 199]] GOTO 9402 ( is OK); Paametic Pogamming 49

56 IF [[#19 GE 500] AND [#19 E 599]] GOTO 9402 ( is OK); GOTO 9420 (ERROR) N9402 (Invalid E agument); IF [[#8 GE 1] AND [#8 E 33]] GOTO 9404 (1..33 is OK); IF [[#8 GE 100] AND [#8 E 199]] GOTO 9404 ( is OK); IF [[#8 GE 500] AND [#8 E 599]] GOTO 9404 ( is OK); GOTO 9420 (ERROR) N9404 IF [#19 GE #8] GOTO N9420 (ERROR IF S>=E); WHIE [#19 E #8] DO1; #[#19]=#22 (Assign V to vaiables S thu E); #19=#19+1; (Incement destination); END1; GOTO 9499 (successful etun); (Alams follow); N9410 #3000=941(Missing agument); N9420 #3000=942(Vaiable ange definition eo); N9499 M99; % Pogam: % O94 (Main pogam that demonstates vaiable initialization) G65 P9400 S500 E589 (Global vaiables ae undefined) G65 P9400 S590 E599 V0.0 (set to 0.0) G65 P9400 S500 E600 (Geneates an alam) M30 % Dilling Custom Bolt-Hole Pattens Pupose: This example shows how to pogam a outine to dill and tap a custom bolt hole patten. Hee, the bolt hole patten is fo a standad clamp that may be used in holding pats on a fixtue. The suboutine can be saved and used late fo dilling the bolt holes on othe fixtues. The bolt-hole patten is a simple ectangula patten. The absolute position of the cente of the bolt-hole patten is passed in aguments X and Y. The height and width of the bolt spacing is passed as aguments H and W. The otation of the patten is passed in A. The initial position plane is passed in R and the incemental hole depth fom R is passed in Z. Assume ¼-20 tap is being used. To use this outine, thee must be a dill and tap set up in tool holdes 1 and 2 and the appopiate aguments must be passed. This outine could be impoved by adding a cente dilling opeation o by passing a feed ate paamete to accommodate vaious mateials. 50 Paametic Pogamming

57 Routines: % O9600 (Dill and tap a ectangula bolt-hole patten); (X=Absolute X location of cente of bolt-hole patten); (Y=Absolute Y position of cente of bolt-hole patten); (H=Y distance between holes with 0 otation) (W=X distance between holes with 0 otation); (A= Angula otation of patten in degees); (R = Retun plane of efeence, Z stat plane); (Z = Incemental Z depth to tap holes); (Assume ¼-20 tap is to be made); (Geneate fou tapped holes given the location of the cente of the ectangula patten, the otation and); (the depth of the holes. If X and Y ae not passed, assume cente is at cuent location); (if A is not passed, assume no otation; if R is not passed, assume R is at cuent Z position) If [#11 EQ #0] GOTO9610 (H not passed); If [#23 EQ #0] GOTO9620 (W not passed); If [#26 EQ #0] GOTO9630 (Z not passed); (Recod R, X, and Y; if they ae not passed); If [#24 EQ #0] then #24=#5041 (cuent X position); If [#25 EQ #0] then #25=#5042 (cuent Y position); If [#18 EQ #0] then #18=#5043 (cuent Z position); (Calculate X and Y offset fom cente using H and W); #31=#11/2; #32=#23/2; (Move to tool change position) G0 G53 Z0 G0 G53 X0 Y0 (Select dill T1, #7.201 dill) T1 M06 S1000 M3 (spindle on) M8 (coolant on) G0 X#24 Y#25 (move to XY location); Z#26 (move to R plane); (Rotate if equested); IF [#1 EQ #0] GOTO9602 G68 R#1; N9602 (Dill fou holes at incemental offsets fom cente); G81 X[#24+#31] Y[#25+#32] Z#26 F5. (uppe ight); X[#24 - #31] Y[#25 +#32] (uppe left); X[#24 - #31] Y[#25 - #32] (lowe left); X[#24 + #31] Y[#25 - #32] (lowe ight); G69 (cancel otation); M5 (spindle off); M9 (coolant off); (Move to tool change position) G0 G53 Z0 G G53 X0 Y0 (Select dill T2, ¼-20 TAP) T2 M06 Paametic Pogamming 51

58 S100 M3 (spindle on) M8 (coolant on) G0 X#24 Y#25 (move to XY location); Z#26 (move to R plane); (Rotate if equested); IF [#1 EQ #0] GOTO9604 G68 R#1; N9604 (Tap fou holes at incemental offsets fom cente); G84 X[#24+#31] Y[#25+#32] Z[#26-.2] F5. (uppe ight); X[#24 - #31] Y[#25 +#32] (uppe left); X[#24 - #31] Y[#25 - #32] (lowe left); X[#24 + #31] Y[#25 - #32] (lowe ight); G69 (cancel otation); M5 (spindle off); M9 (coolant off); GOTO 9699 (successful etun); (Alams follow); N9610 #3000=961(missing H); N9620 #3000=962(missing W); N9630 #3000=963(missing Z); N9699 M99; % Pogam: % O96 (main pogam that demonstates bolt-hole pattens); G65 P9600 X1.0 Y1.0 H1.25 W1.75 Z-.75 (clamp 1); G65 P9600 X7.0 Y8.0 H1.25 W1.75 Z-.75 A-135 (clamp 2); M30 % Paametic Suboutines A paametic suboutine is an extended vesion of an M98 suboutine. The following list identifies the featues that make up a paametic suboutine. Numeic aguments can be passed fom the calling pogam to the suboutine. Each suboutine called has access to its own pivate vaiables that ae not alteed by othe suboutine calls. These vaiables ae local to the suboutine. Suboutines can be aliased. The paametic suboutine is invoked with a line containing G65 and a P code. Example: N100 G65 P50 A1.0 B2.0 C3.0 In the above example, block 100 invokes pogam 50 as a paametic pogam. It passes to pogam 50 aguments A, B and C. The G65 command loads the suboutine into memoy and allocates a set of local vaiables fo its use. The local vaiables of the calling outine ae saved and ae estoed when the suboutine etuns with an M99. This concept of saving and estoing of local vaiables is known as nesting. The Delta Tau NC nesting is limited to fou levels. The main pogam is consideed to be nesting level 0. Following is an example of how nesting takes place and how vaiables ae allocated in G65 and M98 suboutines. 52 Paametic Pogamming

59 Thee ae 33 local vaiables allocated when G65 is invoked. They ae initialized to an undefined value, indicating that they have no value assigned to them. This value is called undefined and its symbol is #0. If aguments ae passed to the suboutine, the values of the aguments ae stoed into the local vaiables of that suboutine. Addess codes G,, N, O and P cannot be used as aguments. Refe to the section on local vaiables fo moe infomation. Vaiables Vaiables ae what make paametic pogamming possible. Vaiables ae used to eplace liteal values in the pogams. A liteal value is a constant that cannot be changed. Example: G1 X1.2 Y3.5 (examples of liteal constants) #1=1.2 #2=3.5 G1 X#1 Y#2 (example of eplacing liteals with vaiables) Vaiables can be modified in a pogam by using assignment statements. Vaiables ae floating point numbes. They ae efeenced by using a #<intege> notation whee <intege> is a positive integal numbe. The value of <intege> is esticted (i.e. only values defined in this manual can be used). Vaiables can be accessed in an indiect method by eplacing <intege> with [<exp>], whee <exp> is any expession. The following all efe to the same vaiable. Example: #1 #[1] #[[1+2+3]/6] #2=1 #[#2] #[SIN[90.0]] Paametic Pogamming 53

60 Vaiables can be used in conditional expessions, assignment expessions, GOTO expessions and addess code expessions. Example: IF [#1 EQ 3.0] GOTO#5; #3=#3+2; G1 X#1 Y-#2 Z#3; The categoies of vaiables in a FANUC compatible paametic pogam ae: Undefined #0 ocal Common System Each categoy is discussed in detail below. In ode to detemine if a pogam is executing coectly, it is necessay to be able to view vaiables as they ae being modified in the pogam. The paamete display is ideal fo this. Sceens fo displaying ocal and Common vaiables ae pedefined on the paamete display. Refe to the Paamete Display section fo details on how to access and use this useful tool. Undefined #0 A vaiable that has not been assigned a value is called undefined. It is efeenced in an NC pogam with #0. Undefined vaiables allow the pogamme to detemine if a suboutine is being called coectly o to detemine if a cetain logic path has been taken. Allowing vaiables to be undefined equies special pocessing. Algebaic expessions convet undefined vaiables to 0.0. If the equation is singula, then the expession evaluato etuns undefined. Example: #1=#0; (#1 is undefined); #3=#1 (#3 is undefined); #4=#1+#3 (#4 is 0.0); #5=#1*3 (#5 is 0.0); Addess Codes using vaiables that evaluate to undefined ae ignoed. This means that if an addess code is pased with an undefined vaiable it is just as if the pase did not see that addess code. Example: #1=#0; #2=3.5; G1 X#1 Y#2 (same as G1 Y3.5); X[#1+#0] (same as X0.0); Z-[#1] ( Z is ignoed); Conditional expessions convet undefined values to 0.0 in the same manne as algebaic expessions. If the algebaic expession esults in an undefined value, it is teated as 0.0 except fo EQ and NE. Conditional #1 = #0 #1 = 0 [#1 EQ #0] Tue False [#1 NE 0] Tue False [#1 EQ 0] False Tue [#1 GE #0] Tue Tue [#1 GT 0] False False [#1 T 0] False False If using a vaiable as fo example, a counte and compaing fo 0.0, use 0.0. If compaing to see if a vaiable has been assigned to, use #0. It is impotant to distinguish between the two. 54 Paametic Pogamming

61 ocal Vaiables ocal vaiables, as discussed above, ae allocated and initialized each time a G65 is executed. ocal vaiables ae numbeed #1..#33. They ae initialized to undefined which is equivalent to #0. Thus, if the conditional phase [#1 EQ #0] evaluates to tue, then #1 has neve been assigned a value and eithe agument A was not passed to the cuent level of nesting o agument A was #0. M98 diffes fom G65 in that the local vaiables ae not nested. M98 suboutines can still access local vaiables. In an M98 suboutine the local vaiables that ae accessed belong to the most ecent G65 nesting level. M99 in a G65 suboutine will un-nest local vaiables and the values ae lost. M99 in a M98 suboutine do not un-nest local vaiables. ocal vaiables ae used to hold aguments passed to a G65 paametic suboutine call. ocal vaiables can be tested against #0 to detemine if an agument with a value was passed. Addess code aguments ae passed accoding to the following table. Addess Code ocal Vaiable A #1 B #2 C #3 D #7 E #8 F #9 H #11 I #4 J #5 K #6 M #13 Q #17 R #18 S #19 T #20 U #21 V #22 W #23 X #24 Y #25 Z #26 Addess codes G,, N, O and P cannot be used as aguments. Note that the mapping is iegula. This follows the FANUC convention. A suboutine can access aguments by efeing to the associated vaiable name. Example: #31=#1 * 2 (assign to vaiable #31 the agument A times 2); G1 G91 X#24 (Feed X the incemental amount of agument X); Note that subsequent assignments will destoy the value of the passed agument. Paametic Pogamming 55

62 Common Vaiables Common vaiables ae always accessible in an NC pogam. Anothe tem used is global vaiables. Common vaiables ae numbeed #100 though #199 and #500 though #599. Vaiables #100..#199 ae initialized to undefined when the contol is tuned on. Vaiables #500..#599 values ae maintained between powe up and down conditions. Common vaiables can be used to pass infomation fom one paametic suboutine to anothe. Once a value is set, it emains available, egadless of nesting level, until it is late modified. System Vaiables System vaiables give the NC pogamme access to static paametes built into the contol. Occasionally the pogamme needs access to these paametes in ode to alte o automate machine setup. A summay of system vaiables is below: Vaiable # Desciption #1000-#1031 Discete Inputs #1100-#1131 Discete Outputs #2000-#2999 Tool Compensation #3000 Use Alam with message #3001-#3002 System Times #3003-#3004 Single block and oveide suppession #3006 Pogammable Stop with message #3007 Mioing #4001-#4120 ook ahead time modal infomation #4201-#4320 Run time modal infomation #5001-#500n Taget wok coodinate position of last executed block. Tool offset included. #5021-#502n Commanded machine coodinate position, tool offset not included. #5041-#504n Commanded wok coodinate position, tool offset not included. #5061-#506n Cuent wok coodinate skip position, tool offset not included. #5081-#508n Cuent tool offset applied #5101-#511n Cuent following eo #5201-#520n Common wok coodinates #5221-#522n G54 #5241-#524n G55 #5261-#526n G56 #5281-#528n G57 #5301-#530n G58 #5321-#532n G59 #7001-#795n G54.1 P1..P48 exta offsets System Vaiables #1000-#1031 Discete Inputs Paametic pogamming allows use of discete inputs in the NC pogam. These inputs ae fom #1000 to #1031, total 32 inputs. Each numbe epesents a Bit. Requiements: Input cad (Acc34 Style) to be map as discete input. Code in the contol panel PC to ead inputs. Example: // // ACC34 boad 2 IN // IN_2_CHNG_M = ACC34_2A 56 Paametic Pogamming

63 IF (IN_2_M!= IN_2_CHNG_M) // has one o moe input bit(s) changed? IN_2_M=IN_2_CHNG_M // update change flag ENDIF How to Use in the NC pogam: This is an example fo using ACC34_2A as discete input: In the ADDRESS.H thee ae input images fo the inputs. IN_2_M M231 #1000 epesents the SB input Bit and #1031 epesents MSB input bit. 1. Stat the NC pogam. Make sue to enable New Diagnostic featue (Pages.DAT). 2. Select DIAG (F7) menu and select Common Vaiable #100 to #131 page since using #100 in the pogam. 3. In the MDI mode, wite the following pogam: G103 P1 #100 = #1000 #101 = #1001 #102 = #1002 #131 = #1031 M30 (Use M99 fo continuous execution) 4. Execute the MDI pogam by pessing Cycle Stat. If the inputs ae connected, then in the DIAG page status will be displayed. If the inputs ae not connected, use PEWIN32 and wite M231 = 7 and the DIAG page will display #100 = 1, #101 = 1 and #102 = 1. Discete Outputs # #1131 Paametic pogamming allows using discete output in the NC pogam. These outputs ae fom #1100 to #1131, total 32 outputs. Each numbe epesents a Bit. Requiements: Output cad (ACC-34 style) to be mapped as discete outputs. Code in the contol panel PC to ead output. Example: // // ACC34 boad 2 IN // IN_2_CHNG_M = ACC34_2A IF (IN_2_M!= IN_2_CHNG_M) // has one o moe output bit(s) changed? IN_2_M=IN_2_CHNG_M // update change flag ENDIF How to Use in the NC pogam: Hee is an example fo using ACC34_2A as discete output: In the ADDRESS.H thee ae output images fo the outputs. OUT_2_M M251 #1100 epesents the SB output bit and #1131 epesents MSB output bit. 1. Stat the NC pogam. Make sue to enable New Diagnostic featue (Pages.DAT). 2. Select DIAG (F7) menu and select Common Vaiable #100 to #131 page as we ae using #104 in the pogam. Paametic Pogamming 57

64 3. In the MDI mode wite the following pogam: G103 P1 #1100 = #104 #1101 = #104 #1102 = #104 M30 (Use M99 fo continuous execution) 4. Execute the MDI pogam by pessing Cycle Stat. If the outputs ae connected, then in the DIAG page set #104 a value the outputs will be opeated. If the outputs ae not connected then use PEWIN32 and set #104 to 7 in DIAG page #104 = 7 and ead M251 in PEWIN32. #2000-#2999 Tool Compensation Fo a Mill, Tool compensation system vaiables ae oganized by H and D codes. The following ae eseved fo tool geomety and wea: #2000 Always etuns zeo when used in an expession, Associated with H0 and D0. #2001-#2200 H code Geomety fo tool (Tool ength offset). #2201-#2400 H code Wea fo tool (Tool ength Wea). #2401-#2600 D code Geomety fo tool (Tool Diamete offset). #2601-#2800 D code Wea fo tool (Tool Diamete Wea). These system vaiables ae associated with the values of the tool offsets on the tool offset display. Fo instance, tool 004 would be efeenced with system vaiables #2004,#2204,#2404, and #2604 fo Z GEOM, Z WEAR, CC GEOM and CC WEAR espectively. The values of the tool offsets can be ead fom and witten to by use of the above system vaiables. When Tool offsets ae modified with an assignment statement, the PC side block look ahead is halted and look ahead pocessing is not continued until the look ahead queue is exhausted. Assignment to a tool offset sends a G10 though the otay buffe to be executed by PMAC. #3000 Use Alam with Message Fatal alams can be geneated fom within a paametic pogam by assigning a value to #3000. The alam geneated will have this value as a efeence in the alam message. If a comment is on the block assigning #3000, it will be displayed on the eo page. Example: IF [#24 NE #0] GOTO 5 ; #3000=1024 (X agument equied) ; N5 (conditional was tue, X agument passed) #3001-#3002 System Times These times ae millisecond times. Time #3001 is continuously unning and will wap aound afte 49.7 days of unning. #3001 is initialized to zeo at powe up. Time #3002 is an hou time based on #3001. Hous ae accued only when a pogam is unning. #3002 is saved at powe down and is estoed on powe up. Both of these times can be initialized with an assignment statement. Example: dwell 3.5 seconds #31=#3001; N1 IF [#3001 T [# ]] GOTO1 ; #3003-#3004 Single Block and Oveide Suppession #3006 Pogammable Stop with Message A pogammable stop (M00) can be geneated fom within a paametic pogam by assigning a value to #3006. A comment can be placed on the block to assist the opeato in what opeation is to be pefomed. Example: #3006=2001 (message fo the opeato) ; #3007 Mioing #4001-#4026 ook ahead time modal goup infomation 58 Paametic Pogamming

65 Use these vaiables to detemine what the look ahead time code is fo any goup. These vaiables contain the modal goup infomation fo the last pased G-code block. #4001 though #4026 coespond to goups 1 though 26. Fo example to know if cutte compensation is off, check to make sue that goup 7 is 40. IF [#4007 EQ 40] GOTO??? (cutte compensation is off) #4101-#4126 ook Ahead Time Modal Addess Code Infomation Use these vaiables to detemine what the look ahead time value is fo any addess code A though Z. These vaiables contain the value of the most ecently pased addess codes. #4101 though #4126 coespond to A though Z and ae mapped in the same manne as the addess codes ae (see the ocal Vaiables section). Fo example, to know what the last commanded S code was, inspect #4119. IF [#4119 GT 1500] GOTO??? (excess spindle RPM) #5001-#500n Taget Wok Coodinate Position #5021-#502n Cuent Machine Coodinate Position These vaiables etun the cuent position, in machine coodinates, of the specified axis. #5021 etuns the machine coodinate of PMAC s #1 axis, #5022 etuns the machine coodinate of PMAC s #2 axis, etc. Tool offsets ae not included. #5041-#504n Cuent Wok Coodinate Position These vaiables etun the cuent position, in wok coodinates, of the specified axis. #5021 etuns the wok coodinate of PMAC s #1 axis, #5022 etuns the wok coodinate of PMAC s #2 axis, etc. The wok coodinate is detemined by the cuently set goup 14 code, G54..G59, any active G52 (local wok coodinate), any active G92, and any scaling o mioing active. Tool offsets ae not included. #5061-#506n Cuent Wok Coodinate Skip Position These vaiables etun the most ecent position sensed as a skip o tigge duing a G31 move. The position is etuned in wok coodinates. #5061 etuns the skip position of PMAC s #1 axis, #5062 etuns the skip position of PMAC s #2 axis, etc. Tool offsets ae not included. #5081-#508n Cuent Tool Offset Applied #5101-#511n Cuent Following Eo #5201-#520n Common Wok Coodinates These vaiables etun the common wok coodinates in effect at look ahead time. Fanuc also efes to these as extenal wok coodinates. The common wok coodinates can be modified in a G code pogam by assigning values to these vaiables. When these vaiables appea on the left of an assignment statement, the PC side look ahead queue is allowed to empty and the coodinates will change befoe futhe look ahead is allowed. #5201 coesponds to PMAC s #1 axis, #5202 coesponds to PMAC s #2 axis. These vaiables do not efe to G92. #5221-#522n G54 Same as common wok coodinates but applies to G54. #5241-#524n G55 Same as common wok coodinates but applies to G55. #5261-#526n G56 Same as common wok coodinates but applies to G56. #5281-#528n G57 Same as common wok coodinates but applies to G57. #5301-#530n G58 Same as common wok coodinates but applies to G58. #5321-#532n G59 Same as common wok coodinates but applies to G59. #7001-#795n G54.1 P1..P48 exta offsets Same as common wok coodinates but applies to exta offsets. Expessions The evaluation of an expession is how data is ceated and how decisions ae made in a paametic pogam. This section explains expessions. It defines how they ae fomed and whee they can be used in a pogam. An expession is made of thee elements. These elements ae opeands, opeatos, and pecedence backets. Paametic Pogamming 59

66 An opeand is a vaiable o liteal numbe. Vaiables appea as #<intege>. iteals ae constants such as 1.0, 5, o 0. An opeato is a function that uses opeands and deives a esultant opeand. Opeatos ae single chaacte opeatos like + and /. They can be functions like SIN[ ] o OG[ ]. O opeatos can be conditional opeatos like EQ o GT. Ode of evaluation is fom left to ight. As an expession is evaluated fom left to ight, opeations ae eithe pefomed immediately o defeed based on the opeato s pecedence. Opeatos with highe pecedence ae executed fist. So that in the expession #5=4+ 5 * 9, #5 will be assigned the value of 49. This is because multiplication has a highe pioity than addition and its opeation is executed fist even though the addition comes fist in a ight to left scan of the expession. Backets can oveide the default ode of evaluation detemined by opeato pecedence. The pecedence backets ae [and], (i.e. squae backets). The following table defines the pecedence of opeatos in the Delta Tau contol. Symbol Meaning Pecedence EQ Equal (cond.) 1 NE Not equal to (cond.) 1 GT Geate than (cond.) 1 GE Geate than o equal to (cond.) 1 T ess than (cond.) 1 E ess than o equal to (cond.) 1 + Binay Addition 2 - Binay Subtaction 2 OR Bitwise ogical o 2 XOR Bitwise Exclusive o 2 * Multiplication 3 / Division 3 AND Bitwise ogical poduct 3 MOD Remainde 3 + Unay Unay - 6 POPEN Peipheal I/O device open 7 PCOS Peipheal I/O device close 7 DPRNT Pint to Device 7 #[ Indiect opeation 7 ABS Absolute value 7 ACOS Accosine 7 ASIN Acsine 7 ATAN Actangent 7 COS Cosine 7 EXP Exponential 7 FIX Tuncation (floo) 7 FUP Round up (ceiling) 7 N og (natual, base e) 7 ROUND Round off 7 SIN Sine 7 SQRT Squae oot 7 TAN Tangent 7 FANUC diffes fom the above table in that FANUC defines the conditional opeatos to have the same pecedence as binay addition. If concened about potability of the pogams. Include pecedence backets aound the opeands of a conditional expession. Fo example: [ 0.0 T [#1+#2] ] 60 Paametic Pogamming

67 instead of [ 0.0 T #1+#2 ] Examples of Expessions Follow: #1 Singula expession iteal constant <liteal> #1/2 compound expession [#1+#3]/2 compound expession with pecedence oveide [#1 NE #0] ogical expession SIN[#1] / COS[#2] Expession using functions When discussing the syntax of paametic pogamming, identify how expessions can be used. In the following, geneal expession is identified, as in the examples above, by <exp>. Thee ae fou places whee expessions can be used in a paametic pogam. Expessions ae used in the following syntactical foms: Assignment statements Addess codes Conditional expessions GOTO expessions They ae defined below. Assignment Statements <assign> allow vaiables to be modified. Assignment statements have the following fom: 1. #<intege>=<exp> ; Simple assignment A simple assignment explicitly states what vaiable to modify. Example: #1=5.0; #3000=5(alam); An indiect assignment states the vaiable to modify with an expession. Example: #[#1]=0.0; #1 contains the numbe of the modified vaiable. #[500+#1]=#0; #1 contains the index into the common vaiables. Addess Code statements can use expessions in the following fom: X<liteal> addess code using liteal value. X[<exp>] addess code using expession to define value. X-[<exp>] addess code negating value of expession. If an addess code is followed by an expession that esults in #0, undefined, the addess code in the block is ignoed. Example: #1=#0 #2=1.1 G0 X#1 Y#2 (same as G0 Y1.1) Conditional Expessions make use of the following conditional opeatos. EQ Equal to NE Not equal to GT Geate than GE Geate than o equal to T ess than E ess than o equal to These conditional opeatos ae binay opeatos that etun a value of 1.0 o 0.0. If the condition epesented by the opeato is tue, the value of 1.0 esults. If the condition epesented by the opeato is false, 0.0 esults. Thus, a conditional expession has the following geneal fom: [<exp>] In most cases, a conditional expession will be less geneal: Paametic Pogamming 61

68 [<exp> <cond> <exp>] whee: <cond>:: EQ NE GT GE T E To maintain FANUC compatibility, this fom of a conditional expession should be adheed to. GOTO expessions <goto> can be followed by an expession. The fom of the GOTO is explained in the next section. Pogam Contol Paametic pogamming allows additional contol of pogam pocessing. The following constucts, when combined, povide the NC pogamme with complete flexibility and contol of the pogam. Banching GOTO Conditional block execution IF Iteation WHIE Pause o abot #3006=n(stop), #3000=n(alam) Banching is available with the GOTO statement. The GOTO statement must be followed by an expession that evaluates to the N code of a block. The block is seached fo in the cuently executing main pogam o suboutine. Seaching is pefomed in the following manne: If the expession evaluates to a positive numbe, the seach stats fom the cuently pased block and poceeds to the end of the pogam. If the taget block is not found, then seaching esumes fom the beginning of the pogam and continues though to the cuent block. If the expession evaluates to a negative numbe, seaching is pefomed in the evese diection woking towad the beginning of the pogam fom the cuent block. If the seach fails to find the taget block numbe, an alam is geneated. If the block is found, pogam execution is tansfeed to that block. The GOTO statement <goto> can be used in the following foms: GOTO<intege> Banch seaching fowad GOTO-<intege> Banch seaching backwad GOTO<exp> N code is deived fom expession The GOTO statement, when alone on a line, is called an unconditional banch. That is, the banch always occus. Example: N10 GOTO20 (fowad banch) N20 N30 GOTO-20 (backwad banch) #1=10 (mystey pogam?) #2=1 N10 #2=#2+#3*.5 N20 #2=#2-#2*.4 N30 #2=#2+#2*.3 N40 #2=#2-#2*.2 N50 #2=#2+#2*.1 #1=#1+10 GOTO#1 (example of <exp>) N60 M0 (Pause so vaiables do not clea) M30 Conditional block execution allows the pogamme to execute a statement based on a conditional expession. This is accomplished with the IF statement. The IF statement has the following foms: IF [<exp><cond><exp>] <goto> IF [<exp><cond><exp>] THEN <assign> 62 Paametic Pogamming

69 In the above <exp><cond><exp> is a conditional expession containing one of the conditional opeatos EQ, NE, GT, GE, T, E. In geneal, the backeted syntax can be any expession, but fo FANUC potability, it is best to follow the above syntax. Conditional opeatos always etun 0.0 o 1.0. If the conditional expession evaluates to 0.0 (false), then the statement following the conditional expession is not pefomed and the next block is executed. On tue (not 0.0 and not #0), the statement following the conditional is pefomed. This means that any expession that evaluates to a non-zeo value is consideed to be tue, not just 1.0. Fom 1 will banch conditionally, wheeas Fom 2 will pefom the assignment statement. The keywod then is optional. Example: IF [#24 EQ #0] GOTO99 (no X agument); N10 #1=0; N20 #1=#1+1; N30 IF [#1 T 10] GOTO20 (looping); IF [#500 NE 0.0] then #500=0.0 (assignment); Iteation is available with the WHIE statement. The WHIE statement has the following fom: WHIE [<exp><cond><exp>] DOn ENDn o: DOn ENDn Whee: n=1..3 And WHIE can be eplaced with WH In the above, each WHIE statement must have matching DO and END wods. The DO and END labels fo any WHIE must match in numbe. Fo example: WHIE [#1 GT 0.0] DO1 END1 WHIE [#500 NE #550] DO2 END2 DO, of the WHIE loop, will banch to the fist block afte its matching end block if the conditional statement peceding it is false; othewise execution continues to the block just following the DO statement. If thee is no conditional on the block, DO-END is looped though foeve. Each pogam, suboutine, o paametic suboutine can have up to thee WHIE - DO-END loops active at any one time. The DO loops of the suboutines ae all independent. This means that suboutines can be called fom within a WHIE loop, and that suboutine will have thee moe WHIE loops available to it. When the calling pogam is etuned to, any WHIE loops that wee active pio to the call ae estoed. WHIE loops can be nested as follows: N10 WHIE [#1 NE 0.0] DO1 N20 WHIE [#2 NE 0.0] DO2 N30 WHIE [#3 NE 0.0] DO3 N40 END3 N50 END2 N60 END1 WHIE loops can be epeatedly used in the same pogam: N10 WHIE [#1 NE 0.0] DO1 N20 END1 N60 WHIE [#1 NE 0.0] DO1 Paametic Pogamming 63

70 N70 END1 Banching outside of a WHIE loop is allowed. Banching cannot be made into a WHIE loop. The following code is allowed: N20 WHIE [#1 T 10] DO1 N30 N40 IF [#100 NE 1.0] GOTO 70 N50 N60 END1 N70 WHIE loops cannot ovelap. The following is incoect code and will alam. WHIE [#1 NE 0.0] DO1 WHIE [#1 NE 0.0] DO2 END1 END2 Pausing o aboting the pogam is anothe fom of pogam contol. Witing to system vaiables #3006 and #3000 will accomplish this. Witing to system vaiable #3006 can geneate a pogam stop. An alam can be geneated, and sevos stopped, by witing to #3000. Refe to the System Vaiables section fo moe on #3000 and #3006. N10 #3006=1(tun pat ove); N20 #3000=1(G43 is not invoked); Fomatted Output Fomatted Output is the way that a pat pogam can send ASCII text stings to a seial pot o a file. The pogam can geneate epots as a pat is un, allowing fo un time geneation of positional data. This data can be used late fo quality assuance. The following is a list of Fanuc compatible commands that Delta Tau s NC contol suppots. DPRNT This sends out ASCII text o fomatted vaiables to the cuent output file o device. The cuent output file is detemined by a egisty enty as descibed in the Integation section. In addition, the output file can be set in the motion applet unde the pobing tab. The syntax follows: DPRNT [ <ASCII text> <fomatted vaiable> ] ; Whee: ASCII text : is A..Z, 0..9,*,/,#,+,- And Fomatted vaiable has the fom: #<va intege>[<whole intege><decimal intege>] whee: va intege is any valid local o global vaiable numbe. Whole intege is the numbe of places to eseve fo the Whole pat of a floating point numbe. Decimal intege is the numbe of places to eseve fo the Factional pat of a floating point numbe. Examples: Given: #1 = 4.13 #24 = 7.9 #100= -5.9 Then DPRNT[A=#1[22], X=#24[34] AND VARIABE #100=#100[34]] Sends out: A=4.13, X= and vaiable #100= Paametic Pogamming

71 Given: #9 = 30.0 #24 = #25 = 1.0 Then DPRNT[G1 X#24[44] Y-#25[44] F#9[30]] Sends out: G1 X Y F30 Given: #500 = 100 #501 = #0 Then DPRNT[THIS IS PART #501[30] OF #500[30].] Sends out: This is pat 0 OF 100. POPEN This pepaes o opens the output file o device fo output. It should be included pio to any DPRNT statement fo Fanuc compatibility. PCOS This closes any output device opened by POPEN. Fo FANUC compatibility, it should be used befoe teminating a pogam. The pope sequence fo POPEN, PCOS and DPRNT is illustated in the skeleton suboutine below. O999 (DPRNT UTIITY) POPEN (Open device fo output).. DPRNT[ ] ; DPRNT[ ] ;... PCOSE M99 Paamete Display The paamete display is an impotant tool fo developing and detemining if a paametic pogam is woking as expected. The pogamme can use the paamete display to view local and global paametic vaiables. The opeato of the machine tool can view the value of these vaiables at any time, egadless of the level of paametic suboutine nesting that the pogam is at. The use is allowed to change the values of these paametes, thus giving the pogam a udimentay fom of opeato input. Below is a pictue of the fist page of local vaiables on the Paamete display. Access the paamete display by pessing F7, the DIAG soft key. It is aanged as two columns of 17 fields, enough oom fo the 33 local vaiables. The fist field of the fist column is the eal time value of the G65 nesting level. To see the vaiables fo the cuent nesting level, make sue that the page being viewed matches this numbe. As PMAC-NC is shipped, thee ae five pages of local vaiables coesponding to nesting levels 0 to 4 and 8 pages of global vaiables. The paamete display is a poweful tool fo viewing system paametes. Paametic Pogamming 65

72 Note: The display can be modified to show any addess in dual-poted RAM o within the PMAC. To see how this can be done, eview the commentay at the beginning of the pages.dat file located in the stating diectoy of the ncui32.exe application. It is stongly ecommended that the end-use not change the pages.dat file. The machine tool OEM o integato should pocess the setup. M Code Aliasing This section descibes the paametic pogamming featue of aliasing codes to G65 Pnnnn calls. This featue is available on the NCUI32 poduct. It allows the NC pogamme to alias Addess codes to a G65 Pnnnn maco suboutine o an M98 suboutine. Geneal Concepts Addess code aliasing is a poweful featue that allows the NC pogamme to modify the behavio of the standad codes supplied by the OEM manufactue. Standad G-code pogamming and familiaity with paametic pogamming is equied to modify standad codes. As an example, suppose a pogamme wanted to incement a pat counte evey time M30 was executed. The pogamme could incement the counte pio to evey M30 as in the following code: #510=#510+1 (pat counte) M30 If this appoach wee used, the pogamme would have to modify all existing pogams. But with code aliasing he can edesign M30 to incement the pat counte automatically. In this case no pogams have to be modified. The pogamme would just alias M30 to a pogam that executes the above code. Cuently, in the Delta Tau contol, only M codes can be aliased. Aliasing M Codes M Addess codes can be aliased by adding an M code definition into the alias.ini file. The definition must be unde the section titled M_CODE_G65_AIAS in the alias.ini file. It must have the following fomat: Mnnn.nn= <pogam specifie> <pogam specifie> := <Ocode> o <file name> whee: nnn - is a positive intege fom (M98 and M99 cannot be aliased.) 66 Paametic Pogamming

73 .nn Ocode file name - is an optional extended M code specifie - is a positive 5 digit intege coesponding to a pogam numbe. The pogam is found in the cuent woking diectoy and has the fom of Onnnnn.nc - if the Ocode fom is not used, a file name can be specified. Any file name with path can be specified. If the file name does not include a path, the cuent woking diectoy will be seached. Examples of popely fomed definitions follow: M30 =9021 M9 =O9022.nc M5 =C:\Nc_Pogams\Aliases\M5.nc M3.1=9022 Only ten M codes can be aliased at a time. Any additional definitions in alias.ini beyond the fist ten ae ignoed. Any ill-fomatted definitions ae ignoed. A contol alam will not be eceived when a definition is ill fomatted. Test any M code definition that has been added to the alias.ini file. When an M code is aliased, the M code is eplaced with G65 <pogam specifie>, whee <pogam specifie> is eithe Pnnnn o a comment indicating what the filename is. An aliased M code must be the fist addess code on the line afte any N,, o O code. Any addess code following the aliased M code will be passed to the maco suboutine as aguments. This is just as in the case of a standad G65 maco suboutine call. An aliased M code is not sent fo pocessing (added to the otay buffe). If any aliased M code pogam o any suboutine called fom that pogam has the same M code as that being aliased, then that M code is teated as a nomal M code definition and it is sent to the contol fo pocessing (down the otay buffe). The alias.ini file is moe flexible than Fanuc s method of aliasing M codes. Fanuc is limited to using pogams O9020 to O9029. imit the aliased M code pogams to these values if concened with maintaining Fanuc compatible code. In addition, Fanuc is limited to M codes 1 to 97. Example: The following is an example of how to alias M6 to do tool management. In this example, tools 1 though 10 ae fo pogam use and ae consideed slot 1 tools. Tools 11 though 20 ae backup tools and ae consideed slot 2 tools. When the main tool (1-10) exceeds its wea limit, then the back up tool will be used. This pogam can be expanded upon and can be made moe complete. alias.ini definition file [M_CODE_G65_AIAS] M06=9026 Pogam O9026.nc % O9026 (Modifies M6 Tnn behavio) (assume that the tool wea was measued pio to this tool change and the tool length wea was updated) (vaiable contains the cuent tool being used, 1 o 11, 2 o 12, etc.) (check fo valid tool numbe) IF [[#20 T 1] OR [#20 GT 10]] GOTO97 N5 #3=1 (fist slot attempted) #1=#[550+#20] (get the cuent tool slot) IF [[#1 EQ #20] OR [#1 EQ [#20+10]]] GOTO10 #1=#20 (use slot 1 as default) N10 (test wea) #2=#[2200+#1] (get the tool length wea) IF [#2 GT.0015] GOTO30 Paametic Pogamming 67

74 N20 (use the tool in the cuent slot) #[550+#20]=#1 (save which slot is being used) M06 T#1 M99 N30 (ty the othe slot) IF [#3 GE 2] GOTO98 #3=#3+1 (second slot attempted) IF [#1 T 11] GOTO40 (cuent is slot 1) #1=#20 GOTO10 (ty slot 1) N40 #1=#20+10 GOTO10 (ty slot 2) N97 #3000=9026(alam: illegal tool numbe) N98 #3006=9026(stop: eplace fist slot tool specified in agument 20) (Remembe to set the tool length wea to zeo) #[550+#20]=#20 GOTO5 % Integation This section descibes system paametes that ae used by paametic pogamming. If these paametes ae set incoectly, paametic pogamming may not exhibit coect behavio o it may not wok at all. In the following ead BASE1 as HKEY_OCA_MACHINE\System\CuentContolSet\Sevices\Pmac and ead BASE2 as HKEY_CURRENT_USER\Softwae\Delta Tau. 1. Set bpcdoesmacocall in the egisty to 1. This egisty vaiable is found in the egisty path \BASE1\Device0\Nc0\Code. 2. Set UseNewDiagnostics to 1. This egisty vaiable is found in the egisty path \BASE2\NCUI Ensue that CallHighSpeedMachPog is set to This egisty vaiable is found in the egisty path \BASE1\Device0\Nc0\Code\Goup0 4. Ensue that macocall is set to 65. This egisty vaiable is found in the egisty path \BASE1\Device0\Nc0\Code\Goup0. 5. BlockookAheadDefault is set to 3 by default. This egisty vaiable is in the egisty path \BASE1\Device0\Nc0\SYSTEM. This vaiable contols the PC side look ahead pasing of G code and it is not elated to PMAC s look ahead. When set to 3, it confoms to the taditional Fanuc look ahead amount. When this vaiable is set to 0, PC side look ahead is wide open. That is, G code blocks will be pased ahead in the PC as fa as memoy pemits. ook ahead can be limited when equied, by placing G103 P3 into the G code. G103 P3 limits block look ahead to thee blocks. Altenately, the default can be left set at 3 and G103 P0 can be placed into the G code. 6. The DPRNT output file is specified in \BASE1\Device0\Nc0\Pobing\RepotFile. 68 Paametic Pogamming

75 TOUCH PROBING FOR PMAC-NC PMAC-NC Pobing Appendix This section outlines in detail the necessay steps to implement Renishaw o Maposs pobing on the PMAC-NC. It assumes that thee is a woking CNC installation to communicate with PMAC via the PEWIN executive. Hadwae Integation Manual This section explains the diffeences that must be undestood when installing pobing on a Delta Tau contol. It explains and outlines the hookups necessay fo the pobing intefaces. Afte eading this section, the implementes should be able to install a spindle pobe o table pobe and have it woking and eady fo use and testing with Delta Tau s Softwae. Diffeences Between PMAC and PMAC2 PMAC and PMAC2 have diffeent capabilities when it comes to captuing cuent position data though the intenal position captue egiste. This impacts pobing because pobing makes use of the tiggeing mechanism available with position captue. (See the PMAC manual fo futhe infomation.) The PMAC has limited inputs available fo tiggeing the position captue latch. As a esult, in the PMAC, the home flag must seve double duty as both the input fo the pobe skip signal and input fo the home flag. Since these functions ae mutually exclusive, thee is no poblem. One does not pobe while homing no home while pobing. The PMAC2 has additional inputs fo tiggeing the position captue egiste. The PMAC2 uses the USERn flag fo pobe skip signal input. It is easie to wie and implement pobing on the PMAC2. Howeve, thee is no diffeence in the functionality between PMAC and PMAC2 when the pobing intefaces ae fully integated. The following paagaphs outline the wiing fo a PMAC and a PMAC2. Identify which PMAC vesion is being used and eview the section that is appopiate fo the installation. To find the type of PMAC being used, ente the TYPE command within the PMAC Executive. PMAC Wiing fo Skip Signal This section explains how to setup a PMAC to accept a skip signal fo pobing and how to wie it to use the HMFn flag fo position captue. Although the PMAC-NC package ensues that PMAC is popely configued fo pobing, PMAC-NC may not be unning when hooking up the pobe. The following is a list of I-Vaiables and the values to set them to fo wiing and testing pobe installation. Encode n captue flag contol I903=0 - X-axis uses Home flag to tigge position captue. I908=0 - Y-axis uses Home flag to tigge position captue. I913=0 - Z-axis uses Home flag to tigge position captue. When the pobe Skip signal occus, all enabled axes must be tiggeed to captue thei cuent position. Use the following wiing to make this occu. Touch Pobing fo PMAC-NC 69

76 PMAC2 Wiing fo Skip Signal This section explains how to setup a PMAC2 fo pobing and how to wie it to use the USERn flag fo position captue. Although the PMAC-NC package ensues that PMAC is popely configued fo pobing, PMAC-NC may not be unning when hooking up the pobe. The following is a list of I-Vaiables and the values toset them to fo wiing and testing pobe installation. Encode n captue flag contol I913=2 X axis uses USER flag to tigge position captue. I923=2 Y axis uses USER flag to tigge position captue. I933=2 Z axis uses USER flag to tigge position captue. When the pobe Skip signal occus, all active axes must be tiggeed to captue thei cuent position. Use the following wiing to make this occu. Note: Cuently the G31 is configued to command axes X, Y, and Z. If motion on an axis is not specified, the contol will command PMAC to the same location. If any axis is not eceiving its skip signal, thee may be a dwell afte the skip has occued. This indicates a line beak. In addition, if planning to use only one o two axes and not wiing an axes captue flag, then modify the G31 code in mill.g by emoving the unused axes in the move-until-tigge command. Installing a Spindle and Table Pobe This section descibes what is equied fo connecting an optical inteface to a Delta Tau contol. Afte the PMAC side of the SKIP signal input is available, the machine side needs to be addessed. This is diffeent depending on what signaling method the machine is using whethe it is optical o hadwied, and who the manufactue is. Refe to the pobe manufactues wiing specifications when wiing the pobes. Hee sample diagams ae included fo both Renishaw and Maposs pobe systems. It is convenient if one wiing haness is used to collect powe and signal wies enteing and leaving the PMAC-NC. Below is a suggestion fo a pobe wiing haness using a DB-9 connecto. DB-9 Connecto Pin Assignments 1- Black AGND (PMAC analog gound) (out) 2- Red Table Pobe Select Signal (out) \ Signal pins 3- Geen Skip Signal (in) / 4- White Stat Enable Signal (out) - 5- Not Used 6- Black Common 24V (out) - 7- Geen Chassis Gound (out) \Powe pins 8- Red + 24V (out) / 9- White Available Touch Pobing fo PMAC-NC

77 Optical Inteface Two elays must be available. One elay fo the Stat Spindle Pobe signal sent to the optical inteface and anothe elay fo selecting the table pobe. Use discete input 13 fo the Stat Spindle Pobe signal and discete input 14 fo selecting the table pobe. Any two elays can be used poviding the defined vaiables used by M codes supplied with PMAC-NC ae modified to eflect this. As shipped, PMAC-NC uses these elays by default. Renishaw This wiing chat is based on the Renishaw MI-12, the OMM, and the M18 inteface unit. The chat addesses both the spindle and table pobe. The pin designations use cc(pp) whee cc is the component and pp is the pin on the component. Renishaw Wiing Chat Key Components PP = Pobe Haness Powe Pin OW = OMM wie SP = Pobe Haness Signal Pin TW = Table pobe wie OI = Optical Inteface Pin (MI12) HI = Hadwie Inteface Pin (M18) MI12 SW3 set to MI12 SW2 set to MI8 Output set to 1 (N/C nomally closed) Pobe Signal Pins SP( 1) - Black - OI(23) (AGND Analog gound) SP( 2) - Geen - OI(23) (Table pobe select) SP( 3) - Red - OI(24) (SKIP signal) SP( 4) - White - OI(21) (Pobe Enable) Pobe Powe Pins PP( 6) - Black - OI(17) (Common 24V) PP( 7) - Geen - OI(18) (Chassis gound) PP( 8) - Red - OI(16) (+24V) OMM Wies OW - Yellow - OI( 1) OW - Gey - OI( 2) OW - White - OI( 3) OW - Geen - OI( 4) OW - Bown - OI( 5) OW - Ylw/Gn - OI(18) (Shield) Table Pobe Inteface HI(A1) - Blue - TW HI(A2) - Red - TW HI(A3) - - TW (Shield) HI(A4) - - OI(18) (Chassis gound) HI(A5) - Red - OI(16) (+24V) HI(A6) - Black - OI(17) (Common 24V) HI(B6) - Geen - OI(24) (SKIP signal, though elay M949) HI(B7) - Yellow - OI(23) (AGND Analog gound) Miscellaneous OI(17) Black - OI(22) Maposs This wiing chat is based on the Maposs E83 optical tansmission system. The chat addesses both the spindle and table pobe. The pin designations use cc(pp) whee cc is the component and pp is the pin on the component. Touch Pobing fo PMAC-NC 71

78 Maposs Wiing Chat Key Components PP = Pobe Haness Powe Pin OW = OMM Wie SP = Pobe Haness Signal Pin TW = Table Pobe Wie OI = Optical Inteface Pin (E83) E83 Inteface Dip Switch Set TO (whee the ight most digit is switch 1) Pobe Signal Pins SP( 1) - Black - OI(12) SP( 2) - Geen - OI(25) SP( 3) - Red - OI(13) SP( 4) - White - OI(11) PROBE POWER PINS PP( 6) - Black - OI(17) PP( 7) - Geen - OI(18) PP( 8) - Red - OI(16) OMM WIRES OW - White - OI( 1) OW - Puple - OI( 2) OW - Geen - OI( 3) OW - Blue - OI( 4) OW - Red - OI(19) OW - Black - OI(20) TABE PROBE INTERFACE OI( 9) - Red - TW OI(10) - Blue - TW Miscellaneous OI(16) - Gey - OI(26) OI(12) - Black - OI(14) Softwae Integation Manual This section descibes the installation and testing of the pobing softwae. Befoe testing the pobe, install the latest vesion of the softwae equied fo pobing. Befoe loading the softwae, eview the section descibing the vaiables and the vaiable map fo the pobing softwae. If the application uses any of these aeas, addess these issues. Modify the application athe than the pobing softwae. Pobing Memoy Map The following list identifies PMAC vaiables eseved fo use by pobing softwae. Note the extensive use of P-Vaiables fo pobing. M (Standad Delta Tau eseved M codes) P (Pobing vaiables) P (Standad Delta Tau eseved P codes) P (Pobing vaiables) P (G65 nesting stack space fo pobing vaiables) P (G65 Miscellaneous vaiables) P (32 bit selection mask) Q (Standad Delta Tau eseved Q codes) Installation of Softwae Execute the following pocedue to ensue that all of the softwae equied to un pobing is installed. Install the pobing in a woking CNC system. The following is a list of softwae equied fo pobing. If pobe eady softwae is available then all of the files should be configued to install and wok as is. 72 Touch Pobing fo PMAC-NC

79 Files Requied fo Installation Renish.pmc FANUC to PMAC tanslated pobing outines. Pobe.plc Initializes pobe, monitos skip signal. Eos.dat Contains text of alams specific to pobing. Dpnt.enu Contains Text of Dpnt statements. Mill.g With G31, G65, G103 installed. Mill.m With M51 (Pobe On), M52 (Table pobe select) M62 (Spindle pobe select, default) and M61 (Pobe Off). Mill.t Updated T codes that allow M06 to opeate within G65 motion pogam. Oem.h 1.68 o late. Registy default epot file. Redisty G65 definition. 1. Inspect the *.cfg file fo the machine. If adding pobing to an existing system, ensue that the *.cfg file includes pobe.pmc and pobe.plc. 2. Within PEWIN, save a copy of the cuent Configuation. If something goes wong, use this to estoe a woking envionment. 3. Download the *.cfg file. 4. If thee ae any poblems downloading the *.cfg file, it is because an old copy of PEWIN is being used. ocate a copy of PEWIN in which conditional compilation is woking popely. 5. Enable PCs by typing ENABE PC and I5=2. 6. Save the configuation to flash by typing SAVE in PEWIN. Testing the Pobe At this point, the pobing hadwae is eady to be tested. Befoe any pobe cycles can be un, ensue that the Skip signal is being eceived by PMAC and that PMAC is esponding to the skip signal. Fist veify that the spindle pobe and the table pobe geneates a pope signal when tiggeed. This can be done in PEWIN though the executive. Then ensue that sevos stop when a tigge occus. This is best done though the NC inteface using G31 fo testing. Use the following pocedue to test fo pope opeation of the pobe: Testing fo a SKIP Signal 1. Ente PMAC-NC. 2. Home all axes. 3. Select the spindle pobe by executing M62 fom MDI. 4. Enable the spindle pobe by executing M51 fom MDI. 5. Exit the NC inteface and PEWIN, the executive. 6. Inspect M5 eithe via a watch window o by typing M5. 7. Deflect the spindle pobe with a finge. Inspect M5 o type M5 again. The value of M5 will change as the pobe is toggled. If not, check the wiing and the battey in the pobe. The pobe inteface should not be in an eo condition. Set the inteface as a nomally open cicuit: 1. Check the dip switches. Check the voltage levels to the inteface units. 2. Use the same pocedue to ensue that the table pobe is woking. If both a spindle and table pobe ae connected to the same inteface unit, ensue that both ae functioning popely. Additional voltage shunted to a table pobe may cause the spindle pobe to stop functioning o vice-vese. 3. Stop the spindle pobe by enteing M61 fom MDI. Touch Pobing fo PMAC-NC 73

80 4. Select the table pobe by enteing M62 fom MDI. 5. When sue that PMAC is eceiving a Skip signal, test the G31 command. Testing G31 Opeation 1. Ente the PMAC-NC inteface. 2. Home all axes. 3. Ensue that the wok cell is clea. 4. Place the pobe into the spindle. 5. Select the spindle pobe by executing M62 fom MDI. 6. Enable the spindle pobe by executing M51 fom MDI. 7. Execute the following G code: G31 G91 X-5.0 F Duing table feed, deflect the pobe with a finge. The table should stop befoe eaching the 5.0 inch destination. This indicates that the spindle is functioning. 9. Pefom a simila test on the table pobe. Machining Cente Opeatos Manual Pobing Cycles This section descibes the pobing cycles that ae supplied with the Delta Tau contol. It is cuently a subset of pobing outines supplied with Renishaw pobes. Pobing cycle softwae supplied by Renishaw and Maposs ae usually witten in the Fanuc extension to G-code, efeed to as MACROS. Delta Tau tanslates Fanuc maco statements into native PMAC code and stoes them as suboutines which can be called with a G65 command. The pobing cycles ae divided into the following categoies: Calibation Spindle pobe length calibation Spindle pobe stylus offset fom spindle cente Spindle pobe ball adius Spindle pobe ball adius (vecto measuing) Table pobe length calibation Table pobe X-Y calibation Safe Axis Movement Potected positioning Measuement Suface measue of X, Y o Z planes Web/Tough measuement Boe/Boss measuement Intenal cone location Extenal cone location Tool length setting Tool diamete setting Vecto Measuement Deviation of distance to angled suface in the X-Y plane Width deviation of an angled web o pocket Thee point boe/boss measuement Miscellaneous Bolt patten boe/boss measuement Calculate featue to featue distance X-Y plane suface angle measuement 74 Touch Pobing fo PMAC-NC

81 Calling Method Use G65 P... to invoke the pobing cycle. The system will stop look ahead based on an intenal list of O codes designated as pogams that must stop look ahead. In the desciptions that follow, any addess code that follows G65 P... is an agument to the cycle called by P. Optional aguments ae designated by backets [ ]. Calibation These pobing macos ae used to ascetain dimensional featues of the pobe. The featues ae stoed and late used by vaious pobe cycles to adjust fo these attibutes. Spindle Pobe ength Calibation This cycle moves the Z-axis towad a efeence suface. When the pobe is tiggeed, the machine coodinate is saved and stoed as the pobe calibation length in the offset designated by the cuently active H code. G65 P9801 Z T T The cuent active tool offset H code (usually the tool that the spindle pobe esides in) and must be the same as the active H code. Z Refeence plane value in the cuent wok coodinate (typically Z0). Pogam Example: N9801(Test Pobe ength Calibate) G90 G80 G40 G0 M19 (Oient Spindle) G54 X1.1 Y0 (X-Y Position Above Plane) G43 H1 Z.75 (Z Position, Select Offset) G65 P9810 Z.25 F30. (Potected Move Close) G65 P9801 Z.0 T1 (Calibate ength) G65 P9810 Z.25 (Potected Away) Spindle Pobe Stylus Offset fom Spindle Cente Calibation This cycle detemines how fa the pobe stylus ball is fom the spindle centeline. A calibation ing should be placed in the wok cell whee the diamete and exact location of the cente is known. Optionally a pemachined boe can be used. The pobe must be positioned exactly on the boe cente inside the boe. The cycle moves the X and Y axes fom the cente of the calibation ing until the boe suface is found. Upon completion of the cycle, the X and Y stylus offsets ae etained fo use in othe pobing cycles. The X axis offset is stoed in vaiable P502 and the Y axis offset is stoed in vaiable P503. Touch Pobing fo PMAC-NC 75

82 G65 P9802 D [Z] D Actual boe diamete (aveage) Z Cuent wok coodinate Z-axis measuing position when measuing an extenal boss (Omit if a boe is being measued). Pogam Example: N9802 (Test Pobe X-Y Offset Calibate) G90 G80 G40 G0 M19 (Oient Spindle) G54 X0 Y0 (X-Y Position Above Plane) G43 H1 Z.75 (Z Position, Select Offset) G65 P9810 Z-.2 F30. (Potected Move Close) G65 P9802 D2.0 (Calibate Stylus Offset) G65 P9810 Z.25 (Potected Away) Spindle Pobe Ball Radius Calibation This cycle detemines the pobe stylus adius (fom stylus cente) fo the X and Y diections. A calibation ing should be placed in the wok cell whee the diamete and appoximate cente location is known. The pobe must be positioned inside the boe. The cycle moves X and Y-axes to detemine the two adii. Upon completion of the cycle the X and Y stylus adii ae etained fo late use. The X-axis +/- adius is stoed in vaiable P500 and the Y-axis +/- adius is stoed in vaiable P501. G65 P9803 D [Z] D Actual boe diamete (aveage) Z Cuent wok coodinate Z-axis measuing position when measuing an extenal boss (Omit if a boe is being measued). Pogam Example: N9803 (test pobe ball adius calibate) G90 G80 G40 G0 M19 (oient spindle) G54 X0 Y0 G43 H1 Z.75 (select tool offset, Z appoach) G65 P9810 Z-.2 F30. (potected move) G65 P9803 D2.0 (calibate stylus adius) G65 P9810 Z.25 (potected depat) Spindle Pobe Ball Radius (Vecto Measuing) Calibation This cycle detemines the pobe stylus adius (fom stylus cente) fo the X and Y diections. In addition, eight othe diections ae detemined in ode to calculate accuate data fo vectoed measuing cycles. A calibation ing should be placed in the wok cell whee the diamete and appoximate cente location is known. The pobe must be positioned inside the boe. The cycle moves X and Y-axes to detemine the ten adii. Upon completion of the cycle, the adii ae etained fo late use. The X-axis +/- adius is stoed in vaiable P500 and the Y-axis +/- adius is stoed in vaiable P501. Additional adii ae stoed accoding to the table below. 76 Touch Pobing fo PMAC-NC

83 Vectoed Radius Stoage PMAC Vaiable Diection Degees P P P P P P P P P P G65 P9804 D [Z] D Actual boe diamete (aveage) Z Cuent wok coodinate Z-axis measuing position when measuing an extenal boss (Omit if a boe is being measued). Pogam Example: N9804(Test Pobe Vecto Stylus Radius Calibate) M19 (Oient Spindle) G90 G80 G40 G0 G54 X0 Y0 G43 H1 Z.75 (Select Tool Offset, Z Appoach) G65 P9810 Z-.2 F30. (Potected Move) G65 P9804 D2.0 (Calibate Stylus Radii) G65 P9810 Z.25 (Potected Depat) Table Pobe ength Calibation This cycle detemines the actual machine location fo the Z-axis suface of a table pobe. The calibation is accomplished using a calibation abo of pecise known length. To calibate, place the abo in the spindle and position it diectly ove and on the cente of the table pobe stylus suface. The cycle touches off the stylus thee times. When the calibation is complete, the stylus suface location is stoed in PMAC vaiable P520. Touch Pobing fo PMAC-NC 77

84 G65 P9851 K K Calibation length of efeence abo (ZREF) Pogam Example: N9851 (Calibate Abo ength To Table Pobe) G90 G80 G40 G0 G49 (Cancel Tool ength Offset) G54 X0 Y0 (Position Above Table Pobe) G65 P9851 K6.0 (Calibate ength, Abo is 6.0 Inches) Table Pobe X-Y Calibation This cycle detemines the size of the pobe stylus using a efeence abo of pecise known diamete. The efeence pobe is placed into the spindle and positioned above the pobe stylus appoximately on cente. The cycle touches off two sides of the pobe stylus and detemines the exact width of the stylus at the tool measue position. The width is stoed in vaiable P522 fo use when measuing tool diametes. G65 P9852 S K [Z] K Table pobe stylus diamete (aveage) S Calibation abo diamete Z Incemental distance fom stat plane to touch off point (optional, default distance is -.4 inch) Pogam Example: N9853 (Calibate Abo Diamete To Table Pobe) G90 G80 G40 G49 (Cancel Tool ength Offset) G54 X0 Y0 (Position on cente of tool test position) G65 P9852 S K.500 Z-.8 Safe Axis Movement Potected Positioning Typically, this cycle utilizes G31 to move to a location. It is pogammed just like G31. If the path is obstucted, then motion is stopped with an alam, wheeas G31 will go on to the next block and will not alam. It is used when moving about the wok cell with the pobe in the spindle. If the pobe is deflected because an object hits it in an unanticipated manne, then all motion will stop. G65 P9810 X Y Z [F] F Modal feed ate fo the intepolated move (Once set, it is not necessay to place in each potected positioning block.) X Y Z Axis destination linealy intepolated at feed F. 78 Touch Pobing fo PMAC-NC

85 Pogam Example: N9810 (Potected positioning moves) G90 G80 G40 G65 P9810 X0 Y0 F30. (appoach position). (do some pobing) G65 P9810 X10. Y5.0 (depat position) Measuement These pobing cycles ae the most commonly used measuement cycles. They have the ability to optionally set tool o wok offsets, ecod tue position, o pint output, based on input aguments supplied though the application. Suface Measue of X, Y o Z Planes This cycle measues the position of a suface paallel to the X Y o Z plane. The suface can be used to set a tool offset. It can be used to adjust a wok offset. The suface position can be epoted to a file. G65 P9811 X Y Z [F Q S T W] F Modal feed ate fo the intepolated move (Once set, it is not necessay to place in each potected positioning block.) Q Maximum seach distance beyond taget suface befoe alaming. S Wok offset to adjust to suface S1=G54 though S6=G59 (The wok offset is adjusted by the eo fom the pogammed value.) T Tool offset to update when pobe tigge occus. W Pint esults to the cuently selected output file. W1 Incement the featue numbe. W2 Incement component numbe, set featue numbe to 1. X Y Z Axis destination linealy intepolated at feed F. Pogam Example: N9811 (single suface measue) M19 (oient spindle) G90 G80 G40 G0 G54 Y.5 (wok cood, appoach Y) G43 H1 Z.75 (tool offset, appoach Z) G65 P9810 Z-.5 F50. (potected appoach) (FEATURE 1) G65 P9811 YO W1 (epot Y edge, should be 0) G65 P9810 Z1.0 F50. (potected depat) G0 Z.75 Touch Pobing fo PMAC-NC 79

86 Web/Tough Measuement This cycle measues the size of a web o tough featue paallel to the X o Y plane. The featue can be used to set a tool offset. It can be used to adjust a wok offset. The featue size can be epoted to a file. G65 P9812 X Y [Z F Q R S T W] F Modal feed ate fo the intepolated move. Once set, it is not necessay to place in each potected positioning block. Q Maximum seach distance beyond featue suface befoe alaming. R Added to X Y Size when detemining decent position of pobe. When R is +, the featue is a WEB. When -, the featue is Tough 2. S Wok offset to adjust to suface S1=G54.. S6=G59. The wok offset is adjusted by the eo fom the pogammed value. T Tool offset to update when pobe tigge occus. W Pint esults to the cuently selected output file. W1 Incement the featue numbe. W2 Incement component numbe, set featue numbe to 1. X Y The featues nominal Size, web o tough, measued in X o Y. Z Absolute Z location to touch off. If not pesent Tough 1 is assumed. Pogam Example: N9812 (pocket measue) M19 (oient spindle) G90 G80 G40 G0 G54 X-1.25 Y-3.25 (wok cood, X Y appoach G43 H1 Z.75 (select offset, Z appoach) G65 P9810 Z-.2 F50. (potected appoach)(featue 2) G65 P9812 X2.0 W1 (epot on width of 2.0 pocket) G65 P9810 Y-3.25 (potected depat) 80 Touch Pobing fo PMAC-NC

87 Boe/Boss Measuement This cycle measues the size of a boe o boss featue in the X-Y plane. Measuements ae made at 0, 90, 180 and 270 degees to detemine featue size. The featue can be used to set a tool offset. It can be used to adjust a wok offset. The featue size can be epoted to a file. G65 P9814 D [Z F Q R S T W] D The featues nominal diamete (DIA) boe o boss. F Modal feed ate fo the intepolated move. Once set, it is not necessay to place in each potected positioning block. Q Maximum seach distance beyond featue suface befoe alaming. R Added to X Y Size when detemining decent position of pobe. When R is +, the featue is a BOSS. When -, the featue is Boe 2. S Wok offset to adjust to suface S1=G54.. S6=G59. The wok offset is adjusted by the eo fom the pogammed value. T Tool offset to update when pobe tigge occus. W Pint esults to the cuently selected output file. W1 Incement the featue numbe. W2 Incement component numbe, set featue numbe to 1. Z Absolute Z location to touch off. If not pesent Boe 1 is assumed. Pogam Example: N9814 (4-point boe measue) M19 (oient spindle) G90 G80 G40 G0 G54 X-6.75 Y-1.25 (wok cood, X-Y appoach) G43 H1 Z.75 (select tool offset, Z appoach) G65 P9810 Z-.2 F50. (potected appoach) G65 P9823 D2.0 W1 (epot boe size) G65 P9810 Z.25 (potected depat) G0 Z.75 Touch Pobing fo PMAC-NC 81

88 Intenal Cone ocation This cycle measues the location of an intenal cone at the intesection of two planes. The planes do not have to be othogonal (90 degees) to each othe. The featue can be used to set a tool offset. It can be used to adjust a wok offset. The featue location can be epoted to a file. G65 P9815 X Y [B F I J M Q S W] B Maximum allowable angula plane deviation of each suface (B5.0 is +/- 5 degees). F Modal feed ate fo the intepolated move. Once set, it is not necessay to place in each potected positioning block. I Incemental distance along X-axis to move fo second touch off point. J Incemental distance along Y-axis to move fo second touch off point. Q Maximum seach distance beyond featue suface befoe alaming. R Added to X Y SIZE when detemining decent position of pobe. When R is +, the featue is a Boss. When -, the featue is Boe 2. S Wok offset to adjust to suface S1=G54.. S6=G59. The wok offset is adjusted by the eo fom the pogammed value. W Pint esults to the cuently selected output file. W1 Incement the featue numbe. W2 Incement component numbe, set featue numbe to 1. X Y Expected wok coodinate location of intenal cone. Pogam Example: N9815 (intenal cone) M19 (oient spindle) G90 G80 G40 G0 G54 X-7.3 Y-3.3 (cood system, X Y appoach) G43 H1 Z.75 (select offset, Z appoach) G65 P9810 Z-.2 F50. (potected appoach) G65 P9815 X-7.75 Y-3.75 I.4 J.4 W1 (epot SW intenal cone) G65 P9810 Z.75 F50. (potected depat) G0 Z Touch Pobing fo PMAC-NC

89 Extenal Cone ocation This cycle measues the location of an extenal cone at the intesection of two planes. The planes do not have to be othogonal (90 degees) to each othe. The distance to the fist touch off point is the same distance fom the pobe stat point to the X Y cone position. The featue can be used to set a tool offset. It can be used to adjust a wok offset. The featue location can be epoted to a file. G65 P9816 X Y [B I J Q S W] B Maximum allowable angula plane deviation of each suface (B5.0 is +/- 5 degees). F Modal feed ate fo the intepolated move. Once set, it is not necessay to place in each potected positioning block. I Incemental distance along X axis to move fo second touch off point. J Incemental distance along Y axis to move fo second touch off point. Q Maximum seach distance beyond featue suface befoe alaming. S Wok offset to adjust to suface S1=G54 S6=G59. The wok offset is adjusted by the eo fom the pogammed value. W Pint esults to the cuently selected output file. W1 Incement the featue numbe. W2 Incement component numbe, set featue numbe to 1. X Y Expected wok coodinate location of extenal cone. Pogam Example: N9816 (zeo on ne extenal cone) M19 (oient spindle) G90 G80 G40 G0 G54 X.2 Y.2 (X Y appoach) G43 H1 Z.75 (Z appoach) G65 P9810 Z-.5 F50. (potected appoach) G65 P9816 X0 Y0 I-.5 J-.5 S1 W1 (epot NE cone) G65 P9810 Z.75 F50. (potected depat) Touch Pobing fo PMAC-NC 83

90 Table Pobe Tool ength Setting This pobing cycle detemines the length of a tool as efeenced fom machine zeo. The cycle can be used to automatically set tool length offsets o to detect a boken tool. The tool must be positioned on cente and just above the pobe stylus pio to invoking the cycle. The table pobe must be calibated fist. G65 P9851 T [Q S Z] Q Maximum seach distance beyond featue suface befoe alaming. S Tool diamete, fo tools equied to otate (shell mills). Positive (+) fo ight handed tools. Negative (-) fo left handed tools. T Tool offset numbe to update with length. Z Incemental depth fo measuement fom the stat position. Default is -.4 inch. Pogam Example: N9851 (automatically set tool 8 length) M52 (select table pobe) M19 (oient spindle) G49 (cancel tool offset) G54 X0 Y0 (select cood, appoach stylus cente) G65 P9851 T8 Q4.0 (set tool length H8, allow fou inches ovetavel) 84 Touch Pobing fo PMAC-NC

91 Tool Diamete Setting This pobing cycle detemines the diamete of a tool. The cycle can be used to automatically set tool diamete offsets o to detect a boken tool. The tool must be positioned on cente and just above the pobe stylus pio to invoking the cycle. The table pobe must fist be calibated. G65 P9852 S D [Z R] D Tool adius offset numbe to update. R Radial cleaance when taveling down the side of the stylus. Default.16 inches. S Tool diamete, fo tools equied to otate (shell mills). Positive (+) fo ight handed tools. Negative (-) fo left handed tools. Z Incemental depth fo measuement fom the stat position. Default is -.6 inch. Pogam Example: G53 G1 X-10.0 Y0 (move to tool change position) G53 G1 Z-4.37 T7 M6 (get tool 7) G53 G1 Z-4.6 (move to cleaance plane) N9852 (automatically set tool 7 diamete) M52 (select table pobe) M19 (oient spindle) G90 G80 G40 G49 (cancel tool offset) G54 X0 Y.2 (select cood, appoach stylus cente) G65 P9852 S.5 D7 (set tool adius D7,.5 diamete tool) Touch Pobing fo PMAC-NC 85

92 Vecto Measuement These pobing macos ae used to measue featues that ae not nomal (90 degees) to the X, Y o Z axis. They involve the ecoding of some angle. In ode to use these cycles, twelve additional points of the pobe ball ae used. These points ae used to compensate fo the pobe ball not being on the cente of the spindle. Befoe these cycles can be used, the spindle must be oiented and the pobe calibated fo use with vecto pobing cycles. Deviation of Distance to Angled Suface in the X-Y Plane This cycle measues the distance to an angled suface. The suface is limited to angles in the X-Y plane. The angle is detemined by the pogamme. Deviations of the expected distance to the suface ae epoted. By using two measuements along a known angle, the tue angle and deviation can be detemined. See Spindle Pobe Ball Radius (Vecto Measuing) Calibation section. G65 P9821 A D [Q S T W] A Assumed Angle of suface being measued (+/ degees). D Expected distance to suface along angle A fom stat position. Q Maximum seach distance beyond taget suface befoe alaming. S Wok offset to adjust to suface S1=G54 S6=G59. The wok offset is adjusted by the eo fom the pogammed value. T Tool offset to update when pobe tigge occus. W Pint esults to the cuently selected output file. W1 Incement the featue numbe. W2 Incement component numbe, set featue numbe to 1. Pogam Example: N9821 (test angled single suface measue) G90 G80 G40 G0 M19 (oient spindle) G54 X-.75 Y-.75 (X-Y appoach) G43 H1 Z.75 (Z appoach) G65 P9810 Z-.2 F50. (potected Z appoach) G65 P9821 A225. D.3536 W1 (epot distance to suface) G65 P9810 Z.75 F50. (potected depat) 86 Touch Pobing fo PMAC-NC

93 Width Deviation of an Angled Web o Pocket This cycle measues the width of an angled web o pocket. The web/pocket is limited to angles in the X- Y plane. The angle is detemined by the pogamme. Deviations of the expected width ae epoted. By using two measuements along a known angle, the tue angle and deviation can be detemined. See the Spindle Pobe Ball Radius (Vecto Measuing) Calibation section. G65 P9822 A D [Z F Q R S T W] A Assumed Angle of web/pocket being measued (+/ degees). D Expected width of featue. F Modal feed ate fo the intepolated move. Once set, it is not necessay to place in each potected positioning block. Q Maximum seach distance beyond featue suface befoe alaming. R Added to D when detemining decent position of pobe. When R is +, the featue is a Web. When R is -, the featue is as Tough 2. S Wok offset to adjust to suface S1=G54 S6=G59. The wok offset is adjusted by the eo fom the pogammed value. T Tool offset to update when pobe tigge occus. W Pint esults to the cuently selected output file. W1 Incement the featue numbe. W2 Incement component numbe, set featue numbe to 1. Z Absolute Z location to touch off. If not pesent Tough 1 is assumed. Pogam Example: N9822 (angled pocket measue) G90 G80 G40 G0 M19 (oient spindle) G54 X-1.45 Y-1.65 (X-Y appoach) G43 H1 Z.75 (Z appoach) G65 P9810 Z-.2 F50. (potected appoach) G65 P9822 A-45. D1.0 W1 (measue angled pocket) G65 P9810 Z.75 F50. (potected depat) Touch Pobing fo PMAC-NC 87

94 Thee Point Boe/Boss Measuement This cycle measues the diamete of boe o boss using thee points specified by the pogamme. The thee points ae specified using angles efeence to the X+ diection. Deviations of the boe/boss can be epoted. See the Spindle Pobe Ball Radius (Vecto Measuing) Calibation section. G65 P9823 A B C D [Z F Q R S T W] A Angle of fist touch off point taken fom the X+ axis. B Angle of second touch off point taken fom the X+ axis. C Angle of thid touch off point taken fom the X+ axis. D Diamete of boe o boss. F Modal feed ate fo the intepolated move. Once set, it is not necessay to place in each potected positioning block. Q Maximum seach distance beyond featue suface befoe alaming. R Added to D when detemining decent position of pobe. When R is +, the featue is a Boss. When R is -, the featue is as Boss 2. S Wok offset to adjust to suface S1=G54 S6=G59. The wok offset is adjusted by the eo fom the pogammed value. T Tool offset to update when pobe tigge occus. W Pint esults to the cuently selected output file. W1 Incement the featue numbe. W2 Incement component numbe, set featue numbe to 1. Z Absolute Z location to touch off. If not pesent Boe 1 is assumed. Pogam Example: N9823 (3-point boe measue) M19 (oient spindle) G90 G80 G40 G0 G54 X-6.75 Y-1.25 (X-Y appoach) G43 H1 Z.75 (Z appoach) G65 P9810 Z-.2 F50. (potected Z appoach) G65 P9823 A0 B120.0 C240.0 D2.0 W1 (epot boe diamete) G65 P9810 Z.25 (potected depat) Miscellaneous Macos These cycles ae vaious pobing cycles that ae useful yet do not fit into the above categoies because they ae unusual in some espect. Eithe they ae moe complicated o they consist of a combination of the above cycles to achieve some measuement. Moe pobing functionality will be added to the Delta Tau contol as the poduct matues. 88 Touch Pobing fo PMAC-NC

95 Bolt Patten Boe/Boss Measuement G65 P9819 C D Z [A B Q R W] Boss G65 P9819 C D K [A B Q R W] Boe A Angle at which fist hole lies fom X+ diection. B Total numbe of holes, default = 1. C Pitch diamete, diamete that holes lie on. D Bolt hole/boss diamete. K Absolute K location to touch off fo a boe. Q Maximum seach distance beyond featue suface befoe alaming. R Added to D when detemining decent position of pobe. When R is +, the featue is a Boss. When -, the featue is a Boe. W Pint esults to the cuently selected output file. W1 Incement the featue numbe. W2 Incement component numbe, set featue numbe to 1. Z Absolute Z location to touch off fo a boss. Pogam Example: N9814 (bolt-hole measue) M19 (oient spindle) G90 G80 G40 G0 G54 X-4.0 Y-2.0 (X-Y appoach) G43 H1 Z.75 (Z appoach) G65 P9810 Z.75 F30. (potected Z appoach) G65 P9819 C2.0 D1.0 K-.4 A18.0 B5. W1 (measue 5 boes at 18 deg) G65 P9810 Z.75 F30. (Z depat) Calculate Featue to Featue Distance This cycle measues the distance between two independently measued featues. No motion takes place when this cycle is invoked. P1 is designated as the fist featue and P2 is the second. Distance is measue as P2 elative to P1. Afte P1 is measued with an appopiate cycle, the pogamme invokes this cycle without any aguments. This stoes the dimensional data ecoded fo P1. Afte the second featue is measued, using an appopiate cycle, this cycle is invoked again. The second invocation must have aguments which indicate what is to be calculated by the cycle. Angula toleances as well as absolute distances can be measued and epoted. Web/Tough measuement (9812) cannot be used with this cycle. Touch Pobing fo PMAC-NC 89

96 XY Plane G65 P9834 G65 P9834 X [S T W] G65 P9834 Y [S T W] G65 P9834 X Y [B S T W] G65 P9834 A D [B S T W] A Angle between featues as taken fom the X + axis (+/ degees). B The angula toleance of A. D The minimum distance fom P1 to P2. S Wok offset to adjust to suface S1=G54.. S6=G59. The wok offset is adjusted by the eo fom the pogammed value. T Tool offset to update when pobe tigge occus. T can be used only when P2 is measued using 9811 o W Pint esults to the cuently selected output file. W1 Incement the featue numbe. W2 Incement component numbe, set featue numbe to 1. X The nominal incemental distance along X. Y The nominal incemental distance along Y. Pogam Example: N9834 (featue to featue measue) G65 P9810 X-.5 Y2.0 F30. (X-Y appoach wall) G65 P9810 Z1.0 F30. (potected Z appoach) G65 P9811 X0 (measue X wall P1) G65 P9834 (ecod P1) G65 P9810 X-4.0 (X-Y appoach boss) G65 P9814 D.5 Z.5 (measue boss P2) G65 P9834 X-4.0 H.02 W2 (measue and epot toleance) 90 Touch Pobing fo PMAC-NC

2. PROPELLER GEOMETRY

2. PROPELLER GEOMETRY a) Fames of Refeence 2. PROPELLER GEOMETRY 10 th Intenational Towing Tank Committee (ITTC) initiated the pepaation of a dictionay and nomenclatue of ship hydodynamic tems and this wok was completed in

More information

4.2. Co-terminal and Related Angles. Investigate

4.2. Co-terminal and Related Angles. Investigate .2 Co-teminal and Related Angles Tigonometic atios can be used to model quantities such as

More information

Image Enhancement in the Spatial Domain. Spatial Domain

Image Enhancement in the Spatial Domain. Spatial Domain 8-- Spatial Domain Image Enhancement in the Spatial Domain What is spatial domain The space whee all pixels fom an image In spatial domain we can epesent an image by f( whee x and y ae coodinates along

More information

Prof. Feng Liu. Fall /17/2016

Prof. Feng Liu. Fall /17/2016 Pof. Feng Liu Fall 26 http://www.cs.pdx.edu/~fliu/couses/cs447/ /7/26 Last time Compositing NPR 3D Gaphics Toolkits Tansfomations 2 Today 3D Tansfomations The Viewing Pipeline Mid-tem: in class, Nov. 2

More information

(a, b) x y r. For this problem, is a point in the - coordinate plane and is a positive number.

(a, b) x y r. For this problem, is a point in the - coordinate plane and is a positive number. Illustative G-C Simila cicles Alignments to Content Standads: G-C.A. Task (a, b) x y Fo this poblem, is a point in the - coodinate plane and is a positive numbe. a. Using a tanslation and a dilation, show

More information

Shortest Paths for a Two-Robot Rendez-Vous

Shortest Paths for a Two-Robot Rendez-Vous Shotest Paths fo a Two-Robot Rendez-Vous Eik L Wyntes Joseph S B Mitchell y Abstact In this pape, we conside an optimal motion planning poblem fo a pai of point obots in a plana envionment with polygonal

More information

dc - Linux Command Dc may be invoked with the following command-line options: -V --version Print out the version of dc

dc - Linux Command Dc may be invoked with the following command-line options: -V --version Print out the version of dc - CentOS 5.2 - Linux Uses Guide - Linux Command SYNOPSIS [-V] [--vesion] [-h] [--help] [-e sciptexpession] [--expession=sciptexpession] [-f sciptfile] [--file=sciptfile] [file...] DESCRIPTION is a evese-polish

More information

Conservation Law of Centrifugal Force and Mechanism of Energy Transfer Caused in Turbomachinery

Conservation Law of Centrifugal Force and Mechanism of Energy Transfer Caused in Turbomachinery Poceedings of the 4th WSEAS Intenational Confeence on luid Mechanics and Aeodynamics, Elounda, Geece, August 1-3, 006 (pp337-34) Consevation Law of Centifugal oce and Mechanism of Enegy Tansfe Caused in

More information

Any modern computer system will incorporate (at least) two levels of storage:

Any modern computer system will incorporate (at least) two levels of storage: 1 Any moden compute system will incopoate (at least) two levels of stoage: pimay stoage: andom access memoy (RAM) typical capacity 32MB to 1GB cost pe MB $3. typical access time 5ns to 6ns bust tansfe

More information

Massachusetts Institute of Technology Department of Mechanical Engineering

Massachusetts Institute of Technology Department of Mechanical Engineering cm cm Poblem Massachusetts Institute of echnolog Depatment of Mechanical Engineeing. Intoduction to obotics Sample Poblems and Solutions fo the Mid-em Exam Figue shows a obotic vehicle having two poweed

More information

COSC 6385 Computer Architecture. - Pipelining

COSC 6385 Computer Architecture. - Pipelining COSC 6385 Compute Achitectue - Pipelining Sping 2012 Some of the slides ae based on a lectue by David Culle, Pipelining Pipelining is an implementation technique wheeby multiple instuctions ae ovelapped

More information

A Mathematical Implementation of a Global Human Walking Model with Real-Time Kinematic Personification by Boulic, Thalmann and Thalmann.

A Mathematical Implementation of a Global Human Walking Model with Real-Time Kinematic Personification by Boulic, Thalmann and Thalmann. A Mathematical Implementation of a Global Human Walking Model with Real-Time Kinematic Pesonification by Boulic, Thalmann and Thalmann. Mashall Badley National Cente fo Physical Acoustics Univesity of

More information

Configuring RSVP-ATM QoS Interworking

Configuring RSVP-ATM QoS Interworking Configuing RSVP-ATM QoS Intewoking Last Updated: Januay 15, 2013 This chapte descibes the tasks fo configuing the RSVP-ATM QoS Intewoking featue, which povides suppot fo Contolled Load Sevice using RSVP

More information

Assessment of Track Sequence Optimization based on Recorded Field Operations

Assessment of Track Sequence Optimization based on Recorded Field Operations Assessment of Tack Sequence Optimization based on Recoded Field Opeations Matin A. F. Jensen 1,2,*, Claus G. Søensen 1, Dionysis Bochtis 1 1 Aahus Univesity, Faculty of Science and Technology, Depatment

More information

Query Language #1/3: Relational Algebra Pure, Procedural, and Set-oriented

Query Language #1/3: Relational Algebra Pure, Procedural, and Set-oriented Quey Language #1/3: Relational Algeba Pue, Pocedual, and Set-oiented To expess a quey, we use a set of opeations. Each opeation takes one o moe elations as input paamete (set-oiented). Since each opeation

More information

All lengths in meters. E = = 7800 kg/m 3

All lengths in meters. E = = 7800 kg/m 3 Poblem desciption In this poblem, we apply the component mode synthesis (CMS) technique to a simple beam model. 2 0.02 0.02 All lengths in metes. E = 2.07 10 11 N/m 2 = 7800 kg/m 3 The beam is a fee-fee

More information

Lecture 8 Introduction to Pipelines Adapated from slides by David Patterson

Lecture 8 Introduction to Pipelines Adapated from slides by David Patterson Lectue 8 Intoduction to Pipelines Adapated fom slides by David Patteson http://www-inst.eecs.bekeley.edu/~cs61c/ * 1 Review (1/3) Datapath is the hadwae that pefoms opeations necessay to execute pogams.

More information

Optical Flow for Large Motion Using Gradient Technique

Optical Flow for Large Motion Using Gradient Technique SERBIAN JOURNAL OF ELECTRICAL ENGINEERING Vol. 3, No. 1, June 2006, 103-113 Optical Flow fo Lage Motion Using Gadient Technique Md. Moshaof Hossain Sake 1, Kamal Bechkoum 2, K.K. Islam 1 Abstact: In this

More information

CSE 165: 3D User Interaction

CSE 165: 3D User Interaction CSE 165: 3D Use Inteaction Lectue #6: Selection Instucto: Jugen Schulze, Ph.D. 2 Announcements Homewok Assignment #2 Due Fiday, Januay 23 d at 1:00pm 3 4 Selection and Manipulation 5 Why ae Selection and

More information

Lecture # 04. Image Enhancement in Spatial Domain

Lecture # 04. Image Enhancement in Spatial Domain Digital Image Pocessing CP-7008 Lectue # 04 Image Enhancement in Spatial Domain Fall 2011 2 domains Spatial Domain : (image plane) Techniques ae based on diect manipulation of pixels in an image Fequency

More information

Illumination methods for optical wear detection

Illumination methods for optical wear detection Illumination methods fo optical wea detection 1 J. Zhang, 2 P.P.L.Regtien 1 VIMEC Applied Vision Technology, Coy 43, 5653 LC Eindhoven, The Nethelands Email: jianbo.zhang@gmail.com 2 Faculty Electical

More information

A Memory Efficient Array Architecture for Real-Time Motion Estimation

A Memory Efficient Array Architecture for Real-Time Motion Estimation A Memoy Efficient Aay Achitectue fo Real-Time Motion Estimation Vasily G. Moshnyaga and Keikichi Tamau Depatment of Electonics & Communication, Kyoto Univesity Sakyo-ku, Yoshida-Honmachi, Kyoto 66-1, JAPAN

More information

A New and Efficient 2D Collision Detection Method Based on Contact Theory Xiaolong CHENG, Jun XIAO a, Ying WANG, Qinghai MIAO, Jian XUE

A New and Efficient 2D Collision Detection Method Based on Contact Theory Xiaolong CHENG, Jun XIAO a, Ying WANG, Qinghai MIAO, Jian XUE 5th Intenational Confeence on Advanced Mateials and Compute Science (ICAMCS 2016) A New and Efficient 2D Collision Detection Method Based on Contact Theoy Xiaolong CHENG, Jun XIAO a, Ying WANG, Qinghai

More information

Fifth Wheel Modelling and Testing

Fifth Wheel Modelling and Testing Fifth heel Modelling and Testing en Masoy Mechanical Engineeing Depatment Floida Atlantic Univesity Boca aton, FL 4 Lois Malaptias IFMA Institut Fancais De Mechanique Advancee ampus De lemont Feand Les

More information

Elliptic Generation Systems

Elliptic Generation Systems 4 Elliptic Geneation Systems Stefan P. Spekeijse 4.1 Intoduction 4.1 Intoduction 4.2 Two-Dimensional Gid Geneation Hamonic Maps, Gid Contol Maps, and Poisson Systems Discetization and Solution Method Constuction

More information

COEN-4730 Computer Architecture Lecture 2 Review of Instruction Sets and Pipelines

COEN-4730 Computer Architecture Lecture 2 Review of Instruction Sets and Pipelines 1 COEN-4730 Compute Achitectue Lectue 2 Review of nstuction Sets and Pipelines Cistinel Ababei Dept. of Electical and Compute Engineeing Maquette Univesity Cedits: Slides adapted fom pesentations of Sudeep

More information

ME 210 Applied Mathematics for Mechanical Engineers

ME 210 Applied Mathematics for Mechanical Engineers Note that the unit vectos, T, N and B ae thee unit vectos pependicula to each othe whose diections ae dictated by the local behavio of the cuve C at its point P. They fom a moving ight handed vecto fame

More information

OPTIMAL KINEMATIC SYNTHESIS OF CRANK & SLOTTED LEVER QUICK RETURN MECHANISM FOR SPECIFIC STROKE & TIME RATIO

OPTIMAL KINEMATIC SYNTHESIS OF CRANK & SLOTTED LEVER QUICK RETURN MECHANISM FOR SPECIFIC STROKE & TIME RATIO OPTIMAL KINEMATIC SYNTHESIS OF CRANK & SLOTTED LEVER QUICK RETURN MECHANISM FOR SPECIFIC STROKE & TIME RATIO Zeeshan A. Shaikh 1 and T.Y. Badguja 2 1,2 Depatment of Mechanical Engineeing, Late G. N. Sapkal

More information

A modal estimation based multitype sensor placement method

A modal estimation based multitype sensor placement method A modal estimation based multitype senso placement method *Xue-Yang Pei 1), Ting-Hua Yi 2) and Hong-Nan Li 3) 1),)2),3) School of Civil Engineeing, Dalian Univesity of Technology, Dalian 116023, China;

More information

Reader & ReaderT Monad (11A) Young Won Lim 8/20/18

Reader & ReaderT Monad (11A) Young Won Lim 8/20/18 Copyight (c) 2016-2018 Young W. Lim. Pemission is ganted to copy, distibute and/o modify this document unde the tems of the GNU Fee Documentation License, Vesion 1.2 o any late vesion published by the

More information

Adaptation of Motion Capture Data of Human Arms to a Humanoid Robot Using Optimization

Adaptation of Motion Capture Data of Human Arms to a Humanoid Robot Using Optimization ICCAS25 June 2-5, KINTEX, Gyeonggi-Do, Koea Adaptation of Motion Captue Data of Human Ams to a Humanoid Robot Using Optimization ChangHwan Kim and Doik Kim Intelligent Robotics Reseach Cente, Koea Institute

More information

Getting Started PMW-EX1/PMW-EX3. 1 Rotate the grip with the RELEASE button pressed. Overview. Connecting the Computer and PMW-EX1/EX3

Getting Started PMW-EX1/PMW-EX3. 1 Rotate the grip with the RELEASE button pressed. Overview. Connecting the Computer and PMW-EX1/EX3 A PMW-EX1/PMW-EX3 Getting Stated Oveview This document descibes how to use the XDCAM EX Vesion Up Tool (heeafte Vesion Up Tool ) to upgade the PMW-EX1 and PMW-EX3 to vesion 1.20 (PMW-EX1) o vesion 1.10

More information

Controlled Information Maximization for SOM Knowledge Induced Learning

Controlled Information Maximization for SOM Knowledge Induced Learning 3 Int'l Conf. Atificial Intelligence ICAI'5 Contolled Infomation Maximization fo SOM Knowledge Induced Leaning Ryotao Kamimua IT Education Cente and Gaduate School of Science and Technology, Tokai Univeisity

More information

Lecture Topics ECE 341. Lecture # 12. Control Signals. Control Signals for Datapath. Basic Processing Unit. Pipelining

Lecture Topics ECE 341. Lecture # 12. Control Signals. Control Signals for Datapath. Basic Processing Unit. Pipelining EE 341 Lectue # 12 Instucto: Zeshan hishti zeshan@ece.pdx.edu Novembe 10, 2014 Potland State Univesity asic Pocessing Unit ontol Signals Hadwied ontol Datapath contol signals Dealing with memoy delay Pipelining

More information

Environment Mapping. Overview

Environment Mapping. Overview Envionment Mapping 1 Oveview Intoduction Envionment map constuction sphee mapping Envionment mapping applications distant geomety eflections 2 1 Oveview Intoduction Envionment map constuction sphee mapping

More information

Title. Author(s)NOMURA, K.; MOROOKA, S. Issue Date Doc URL. Type. Note. File Information

Title. Author(s)NOMURA, K.; MOROOKA, S. Issue Date Doc URL. Type. Note. File Information Title CALCULATION FORMULA FOR A MAXIMUM BENDING MOMENT AND THE TRIANGULAR SLAB WITH CONSIDERING EFFECT OF SUPPO UNIFORM LOAD Autho(s)NOMURA, K.; MOROOKA, S. Issue Date 2013-09-11 Doc URL http://hdl.handle.net/2115/54220

More information

A Two-stage and Parameter-free Binarization Method for Degraded Document Images

A Two-stage and Parameter-free Binarization Method for Degraded Document Images A Two-stage and Paamete-fee Binaization Method fo Degaded Document Images Yung-Hsiang Chiu 1, Kuo-Liang Chung 1, Yong-Huai Huang 2, Wei-Ning Yang 3, Chi-Huang Liao 4 1 Depatment of Compute Science and

More information

ADDING REALISM TO SOURCE CHARACTERIZATION USING A GENETIC ALGORITHM

ADDING REALISM TO SOURCE CHARACTERIZATION USING A GENETIC ALGORITHM ADDING REALISM TO SOURCE CHARACTERIZATION USING A GENETIC ALGORITHM Luna M. Rodiguez*, Sue Ellen Haupt, and Geoge S. Young Depatment of Meteoology and Applied Reseach Laboatoy The Pennsylvania State Univesity,

More information

Journal of Machine Engineering, Vol. 15, No. 4, 2015

Journal of Machine Engineering, Vol. 15, No. 4, 2015 Jounal of Machine Engineeing, Vol. 15, No. 4, 2015 Received: 09 July 2015 / Accepted: 15 Octobe 2015 / Published online: 10 Novembe 2015 Vigil TEODOR 1* Vioel PAUNOIU 1 Silviu BERBINSCHI 2 Nicuşo BAROIU

More information

Gravitational Shift for Beginners

Gravitational Shift for Beginners Gavitational Shift fo Beginnes This pape, which I wote in 26, fomulates the equations fo gavitational shifts fom the elativistic famewok of special elativity. Fist I deive the fomulas fo the gavitational

More information

The Processor: Improving Performance Data Hazards

The Processor: Improving Performance Data Hazards The Pocesso: Impoving Pefomance Data Hazads Monday 12 Octobe 15 Many slides adapted fom: and Design, Patteson & Hennessy 5th Edition, 2014, MK and fom Pof. May Jane Iwin, PSU Summay Pevious Class Pipeline

More information

User Specified non-bonded potentials in gromacs

User Specified non-bonded potentials in gromacs Use Specified non-bonded potentials in gomacs Apil 8, 2010 1 Intoduction On fist appeaances gomacs, unlike MD codes like LAMMPS o DL POLY, appeas to have vey little flexibility with egads to the fom of

More information

Dr. A.B.M. Toufique Hasan. Lecture-13

Dr. A.B.M. Toufique Hasan. Lecture-13 7/5/8 ME 45: Aeodynamics D. A.B.M. Toufique Hasan Pofesso Depatment of Mechanical Engineeing g Bangladesh Univesity of Engineeing & Technology BUET, Dhaka Lectue-3 7/5/8 Doublet & Flow Ove a stationey

More information

Multi-azimuth Prestack Time Migration for General Anisotropic, Weakly Heterogeneous Media - Field Data Examples

Multi-azimuth Prestack Time Migration for General Anisotropic, Weakly Heterogeneous Media - Field Data Examples Multi-azimuth Pestack Time Migation fo Geneal Anisotopic, Weakly Heteogeneous Media - Field Data Examples S. Beaumont* (EOST/PGS) & W. Söllne (PGS) SUMMARY Multi-azimuth data acquisition has shown benefits

More information

Goal. Rendering Complex Scenes on Mobile Terminals or on the web. Rendering on Mobile Terminals. Rendering on Mobile Terminals. Walking through images

Goal. Rendering Complex Scenes on Mobile Terminals or on the web. Rendering on Mobile Terminals. Rendering on Mobile Terminals. Walking through images Goal Walking though s -------------------------------------------- Kadi Bouatouch IRISA Univesité de Rennes I, Fance Rendeing Comple Scenes on Mobile Teminals o on the web Rendeing on Mobile Teminals Rendeing

More information

ISyE 4256 Industrial Robotic Applications

ISyE 4256 Industrial Robotic Applications ISyE 456 Industial Robotic Applications Quiz # Oct. 9, 998 Name This is a closed book, closed notes exam. Show wok fo poblem questions ) ( pts) Please cicle one choice fo each item. a) In an application,

More information

Conversion Functions for Symmetric Key Ciphers

Conversion Functions for Symmetric Key Ciphers Jounal of Infomation Assuance and Secuity 2 (2006) 41 50 Convesion Functions fo Symmetic Key Ciphes Deba L. Cook and Angelos D. Keomytis Depatment of Compute Science Columbia Univesity, mail code 0401

More information

a Not yet implemented in current version SPARK: Research Kit Pointer Analysis Parameters Soot Pointer analysis. Objectives

a Not yet implemented in current version SPARK: Research Kit Pointer Analysis Parameters Soot Pointer analysis. Objectives SPARK: Soot Reseach Kit Ondřej Lhoták Objectives Spak is a modula toolkit fo flow-insensitive may points-to analyses fo Java, which enables expeimentation with: vaious paametes of pointe analyses which

More information

The Java Virtual Machine. Compiler construction The structure of a frame. JVM stacks. Lecture 2

The Java Virtual Machine. Compiler construction The structure of a frame. JVM stacks. Lecture 2 Compile constuction 2009 Lectue 2 Code geneation 1: Geneating code The Java Vitual Machine Data types Pimitive types, including intege and floating-point types of vaious sizes and the boolean type. The

More information

Improved Fourier-transform profilometry

Improved Fourier-transform profilometry Impoved Fouie-tansfom pofilomety Xianfu Mao, Wenjing Chen, and Xianyu Su An impoved optical geomety of the pojected-finge pofilomety technique, in which the exit pupil of the pojecting lens and the entance

More information

CALCULUS III Surface Integrals. Paul Dawkins

CALCULUS III Surface Integrals. Paul Dawkins CALCULU III uface Integals Paul awkins Table of Contents Peface... ii uface Integals... 3 Intoduction... 3 Paametic ufaces... 4 uface Integals... uface Integals of Vecto Fields... 9 tokes Theoem... 9 ivegence

More information

Lecture 27: Voronoi Diagrams

Lecture 27: Voronoi Diagrams We say that two points u, v Y ae in the same connected component of Y if thee is a path in R N fom u to v such that all the points along the path ae in the set Y. (Thee ae two connected components in the

More information

17/5/2009. Introduction

17/5/2009. Introduction 7/5/9 Steeo Imaging Intoduction Eample of Human Vision Peception of Depth fom Left and ight eye images Diffeence in elative position of object in left and ight eyes. Depth infomation in the views?? 7/5/9

More information

3D Reconstruction from 360 x 360 Mosaics 1

3D Reconstruction from 360 x 360 Mosaics 1 CENTER FOR MACHINE PERCEPTION 3D Reconstuction fom 36 x 36 Mosaics CZECH TECHNICAL UNIVERSITY {bakstein, pajdla}@cmp.felk.cvut.cz REPRINT Hynek Bakstein and Tomáš Pajdla, 3D Reconstuction fom 36 x 36 Mosaics,

More information

Segmentation of Casting Defects in X-Ray Images Based on Fractal Dimension

Segmentation of Casting Defects in X-Ray Images Based on Fractal Dimension 17th Wold Confeence on Nondestuctive Testing, 25-28 Oct 2008, Shanghai, China Segmentation of Casting Defects in X-Ray Images Based on Factal Dimension Jue WANG 1, Xiaoqin HOU 2, Yufang CAI 3 ICT Reseach

More information

POMDP: Introduction to Partially Observable Markov Decision Processes Hossein Kamalzadeh, Michael Hahsler

POMDP: Introduction to Partially Observable Markov Decision Processes Hossein Kamalzadeh, Michael Hahsler POMDP: Intoduction to Patially Obsevable Makov Decision Pocesses Hossein Kamalzadeh, Michael Hahsle 2019-01-02 The R package pomdp povides an inteface to pomdp-solve, a solve (witten in C) fo Patially

More information

Tufts University Math 13 Department of Mathematics November 14, :00 noon to 1:20 pm

Tufts University Math 13 Department of Mathematics November 14, :00 noon to 1:20 pm Tufts Univesit Math 3 Depatment of Mathematics Novembe, Eam : noon to : pm Instuctions: No calculatos, notes o books ae allowed. Unless othewise stated, ou must show all wok to eceive full cedit. Simplif

More information

Topic -3 Image Enhancement

Topic -3 Image Enhancement Topic -3 Image Enhancement (Pat 1) DIP: Details Digital Image Pocessing Digital Image Chaacteistics Spatial Spectal Gay-level Histogam DFT DCT Pe-Pocessing Enhancement Restoation Point Pocessing Masking

More information

DYNAMIC STORAGE ALLOCATION. Hanan Samet

DYNAMIC STORAGE ALLOCATION. Hanan Samet ds0 DYNAMIC STORAGE ALLOCATION Hanan Samet Compute Science Depatment and Cente fo Automation Reseach and Institute fo Advanced Compute Studies Univesity of Mayland College Pak, Mayland 07 e-mail: hjs@umiacs.umd.edu

More information

10/29/2010. Rendering techniques. Global Illumination. Local Illumination methods. Today : Global Illumination Modules and Methods

10/29/2010. Rendering techniques. Global Illumination. Local Illumination methods. Today : Global Illumination Modules and Methods Rendeing techniques Compute Gaphics Lectue 10 Can be classified as Local Illumination techniques Global Illumination techniques Global Illumination 1: Ray Tacing and Radiosity Taku Komua 1 Local Illumination

More information

Physical simulation for animation

Physical simulation for animation Physical simulation fo animation Case study: The jello cube The Jello Cube Mass-Sping System Collision Detection Integatos Septembe 17 2002 1 Announcements Pogamming assignment 3 is out. It is due Tuesday,

More information

ANALYTIC PERFORMANCE MODELS FOR SINGLE CLASS AND MULTIPLE CLASS MULTITHREADED SOFTWARE SERVERS

ANALYTIC PERFORMANCE MODELS FOR SINGLE CLASS AND MULTIPLE CLASS MULTITHREADED SOFTWARE SERVERS ANALYTIC PERFORMANCE MODELS FOR SINGLE CLASS AND MULTIPLE CLASS MULTITHREADED SOFTWARE SERVERS Daniel A Menascé Mohamed N Bennani Dept of Compute Science Oacle, Inc Geoge Mason Univesity 1211 SW Fifth

More information

GCC-AVR Inline Assembler Cookbook Version 1.2

GCC-AVR Inline Assembler Cookbook Version 1.2 GCC-AVR Inline Assemble Cookbook Vesion 1.2 About this Document The GNU C compile fo Atmel AVR isk pocessos offes, to embed assembly language code into C pogams. This cool featue may be used fo manually

More information

ADVANCED TECHNIQUES APPENDIX A

ADVANCED TECHNIQUES APPENDIX A A P CONTENTS þ Anilam þ Bridgeport þ Fanuc þ Yasnac þ Haas þ Fadal þ Okuma P E N D I X A ADVANCED TECHNIQUES APPENDIX A - 1 APPENDIX A - 2 ADVANCED TECHNIQUES ANILAM CODES The following is a list of Machinist

More information

5 4 THE BERNOULLI EQUATION

5 4 THE BERNOULLI EQUATION 185 CHATER 5 the suounding ai). The fictional wok tem w fiction is often expessed as e loss to epesent the loss (convesion) of mechanical into themal. Fo the idealied case of fictionless motion, the last

More information

Accurate Diffraction Efficiency Control for Multiplexed Volume Holographic Gratings. Xuliang Han, Gicherl Kim, and Ray T. Chen

Accurate Diffraction Efficiency Control for Multiplexed Volume Holographic Gratings. Xuliang Han, Gicherl Kim, and Ray T. Chen Accuate Diffaction Efficiency Contol fo Multiplexed Volume Hologaphic Gatings Xuliang Han, Gichel Kim, and Ray T. Chen Micoelectonic Reseach Cente Depatment of Electical and Compute Engineeing Univesity

More information

Communication vs Distributed Computation: an alternative trade-off curve

Communication vs Distributed Computation: an alternative trade-off curve Communication vs Distibuted Computation: an altenative tade-off cuve Yahya H. Ezzeldin, Mohammed amoose, Chistina Fagouli Univesity of Califonia, Los Angeles, CA 90095, USA, Email: {yahya.ezzeldin, mkamoose,

More information

RANDOM IRREGULAR BLOCK-HIERARCHICAL NETWORKS: ALGORITHMS FOR COMPUTATION OF MAIN PROPERTIES

RANDOM IRREGULAR BLOCK-HIERARCHICAL NETWORKS: ALGORITHMS FOR COMPUTATION OF MAIN PROPERTIES RANDOM IRREGULAR BLOCK-HIERARCHICAL NETWORKS: ALGORITHMS FOR COMPUTATION OF MAIN PROPERTIES Svetlana Avetisyan Mikayel Samvelyan* Matun Kaapetyan Yeevan State Univesity Abstact In this pape, the class

More information

Module 6 STILL IMAGE COMPRESSION STANDARDS

Module 6 STILL IMAGE COMPRESSION STANDARDS Module 6 STILL IMAE COMPRESSION STANDARDS Lesson 17 JPE-2000 Achitectue and Featues Instuctional Objectives At the end of this lesson, the students should be able to: 1. State the shotcomings of JPE standad.

More information

Performance Optimization in Structured Wireless Sensor Networks

Performance Optimization in Structured Wireless Sensor Networks 5 The Intenational Aab Jounal of Infomation Technology, Vol. 6, o. 5, ovembe 9 Pefomance Optimization in Stuctued Wieless Senso etwoks Amine Moussa and Hoda Maalouf Compute Science Depatment, ote Dame

More information

MapReduce Optimizations and Algorithms 2015 Professor Sasu Tarkoma

MapReduce Optimizations and Algorithms 2015 Professor Sasu Tarkoma apreduce Optimizations and Algoithms 2015 Pofesso Sasu Takoma www.cs.helsinki.fi Optimizations Reduce tasks cannot stat befoe the whole map phase is complete Thus single slow machine can slow down the

More information

The Internet Ecosystem and Evolution

The Internet Ecosystem and Evolution The Intenet Ecosystem and Evolution Contents Netwok outing: basics distibuted/centalized, static/dynamic, linkstate/path-vecto inta-domain/inte-domain outing Mapping the sevice model to AS-AS paths valley-fee

More information

SIMOCODE pro. Motor Management and Control Devices. SIMOCODE pro for Modbus RTU. Answers for industry. Edition 04/2015

SIMOCODE pro. Motor Management and Control Devices. SIMOCODE pro for Modbus RTU. Answers for industry. Edition 04/2015 SIMOCODE po Moto Management and Contol Devices SIMOCODE po fo Modbus RTU Geätehandbuch Configuation Manual Edition 04/2015 Answes fo industy. Intoduction 1 System configuation and commissioning with RTU

More information

FACE VECTORS OF FLAG COMPLEXES

FACE VECTORS OF FLAG COMPLEXES FACE VECTORS OF FLAG COMPLEXES ANDY FROHMADER Abstact. A conjectue of Kalai and Eckhoff that the face vecto of an abitay flag complex is also the face vecto of some paticula balanced complex is veified.

More information

= dv 3V (r + a 1) 3 r 3 f(r) = 1. = ( (r + r 2

= dv 3V (r + a 1) 3 r 3 f(r) = 1. = ( (r + r 2 Random Waypoint Model in n-dimensional Space Esa Hyytiä and Joma Vitamo Netwoking Laboatoy, Helsinki Univesity of Technology, Finland Abstact The andom waypoint model (RWP) is one of the most widely used

More information

DEADLOCK AVOIDANCE IN BATCH PROCESSES. M. Tittus K. Åkesson

DEADLOCK AVOIDANCE IN BATCH PROCESSES. M. Tittus K. Åkesson DEADLOCK AVOIDANCE IN BATCH PROCESSES M. Tittus K. Åkesson Univesity College Boås, Sweden, e-mail: Michael.Tittus@hb.se Chalmes Univesity of Technology, Gothenbug, Sweden, e-mail: ka@s2.chalmes.se Abstact:

More information

UCB CS61C : Machine Structures

UCB CS61C : Machine Structures inst.eecs.bekeley.edu/~cs61c UCB CS61C : Machine Stuctues Lectue SOE Dan Gacia Lectue 28 CPU Design : Pipelining to Impove Pefomance 2010-04-05 Stanfod Reseaches have invented a monitoing technique called

More information

Journal of World s Electrical Engineering and Technology J. World. Elect. Eng. Tech. 1(1): 12-16, 2012

Journal of World s Electrical Engineering and Technology J. World. Elect. Eng. Tech. 1(1): 12-16, 2012 2011, Scienceline Publication www.science-line.com Jounal of Wold s Electical Engineeing and Technology J. Wold. Elect. Eng. Tech. 1(1): 12-16, 2012 JWEET An Efficient Algoithm fo Lip Segmentation in Colo

More information

Also available at ISSN (printed edn.), ISSN (electronic edn.) ARS MATHEMATICA CONTEMPORANEA 3 (2010)

Also available at  ISSN (printed edn.), ISSN (electronic edn.) ARS MATHEMATICA CONTEMPORANEA 3 (2010) Also available at http://amc.imfm.si ISSN 1855-3966 (pinted edn.), ISSN 1855-3974 (electonic edn.) ARS MATHEMATICA CONTEMPORANEA 3 (2010) 109 120 Fulleene patches I Jack E. Gave Syacuse Univesity, Depatment

More information

5. Geometric Transformations and Projections

5. Geometric Transformations and Projections 5. Geometic Tansfomations and ojections 5. Tanslations and Rotations a) Tanslation d d d d d d d d b) Scaling s s s s c) Reflection (about - - lane) d) Rotation about Ais ( ) ( ) CCW 5.. Homogeneous Repesentation

More information

Computer Graphics and Animation 3-Viewing

Computer Graphics and Animation 3-Viewing Compute Gaphics and Animation 3-Viewing Pof. D. Chales A. Wüthich, Fakultät Medien, Medieninfomatik Bauhaus-Univesität Weima caw AT medien.uni-weima.de Ma 5 Chales A. Wüthich Viewing Hee: Viewing in 3D

More information

Obstacle Avoidance of Autonomous Mobile Robot using Stereo Vision Sensor

Obstacle Avoidance of Autonomous Mobile Robot using Stereo Vision Sensor Obstacle Avoidance of Autonomous Mobile Robot using Steeo Vision Senso Masako Kumano Akihisa Ohya Shin ichi Yuta Intelligent Robot Laboatoy Univesity of Tsukuba, Ibaaki, 35-8573 Japan E-mail: {masako,

More information

SRD991 / SRD960 Intelligent Positioners Communication with HART Hand-Held Terminal

SRD991 / SRD960 Intelligent Positioners Communication with HART Hand-Held Terminal Maste Instuction 07.2007 MI EVE0105 B-(en) SRD991 / SRD960 Intelligent Positiones Communication with HART Hand-Held Teminal The intelligent electo-pneumatic positiones SRD991/SRD960 ae designed to opeate

More information

Desired Attitude Angles Design Based on Optimization for Side Window Detection of Kinetic Interceptor *

Desired Attitude Angles Design Based on Optimization for Side Window Detection of Kinetic Interceptor * Poceedings of the 7 th Chinese Contol Confeence July 6-8, 008, Kunming,Yunnan, China Desied Attitude Angles Design Based on Optimization fo Side Window Detection of Kinetic Intecepto * Zhu Bo, Quan Quan,

More information

You Are Here! Review: Hazards. Agenda. Agenda. Review: Load / Branch Delay Slots 7/28/2011

You Are Here! Review: Hazards. Agenda. Agenda. Review: Load / Branch Delay Slots 7/28/2011 CS 61C: Geat Ideas in Compute Achitectue (Machine Stuctues) Instuction Level Paallelism: Multiple Instuction Issue Guest Lectue: Justin Hsia Softwae Paallel Requests Assigned to compute e.g., Seach Katz

More information

MIS to Prepress ICS. Version Date: File: ICS-MIS-Prepress-1.01.doc,.pdf. Origination & Prepress WG

MIS to Prepress ICS. Version Date: File: ICS-MIS-Prepress-1.01.doc,.pdf. Origination & Prepress WG MIS to Pepess ICS Vesion 1.01 Date: 2006-01-02 File: ICS-MIS-Pepess-1.01.doc,.pdf Oigination & Pepess WG Abstact This ICS defines the Inteface between the MIS and Pepess. It specifies the Pocesses fo a

More information

Lecture #22 Pipelining II, Cache I

Lecture #22 Pipelining II, Cache I inst.eecs.bekeley.edu/~cs61c CS61C : Machine Stuctues Lectue #22 Pipelining II, Cache I Wiewold cicuits 2008-7-29 http://www.maa.og/editoial/mathgames/mathgames_05_24_04.html http://www.quinapalus.com/wi-index.html

More information

Automatically Testing Interacting Software Components

Automatically Testing Interacting Software Components Automatically Testing Inteacting Softwae Components Leonad Gallaghe Infomation Technology Laboatoy National Institute of Standads and Technology Gaithesbug, MD 20899, USA lgallaghe@nist.gov Jeff Offutt

More information

Communication module System Manual Part 9

Communication module System Manual Part 9 Communication module 70.4040 System Manual Pat 9 Contents 1 Intoduction 3 1.1 Peface... 3 1.2 Type designation... 4 2 Indications and contols 5 3 Integated functions 7 3.1 Oveview... 7 3.2 Outputs...

More information

Detection and Recognition of Alert Traffic Signs

Detection and Recognition of Alert Traffic Signs Detection and Recognition of Alet Taffic Signs Chia-Hsiung Chen, Macus Chen, and Tianshi Gao 1 Stanfod Univesity Stanfod, CA 9305 {echchen, macuscc, tianshig}@stanfod.edu Abstact Taffic signs povide dives

More information

Introduction to Medical Imaging. Cone-Beam CT. Introduction. Available cone-beam reconstruction methods: Our discussion:

Introduction to Medical Imaging. Cone-Beam CT. Introduction. Available cone-beam reconstruction methods: Our discussion: Intoduction Intoduction to Medical Imaging Cone-Beam CT Klaus Muelle Available cone-beam econstuction methods: exact appoximate Ou discussion: exact (now) appoximate (next) The Radon tansfom and its invese

More information

2D Transformations. Why Transformations. Translation 4/17/2009

2D Transformations. Why Transformations. Translation 4/17/2009 4/7/9 D Tansfomations Wh Tansfomations Coodinate sstem tansfomations Placing objects in the wold Move/animate the camea fo navigation Dawing hieachical chaactes Animation Tanslation + d 5,4 + d,3 d 4,

More information

A Shape-preserving Affine Takagi-Sugeno Model Based on a Piecewise Constant Nonuniform Fuzzification Transform

A Shape-preserving Affine Takagi-Sugeno Model Based on a Piecewise Constant Nonuniform Fuzzification Transform A Shape-peseving Affine Takagi-Sugeno Model Based on a Piecewise Constant Nonunifom Fuzzification Tansfom Felipe Fenández, Julio Gutiéez, Juan Calos Cespo and Gacián Tiviño Dep. Tecnología Fotónica, Facultad

More information

IP Network Design by Modified Branch Exchange Method

IP Network Design by Modified Branch Exchange Method Received: June 7, 207 98 IP Netwok Design by Modified Banch Method Kaiat Jaoenat Natchamol Sichumoenattana 2* Faculty of Engineeing at Kamphaeng Saen, Kasetsat Univesity, Thailand 2 Faculty of Management

More information

On Error Estimation in Runge-Kutta Methods

On Error Estimation in Runge-Kutta Methods Leonado Jounal of Sciences ISSN 1583-0233 Issue 18, Januay-June 2011 p. 1-10 On Eo Estimation in Runge-Kutta Methods Ochoche ABRAHAM 1,*, Gbolahan BOLARIN 2 1 Depatment of Infomation Technology, 2 Depatment

More information

Extended Perspective Shadow Maps (XPSM) Vladislav Gusev, ,

Extended Perspective Shadow Maps (XPSM)   Vladislav Gusev, , Extended Pespective Shadow Maps (XPSM) http://xpsm.og Vladislav Gusev,.8.27, xmvlad@gmail.com Figue : XPSM esults (~4 objects in a scene, 536x536 shadow map). Intoduction Shadows ae one of the most impotant

More information

Extract Object Boundaries in Noisy Images using Level Set. Final Report

Extract Object Boundaries in Noisy Images using Level Set. Final Report Extact Object Boundaies in Noisy Images using Level Set by: Quming Zhou Final Repot Submitted to Pofesso Bian Evans EE381K Multidimensional Digital Signal Pocessing May 10, 003 Abstact Finding object contous

More information

UCLA Papers. Title. Permalink. Authors. Publication Date. Localized Edge Detection in Sensor Fields. https://escholarship.org/uc/item/3fj6g58j

UCLA Papers. Title. Permalink. Authors. Publication Date. Localized Edge Detection in Sensor Fields. https://escholarship.org/uc/item/3fj6g58j UCLA Papes Title Localized Edge Detection in Senso Fields Pemalink https://escholashipog/uc/item/3fj6g58j Authos K Chintalapudi Govindan Publication Date 3-- Pee eviewed escholashipog Poweed by the Califonia

More information

Pipes, connections, channels and multiplexors

Pipes, connections, channels and multiplexors Pipes, connections, channels and multiplexos Fancisco J. Ballesteos ABSTRACT Channels in the style of CSP ae a poeful abstaction. The ae close to pipes and connections used to inteconnect system and netok

More information

Derivation of the Nodal Forces Equivalent to Uniform Pressure for Quadratic Isoparametric Elements RAWB, Last Update: 30 September 2008

Derivation of the Nodal Forces Equivalent to Uniform Pressure for Quadratic Isoparametric Elements RAWB, Last Update: 30 September 2008 Deivation of the odal oces Equivalent to Unifom Pessue fo Quadatic sopaametic Elements RWB, Last Update: 0 Septembe 008 The displacement vecto u at an point within a single element, E, is lineal elated

More information