You are on page 1of 80

Directory of Terms for Sinumerik Users prepared by norman.bleier@siemens.

com

Directory of Terms for Siemens 840D CNC Users

This is a directory for CNC workers who program and operate machine tools with a Sinumerik System D CNC from Siemens (840D, 840Di, 810D, 802D). Since milling remains the quintessential CNC application, the directory is written with milling in mind unless otherwise specified. The Directory is offered for learning purposes only. Any ideas you gain from it for actual use should be tested in single block and feedrate override to check that the distance-to-go will not crash the machine. The Directory is not an official publication of Siemens. It is the work of the author who is responsible for it. The terms are in alphabetical order but not strictly in ASCII order. Special characters are usually not considered unless they come at the front of the term. For example, T/D is alphabetized TD. If you use the Directory in its PC document form, do a Ctrl-F search to find a word or phrase.
%_N_xxxxx_MPF: File header for System D main program files (MPF). The xxxxxx of %_N_xxxxx_MPF is the program name. See Program Name. %_N_My_First_Program_MPF is the file header for My_First_Program. Program names start with two alpha characters or an underscore and an alpha. _O1942 is a valid program name. Every rule has its exceptions and L6 or L<a number> is OK. The L is for legacy with earlier Siemens CNC. Also, the 840D seems to be forgiving when the program name starts with O followed by a number. Siemens makes a distinction between main program files (MPF) and subroutine program files (SPF). Normally, the operator selects a main program file for Cycle Start execution. The system variable $p_prog[n] returns the name of the program on program level n. Nesting level n=0 is the selected program. If My_First_Program is the selected program, $p_prog[0] returns _N_My_First_Program_MPF. %_N_xxxxx_SPF: File header for System D subroutine program files. The xxxxxx stands for the program name. For example, %_N_My_First_Sub_SPF. My_First_Sub is the program name. Siemens canned cycles (Siemens calls them machining cycles) are subroutines. So are the standard measuring cycles. The system variable $p_prog[1] returns the name of the program on program level 1 that is called from the program at program level 0. Recurring operations beg to be done with subroutines. Drilling is an example. Suppose you have 100 holes on the X-axis starting at X=0. The holes are 0.50 apart. They are 1.25 deep into the Z=0 surface. %_N_Example01_MPF T12 M6 G00 G54 G90 X-0.5 Y0 Z1 D1 S1500 M3 M8 Drill_Hole P100 M30 %_N_Drill_Hole_SPF G00 X=IC(0.5);incremental coordinate Z0.1 G01 Z-1.25 F50 G04 F.5 G00 Z0.1 RET

%_N_MMAC_DEF: A MAC file. A macro definition file for macro substitutions created by the machinery builder. path is ;$PATH=/_N_DEF_DIR. See Substitution Macro.

%_N_SMAC_DEF: A MAC file. A macro definition file for macro substitutions created by Siemens. path is ;$PATH=/_N_DEF_DIR. See Substitution Macro. %_N_UMAC_DEF: A MAC file. A macro definition file for macro substitutions created by the final user. path is ;$PATH=/_N_DEF_DIR. See Substitution Macro. 5-Axes Measuring Cycles: Measuring cycles that account two axes of orientation. The highlight of 5-axes measuring cycles is the ability to measure three balls that form a triangle whose precise position would be known if the tool (see Tool, Aerospace) sat down on the table of the machine at precisely the right location and precisely square with the machine axes. The position of the balls when the latter is true is the ideal position of the balls. The difference between the measured position of the three balls and their ideal positions is used to calculate an error frame that when concatenated to the currently active frame (usually G54) aligns the work coordinate system to the tool as it sits translated, out of square and cocked in the work envelope of the machine. The 5-axes measuring cycles were a special development done by Siemens for an important aerospace manufacturer. In subsequent software developments, the essential functionality to do 5-axes measuring has been included in the standard offering of the 840D. In addition, the standard measuring cycles (additional option) includes a cycle to measure three balls. 802C: A low-end control. 3-axes and spindle. Interface to servos is analog. RS232C for file transfer. China is the target OEM market and user community. 802S: Same as 802C but with interface to stepper drives. 802D: Intended for serial startup of inexpensive, commodity mills and lathes. 4 axes (the spindle is an axis) and one channel. Profibus interface to drives. ADI4 option is available for interface to drives requiring +/- 10Vdc velocity command signals (see ADI4). Not an open system. Characterized by very strong G-code programming language. The 802D Baseline is the 802D configured for a simple 2-axes lathe with one spindle. 802D SL: SL stands for Solution Line. The Solution Line is the 2nd generation of CNC to be expressed from the 840D development project that started in the early 1990s. When the 802D SL can do the job, it is a very attractive control because the effort to apply it is modest. 810D: Little brother to the 840D. The 810D includes the NCK and drives in one chassis. The chassis communicates with the platform of the HMI (human/machine interface) via an intra-system bus called MPI (multiple point interface). See MPI. The 810D comes in three variants known as the CCU1, CCU2 and CCU3. The most recent CCU3 does 6 axes and two channels. Because the drives are built into the CCU chassis, the 810D is limited to applications that do not require more current than these drives provide. The 810D is priced between the 802D and the 840Di. 840D: The first control of the System D family to be released for commercial distribution. All other family members spawn from its development. The 62 axes (spindles are considered axes) of the 840D can be distributed across 20 channels. The 840D separates the real time kernel (NCK) from the computing platform of the HMI (human/machine interface). The real time kernel is its own processor housed in a module called the NCU (NC unit). The platform of the HMI can be an open system PC (MMC103 with Windows 95 and PUC50 with Windows XP are provided by Siemens). Closed (but configurable) PC systems are also available (PCU20). The 840D can be had in 4 different NCU variants depending on number of axes, number of channels and processor performance required. See Solution Line. See Power Line. 840Di: The i is for integrated. The 840Di is the 840D scrunched into a single processor open system PC. The 840Di is priced between the 810D and the 840D. The 840Di real time software is an embedded application in the PCU50 Windows XP platform. This is the same Windows XP platform that is used as the open system PC of the 840D. Siemens does not offer the software for generic, off the shelf PCs. The

840_Directory of Terms .doc

Page 2 of 80

840Di interfaces to the servo drives via Profibus. It can be used with the ADI4 for retrofit of machines with old analog drives and 5Vdc quadrature TTL feedback. The real time 5-axis transformation - called TRAORI - is released for the 840Di thereby making this control an ideal retrofit control for older, less PLC intensive gantry mills in the aerospace industry. 840Di SL / 840D SL: See Solution Line A-Axis: A rotary axis whose axis of rotation is in the line of the X-axis. Rotary position is specified counter-clockwise looking in the negative direction of the X-axis. ABSCISSA: The 1st axis of a right hand coordinate system. The ordinate is the 2nd. The applicate is the 3rd. The abscissa is not always the X-axis. For example, G18 specifies the Z-axis as the abscissa and the X-axis as the applicate. In this case, Z is the #1 frame axis and X is the #2 frame axis even though X is usually the #1 servo axis and Z the #2 servo axis. G17 G18 G19 X is abscissa Z is abscissa Y is abscissa Y is ordinate X is ordinate Z is ordinate Z is applicate Y is applicate X is applicate

ABSOLUTE: Implies that the points in a sequence of blocks are identified as coordinates in a fixed (that is, stationary) coordinate system. See Incremental. ABSOLUTE POSITION: People using this word today probably mean coordinates specified in a fixed system. ABSOLUTE PROGRAMMING: Coordinate words in the part program are specified relative to a stationary coordinate origin. Specified with a G90. As opposed to incremental programming and G91 where a new location is specified as a displacement from the current position. Normally, a program is written in absolute (G90) unless there is a clear and obvious advantage to programming in incremental (G91). System D controls allow for IC and AC. For example, G01 G90 X100 Y=IC(15) F50 and G01 G91 X=AC(100) Y15 are functionally the same. Clearly IC and AC stand for incremental coordinate and absolute coordinate. ABSOLUTE VALUE: The absolute value of a positive number is the number. The absolute value of a negative number is the number multiplied by -1. For example, the absolute value of 12.543 is 12.543. The absolute value of -12.543 is 12.543. ABSOLUTE ZERO: There was a time when NC was limited to processing incremental geometry data only. The origin of the coordinate system moved with the tool. In time NC/CNC acquired the ability to process geometry data in a coordinate system that did not move. The origin of this system was called absolute zero, and while there could be only one absolute zero, its position was only temporary until the operator saw fit to set it at another point (or it was redefined with a G92 block). In this case, any memory of the previous absolute zero vanished. Contemporary CNC with its ability to do automatic reference return to establish a machine zero point that is always at the same place has rendered absolute zero an obsolete word because the only absolute zero is machine zero (and it is called machine zero, not absolute zero). The existence of machine zero and zero offset (G54) changes the practice of CNC so that the use of the term absolute zero no longer has a practical meaning unless the context is clearly defined. For example, the manual operator called PRESET sets an absolute zero in that, an axis, once preset, loses memory of it having been referenced. ACCELERATION: Time rate of change of velocity. The acceleration due to gravity at sea level is approximately 10 meters/second2. This acceleration is called 1G for 1 times the acceleration of gravity. Linear acceleration is in the direction of the motion.

840_Directory of Terms .doc

Page 3 of 80

Lateral acceleration is normal to the direction of motion. A body undergoing lateral acceleration will follow a curvilinear path. Racecars experience lateral accelerations in the order to 1.5G to 2G when taking curves at high speeds. The technically correct term for lateral acceleration is centripetal acceleration. Oh, and that centrifugal acceleration you learned about in high school science , there is no such thing. There is no outward acting force that holds a body in orbit, only an inward acting force. ACCESS PROTECTION: (aka, protection levels). A protection level determines who can make changes. Zero is the highest protection level and 7 is the lowest level. A level of 7, which corresponds to the 0 position of the key switch on the machine control panel, gives the operator access to the machine control panel. A level of 6 (that is position 1 of the key switch) allows the operator to select a program, enter settable zero offset values and change tool wear. Protection level 7 (key switch 0): Operator has access to machine control panel Protection level 6 (key switch 1): Operator can select program, set zero offset values and change tool wear. Protection level 5 (key switch 2): Access rights defined by end user Protection level 4 (key switch 3): Access rights defined by machine tool builder and/or end user Protection level 3 (password 3 ): Access rights defined by machine tool builder and/or end user for end user service personnel Protection level 2 (password 2 ): For the machine tool builder personnel to commission the control Protection level 1 (password 1 ): Machine tool builder and Siemens. Protection level 0 (password 0 ): Siemens. Passwords 3, 2, and 1 are in the public domain but not in documentation that is normally accessed by operators and programmers. The access associated with the levels above is discretionary since there exists a great deal of MMC machine data starting at 9200 to set the protection level for process values. Standard commissioning defaults most of this machine data to level 7 that corresponds to keyswitch position 0, that is, no key or password is required. ACRAMATIC: A CNC development from roughly the late 1950s to late 1990s with headquarters in Cincinnati, Ohio, and associated with Cincinnati Machine. Acramatic was immensely popular in the aerospace industry where even today machine operators talk about their Acramatic machine with reverence. Acramatic went out of business because there was not enough OEM business in the U.S. to sustain it. The Acramatic group was purchased by Siemens. Siemens terminated new Acramatic development and folded much of the Acramatic development team into 840D development. ACTIVE MEMORY: See Memory. ACTUAL VALUE: When a thermostat shows a temperature of 68 degrees we would say that 68 is the actual temperature or the actual value. It may be that the thermostat is set to 75 degrees. We would say that the 75 is the set temperature, set value or setpoint. When we talk more generally about feedback control systems, the actual temperature is the actual value and the set temperature is the set point or command value. ADI4: A module that gives the 840Di and 802D analog interface to the drives with TTL encoder feedback. This makes these controls ideal retrofit controls. ALGORITHM: A procedure of some kind that when repeated over and over again converges on a solution with each subsequent repetition making use of the outcome of the previous repetition. Long division is an algorithm. The splines of computer aided geometric design are algorithms that interpolate a curve. Many functional relationships are established by computer algorithms and thus, algorithm gets used to mean a piece of computer code that solves a complicated problem such as a computer solution for servo control. APPLICATE: The third axis of a right hand coordinate system. See Abscissa

840_Directory of Terms .doc

Page 4 of 80

APR/APW: Access protection read/Access protection write. Used with GUD files to specify the protection level or all defined variables in the file. Example %_N_MGUD_DEF ;$PATH=/_N_DEF_DIR APR <value> APW <value> where <value> is an integer from 0 to 7 or 10 to 17 to specify the protection level. Also used to redefine the protection level of machine data and setting data. ANALOG/ANALOG SIGNAL: A signal that is smooth and continuous. As opposed to DIGITAL. Most processes which are of interest to CNC workers are intrinsically analog, but the signal information with describes its state of being at any given time must be converted to digital form if it is to be processed by digital means. In fact, the ability to control processes that are analog in nature through digital means was the great technological accomplishment of the invention of numerical control some 55 years ago. ANALOG COMPUTER: An mechanical device or electrical analog circuit designed to process analog signals and compute an analog solution. The operational amplifier (OpAmp) is the essential device of an electrical analog computer. An analog computer circuit is designed to return a solution based on its actual wiring. This is to say, the analog computer solves only one problem. A different problem requires a different circuit. ANALOG DRIVE: The signal processing is done with an analog computer and not a digital computer. See Digital Drive. See Drive ARCHIVE: An electronic backup of a file or files. The backup is given the ARC extension by the CNC. ARGUMENT: A variable (usually a local variable) that stands-in for a parameter in a cycle call. In the example below, retract, surface, clearance and final_depth are local variables used as arguments for Cycle81 parameters. Notice that they populate the tuple of the Cycle81 call and their values carry into the actual subroutine named Cycle81 where they are assigned spontaneously to RTP, RFP, SDIS and DP by virtue of the fact that these cycle parameter variables are defined in the PROC line of the subroutine (not shown). In Fanuc call commands, the X, Y, Z, R, Q and F are arguments. %_N_<program name>_MPF N005 DEF real retract, surface, clearance, final_depth . N400 retract=1, surface=0 clearance=0.1 final_depth=-2 F<feedrate> N405 Mcall Cycle81(retract, surface, clearance, final_depth) N410 X<1st hole> Y<1st hole> N415 X<2nd hole> Y<2nd hole> N420 Mcall . N1205 M30 ARRAY: A table of rows and columns. The intersection of a row with a column is a cell. Values are assigned to cells. Matrices are arrays of numbers; that is, the values assigned to cells are numbers. ARROW: A vector with length and direction. Zero offset is a vector from machine zero to work zero. The vector is specified with its projections along the axes. To be sure, we probably have no need to use the meaning of arrow like in bow and arrow when we discuss CNC, although, no doubt, CNC at times can make us wish for a shot gun. ASCII: Stands for American Standard Code for Information Interchange. This is an 8-bit code that uses 7 bits to represent character information such as letters, punctuation marks, symbols and control codes. The

840_Directory of Terms .doc

Page 5 of 80

8th bit can be used for parity. Actually, the NC works with the ISO code. However, the ISO code is virtually identical to the ASCII code with respect to the characters that the NC can read. The ASCII order that this directory uses is space, #, %, *, 0 to 9, @, upper case A to Z, lower case a to z. A-SPLINE: Akima Spline. An Akima spline is a computer algorithm that interpolates a curve by passing through points. The Akima spline is tighter than C-spline (cubic spline) and less prone to unexpected serpentine behavior since it can kink at points. See C-spline AUTOMATIC: The AUTOmatic mode. One of the operating states of the numerical control. Part program execution is possible in this mode. AUXILIARY FUNCTION: See M-CODES, H-CODES, T-CODES. S-codes, D-codes and F-codes are also considered auxiliary functions since their numerical values are passed to the PLC. An auxiliary function commands a PLC function from the part program. For example when program execution executes a block with an M8 the M8 signals to the PLC that the programmer wants coolant. The programmers expectation is that the author of the PLC sequence program has prepared code to turn on coolant when it reads an M8 on the PLC/CNC interface. AXIS: A degree of linear or rotary freedom. See Servo Axis AXIS ADDRESS: Aka, Axis Identifier. The alpha or alphanumeric name of an axis. AXIS INTERCHANGE: The ability to switch in the part program axes between channels. AXIS SPECIFIC: Pertains to an axis. For example, each axis needs its controller enable signal to be enabled. The controller enable signal is said to be axis specific. BACKLASH: Backlash is lost motion associated with reversals. BACKLASH COMPENSATION: A function of the CNC that compensates for backlash. BAG: Same as mode group. See Mode Group. What goes in a bag? Axes, spindles and channels BASE OFFSET: The offset to the base frame (Base coordinate system). The offset is a translation only. The HMI (human/machine interface) provides a screen for setting the offset. Normally, the base offset is left in its null or default zero state. There is no G-code to instruct the 840D to consider the bases offset in its frame calculations. It is always considered. G500 is often associated with base zero but this is primarily a coincidence. G500 is the null settable zero offset (like D0 is to D-codes). A settable zero offset (one of G54, G55, etc.) is a point in the base coordinate system. By machine data setting there can be many base offsets. They are additive and from the point of view of frame calculations, the concatenation of them all is spontaneously done. BASIC SYSTEM / BASIC COORDINATE SYSTEM: When discussing coordinate systems and frames generally, the coordinate system from which the hierarchy of coordinate systems (frames) arise is the basic coordinate system. Another name could be foundation coordinate system. Unless a kinematics transformation is in play, the basic coordinate system is the machine coordinate system. When the servo axes are not orthogonal the machine coordinate system is not rectangular. We can still specify the points in the work envelope of the machine in rectangular coordinates if there is a transformation that will transform the rectangular coordinates into machine coordinates, that is, into actual servo positions. This rectangular system is called the basic system (please not b-a-s-i-c system, not base system). The transformation from the basic system to the machine system is called a kinematics transformation. B-Axis: A rotary axis whose axis of rotation is in the line of the Y-axis. Rotary position is specified counter-clockwise looking in the negative direction of the Y-axis.

840_Directory of Terms .doc

Page 6 of 80

BINARY: Pertains to the binary numbering system. The binary digits are 0 and 1. BLANK: The workpiece. The machining operations removes stock from the blank. BLOCK (as in a block of the workpiece program): A line of code in a main program file or subroutine program file. Typically, a block begins with a sequence number and ends with a line feed, although a block does not have to have the sequence number. The first numerical control read-in blocks from a tape reader. The control had two mechanical relay buffers. One contains the currently executing block and the other contained the next block. Seen from this legacy perspective, the block is a unit of information that occupies the attention of the CNC exclusively. Today with spline algorithms that prepare interpolation functions across blocks the idea of exclusivity no longer is valid. However, there is still a great deal of value in thinking of a line of the workpiece program as a block of information with its own self-contained purpose that resides in a queue and waits its turn to be executed. BLOCK (as in data block): A set of data that characterizes an item or idea. The data for a tool is a block of data. The data of a D-code is a block of data. This use of block is universal and a substitute for the mathematically correct term set. BLOCK DELETE: see BLOCK SKIP BLOCK PREPARATION: A channel function which combines data from the part program with NC data such as zero offsets and tool offsets that 'cooks' the block so it can be consumed in execution. Prepared blocks are queued in an execution buffer known as the FIFO (for first in first out). Block preparation is a function that is distinct from the actual execution of prepared blocks. Cycle Start (NC Start) begins block preparation, as prepared blocks are read out of the execution buffer wherein they are queued (the FIFO), the machine goes into motion. Block preparation, which runs faster than actual execution, queues each prepared block in an execution buffer where the block must wait its turn until the blocks before it have been executed. Once in the queue, the block prep function cannot change its mind and alter an already prepared block. Thus, a block in the queue represents the state of the operational environment at the time the block was prepared and not at the time of its execution. However, the execution buffer, in total, can be deleted and overwritten with the STOPRE code BLOCK SEARCH: Program execution always starts at the beginning of the program unless one does a CNC operation known as block search. There are a number of variants on block search. One can search with calculation to have the CNC run the program in its mind until it gets to the target block. One can do a block search without calculation. In this case program execution goes directly to the target block without any exposure to what transpired in the program before the target block. There are two block searches with calculation. In one, the CNC knows where the tool should be before the target block and it creates a reentry block that moves the tool to that point. In the other, the target block is the reentry block. The latter is handy for doing rework since if an axis is not in the target block it is not brought into position. Earlier versions of the 840D had a block search from main block. This is a hybrid of the previous two. The search goes directly to the target block, backs up until it finds the most recent main block (safety block) and then does a block search with calculation to the target block. The system variable $p_search is 1 or true when block search is active. This can be used to jump over code that should not be executed in block search. If you look at the text of most machining cycles you will see this system variable early in the code to cause a jump to the end of the cycle if block search is active. BLOCK SKIP: A line of the G-code program is marked for block skip when it is preceded with a forward slash, the / character. When the block skip toggle is set, the block preparation function skips those blocks that are marked with the slash. Discrimination can be made between 10 block skip codes. These are /, /1, /2, ..., /9. The codes /1 to /9 are an additional option which is normally not purchased.

840_Directory of Terms .doc

Page 7 of 80

BLUEPRINT PROGRAMMING (BPP): A method for defining a contour that involves a combination of end point coordinates and angles. Would be used by operators doing manual parts programming from preCAD blueprints. BLUEPRINT ZERO: A point on the blueprint that acts as the origin of a coordinate system wherein the blueprint itself is dimensioned. Normally, you would expect the programmer to use blueprint zero as the origin of a coordinate system wherein he specifies coordinate words for the part program, but this is not always the case. For example, the blueprint may provide dimensional information from the back of a turned part while the program wishes to program from the face of the part. Thus we distinguish between blueprint zero and work zero (program zero). Blueprint zero could be the back face of the part while work zero is usually the front face of the part. Work zero is the point on the blueprint taken as an origin of a coordinate system wherein coordinate words are specified in the part program. BOOLean: True or False. 1 or 0. DEF BOOL once_through defines a Boolean variable named once_through. Once_through=1 assigns a Boolean true condition to the variable. So does once_through=true. Once_through=0 assigns a Boolean false condition to the variable. So does once_through=false. In the block N25 IF once_through GOTO mlb01 the jump to the label mlb01 is made if once_through is true. BOX: As in out-of-its-box. A shipping container. Used to suggest the condition of a thing when the container is opened by the customer. As for thinking out-of-the-box, it is useful to know your box to begin with. Hopefully this directory of terms will help you learn the box of CNC better so you know when your thinking is out of it. BRISK: Commands a step acceleration for a ramp change in velocity. Tends to put more mechanical shock on the axes and excite resonance in less rigid machines. See Soft B-SPLINE: A spline algorithm that interpolates the geometry with a stiff curve. Stiff means that the algorithm tends not to do wild wiggles. BUFFER: In MDI operations, data is often keyed into an input line buffer, and from there, the enter/insert key commands its transfer to 'main' memory. Of course, the buffer is memory in the address space of the microprocessor, but it is used as an intermediate storage area wherein data accumulates and awaits its final disposition. In general, a buffer is any temporary storage location in RAM memory. BUFFERED: Usually means that a memory is kept alive during power off with a battery. Since certain kinds of memory retains its content through a power outage without a battery or other source of power, it is also said to be persistent. C-AXIS: A rotary axis whose axis of rotation is in the line of the Z-axis. Rotary position is specified counter-clockwise looking in the negative direction of the Z-axis. CAD or CAGD: Computer aided design; computer aided drafting. Or, computer aided geometric design. CAD/CNC INTEGRATION: An ambition of CNC to machine a workpiece from a CAD description. To do this, the CNC must be provided with powerful compensation and transformation functions to generate tool paths. Traditionally, these compensations and transformations have been accomplished in the CAM environment and output as a tool path program (see TOOL TIP PROGRAMMING) and not a workpiece description. CAD/CNC integration proposes that this function of CAM be done by the CNC. This means that programs can be prepared that are independent of tool geometry (within limits) and machine kinematics. Since CADs free formed curves are splined (typically with non-uniform rational B-splines, aka Nurbs) the mnemonic Nurbs is often a code word for CAD/CNC integration not withstanding the face that Nurbs has a CNC life of its own that is independent of the ambition for CAD/CNC integration.

840_Directory of Terms .doc

Page 8 of 80

CALCULATOR INPUT: In the early days of NC/CNC, numbers had to be integers. A number like 1 inche 375 thousands had to be programmed 13750 because the NC/CNC would shift the decimal point to the left by 4 places. Today if we program 13750 it is seen as 13750.0000. So, the fact that a number is what it is with no shift of the decimal point is what is meant by calculator imput. CAM: Computer Aided Manufacturing. Sometimes called computer assist programming. The automation of the production of workpiece programs. The blueprint is described to the computer, tooling, machining sequences, etc., are indicated, and the computer creates the workpiece program. CANCEL DISTANCE TO GO: Also known as DELETE DISTANCE TO GO and CLEAR DISTANCE TO GO. See Clear Distance to Go CANNED CYCLE: See Machining Cycles CAPTIVE CNC: When a machine tool builder develops a CNC for his own use, the builder and his CNC are called a captive. Captive stands in contrast to Vender CNC like Siemens who develops and manufactures CNC hard and soft products to sell solutions to machine tool builders. Historically, some captives have tried to sell to non-competing machine tool builders but this has proved problematic. It is one thing to develop a CNC for ones own small family of machines but very costly to transform it into a CNC solution for a wide variety of machine concepts for a competitive price. Siemens used over 100 developers and testers to do the 840D and spent well over $100M before the first beta unit was ready. The typical captive has a handful of developers and testers (if that many) and less than $1M. Siemens works closely with some captives, especially to help them develop digital interfaces to Siemens servo drives, because, in the end, more profit can be made from drives and motors than CNC since the former do not require the level of support as does CNC. CARTESIAN COORDINATES: Same as rectangular coordinates. When linear machining axes are not at right angles to one another, the machine coordinate system is not Cartesian. An example is a vertical lathe whose ram can be swiveled by some angle. The Z-axis and X-axis are not at right angles. In this case, you still want to program in a Cartesian system and have the CNC do the transformation into the coordinate system of the machine slides. This type of transformation is of the general category kinematics and specifically an oblique transformation. Programming in the YX plane a live tool to mill on the face of a turned part requires a kinematics transformation for the CNC to accomplish the motion with the physical rotary C and linear X. This is called a transmit transformation, transformation from milling to turning. CELL: As in machining cell. A system to accomplish material transfer, tool setting, stock removal, inspection and data collection as one process orchestrated from a central controller knows as the cell controller. The machining cell has a spotty track record, and production planners should know that the cells Achilles' heels are its one-of-a-kind complex technology and the reliance on a single transporter to accomplish the material transfer function. CELL CONTROLLER: Factory automation is accomplished with many kinds of controllers. There is numerical control that is the principle subject of this directory. There is the logic controller, the PLC. In the packaging industry we find speed and synchronous controllers. Paper, chemicals, etc., all of these specialized manufacturing processes have their own controllers. The process associated with the cell controller is the machining cell. See CELL. CENTERLINE PROGRAMMING: You program the centerline of the cutter in milling or the virtual tip in turning. The CNC generates an actual tool path by applying compensation functions to your description. These include tool length and cutter radius/tool nose radius compensation. See TOOL TIP PROGRAMMING. CHANNEL: Parallel processing of main program or subroutine program files. Siemens introduced channels to CNC in the 1980s with the introduction of the legacy 810 (not the current 810D). Channels give a CNC the functionality of several CNCs. The old 810 did 2 channels. It behemoth big brother, the

840_Directory of Terms .doc

Page 9 of 80

System 880, did 16 channels. Todays 810D does two channels. The 840D can be configured for 62 axes distributed over 20 channels. Rotary dial machines are the principle beneficiary of this many channels and axes. Sinumerik channel concept puts all the motion control, logic control, HMI and communications in one package with a common philosophy and common look and feel to enable the commercial viability of complicated machine concepts. A channel executes its G-code program simultaneously with other channels. Synchronization is achieved with program coordination codes in the channel G-code programs. This code includes commands like WAIT and START. Most big milling machines use a channel to handle complicated tool storage and tool change schemes. Large, complicated grinding machines use channels for in-process gauging. The classical channel application is the 6-axis lathe (4 axes and two spindle). One channel executes the G-code program for X1, Z1 and S1. The other channel executes the program for X2, Z2 and S2. There are alternatives to channels when an application requires multiple, simultaneous motion control events but not simultaneous interpolation of tool paths. For a discussion of these alternatives see positioning axe. See also synchronized actions and PLC axes. CHANNEL AXES: Normally, machine axes are assigned to channels. A machine axis can be in one channel only although there is G-code language for a channel to borrow an axis from another channel. A channel axis does not have to be a machine (physical) axis. In turning, when the spindle to converted to a positioning axis (a C-axis) and a live tool is used to machine a contour on the face of a turned part, we have the TRANSMIT transformation. This transformation allows a Y-axis to be included with the channel axes even though there is no physical Y-axis. We program in YX and Z and the transformation converts our contour into the non-orthogonal CX system. CHANNEL COORDINATION: See Program Coordination CHANNEL SPECIFIC: Pertains to a channel. Separate for each channel. For example, there is channel specific machine data for assigning a channel to a mode group. CIRCULAR INTERPOLATION: When a set of points is interpolated with the arc of a circle, the interpolation is circular. Since two points can be circular interpolated with an infinity of arcs, more information is required to specify a specific arc. This is usually the radius of the arc (with some designation as to whether the arc is greater than or less than 180 degrees) or the location of the arc circle center. Graphically, three points can be circular interpolated exactly with a straight edge and a compass. Programmed with G02/G03 for CW/CCW. See LINEAR INTERPOLATION and INTERPOLATION PARAMETERS. CLAMP MONITORING: Also called zero speed monitoring. The following error of an axis at rest should be zero. However, the axis could drift and move off of its position by cutting forces on other axes, mechanical non-linearities, lack of rigidity in the machine, the machine is out of balance or oscillations in the foundation. If an axis should drift beyond a boundary set in machine data, the NC alarms out. Axis drift is not seen when the interface between the CNC and drives is digital. CLEAR DISTANCE TO GO: See DISTANCE TO GO CLOSED LOOP: This term has special meaning in contradistinction to the term 'semi-closed loop'. In a closed loop configuration, the numerical control receives actual position feedback based on actual axis displacement. A typical closed loop position measuring transducer is a linear scale. This device returns displacement information based on actual displacement of the axis. If there is backlash in the system, no information is returned until the backlash has been worked out. Pitch error compensation of the ball screw is not required because the feedback is not based on its pitch. On the other hand, pitch error compensation may be done on the linear scale itself. CNC: Computer Numerical Control. By the numbers tool path automation accomplished with computer circuits and software. See Numerical Control, CNC Concept, CNC History, CNC Solution.

840_Directory of Terms .doc

Page 10 of 80

The controller for numerically directed interpolation of a cutting tool in the work envelope of a machine tool. CNC CONCEPT: The CNC Concept is 1) the separation of programming from operations, 2) transparency between program and machine and 3) the technical details that enable the Concept. The CNC Concept assumes that machining know how can be moved to the front office in the person of the programmer while the person who remained at the machine was there simply for manual functions that did not involve decision making. The M.I.T./Air Force NC concept regarded the operator as an unfortunate necessity to be replaced with a robot. Today we know that this extreme CNC concept does not work in the main. The operator is needed for his decision making capabilities as well pure motor functions such as reaching and grasping. Today we value the operator for his head as well as his hands. We expect him to establish a rapport with his workpiece. None of this violates the CNC Concept which is simply that the program has to be produced first. It is not produced in the process of machining the first article. It is useful to contrast the NC Concept to different tool path automation schemes. When NC was being invented by the M.I.T., General Electric was experimenting with the teach-in/playback concept. The GE engineers attached motion transducers to the lead screws of a lathe. The motion was recorded to magnetic tape as the manual machinist put the machine through its paces to produce the first workpiece of a job. The tape was played back to provide position setpoints to actuators that turned the lead screws to make the 2nd, 3rd, etc., copies. From the point of view of a social concept, record/playback is not revolutionary like NC. It leaves the skilled manual machinist in the drivers seat. Another tool path automation scheme is an electric curve tracer where an electric eye follows a line on the blueprint to output setpoints to position servos. This technology was used to make templates (and it is possible that some of these old systems are still in operation today). CNC SOLUTION: a technological solution for a process that is carried on a CNC motion platform. The solution addresses 1. the automation of tool path based on numerically directed interpolation, 2. the management of the essential process or processes carried on the CNC motion platform (like the spindle for a machine tool), 3. the automation of machine control generally, 4. the interface to the human element (HMI), 5. and the inclusion of the machine into a broader computing architecture that integrates among other things design and manufacture wherever they may be. CNCs defining characteristic is by-the-numbers automation of the tool path for the cutting tool process of stock removal. It is (and it will be forever) a controller for machine tool automation with the ability to adapt to a wide variety of motion tasks. This includes motion that is ancillary to stock removal (tool change and pallet change) and even tasks that are unrelated to a strictly cutting tool definition such as laser cutting with its stringent requirements for laser power control. COARSE IN-POSITION: By machine data setting, the machine tool builder can set a 'coarse' in-position boundary around the commanded position setpoint. When G64 is active, the numerical control does a coarse in-position check in the transition from one motion command to the next. In other words, the axes must get within the coarse in-position boundary before the NC can execute the next motion command. See FINE IN-POSITION. You would expect the coarse boundary to be greater than the fine. COLLISION MONITORING: A choice associated with the standard measuring cycles - made with _chbit[2] set to a 1 (channel user data GUD6) - that has the measuring cycle approach the _fa standoff point in a measure move. The probe should not trigger in this move and if it does, an alarm is displayed. If it doesnt trigger, and this is the expected behavior, the cycle executes the real measure move where a trigger is expected. Collision monitoring is turned off by setting _chbit[2] to 0. COMMANDS: Preparatory functions, standard cycles, user cycles, predefined functions & predefined subroutines. COMMENT: Anecdotal information in a block of the part program that is displayed in the text of the program but not on the message line of the display device. The comment comes at the end of the block and

840_Directory of Terms .doc

Page 11 of 80

delimited with a semi-colon. One can jumper a block by putting a semi-colon in front of it. See

Message
COMMISSIONING: The act of setting machine data. The numerical control comes out of its shipping box ready to be adapted to a wide variety of machine tool concepts. How many axes? What are their addresses? How many spindles? What group 1 G-code will be active when the CNC powers up? Is the position feedback for an axis taken from the motor encoder or from an external encoder? Is the encoder a rotary device or a linear device? When doing reference point return, should the axis over travel the cam or reverse itself to find the next synchronization pulse? What is the M-code for tool change? What is the Mcode to switch from spindle mode to position control mode? Does a T-code in the main program call a subroutine and if so, what is the subroutine name? There are literally thousands of these kinds of questions that are answered by commissioning. Commissioning is like a multiple-choice test in which the answers are specified in machine data. Like such a test, one cannot answer questions that are not asked. Thus, the more questions that are asked by the numerical control the more versatile is the control and the more adaptable it can. Most of the questions are given default values (M6 for tool change and M70 for feed axis mode) so that in the end there is only a subset of the total set has to be answered by the machine tool builder. The term machine data is synonymous with commissioning data. See MACHINE DATA. Other CNC venders call it machine setup parameters. COMPCAD: A so-called compressor function that creates a piecewise continuous parametric polynomial interpolation function from a sequence of linear blocks. See Compressor Function. Historically, the CAD/CAM/CNC process has transformed CADs splines - curves of continuously changing curvature - into polygons (also called polylines) and output the vertices as linear blocks. This is the classical liner block program that is typical of aerospace CNC workpiece programs. CompCad is a CNC command in the part program that comes before the linear blocks of a CAD spline, and on the fly, in real time, it reconstitutes the spline from the polyline with a b-spline algorithm and represents the spline in parametric polynomial form inasmuch as the 840D can use such a function as its interpolation function. CompCAD recognizes that the transition of CAD/CAM nurb curves to linear points is usually not ideal. Therefore CompCad interpolates a path to provide a smooth best fit on the assumption the original curve was not kinky (a b-spline is a stiff spline in that it does not do high frequency oscillations as is characteristic of a c-spline, and unlike an akima-spline, the b-spline does not kink at points of rapid change in curvature). CompCad does not necessarily interpolate each point exactly since any one point may not lie on the original curve but within a tolerance band known as the compressor tolerance. . CompCad achieves faster cycle time and better surface finish. CompCad is a transition feature since in the future we can expect that splines will be posted as splines and not linear block polylines. As with many new CNC features, the future is whenever you are prepared to start using the feature. COMPCURV: see Compcad. This compressor function was called CompCurve but it has gone through several refinements and is now called CompCad. COMPILED CYCLES: As opposed to machining cycles, compiled cycles are customized NC functionality embedded in the object-oriented software of the NC kernel. Associated with open architecture and the ability of the machine tool builder to add his own functionality to the NC kernel. COMPOF: Cancels the compressor function. See CompCurv, CompCad COMPUTER NUMERICAL CONTROL: See CNC. COMPRESSOR FUNCTION: A function that will create a spline from a sequence of linear blocks. In the case of the 840Ds preparatory function COMPCAD, the description is created on the fly and the resultant spline is the interpolation function for the motion control. In the case of SPEEDMILL, a compression function for personal computer, the spline is described in parametric polynomial form. The goal of CAD/CAM integration as envisioned by 840D proponents is to accept the spline description directly as it exists in the CAD domain to avoid the spline-to-linear blocks-to-spline transformations.

840_Directory of Terms .doc

Page 12 of 80

COMPRESSOR TOLERANCE: The b-spline algoriths (B-Spline, CompCad, CompCurv) do not necessarily interpolate a curve through points but rather fit a curve within a swath that includes all the points. The swath width (think of a line drawn with a felt tipped pen) is the compressor tolerance. If the points are very well behaved (they all fall very close to a stiff curve) the compressor tolerance can be large and the outcome will still be a very accurate curve. See CompCad The axis specific compressor tolerance is set in MD 33100 $MA_Compress_Pos_Tol CONCATENATE: If a, b and c are numeric variables, then we can say c = a + b. Suppose name, first_name and last_name are character string variables. Then we can say name = first_name + last_name. However, in this case, the plus operator is a stringing together, a concatenation. In 840D, we do concatenations with << and :. If parts_done is an integer variable then we can create the following 840D message: MSG(Number of Parts Completed = <<parts_done). This block asks the 840D to concatenate a character string constant with an integer value. For the concatenation to happen the 840D has to be designed to convert the integer value of parts_done into a character string. The : operator is used to concatenate two frame variables. If mframe[0], mframe[1] and mframe[2] are frame variables, then the following makes sense to the 840D. mframe[0]=mframe[1]:mframe[2]. mFrame[1] could be the currently active frame and mframe[2] could be a correction from a measuring operation. The sum could be assigned to G54 with $p_uifr[1]=mframe[0]. Try this in MDI and watch the G54 screen to see what happens DEF frame mframe mframe=$p_uifr[1] ;assign g54 offset to mframe $p_uifr[1]=ctrans(x,10,y,20,z,30) ;write values to g54 m00 stopre $p_uifr[1]=$p_uifr[1]:$p_uifr[1];concatenate g54 to g54 m00 stopre $p_uifr[1]=mframe ;restore g54 to its original value m00 stopre m30 CONCEPT, as in "THE NC CONCEPT": By-the-numbers interpolation of a tool path based on the separation of programming from operations. The numbers are specified in a program and not in the process of machining the first part. The term NC Concept distinguishes CNC machining from other tool path automation concepts that are not based on the separation of programming from operations such as record/playback (aka, teach in). See NC Concept. See MANUAL TURN CONFIGURATION: Please see GUIDANCE. CONFIGURATION DATA: As opposed to operational data, configuration data is setting data and machine data that would normally not be changed for the immediate machining task. The assignment of a name to an axis is certainly configuration while setting a tool offset is operational. CONSTANT FEEDRATE ON : A color guard changes direction when the inside person walks in place and the outside person walks in giant steps. In cutter radius compensation, the cutter pivots around corners. If CFTCP is active the centerline of the cutter moves at the programmed feedrate. If CFC is active, the cutting point moves at the programmed feedrate. CFIN is a member of this group but it applies to concave contours. CONSTANT SURFACE VELOCITY: Same as surface feet per minute or surface meters per minute. See surface feet per minute.

840_Directory of Terms .doc

Page 13 of 80

CONTINUOUS PATH CONTROL: Programmed with G64 or G641 with ADIS or G642 with the compressor tolerance. The ability of the numerical control to interpolate a contour with a continuous feedrate. Continuous means there are no abrupt changes in velocity. It does not mean constant velocity. Like a car slowing down around a corner, the CNC has to slow down at corners to stay within the dynamical limits of the machine unless the feedrate is very low to begin with. See exact stop check G64 maintains a continuous feedrate at block boundaries. Continuous does not mean constant. Continuous means that the feedrate changes smoothly through block boundaries. Continuous is like driving a car around a corner. Some corners have stop signs. Youve got to stop. Other corners have no control. If no other cars are in sight you can take the corner at whatever speed your suspension system and road conditions will tolerate. Most family vehicles slow down to take uncontrolled corners unless the vehicle is going very slow to begin with. G64 does not specify geometry constraints on the corner path. It is determined strictly by the dynamics of the position control servo. Constraints are specified with G641, G642 and G643. G641 is a member of the G64 modal group that uses the ADIS value to determine where in the travel to the block setpoint to insert a blending block for a smooth transition into the next block. G642 looks at MD 33100, the compressor tolerance, to blend through a corner. This is an axial specific tolerance and the resultant rounding is calculated from the shortest rounding path. (MD 33100 is the same tolerance used with COMPCAD.) G643 is like G642 but it allows the axes to go at their different rounding paths. CONTINUOUS PATH MODE: Same as continuous path control CONTROL ZERO POINT: The origin of the coordinate system wherein the NC positions the machine. If G54 is active and there is no other offsets beyond it, then the point identified by the G54 translation is the control zero point. Machine zero is the control zero point when SUPA is included in a motion block. CONTOUR: The path - the locus of all points - that is the consequence of an interpolation of a number of points. Mark a few points on a sheet of paper. Draw a curve through the points and you have a contour. CONTOUR CALCULATOR: An interactive and symbolic means to generate contours made up of lines and arcs. The calculator finds the intersection points. CONTOUR ELEMENT: A piece of a contour between two interpolation points. A line or arc of the blueprint. Since the NC does linear and circular interpolation, a contour element is generally regarded as a straight line or arc of a circle, the usual expectation that the traverse of the contour element is done in one block of the part program. However, even if a continuous piece of the contour were not a straight line or circular arc, as for example, an elliptical arc, we would still call it a contour element with some qualification about how the numerical control would cut the element. Most numerical controls cannot interpolate the arc of an ellipse, and to cut such a shape, the arc must be approximated with a series of small straight lines. CONTOUR MODE: Same as continuous path mode. Commanded with G64, G641 or G642. When in the contouring mode, the numerical control does a coarse in-position check, thus allowing the cutting tool to round the intersections between cutting moves. In the contouring mode, contour transitions are smoothed, thus, giving rise to a better surface finish. CONTOUR MONITORING: The following error of an axis in motion should stay constant under changing load conditions. With machine data, Siemens allows the machine tool builder to set a tolerance boundary, and if the following error should change quickly and exceed the boundary, the numerical control alarms out with a contour monitoring alarm. Heavy cutting that sends the servo drive into current limit could result in the contour monitoring alarm. See DAC SATURATION. CONTOUR NUMERICAL CONTROL: The first numerical control invented by the Massachusetts Institute of Technology was a contouring numerical control in that it could interpolate a curve in 3-space (X, Y and Z). As NC moved out of the laboratory to become a commercial product, simpler versions were

840_Directory of Terms .doc

Page 14 of 80

offered that positioned on one axis at a time. To distinguish the original NC from these, the original was called numerical contour control (NCC). Today all CNC does numerical contour control. CONTOURING: To follow parallel to a contour as distinct from paraxial machining where the tool path is parallel to the axis. For example, the stock removal cycles in turning do paraxial roughing before making a contouring cleanup pass above the finishing stock. CONTROL STRUCTURES: Features like Loop/Endloop, IF/Else/Endif and While/End While COORDINATE SYSTEMS: The numerical control positions in a right hand coordinate system. There are many coordinate systems. There is machine zero, preset zero, settable zero offset and programmable zero offset. These coordinate systems, which may or may not get defined in the setup procedure, are nested in the reverse order of the previous sentence. In other words, the programmable zero offset is a coordinate system in the coordinate system of the settable zero offset, etc. The numerical control positions in the highest order coordinate system defined. The origin of this coordinate system is the control zero point. For example, if no zero offset or preset is defined, the control zero point is machine zero. If a preset is defined, the control zero point is preset zero. If a settable zero offset is defined, the control zero point is the zero offset, and finally, if a programmable zero offset is defined, the control zero point is the programmable zero offset. We can say that the coordinate systems are arranged in a hierarchical order with machine zero on the bottom and programmable zero offset at the top. The control zero point is the origin of the highest order coordinate system defined. With respect to turning machine with a front turret, their blueprints may be shown in a left-hand coordinate system for visual correspondence between the print and the machine. Keep in mind that the numerical control is right handed and never knows if your lathe has a front, rear or no turret. Program all your front turret jobs as if your machine is rear turret; that is, program them from a right-handed blueprint, and they will run perfectly well. If you do program from a left-hand blueprint, clockwise and counter clockwise have to be inverted. Left and right for tool nose radius compensation have to be inverted. COORDINATE WORD: An axis address followed by a numerical value. Example: X15.2500 is a coordinate word. So is X1=12.5405 where X1 is the extended address. CORNER ROUNDING: See CHAMFER & CORNER ROUNDING. COTS: Commercial Off the Shelf. CONVERSATIONAL PROGRAMMING: One of the first questions that the original developers of numerical control had to resolve was whether one programmed machining operations or one programmed the tool path. Tool path was the choice made (by the U.S. Air Force who put up the money) and this is why, today, some 50 years later, a machining operation is programmed as a sequence of interpolation commands. When such a workpiece program is distilled to its bare bones, it is a sequence of coordinates. In time, a number of CNC venders offered the possibility to program machining operations like side cutting and pocketing. Machining operations lend themselves to graphical representation where the operator selects a machining operation like pocketing from a menu and he is shown a figure and data fields to enter pocket parameters like its length, width and depth. This kind of programming is called conversational programming where each block of a conversational program (called a step) is a machining operation. Siemens offers a conversational CNC for milling and another conversational CNC for Turning. These conversational solutions are enabled with the hardware and software of the 840D, 840Di and 810D. See ShopMill. See ShopTurn. COUNTER: See Workpiece Counter CPU: Central processing unit. CRASH: A collision, usually between the tool and the workpiece. A crash proof procedure should have some or all of the following steps: 1) Set the feedrate override to zero. 2) Press NC Start (Cycle Start). 3)

840_Directory of Terms .doc

Page 15 of 80

Check that there is clearance for the distance to go. 4) Turn on single block stop. 5) Turn up the feedrate and let the NC complete the distance to go. 6) Turn off single block stop. 7) Go back to step 1. CRASH CITY: My materials are read by an international community so let me explain for people who are not culturally American, there is no Crash City like there is a Mexico City or New York City. Crash City is a hazardous state of being. You are in Crash City when you do something that makes a crash more likely. CSFM: Constant surface feet per minute C-SPLINE: Cubic spline. A computer algorithm that interpolates points with eye-pleasing, voluptuous and serpentine curvature. The curve passes through the points with first and second degree continuity. The tendency for overly serpentine behavior (unwanted oscillations) can be suppressed by choosing points carefully in the area of concern. CUTTER RADIUS COMPENSATION: A compensation function of the numerical control that accounts for the radius of the cutter. The operative G-codes are G41, G42 and G40. CUTTING EDGE: A reference to a D-code record where the data pertaining to an actual cutting edge of a tool is stored. The idea of cutting edge is associated with the CNCs tool length and radius compensation function, primarily. We give names to tools - the names are frequently numbers - and in the tool offset area (TOA), for a given tool, the operator creates a new D-code record under the name of that tool to register the geometry information that is taken into account when the CNC prepares a motion block for execution. In doing this we create a cutting edge. A cutting edge is information stored in a D-code under the tool name in the TOA, but, of course, this information derives from an actual tool. A large face mill can have dozens of inserts and each insert has its own edges that dig into the work to remove stock. Yet the face mill is one cutting edge, it requires one Dcode to describe it to the CNC. Some tools are required to do 2 or more machining operations. Think of a center drill that does spot drilling and chamfering. Assuming the center drill is sharpened and thus the physical offset between the tip of the tool and the tip of the chamfer changes, this tool requires two D-codes. The idea of cutting edge can be gamed when the tool is given one D-code for roughing and a second Dcode for finishing. By playing with the geometry data in the roughing cutting edge the CNC interpolates a path that leaves stock to be removed in the finishing pass. It is not only geometry data that is stored in cutting edges for compensation. Tool life monitoring information could be stored in the cutting edge. The machine tool builder can add many additional fields to the TOA of Standard Siemens (the so-called T/D area also called structured D-code) and since there is a system variable associated with each of these fields (as there is for every field in the T/D cutting edge) the idea of cutting edge can apply to hitherto unimagined functionality. MD 18106: MM_MAX_CUTTING_EDGE_PERTOOL is where the number of D-codes per tool ID is set. A maximum of 12 can be specified but the reader is cautioned that this number is subject to change with later software releases. CYLINDRICAL INTERPOLATION: A mathematical transformation carried out by the numerical control that allows programming a contour on the surface of a right cylinder in rectangular coordinates. CYCLE: Subroutine with a procedure line that specifies parameters that are transferred from the call command and stored in the cycles folders. If a similar subroutine is stored in a workpiece directory or in the global subroutine directory, it has to be declared with the EXTERN line at the beginning of the selected main program file. See EXTERN. CYCLE START: See NC Start CYCLES FOLDER: Any one of the three folders that are created specifically for storing subroutines with PROC lines. The HMI (Human/Machine Interface) of the 840D contains a folder for workpieces, a folder for MPF files, a folder for SPF files and three folders for cycles. One of the cycles folders is for Siemens

840_Directory of Terms .doc

Page 16 of 80

standard machining and measuring cycles, another is for cycles authored by the machine tool builder and the third if for cycles authored by the user of the machine. The parameters of subroutines that have been loaded to user memory from one of the cycles folders are automatically registered to memory when the CNC powers on. This does not happen to subroutines that are stored in workpiece folders and the global subroutine folder. Thus, if one of these subroutines has a PROC line, the subroutine has to be declared as EXTERN in the first line of the main program file that calls the subroutine. CYCLES LANGUAGE: The macro language. A Basic-like dimension of the G-code language tailored to the CNC environment. Also called High Level Language. Similar but much more advanced than Fanucs User Macro. Cycles language statements can be used in main program files and subroutine program files. The System D workpiece programming language is a Basic-like adaptation to a CNC environment to include preparatory functions, axis words and auxiliary functions. In this regard Siemens workpiece programming is not split up into modules and sold as additional options. You get everything for the base price. The term cycles language equates roughly to Fanucs User Macro but Siemens does not have to made such a distinction because cycles language is standard and an integral part of the workpiece programming language. CYCLES SUPPORT: Figures and fill-in screens to assist the CNC machinist in assigning values to cycle variables. An interactive HMI screen with graphical support for assigning values to the parameters of machining cycles. An operator aid for editing cycle call blocks in the part program. OEM and end user can easily create cycle support for custom cycles. DATA BLOCK: Siemens will use this term rather loosely to mean any organized and managed collection of information. See Block. D-CODE: A D-code in the part program points to a record in the tool offset area where the geometry of the tool is stored. Programming the D-code is tantamount to asking the CNC to consider tool geometry information. See TOOL OFFSET DATA IN/DATA OUT: An operation to stream in the contents of a file from an external device (like a floppy drive) or port (like the RS232C port). The Data In routine observes the stream and when it detects a % sign it knows it has the contents of a CNC file coming in. If the % sign line is %_N_TorqueConverter252_MPF it looks for a path statement in the next line, and if there is none, it creates a file in the MPF directory, names it TorqueConverter and writes the streaming data to this file until it reads an end of file marker or another % sign line. If there is a path statement, the Data In routine creates the CNC file in the directory specified in the path line. If the Data In routine does not detect a % sign, it will never recognize the stream of characters and control codes as CNC data. Unlike Copy/Insert, Data In actually looks at the data to determine what it is and where it should go. This is called parsing the stream of data. The Data In function parses the stream of incoming data to detect CNC files and store them to the right place. Data Out is an operation that streams CNC files to a file name on an external device like floppy drive. DATUM: A generic term to suggest a surface, line, or point from where measurements can be made, often to confirm or establish a coordinate origin. In preset tooling, the datum point is a fixed point on the tool holder from where tool length offset is measured. DBL: Stands for decode single block. See DECODE SINGLE BLOCK. DEC: Stands for block decoding. DECELeration: The reference point return limit switch is called the deceleration limit switch. When the axis hits this switch in a reference point return operation, the NC drops the feedrate to a slow creep speed set by the machine tool builder in machine data. The deceleration limit switch should be a normally closed device.

840_Directory of Terms .doc

Page 17 of 80

DECODE SINGLE BLOCK: When this toggle is set (and it is generally set with a softkey under the PROGRAM CONTROL menu) program execution stops at the end of all blocks even when blocks do not contain G-code data. In other words, blocks which are made up of R-parameter assignments and macro language statement qualify for decode single block. See Single Block Stop. DEF: A definition file. Substitution macros and global user data are defined in DEF files. DELETE DISTANCE TO GO: See CLEAR DISTANCE TO GO. DELETE PASSWORD: Means RESET PASSWORD DIGITAL: The idea that information is encoded in binary digits. The binary digits are '0' and '1'. A signal that has two states, for example +24Vdc or 0Vdc. The mathematical abstraction of the idea of a switch either opened or closed. See ANALOG. DIGITAL CNC: A historical term to distinguish a CNC that outputs a speed setpoint to the servo drives as digital information as distinct from Analog CNC that outputs a +/-10Vdc analog signal. DIGITAL COMPUTER: A computer that employs digital methods to accomplish its objectives. See Analog Computer DIGITAL CONTROL: See Digital CNC DIGITAL DRIVES: A servo is made up of signal processing and power actuation. When signal processing is done with computer circuits and software, the servo is said to be digital. If one points to the electronic module that receives a velocity command and outputs electrical power to the motor and says, That thing is the drive, and when it is said that this module is digital, this means that its signal processing is done with digital circuits and software. This is distinct from the nature of the velocity setpoint. The velocity setpoint could be an analog signal, typically between +10V dc and -10V dc or it could be a packet of digital information. For example the Siemens 611U drive can receive an analog setpoint via a twisted pair of wires or a packet of digital information over a profibus link. To be clear, it is not the nature of the velocity setpoint that distinguishes a digital drive but rather that the drive does signal processing with computer circuits and software. See Analog Drives DIN 66025: The Sinumerik G-code dialect conforms to this European specification. DIN has supplanted the EIA RS274D specification that has not be undated since 1978. DIRECTOR: CNC is the direct descendant of the director of the first NC machine tool demonstrated by the Massachusetts Institute of Technology in 1952. The director was made up of hard-wired electronic (vacuum tube) circuits that read-in coordinate values from the tape reader and issued incremental position setpoints to the servos. The director was the essential invention of numerical control. Today the function of the director is done with computer circuits and software - thus, the C in CNC. The closest words and terms we use today to suggest the director function are NCK (NC Kernel) and Real Time Kernel. The NCK does much more than the director could ever imagine, but, nonetheless, the kernels essential function is to read-in coordinate values and issue setpoints to the position servos. Without the kernel you do not have CNC. See KERNEL. DISPLACEMENT: A movement. A move from point a to point b is a displacement. DISPLAY UNIT: The smallest increment of axial displacement that is displayed on the video monitor. Normally the IS_unit and the display unit is the same. DISTANCE TO GO: The distance to complete a displacement. With either the touch probe or an interface signal, the distance to go can be canceled and the numerical control moves on and executes the

840_Directory of Terms .doc

Page 18 of 80

next block of the part program. Axis specific clear distance to go can also be provoked with a high speed input to the mixed I/O module. DISTRIBUTED NC, DNC: In the very early days of NC, when computers were very expensive, some designers experimented with the idea that one central, powerful computer would do the block decoding and axis interpolation function in real time for a large number of machine tools. Each machine tool would be networked to the central computer. The later concept of distributed NC means that each NC machine is networked to a central computer in order to pass part programs to and from the office where the programmers do their work. More generally, today, people are using the word local area network or shop floor network instead of distributed NC. Ideally, these networks operate in the background and connected to NCs, PLCs, etc., in the shop to provide real time process information to the process managers. DNC: See Distributed NC. For all the historical significance the mnemonic has, today it means networking to link the CNC to a server to upload and download part programs. DOConCD: A CD that contains the full set of documentation of all CNCs, servo drives, motors and products associated with the 840D and the family of products it spawns. Essentially it is the hard copy manuals in pdf files and supported with a search engine. It is not a creative rethinking of the principles of information access in the era of network PC. DocOnCD is on the web where it is called DocOnWeb. DOG LEG: A path that is made up of two straight line segments that break at a point. In the old days, a rapid traverse from point 1 to point 2 usually dog legged since the two axes were treated as synchronous positioning axes. Today the CNC is provisioned with a parameter so it can still dog leg but the default is to interpolate the two points directly with a straight line. The crow flies directly to a location while you may have to dog leg to get around an obstacle. DRIP FEED: When a program is longer than the CNCs RAM memory, pieces of the program are transferred from a tape reader, a hard drive or the local network as their time comes due. DRIVES: This word normally means the electronic package that includes a real time computer (analog in the old days and digital today) whose output is the solution to the speed control problem. This output is the input to the power section of the drive that delivers electrical power to the motor usually using some kind of pulse width modulating (that is, chopper) technology. Drive can also mean the entire servo actuator including the electronic package, the motor and the mechanical drive elements. However, normally we call this a servo axis. At the time of this writing (2006), the SimoDrive 611 is being supplanted with the Sinamics S120. The Sinamics drive module is strictly the power section. When employed in Sinumerik CNC applications, the speed control function is done by the CNC. DRF: Differential Resolver Function. In automatic mode, when the DRF is turned on, the operator can shift work zero with the manual pulse generator (electronic handwheel). An NC function that generates an incremental zero offset in AUTOMATIC mode in conjunction with an electronic handwheel. DRY: Stands for dry run. See DRY RUN. DRY RUN: When the control is put in dry run, interpolated feeds (G01, G02, etc.) default to the dry run feedrate. The dry run feedrate is a setting data item. Dry run is used to simulate (that is, test out) the program using the machine itself as the simulator. In this case, you want to run through the program as fast as possible and thus, the reason to put the control in dry run. You would never actually cut in dry run. Dry run is turned on under the PROGRAM CONTROL softkey. The system variable $p_dryrun returns a 1 when dry run is active. An example of its use is as follows: if $p_dryrun msg(Dry Run is Active) endif

840_Directory of Terms .doc

Page 19 of 80

another example if $p_dryrun gotof _label01 <nc data blocks that should not be executed in dry run> _label01: <nc data blocks that should execute in dry run>. There can be situations when dry run needs to be suspended, as in subroutines, for example, that swivel attachments heads when the swivel is accomplished by programming an M70 to treat the spindle as a rotary positioning axis. As of software version 6.3 of fall, 2004, there is no way you can do this from the part program; there is no system variable to suspend dry run. However, there is an interface signal that will do this and you need to discuss with your machine tool builder his preparing M-codes for you to turn on/off the suspension. DUPLO NUMBER: Stands for duplicate. With respect to the tool life management function, two or more geometrically similar, functionally identical tools can be given the same tool ID code (T-code) provided they are loaded into the magazine (carousel, or cassette) with different duplo numbers. For example, the first tool to be loaded can be given duplo =1, the second, duplo =2, etc. Tools that have the same T-code are a family with members called sisters. If the life of a tool has expired, the tool life management function seeks out the next sister tool in the order of the duplo numbers. DWELL: A term associated with the NC part program. The G-code G04 is used to command a dwell. For example, G04 F5 causes part program execution to do nothing for 5 seconds. G04 S10 causes a dwell for 10 revolutions of the spindle. E: See Export Version EIA: Stands for Electronic Industries Association. EIA is a standards organization. Their address is 2001 Pennsylvania Avenue, NW; Washington, DC 20006. Early punch tape formats were in a code specified by EIA. Later, as the personal computer became the programming platform, the ASCII code supplanted the EIA code. Todays ISO code is essentially the ASCII code. ELG: Electronic gearbox. ENCODER: Associated with position servos. The device that returns position feedback information. The pulse encoder (or sometimes called pulse coder) returns electrical pulses as the name implies. Actually, a pulse is simply a rising edge or a falling edge. Each edge, high to low and low to high, represents an increment of rotary or linear displacement. Usually encoder suggests a rotary encoder. It is a device that looks like a small electric motor. Often it is mounted behind a motor and coupled directly to the motor shaft. One turn of the motor is one turn of the rotary pulse encoder. The frequency of returning pulses is a measure of rotational velocity. Thus, a servo motor no longer requires an analog tacho-generator to return actual rotary velocity to the speed loop of the positioning servo when the servo controller card can convert frequency to rotary velocity. ENDAT: Stands for encoder data. Endat is an information interchange protocol to transfer position information - primarily position information - from a rotary or linear encoder to the servo controller electronics. EPROM: Stands for 'erasable programmable read only memory'. An EPROM chip usually has a transparent window on its top surface. When this window is irradiated with intense ultraviolet light for 10 to 15 minutes, its memory content gets erased. The chip can then be reprogrammed. EULER ANGLES: First rotation is around Z to give a new orientation. Next rotation is around the X of the new orientation to give a new new orientation. The third rotation is around Z of the new new orientation for a new new new orientation. See RPY. RPY is preferred for programming rotations in the part program.

840_Directory of Terms .doc

Page 20 of 80

MD 10600: Frame_Angle_Input_Mode=2 for Euler Angles. =1 for RPY. EXACT STOP CHECK: Commanded with G60. The axes decelerate to zero or near-zero at the end of a block before the next block is executed. G60 is paired with one of G601, G602 and G603. G60 G601 commands a fine in-position check. G60 G602 commands a coarse in-position check. With G60 G603, eventually in the processing of a motion block the CNC calculates a zero speed setpoint and at this time it begins execution of the next motion block. G603 allows the corner rounding to be determined by the interpolation time constants and machine dynamics for smoother exact stop check operation. G09 commands a single shot exact stop check. It is also paired with G601, G602, G603. G64 is the opposite to G60. In Standard Siemens, there is no code to do unidirectional positioning. Digital drives with digital interfaces from the CNC eliminates drift in the position servo. Reversal error compensation eliminates position error due to backlash in the mechanical drive linkages. EXECUTE FROM EXTERNAL: Execution of a workpiece program directly from the hard drive or some device that is external to memory associated with the real time motion control kernel of the CNC. Normally, the part program is stored in the RAM memory of the real time operating system that enables real time computing in order that it can be read quickly to keep up with the real time demands of high speed motion control. This RAM memory puts its own demands on the computing resources of the real time system and thus, there is some reasonable limit to its size consistent with the over all design specifications. If a program is too long to fit in the RAM memory, it can be executed from the hard drive of the front end open system PC (the computing platform for networking and human/machine interaction). The execution is punctuated by piecewise transfer of the program to a RAM ring buffer from where the program is read for workpiece machining. When one piece of the program is consumed the next piece of the program is loaded to the buffer. When the execution of the program is complete, nothing of the program remains in the RAM memory. Execute from External has limitations. A subroutine or cycle called from the external program must be resident in the RAM memory of the real time system. Otherwise, a subroutine can be called with the EXTCALL (/<path>/<program name>) command. Cycles that require parameterization with the (<value>, <value>, , <value>) structure cannot be called externally. If/Else/Endif can be programmed in an external program but loops and jumps cannot. EXECUTION FROM HARD DRIVE: Same as Execution from External EXOTICS: New, strange, rare and unusual requiring a higher level of sophistication, taste, education, etc., to appreciate. On the other hand, what is exotic today can become very ordinary tomorrow. EXPORT VERSION: The 840DE, 840DE SL, 840DiE and 810DE are suitable for export to sensitive markets. The following functionality is not available or is limited on the export versions: Helical interpolation 2D+6 Milling machining package Five axis machining package Handling transformation package Multi-axis interpolation (> 4 interpolating axes) OA NCK compile cycles Clearance control 1D/3D in position-control cycle Synchronized actions Master-value coupling and curve-table interpolation Sag compensation, multi-dimensional Synchronized actions, stage 2 Electronic gear Electronic transfer EXTENDED ADDRESS: If your machine has two spindles, the first would be S1 and the other S2. You might program the first S1=1000 M1=3 and the second S2=1500 M2=3. In this case, S1, S2, M1, M2 are

840_Directory of Terms .doc

Page 21 of 80

extended addresses. As you can surmise, the numerical value of a word that uses an extended address is delimited from the extended address with an equal sign. EXTERN: Identifies a procedural subroutine (a cycle where the first line after the name and path is the PROC line) that is not stored in the directory (aka, folder) for User, Machinery or Siemens cycles. If the subroutine is stored in the SPF directory, for example, its PROC variables do not get registered when the CNC powers on. If the subroutine will be used in a MPF, its variable types have to be declared in a EXTERN statement at the beginning of the MPF. EXTERNAL G-CODES: By the G-code a subroutine is called. Only valid with the so-called ISO Dialect option and only when G291 is active. A subroutine can be called with a G-code. This functionality is part of an additional option called ISO Dialect (Fanuc). When this option is installed, to the degree that it is ever possible to mimic a competitor precisely, you can run Fanuc System 0 programs on the 840D. In addition, you get generic functionality with which you can make G-codes that have not already been included in the ISO Dialect (Fanuc) into subroutine calls where the additional word-addresses in the call block are assigned to system variables $C_x where x= A, B, C, , Z. In other words $C_A is like Fanucs #1. If a G-code defined in MD 10816 $MN_Extern_G_No_Cycle[n] where n=1, 2, , 50, is programmed, then the subroutine is called whose name is specified in MD 10817 $MN_Extern_G_No_Cycle_Name[n]. The numerical values of other word addresses in the block are written to their respective $C_x system variables. EXTERNAL ZERO OFFSET: A zero offset component that is set by the PLC. Almost never used. FANUC: Abbreviation for Fuji Automatic Numerical Control. Fanuc and Siemens, who were partners at one time, have become each others principle global competitor regarding CNC for machine tools. FEED FORWARD: A means to reduce following error. See Following Error. The relationship between feedrate and following error is a clearly defined function. For a given feedrate the CNC can inject a virtual following error (a pretend following error) into the position control loop so that the path interpolation is at the programmed feedrate with zero actual following error. Feed forward acts like an infinite position control loop gain. Thus, feed forward requires a very stable, very rigid machine or very creative optimization of the servos. This creative servo optimization can solve the following error problems of very soft axes using feed forward and then using other optimization features to account for the instability this causes. On the other hand, when a machine is well designed for high speed machining, the performance of the machine is sometimes better when feed forward is not used in favor of setting very high position control loop gains. The 840D has FFWON and FFWOF for turning feed forward on/off in the part program. Typically, when a machine is delivered, the machine tool builder should instruct the final user regarding the use of feed forward, whether feed forward is appropriate for his machine since there is considerable technology that under girds the deployment of feed forward. FEED GROUP: Axes whose resultant motion is the traverse of a point along a contour. The feedrate applies to the feed group and not to an individual axis. In G17 helical interpolation, the feed group is X and Y because the feedrate applies to the circular interpolation. Z is a positioning axis. However, in a 3 axis linear interpolation, X, Y and Z are the feed group. In 3-axes contouring with tool orientation (also called 5-axis machining) the feed group is X, Y and Z while the rotary axes are positioned. See Positioning Axis. FEED HOLD: The opposite of feed enable. Feed enable is a key on the MCP (machine control panel) with a green LED above it. When the LED is lit, the channel is in feed enable. When it is not lit, the channel is in feed disable. No axis motion is possible when in feed disable. This is why feed disable is called feed hold. FEEDRATE: Milling is typically in inches/minute or mm/minute. Turning is typically in inches/revolution or mm/revolution. The rapid traverse (G00), manual rapid jog, jog, approach to reference

840_Directory of Terms .doc

Page 22 of 80

point before decel, feed after decel and incremental feed are established by machine data. Dry run feed is a setting data item. Otherwise, the feedrate is programmed with the F-word. G94 is direct rpm programming and in/min (mm/min) feed. G95 is direct rpm programming and in/rev (mm/rev) feed. G96 is constant surface velocity and in/rev (mm/rev) feed. If a machine is in millimeters, G70 does not convert the feedrate. G700 does. Conversely, if the machine is in inches, G71 does not convert the feedrate. G710 does. The programmed path feedrate can be read out of system variable $P_F. FEEDRATE OVERRIDE: To override the programmed feedrate. The operator can do this inasmuch as the machine control panel has a rotary selector switch for selecting a override of the feedrate. The override ranges from 0% to 120%. Technically, the switch is wired to return a Gray code. By means of NC machine data, the % override is set for each position of the switch. The default values range from 0% to 120%. The CNC is provisioned with functions to enable automatic override of the feedrate to adjust spindle and cutting feeds to power loads on the spindle motor. FFWOF: Commands Feed Forward off. See Feed Forward FFWON: Commands Feed Forward on. See Feed Forward FICTITIOUS AXIS: An axis which exits in the NC's mind but which has no physical existence. For example, if a reciprocating axis needs a sine wave velocity distribution (zero speed at the ends and maximum speed at the center), this can be accomplished by circular interpolating it with a fictitious axis. In this case, the NC must have the fictitious axis in order to do its calculations that relate to the real axis. FIFO: First in, first out. Usually refers to a memory buffer. FILE: An organized mass of information which one would expect to have some relationship within itself - normally you wouldn't store your power tools in the same drawer with your kitchen utensils - and which is stored in the bulk memory of a computer under a name which can be evoked to display, edit, print, execute, or in some way use the information. FINE IN-POSITION: With machine data, the machine tool builder can define a 'fine' in-position boundary around the commanded position setpoint. A fine in-position is commanded with G9 or G60. G9 is single shot. When fine in-position is programmed, the axis must get within the fine in-position boundary before the numerical control can move on and execute the next block of the program. See COARSE INPOSITION. FIVE AXES INTERPOLATION: Literally, it means to interpolate a curve in a space of 5 dimensions. Practically, it usually refers to contouring with three linear axes and two rotary axes to orient the tool to a specified angle to the surface. 5-axes interpolation is almost synonymous with aerospace machining since so many aerospace workpieces are machined with the tool center point following a contour in XYZ while the orientation of the tool remains normal to the surface wherein the contour resides. Siemens 5-axes interpolation for aerospace machining is best carried out with the three linear axes interpolating a curve in XYZ while the orientation axes do synchronous positioning. To achieve this, the feed group is fgroup(x,y,z). Literally, you program fgroup(x,y,z) in a block of its own. With this, the 840D thinks thusly, I have to keep the tool center point moving at the programmed G94 feedrate and at the same time, I have to position any other axes in the block to their block end point so that they get into position at the same time as the X, Y and Z axes get into position. Suppose A and C are the orientation axes. If the feed group includes these axes - fgroup(x,y,z,a,b) - then the G94 feedrate is a mathematical concept and who knows what is the actual velocity of the tool center point as it traverses the contour. This is why G93 is programmed when the feed group includes all the axes. G93 is inverse time feed. It is the inverse (1/time) of the time allocated to complete the distance to go of the block. A F-word is required in very block in order to try to have a continuous and hopefully constant velocity of the tool center point across block boundaries.

840_Directory of Terms .doc

Page 23 of 80

Fgroup(x,y,z,a,c) is the old way and fgroup(x,y,z) is the new way. The new way is better since it allows new functionality to come into play for faster, smoother aerospace contouring that cannot play under G93. Still, if you want to continue to do 5-axes contouring the old way, program fgroup with all the axes. FIVE AXES TRANSFORMATION: In 5-axes contouring where two of the axes are rotary orientation axes, there are two paths of interest. There is the path of the pivot point and the path of the tool center point (since 5-axes contouring is normally done with a ball end mill). A five axes transformation is required to transform a tool center point path into a pivot point path. In the days before the 840D, the transformation was done in the posting process and the posted numbers were the pivot point path. This required the programmer to have a priori knowledge of the machine, its pivot geometry, its kinematics and the length of the tool in question. In this world, a program written for one machine could not be used on another machine and the old aged goal of transparency between programming and operations was unattainable. With the 840D, the tool tip path is posted and the transformation is done by the CNC in real time as the program is executed. The transformation is called Traori (transformation [for] orientation) and TRAORI is programmed in a block of its own ahead of a sequence of blocks where the path and orientation geometry is specified. Since the orientation can be specified independent of actual axes addresses, Traori allows for full transparency between programming and machining. When it is said, You program the tool center point path, what this means is, You program the path you want the tool center point to interpolate. The transformation, knowing the pivot geometry, orientation kinematics and tool length, reaches into its mathematical innards and calculates a pivot point path so that when the pivot point interpolates this path the tool center point interpolates the desired stock removal path. If the same program is run twice, once with a tool of length 5 and next with a functionally identical tool of length 7, the pivot point path will be very different but the tool center point paths will be identical. FIXTURE OFFSET: Usually means settable zero offset. See Settable Zero Offset FLAT TOA: The tool offset area is either flat or relational. Relational is the default. The decision to change to flat is made by the machine tool builder with MD 18102 MM_Type_of_Cutting_Edge. 0 is relational. 1 is flat. End users should not change this machine data item since it will cause a reformat of the internal memory (the NCK memory). Relational, also known as T/D TOA means that the relationship between the D-code and the tool is established in the tool file. For every tool defined in the tool file, there is a D1 by default. If the tool has a second cutting edge, the operator adds a D2. The operator adds a D3 for a 3rd cutting edge, a D4 for a forth, , up to a D12. When the tool file is flat, it really is not a tool file at all. It is simply table. Each row is identified with a D-code and, obviously, each row is a cutting edge. The relationship between a tool and a D-code record is established in the part program. For example, when the operator sees T20 in the program and following this, when he sees a D-code and it is D36, he knows to put the length offset for this tool in the row of the D-code table labeled 36. T/D refers to the relational tool file. Flat tool files are the exception, not the rule. FM-NC: Stands for Function Module NC. A discontinued member of the System D family. Characterized by analog servo interface and TTL feedback. Looked very much like a function module in a PLC rack with a connection to a display device. FOLLOWING DISTANCE: The following error times the PCR_unit. FOLLOWING ERROR: CNC does proportional position control. In proportional position control there has to be a difference between the actual position and the commanded position in order to have a velocity command to the servo drive. It is like towing something with a elastic cord. There has to be stretch in the cord to get go. The stiffer the cord (the higher the gain) the less the stretch. The following error is proportional to feedrate. See Feed Forward The following error is a count, a number in PCR_units, which when multiplied by the PRC_unit is the difference between where the NC has commanded an axis to be and where the axis actually is at. The

840_Directory of Terms .doc

Page 24 of 80

following error is multiplied by the Kv factor to provide a velocity command. For a given feedrate the following error can be calculated using the following equation: error = FR/60 * 1/PCR_unit * 1/Kv where FR is feedrate in units per minute (inches/min or mm/min) PCR_unit is the position control resolution unit Kv is the position control loop gain FOLLOW-UP: Normally when the position control loop is opened (the controller enable of the command function is turned off), any displacement of the axis is reflected as following error. However, when the axis is in follow-up, any movement is reflected as a change in absolute position. When the NC is in emergency stop, the axes default to the follow-up mode. Otherwise, an axis specific interface signal has to be set for an axis to be in follow-up. FOUR DIGIT T-CODE: The tool number and offset number are concatenated into a 4-digit number. The two most significant digits are the tool number. The two least significant digits are the tool length offset number. While four digit T-codes belong to the old days, it is still practiced when sophisticated tool management is not an issue, especially in turning. Standard Siemens does not support four digit Tcodes. It is supported in ISO Dialect. FRAME: A nested coordinate system. A rectangular coordinate system that is defined relative to another coordinate system with some of all of translation, rotation, scale and mirror. If G54 was a translation then frame is a bigger idea than we need to understand nested coordinate systems. G54 would be called a zero offset and the matter would be over. But G54 includes rotations, scales and mirrors so we need a term that is inclusive of this and this term is frame. There is nothing new about the word frame. It has been around for hundreds of years. Children study frames in middle school. It was brought into CNC in the 1990s with the introduction of the 840D. FRAME CALCULATION: Transformation. A mathematical calculation that transforms the coordinates of a point in one coordinate system to the coordinates of the same point in another coordinate system. See Transformation FRAME VARIABLE: A variable structure to hold translation, rotation, scale and mirror values. The setting values for G54 are stored in a frame variable. The frame variable is $p_uifr[1]. When you open the screen to enter G54 values you are entering values into this variable structure although it is transparent to you. Base Offset, G54, G55, etc., each have their own frame variable that is predefined by the system firmware of the 840D. Variables of type frame can be user defined. FREE FORM: As in free form curve. An artist draws in free form. Same as space curve. A line on the surface of a sculptured surface. In the 2nd half of the 20th century, mathematicians working with polynomial functions created analytical techniques based on spline concepts for describing free form curves. The inverse, the use of these techniques to create free form curves is the foundation of computer aided graphical design. FRONT TURRET: See Rear Turret. When your line of sight is in the direction of the traverse axis (almost always X) and the spindle is to your left, if, when you jog the traverse axis positive, if it comes toward you, the machine is a front turret type. It doesn't matter where the turret is actually located. The definition of front or rear turret has to do with where you stand in relation to the spindle. The NC is always right handed. However, blueprints for front turret machines are often left-handed. In this case, what appears as clockwise has to be programmed as counter clockwise, and vice versa. What appears as 'right' has to be programmed as 'left', and vice versa. When doing manual parts programming, if you program your turning machine from a right handed blueprint, the program will run equally well on a front or rear turret machine. FST: Stands for feed stop.

840_Directory of Terms .doc

Page 25 of 80

FUNCTION REPLACEMENT: By the T or M-word a subroutine is called. With regards to T-word replacement, the subroutine name is set in MD 10717. Within this subroutine the T-word is not replaced with a subroutine call (a subroutine cannot call itself). More generally, a T-word does not have a replacement when it occurs in a program called from the main program. A T-word in a non-main program file is genuily a T-word. With regards to M-codes, MD 10715 specifies the numerical value of an M-code for function replacement. In other words, only one M-code can be identified for function replacement. The subroutine name for this function replacement is set in MD 10716. Function replacement is different from a substitution macro (DEFINE RAPID AS G00 that lets you program RAPID in place of G00) in that the M or T code does not have to be in a block by itself. Typically, a subroutine call has to be in a block by itself. F-WORD: The F-word is used to specify a feedrate in the motion control program. With G96, G97 and G95 the feedrate is in units per revolution. With G94 the feedrate is in units per minute. The F word following a G04 means time. G93 is inverse time feed. In 5-axes contouring where two of the axes are orientation axes, the time, in inverse seconds, to complete the move of a block is programmed in the block. This prevents rapid swings of the orientation axes. Siemens has eliminated the need for G93 by 3-axes interpolating the linear blocks and synchronous positioning of the orientation axes. In this case, you program a G94 feedrate at the beginning of a 5-axes sequence of blocks. 5-axes contouring in G94 is vastly superior to G93, but if you are a glutton for legacy, you can define the feed group to include the orientation axes (see Feed Group) and enjoy life on memory lane. G00 of G0: See Rapid Traverse G00 G01 or G1: Specifies a straight line interpolation function. See Linear Interpolation G01 G02/G03 or G2/G3: Specifies a circular interpolation CW/CCW. See Circular Interpolation G17/G18/G19: See Geometry Axes. In geometry we use the terms abscissa, ordinate and applicate to talk about the #1, #2 and #2 axes of a right hand coordinate system. In machining we sometimes use the terms longitudinal, traverse and infeed. In G-code programming we use axis addresses X, Y and Z and we use G17/G18/G19 to designate their assignment to the abscissa, ordinate and applicate. This is summarized in the table below. abscissa longitudinal 1st X Z Y ordinate traverse 2nd Y X Z applicate infeed 3rd Z Y X

G17 G18 G19

G17 is the default in milling. G18 is the default in turning. In milling, the programmer is advised to stay in G17 and rotate the work coordinate system. This way, all infeeds are programmed in Z. G28: No G28 in Siemens. G28 is an automatic return to reference point through an intermediate point. There is virtually no reason, ever, to return to reference after the machine has been referenced. G28 make sense when it was not possible to displace machine zero from machine reference but this has not been the case in 30 years. G290/G291: G291 in the program signals that the code which follows is not Standard Siemens (ISO 66025). Siemens offers ISO Dialect. G291 in a block by itself switches to ISO Dialect. G290 switches back to Standard Siemens. See Standard Siemens G43, G44, G49: Not with Siemens.

840_Directory of Terms .doc

Page 26 of 80

With Siemens, additive tool length compensation is done on the geometry axes programmed in motion blocks whenever a tool is active and the active D-code is not D0. The tool in the spindle is the active tool and the CNC knows this for having read the M06. In turning the T-code alone specifies the active tool and M06 may not be required. The geometry axes are the axes that are acted upon by G17/G18/G19 and almost always named X, Y and Z. With Siemens you rotate the frame so that infeed is always in the negative direction of the applicate axis. Thus, there is no need for G44 subtractive tool length compensation. Tool length compensation is canceled with D0. Standard CNC needs G43 and the H-code to do tool length compensation. Siemens needs an active tool and the D-code. There is an H-code in Siemens but it has nothing to do with tool compensation. It is used to pass a real number to the PLC similar to the M-code but the M-code passes an integer number. G58 and G59: These are legacy codes from the older 840C. These old controls allowed you to program a translation and an additive translation and no more. G58 is the same as TRANS and G59 is the same as ATRANS. G59 is not additive to already existing additive offsets. If you program it a second time it clears out the previous additive translation and asserts a new additive translation with the coordinate values of the new block. This is to say, you cannot add a G59 to a G59 like you can program ATRANS as many times as you want. Really, you dont want to use G58 and G59 with the 840D. Use TRANS and ATRANS and be done with it. Two machine data have to be set to 1 to use G58 and G59. These are , MD 24000: Frame_Add_Components MD 18600: MM_Frame_Fine_Trans G60: G60 in Siemens is for exact stop check and not unidirectional positioning. With modern compensation functions for back-lash and friction (slip-stick), and the advanced servo optimization tools that allow for high position loop gains, if you need to do unidirectional positioning to get accuracy in positioning to hole locations you should get the machine checked out. G64: Continuous path mode with look ahead. The CNC maintains a continuous feedrate through block boundaries. Continuous does not mean constant. It takes lateral acceleration to take a corner and if the machine is not rigid enough to pull the G-forces at a given feedrate the CNC has to reduce the feedrate at corners. This is like driving a car. You can go fast on the straight aways but you have to slow down for the corners. However, unless there is a stop sign (G60) you do not have to slow to a stop. G641: Continuous path mode with look ahead. However, unlike G64, with G641 the CNC inserts a smoothing block at corners. The smoothing path starts the ADIS distance from the block boundary and blends onto the next programmed block at the ADIS distance into the next block. ADIS is programmed in the part program. G642: Continuous path mode with look ahead. However, unlike G64, with G642 the CNC inserts a smoothing block at corners so that the contour deviation never exceeds the so-called compressor tolerance. G70/G700: G70 means that blueprint related coordinate are dimensioned in inches. G700 is G70 but it includes the feedrate is in inches/minute. G71/G710: G71 means that blueprint related coordinates are dimensioned in millimeters. G710 means the same including the feedrate is also in millimeters/minute.

G90: Absolute programming. Coordinate words are coordinates is a stationary coordinate system. As opposed to G91 and incremental. Siemens 840D allows the modifier IC and AC. For example, the IC in the block G90 G01 X=IC(10) F50 means that the 10 is an incremental displacement.

840_Directory of Terms .doc

Page 27 of 80

G92: (G50 in standard G-codes): A means to communicate to the CNC the coordinates of the position of the tip of the standard tool in the desired work zero system for the CNC to calculate a zero offset to the desired work zero point. The block, N25 G92(x,<number>,y,<number>,z,<number>) calls a subroutine that creates a zero offset to the desired work zero. The subroutine is as follows: %_N_myG92_SPF ;$PATH=/_N_CST_DIR PROC myG92(axis _mx, REAL mmx, axis _my, REAL mmy, axis _mz, REAL mmz) if $p_search==1 gotof n999 N10 $p_ubfr=ctrans(_mx,$aa_im[_mx]-mmx,_my,$aa_im[_my]mmy,_mz,$aa_im[_mz]-mmz) n999 ret This subroutine or one like it stands in place of G92 since Siemens dropped this G-code when CNC acquired reference return. With the substitution macro DEFINE G92 AS MYG92 the block can be programmed N10 G92(x,<number>,y,<number>,z,<number>). Since N10 of the subroutine does not execute in block search, block search with calculation cannot alter the work zero. Reference return changes the act of coordinate system setting from setting an absolute zero to setting a zero offset. Control venders like Fanuc who brought G92 forward did so by turning it into a means to set a zero offset. Siemens provides many ways to do this. Still, if you need a block that functions like G92, you need the subroutine discussed above. earler. Siemens has an MDI G92 operation called scratch and a similar MDI operation called preset. Preset is for setting an absolute zero and scratch is a method for setting a zero offset. Scratch really should be called MDI G92. see PROGRAMMABLE POSITION REGISTER PRESET G98/G99: Not used by Siemens. Determines the retract level for canned cycles. G98 is the initial level. G99 is the reference plane. With Siemens, the retract level is a parameter of the machining cycle. The Siemens standard machining cycles do not provide for changing the retract level from one hole to the next in an mcall (modal call). You have to re-do the cycle call. In the example below, the drill retracts to Z=1 after drilling the first and second hole. After drilling the 3rd hole it retracts to Z=2. After drilling the fourth and fifth hole it retracts to Z=1. Mcall Cycle81(1,0,0.1,-2) X<1st hole> Y<1st hole> X<2nd hole> Y<2nd hole> Mcall; needs to be in its own block X<3rd hole> Y<3rd hole> Cycle81(2,0,0.1,-2) ;cycle executed at 3rd hole location since call is single shot Mcall Cycle81(1,0,0.1,-2) X<4th hole> Y<4th hole> X<5th hole> Y<5th hole> Mcall GAGE: See Gauge. Dictionaries prefer gauge and not gage. G and M Programming: With the modest proliferation of conversational and interactive programming, many control vendors emphasize that their controls can still be programmed in the G-code language. GANTRY AXES: Two servo axes, usually two linear servo axes with identical electrical drive systems and identical mechanical linkages, that travel parallel to each other and are mechanically coupled by a rigid beam that is carried by them. Gantry control acts so the beam remains square with the direction of travel of the gantry axes. Typically the gantry axes are machine axes X1 and X2 and/or W1 and W2 and programmed as X and W.

840_Directory of Terms .doc

Page 28 of 80

GAUGE: To measure, usually associated with setting up the machine. Manual inspection of a workpiece is usually not referred to as gauging. GAUGE BLOCK: A precision ground, usually rectangular, hardened metal object used to check dimensions or to create gauge planes. For example, to touch off 1" above the zero surface, place a 1" gauge block on the surface. GAUGE, FEELER: Anything thin that can be used to check for clearance between two surfaces. Often, a scrap of paper is used as a feeler gauge to set tools when shim stock or materials clearly designed for feeler gauge applications are not available. GAUGE PLANE: A plane surface to which measurements can be taken. For example, "The mechanical drawings will show gauge planes for identifying the machine zero position." Technical writers will use the word 'gauge plane' indiscriminately, leaving it to the reader to understand its meaning for his particular situation. For example, "Touch off the gauge plane of the spindle to a 1" gauge block placed on the work zero surface." In this case, the author assumes the machine tool builder has ground a gauge plane on the spindle and that you can identify this surface. G-CODE: Preparatory functions although not all preparatory functions are G-codes. In it barest form, the program that is executed by the CNC to direct the machine to produce the part of the blueprint is a sequence of points expressed as coordinates. The points coordinates are recorded in one line of text. The line is called a block. The CNC machine tool is expected to interpolate the points but the points on their own do not convey to the CNC the kind of interpolation. Is it linear? Is it circular? This is one example of the role of G-codes in a block, to identify how the point of its block is to be interpolated. G01 is linear. G2/G3 is circular clockwise/counter clockwise. Generally G-codes are associated with geometry. G-CODE, EXTERNAL: see External G-Codes G-CODE PROGRAM: System D. Aka, the part program, the workpiece program. The program that is executed by the NC kernel when NC Start (Cycle Start) is pressed. One expects that this program directs the machine to produce the part of the blueprint. Also called the workpiece program. CNC is unique among automation controllers in that it comes with a high-level final user programming language. This language is described in the Programming Guide: Fundamentals and the Programming Guide: Advanced. A G-code program is a program whose statements are described in these two manuals is the final user program. The Siemens ISO dialect is rich in functions that are evoked in English names, acronyms and mnemonics. With 1) macro substitutions (RAPID for G00), 2) English language preparatory functions, 3) English language variable names and 4) English language subroutine names, the G-code program may not display a single G-code. G-CODE REPLACEMENT: see External G-Codes GENERAL RESET: When M30 or M02 is encountered in the part program, the NC is reset. This is different than an overall reset that implies clearing the RAM memories. However, general reset is sometimes uses synonymously with overall reset. GEOAX: The command to change the assignment of channel axes to the geometry frame. See Geometry Axes. Be cautioned that after the GEOAX command, the CNC is in a G500 state so that the desired settable zero offset (typically G54) has to be programmed in the next move block.

840_Directory of Terms .doc

Page 29 of 80

GEOMETRY AXES: There can be many sets of combinations of 3 linear axes that are normal to one another. Any one of these sets can be assigned to the geometry axes of X, Y and Z that are associated with G17/G18/G19. For example a horizontal boring mill of X, Y, Z1, W1 servo axes can have X, Y, Z1 or X, Y, W1 designated as the X, Y and Z geometry axes. GEOAX(1,X,2,Y,3,Z1) assigns X, Y and Z1 to the XYZ geometry coordinate system. GEOAX(1,X,2,Y,3,W1) assigns X, Y and W1 to the XYZ geometry coordinate system. A quality of the Geometry coordinate system is that you always program Z. Based on the GEOAX assignment, either Z1 or W1 does the motion. If the machine carries a process that does not require length or radius offset, it does not require the use of G17/G18/G19 and in this case, none of the axes have to be assigned as geometry axes. See G17/G18/G19 GEOMETRY FRAME: A geometry frame has to be defined if G17/G18/G19 have meaning. By default the abscissa, ordinate and applicate of the geometry frame are addressed with X, Y and Z. We assume that when there is no rotation of the geometry frame relative to the machine coordinate system that a displacement in X-geometry is carried out by the X-servo (aka, the X-machine axis), and the same for Y and Z. Their displacements are carried out by the Y-servo and the Z-servo. Geometry frame and geometry axes are the idea that the X, Y and Z of the work coordinate system are transparent to the actual physical axes that do numerically directed interpolation. The origin of the geometry frame of X, Y and Z can be anywhere in space and it can have any orientation relative to the machine coordinate system. Having understood this, then, there is no distinction between work coordinate system and geometry frame when the machine in question is a simple 2-axes lathe or 3-axes mill. G17/G18/G19 pertain to the geometry frame. Tool length and cutter radius pertain to the geometry frame. There is a system variable that returns the 1st, 2nd and 3rd axes of the geometry frame. The geometry frame can be three axes only and while they are always named X, Y and Z, this is the default setting that can be changed with machine data. If the 3rd axis of the geometry frame is addressed with Z as is its default it could map to the physical servo that is addressed with W but it is still programmed as Z. GLOBAL: A variable whose existence is independent of nesting levels. The R-parameter R1 is a global variable. The R1 in the main program file is the same R1 at any level of the program. If R1 is set to a value in a subroutine called from a subroutine called from a subroutine, etc., when program execution returns to the original calling program the R1 has the same value. In a cycle call, the local variables defined in the PROC line of the cycle that receive values from the (value, value, , value) structure like Cycle81(1, 0, 0.1,-2) are not global. However, the VAR modifier allows the variables to be locally global between the subroutine and its calling program. See VAR GLOBAL USER DATA: Also called GUD. Global user defined memory variables that are defined in %_N_xGUDy_DEF files where x is one of (vacant, S, M, U) and y is one of (vacant, 4, 5, 6, 7,8, 9). There are 9 DEF files for GUDs. These are SGUD, MGUD and UGUD where the S, M and U stand for Siemens, Machinery Builder and User. There are GUD4, GUD5, , GUD9 that are usually reserved by Siemens for special functions. For example, the standard measuring cycles define their global variable data in GUD5 and GUD6. GUDs can be defined as integer, real, Boolean, logical, string, character, axis or frame. The S, M and U definition files allow each of these three parties to create GUD variables that are displayed in their own screens. Also it means that if the user wants to create a GUD he does it in the %_N_UGUD_DEF file so there is no opportunity for him to inadvertently edit the SGUD or MGUD files. The GUD variables of a GUD file as a whole can be defined with protection levels. For example, we can say that all GUDs defined in SGUD are at protection level 0 that, in this case, cannot be changed without the Siemens password. For more information see the Programming Guide Advanced. In the early days of the 840D, one had to do a power-on reset for the NCK to read the definition blocks in the GUD files. From SW 4.4 and higher up to but not including SW5, a vertical softkey is provided in the Services area (where one edits the DEF files) to activate the definitions in the files without doing the power-on reset. From SW5 and higher, it is sufficient to load the GUD file for the variables to take. GUDs are defined as NCK or CHAN. CHAN means that a independent set of the variables will exist for each channel. NCK means there is one set of the variables that is common across all channels.

840_Directory of Terms .doc

Page 30 of 80

Each GUD variable can be defined with an attribute for preprocessing stop (automatic STOPRE), to stop preprocessing while writing or while reading or while either writing or reading. Once a character string is the name of a GUD it becomes a reserved word. GROUP: With reference to the G-code programming language, the G-codes are organized into groups. Some of the groups are modal. This means that at all times, one member of a modal group is active. There exists machine data that designates which member of a modal group is active upon reset and power-on reset. In some cases, however, the current member is not restored to its default value until the next NC Start. (See the article G-Code Groups.) A similar thing is true of the programmable frame. In you orient the tool to drill into an angled surface you will want the programmable frame to remain active after a reset in order to jog out a broken tool and not have the frame reset until the next NC Start. GUD: See Global User Data. H-CODES: Siemens does not use the H-code for tool length compensation. In Siemens, the D-code is for both tool length and radius compensation. In Siemens, H-codes are like M-codes, but they do not have any clearly defined function. The machinery builder can make them mean whatever he wants. Unlike an M-code that can pass an integer value to the PLC only, the H-code can pass a real value. H-D SEPARATION: In Standard CNC, the H-code is reserved for tool length compensation (G43/G44) and the D-code is for tool radius compensation (G41/G42). This is called H-D Separation. H-D Separation is not done in Standard Siemens. G43 is permanently on and ready to rock. This being true, the developers of the 840D did not include G43/G44/G49 in its repertoire of interpreted G-codes. The CNC will alarm if you program one of them. (By the way, Standard Siemens does not need the equivalent of G44 because Standard Siemens expects that you will orient the geometry frame with the ROT and AROT commands so that the tool always infeeds negative in the Z-geometry axis.) In Standard Siemens the D-code points to a record of many registers (a register is another word for field) where both tool length offset and tool radius information is stored. The D-code is for both length compensation and radius compensation. You have to program G41/G42/G40 to do tool radius compensation but the D-code you programmed for length compensation does not have to be programmed again. There is an H-code in Standard Siemens but it has nothing to do with tool compensation. It is a means to pass a real number from the part program to the PLC (and in this regard it is like an M-code except the Mcode passes an integer value). HANDLING (as in Material Handling): How is the workpiece brought to the machine, into the work envelope of the machine to be machined, removed from the work envelope of the machine and taken away from the machine? Associated with transporters, robots, gantries, stackers, conveyor belts as well as arms, hands, lifts and forklifts. HANDWHEEL: Also known as the manual pulse generator. This rotary device has tactile and auditory feedback and it is an electronic simulation of a handwheel on a conventional machine. This essential device is frequently not included in an application, the machinery builder believing that the final user will never miss it. HEAD (as in Attachment Head): See Tool Carrier HEADER: See FILE HEADER. HELICAL INTERPOLATION: The tool follows the path of a helix. Helical interpolation, which is a form of circular interpolation, is used to cut large diameter threads and bore large diameters. It is also used for thread milling.

840_Directory of Terms .doc

Page 31 of 80

HIGH LEVEL LANGUAGE: Macro language. Also called Cycles Language. In essence, the workpiece programming language of the 840D is a Basic-like adaptation to CNC that supports the traditional G-codes, M-codes, etc. High Speed I/O: Digital and analog I/O on the servo bus evaluated on the position control loop cycle. Can be addressed from the part program. HMI: Human/Machine Interface. HOME: When used by an operator this word does not have a universally defined meaning. The operator could be referring to the pallet change position, to the tool change position, to an axes park position, to the machine zero position or to the machine reference position. Siemens uses home synonymous with machine reference position. Other usage is for any machine position whose location is confirmed with limit switches, touch probes or other devices independent of a coordinate system. Typically, a machine has one home position only, the reference return position. See REFERENCE POINT RETURN. ID: In tool management magazine (TMM), the value written with the T-address is the tool ID. T=<tool id> like T = 1 Inch Drill. If the tool id is strictly numeric, you do not need the quotes. IF: The System D cycles language has the following IF statements: IF <conditional expression> GOTOB (or GOTOF) and, IF <conditional expression> <do this> ENDIF and, IF <conditional expression> <do this> ELSE <do this> ENDIF INC: Stands for incremental. See INCR. INCH/METRIC: 840D has G70/G71 for inch/millimeter. Position data, intermediate points, interpolation parameters, circle radius, thread leads, programmable zero offsets (TRANS) and polar radius get converted. With G700/G710 feedrate gets converted as well. INCR: A NC operating mode. In INCR the operator can jog an axis by a fixed, selected displacement. The handwheel is usually operable in the INCR mode. INCREMENTAL: A point specified in a moving coordinate system. G91 commands incremental inasmuch as it specifies that an interpolation command must interpolate a point relative to the tools current position. Normally this means the end point of the previous interpolation is the origin of the coordinate system for the next point to be interpolated. G90 cancels G91. See absolute. Geometric data specified relative to a point (usually on the contour) that could be work zero (absolute zero) only by coincidence. The circular interpolation parameters I, J and K (collinear with X, Y and Z) are always incremental (from the arc start point to the arc circle center) unless the AC modifier is used. Example I=AC(13) means the center of an arc is located at X=13 in the work coordinate system. See absolute. INDIRECT PROGRAMMING: Allows variables to commingle with preparatory functions, auxiliary functions, etc. If drill_rate is a real variable and drill_rate=50, then F=drill_rate indirectly programs F50.

840_Directory of Terms .doc

Page 32 of 80

Another example: if _mszo=54 then G[6]=_mszo indirectly specifies G54. The 6 in G[6] is the number of the G-code group that includes G54, G55, , etc. Like G[<group number>], the 840D proves the cycles programmer with many special contrivances for doing indirect programming. INFORMATION: In the 1950s and 1960s technical writers tried to explain the technology known as numerical control in an information context that had its origins in the invention of the negative feedback electronic amplifier as a replacement for mechanical repeaters in telephony. Today we are not so concerned with making this connection that, in practice, does not tell us much about numerical control. Rather we talk in terms of the operator manipulating information to assert his will on the workpiece whereas before he cranked handwheels, set levers, set physical stops and engaged muscle, sinew and bone (or what psychologists call fine motor skill) for physical manipulations to affect the workpiece. Todays CNC operator can be a total klutz because it doesnt take fine motor skills to change tool data, zero offset data and such. IN-POSITION: The numerical control can be programmed to do coarse or fine in-position checks at the intersection of two cutting blocks. The in-position boundaries are set by the machinery builder in machine data. In-position checks can be thought of as an automobile approaching a stop sign before turning right. In both cases the driver does a rolling stop but with fine in-positioning, he comes closer to actually stopping. Normally, the machine cuts in G64 that commands a coarse in-position check. This tends to smooth out the contour, it rounds corners slightly, and it assures that the tool stays in motion at the intersection of two cutting blocks. If it is critical that the tool come to an absolute stop - an in-position tolerance of zero - such as in a counter bore, then a G4/dwell is usually programmed between the blocks. See FINE IN-POSITION and COARSE IN-POSITION. INTeger: A positive whole number. DEF INT no_of_parts defines an integer variable named no_of_parts. INTERACTIVE: Interactive mode as opposed to the program mode. A typical hand held calculator is operated in the interactive mode. More sophisticated calculators allow you to create programs which can be executed over and over again. INTERPOLANT (Interpolation Function): An analytic function that describes the results of an interpolation. For example, the interpolant of a linear interpolation is the equation of a straight line. INTERPOLATION: To achieve a finer resolution by finding points between known points. Position control servos employ linear scales that return a 1Vpp (one volt peak to peak) analog sine and cosine signal per specified displacement (typically 20 microns). The performance controller card of the Simodrive 611D/U servo drive converts one cycle of this signal into 2048 counts for digital signal processing. This conversion is called interpolation. It is clearly not path interpolation as described below. INTERPOLATION, PATH: To find a path that satisfies a set of clearly stated geometric constraints. Numerical control is numerically directed interpolation of a cutting tool in the work envelope of the machine. The tool traverses the path under certain velocity constraints as well as a set of geometric conditions so that it is at the right place on the path at the right time all the time while passing through defined points. Linear interpolation traverses a line between points. Circular interpolation traverses an arc. While physical devices (straight edge and compass) are associated with linear and circular interpolation, spline interpolation is associated with computer algorithms. With old CNC the function that is sampled on a time grid to issue position setpoints is specified in the program. G01 specifies a straight line function and G02/03 specifies a circular arc function. New CNC like the 840D carries forward the old but it also allows algorithms to be specified. CompCad is an algorithm. It interpolates a b-spline from the points of a polyline and represents the b-spline in parametric polynomial form to act as the interpolation function that is sampled on a time grid to issue position setpoints to the servos for the axes to interpolate a cutting tool in the workspace of the machine. C-spline traverses points with voluptuous, serpentine and eye-pleasing curvature. A-spline is tighter and can kink at points. B-spline does not actually pass through the points; rather, the points are the corners of a so-called control polygon that influences the shape of the curve.

840_Directory of Terms .doc

Page 33 of 80

Nurbs is a b-spline variant. Nurbs seeks to unite the geometry of CNC with the geometry of CAD so there is no lose in geometry when posting to a workpiece program. Also nurbs programs are much shorter in length. See Simultaneous Interpolation. Mathematically the CNC can interpolate 4 or more dimensions. The memory of a path in more than 3 dimensions is the trace on the workpiece itself because while the axes may be interpolating in n>3 space the actual path traversed by a point on the tool is in 3-space. Clearly the tool does not break up with different pieces traversing paths in parallel universes and then reassemble when the interpolation is over! An operator has never reported this for all the strange things he sees. Interpolations in 4 or more axes are often programmed in inverse time to prevent the rotary axes from swinging wildly as they may when a feedrate is programmed for the (4, 5, etc. dimension) path. Often 5-axes interpolation is really 3-axes interpolation and synchronous positioning of the two rotary axes. The program feedrate is for the path axes, that is, the three linear axes. This is to say, the tip of the tool traverses at the programmed feedrate. (This 5-axis contouring scheme can also result in wild swings of the rotary axes at singularity points.) INTERPOLATION PARAMETERS: The addresses I, J and K are called interpolation parameters. Originally, they were introduced into the G-code language to specify the incremental displacement from the arc start point to the arc circle center in a circular interpolation block, G02/G03. I is the incremental displacement in X, J in Y and K in Z. The interpolation parameters allow the numerical control to identify the arc of interest from the infinity of arcs that pass through any two points. INVERSE TIME: The number '1' divided by time. INVERSE TIME FEED: With G93, the F address is used to specify inverse time. For example: In the block, N20 G01 G93 X50 F2, the G93 commands inverse feed. The F addressed is used to specify the inverse time to traverse the path. In this case, the inverse time is '1' divided by 2 for a time of 0.5 minutes. ISO DIALECT: The full name for this option is Online ISO Dialect Interpreter. ISO Dialect is a Fanuclike dialect to the Siemens workpiece programming language that duplicates the G-codes of a Fanuc System 0. Since there are many generations of the System 0, ones expectation of ISO Dialect should not be overly ambitious although, as the Dialect is being developed over time, it is becoming a respectable alternative to Standard Siemens. The Dialect is limited to G-codes and canned cycles. (Yes, it supports G92!). It doesnt support Fanuc macro commands. JERK: The time rate of change of acceleration. The preparatory function SOFT is used to reduce jerk because jerk can cause the machine to shake and vibrate. A high performance axis should have high acceleration but when the acceleration of the acceleration is very high, jerk occurs. JOB LIST: A file in a workpiece directory that lists a subset of the directorys files that are loaded as a consequence of the workpiece being loaded (or the job list file itself being loaded). The following is an example.
%_N_Engine09_JOB ;$PATH=/_N_WKS_DIR/_N_ENGINE01_WPD Load Engine09.mpf Load Engine09_01.spf Load Engine09_02.spf Load Engine09.ufr Load Engine09.toa Select Engine09.mpf

When The job list is not terminated with an M-code. It simply ends with the last statement. If a JOB file with the same name as the workpiece does not exist in the workpiece folder, when you load the workpiece all the files of the folder load. If the JOB file exists and you load the workpiece, only the files that are in the list get loaded.

840_Directory of Terms .doc

Page 34 of 80

When you press NC Start and if MD 11280=1, the data of the setup files are written to active CNC memory. JOG: An operating mode of the NC where an axis can be continuously displaced by selecting an axis and pressing the axis direction key. JUMPER: A term borrowed from electrical troubleshooting to suggest the temporary suppression of a function in order to isolate a problem. A semi-colon put in front of a block of NC data will result in program execution regarding the block as a comment. When the block is suppressed in this manner for the purpose of debugging a program the reference to electrical troubleshooting is obvious. KELLERING: To contour a surface. To remove stock in a sequence of back and forth cutting actions. At the completion of each back and each forth the tool increments in a lateral direction so that the next back or forth takes off stock. The word may have its roots in the ancient word kell. One of the suggestions discussed in the Oxford English Dictionary is a field of tall grass blown over and matted to the ground by strong winds and rain. KERNEL: CNC is the direct descendant of the director of the first NC machine tool demonstrated by the Massachusetts Institute of Technology in 1952. The director was made up of a number of hard-wired electronic (vacuum tube) circuits that read-in coordinate values from the tape reader and issued incremental position setpoints to the position servos. The director was the essential invention of numerical control. Today the function of the director is done with computer circuits and software - thus, the C in CNC. To the degree that we give this function a name we call it the NCK for numerical control kernel. As you might imagine, the NCK does much more than the director could imagine, but, nonetheless, the kernels essential function is to read-in coordinate values and issue setpoints to the position servos. Without the kernel you do not have CNC. The kernel is focused on interpolating a tool path in the work envelope of the machine based on geometry data supplied in the workpiece program. It does not do machine control generally. This is the job of the PLC (programmable logic control). All Sinumerik CNC by Siemens comes with an integrated PLC to do tool change, coolant control, spindle control, gear range control, hydraulics, etc. The interface between the NCK and the PLC is fully accomplished by Siemens. From an integration point of view, the job of a controls engineer is to understand this interface and not the fine detail regarding the kernel and how it accomplishes its duties although some aspects of the latter are necessary. KEYSWITCH (aks, Key Switch and Key Locked Switch): See Access Protection. The keyswitch is a device on the MCP (machine control panel) to select access protection levels 7, 6, 5 and 4. The switch comes with a key ring with three keys. These keys are color coded as per the following No key Black key Green key Orange key Access level 7 (keyswitch position 0) Access level 6 (keyswitch position 1) Access level 5 (keyswitch position 2) Access level 4 (keyswitch position 3)

KINEMATICS: The X-axis of a typical bed mill is carried by the Y-axis and the combination carries the workpiece. The tool is carried by the Z-axis. The Y-axis of some gantry mills carries the Z-axis and the Xaxis carries the Y-axis. These are examples of kinematics relationships. The advantage of linear kinematics machines (tripods and hexapods) is that no axis carrier another axis. To ask for a kinematics description of a machine is to ask What moves and what is the relationship between moving members? A college professor would say that kinematics is the study of the path, velocity and acceleration of a point without an inquiry into mass or the forces required for cajoling the point to move along its path. A kinematics analysis is used to predict the forces on a mechanical linkage, and thus, to size these linkages appropriately. See KINEMATIC TRANSFORMATION. KINEMATICS INDEPENDENT: A part program for 5-axis machining which is written to run on any 5axis machine without regards to the machine kinematics. For example, the programmer does not need to know that the rotary axes are addressed B and C or whether the tool is oriented or the workpiece rotated.

840_Directory of Terms .doc

Page 35 of 80

KINEMATICS TRANSFORMATION: A transformation from a Cartesian coordinate system to a nonCartesian coordinate system. In turning, it is possible to machine a contour using the traverse axis X and the rotary axis C. X and C are not a Cartesian system. With the transmit option, the part programmer can program the contour in X and Y and the control makes the transformation to X and C. In other words, the transmit option is a kinematics transformation. On grinding machines the infeed axis may not be normal to the longitudinal axis. When the contour is programmed in X and Z as if the two were perpendicular, then the transformation from the programmed coordinate system to the coordinate system of the actual machine motion is a kinematics transformation. A transformation from one Cartesian system to another Cartesian system is called a frame transformation and not a kinematics transformation. L: Sinumerik legacy CNC used the address L for a subroutine call. L50, for example, called %SPF50. Normally an 840D program requires two leading alpha characters in a program name (or an underscore + alpha) unless the first character is L. If L606 was your tool change macro of an old 840C system you can still use L606 on an 840D system. LABEL: System D. The target of GOTOF and GOTOB can be a sequence number or a label. The labels chief advantage is the program can be renumbered but the labels stay intact. In the following example, OK_NOT and A_OK are labels. Notice that a label is delimited with a colon. . N125 OK_NOT: IF PART_COUNT > 0 GOTOF A_OK N130 MSG(Part count cannot be less than zero. Reset and Correct) N135 M00 ; reset to correct N140 GOTOB OK_NOT N145 A_OK: G00 X50 Y75 . (This example assumes PART_COUNT has been defined earlier in the program unless it is a global user variable.) LEADING ZERO SUPPRESSION: M03 is a command for spindle forward in the G-code language. The leading zero does not have to be programmed since the numerical control does leading zero suppression. In other words, M3 is the same as M03. The 840D language requires at least one zero if the numerical value of a word is all zeros. For example, G00 can be G0 but not G by itself. LEFT-HANDED BLUEPRINT: A blueprint for a front turret machine is often shown in a left-handed orientation. This provides a visual correspondence between the print and the machine. However, keep in mind that a numerical control is always right-handed. It doesn't know if your machine has a rear, front or no turret. There should be no difference between a program written for a rear turret machine and a front turret machine. However, if a program is prepared off of a left-handed blueprint, arcs appear opposite to what should be programmed, and left/right appearance for tool nose radius compensation should be programmed right/left. LEVEL (as in nesting level): The selected program (the program selected for execution) is the level[0] program. A subroutine called from the selected program is the level[1] program. A subroutine called from the level[1] program is the level[2] program. The deepest level is level[14]. LINE FEED: The Enter key of your computer keyboard inserts a line feed code in a stream of data. Since there is no character for line feed in the ASCII character code, whatever is displayed is up to the author of the software. Siemens has chosen to use a L & F with the base of the L overlapping the short stroke of the F. LINE OF (as line of NC data): See NC LINEAR BLOCK: A G01 block of the part program. LINEAR BLOCK PROGRAMMING: When a CNC does not have an interpolation function of the same kind that was used to create the curve, then the curve must be approximated with a polygon of many very

840_Directory of Terms .doc

Page 36 of 80

small sides. Such a polygon is called a polyline. The resultant program is a sequence of linear blocks, each block being the coordinates of the end point of a side. See Compressor Function and CompCad.. LINEAR ENCODER: A linear scale. An encoder - a device which measures incremental displacements by optical scanning of light intensity as the lines of two optical gratings eclipse one another - that measures straight line displacement. A linear encoder as opposed to a rotary encoder. LINEAR INTERPOLATION: Finding a line that passes through two points. A straight edge linear interpolates two points exactly. G01 commands linear interpolation. In a G01 statement, the first point is the tool's current position, and the coordinates of the second point are specified in the G01 statement. Mathematicians define linear interpolation as an affine map of the real line onto a straight line in three dimension Euclidian point space, and thus, we can appreciate that interpolation is a serious mathematical concept, and we can be glad that someone has figured out how to make it work. See INTERPOLATION. LINEAR SCALE: As opposed to a rotary encoder, a linear scale measures linear displacements directly. LINEARLY INTERPOLATING THE POLYGONAL APPROXIMATION: Same as linear block programming. LOCAL USER DATA (LUD): Assume a main program with no subroutine calls is selected for execution. Variables can be defined for use in this program with the DEF statement. (The DEF statement must come at the beginning of the program after comments if any.) These DEF variables are local to the program. This is why they are called local user data (LUD). User because you created them and named them. If Siemens had called them local user variables (LUV), well, maybe LUV doesnt play so well with manly CNC workers. Whats the value of your LOV? Humm. No, Siemens did not want to go there and so we got the LUD. Chances are, when you display the LUD screen, you will not see these variables unless you put a STOPRE at the end of the program. You see, they only display during the preparation phase and once the blocks are prepared and shoved into the FIFO (first in first out) execution buffer, you dont see them if the program is short and the M30 has also been prepared. Now lets suppose your main program file calls a subroutine. The variables you define in the main program file do not carry into the subroutine. Any variables that you define in the subroutine vanish when the subroutine is done and for sure, and this is transparent to the main program. Dont try to read/write the variable in the calling program file because it no longer exists. See Program User Data (PUD). The above discussion extends to subroutines that are called from subroutines, etc. Variables that are defined in the PROC statement of a procedural subroutine like Cycle81 are local. They exist while Cycle81 is active and thereafter they are gone. X_dimension and Y_deminsion of the example below are LUDs. %_N_Pencil_Point_MPF Def Real X_dimension=10, Y_dimension=8 G01 G54 G90 X=X_dimension F=100 Y=Y_dimension X0 Y0 M30 LOCATOR NUMBER: The pocket number in a tool magazine where a tool is stored as distinct from the tool number itself. In a random access tool changer, the tool number and the locator number generally are not the same. (Here wee use the word 'tool number' to mean a unique number which is not shared by any other tool in the magazine and distinct from the P0 number which is a tool crib order number.) LONGITUDINAL: The long dimension of a thing. A turning machine is usually on a long bed with the centerline of the main spindle being in the direction of the bed. Thus, the spindle centerline axis is called the longitudinal axis. It is normally called Z. Because the typical turning machine has a long bed in relation to its swing, even for the few exceptions, the spindle centerline is still considered longitudinal. The

840_Directory of Terms .doc

Page 37 of 80

long/longitudinal axis of a vertical bed mill is called X. The Y-axis is usually the traverse axis. On a turning machine, X is the traverse axis. See TRAVERSE. LUD: Local User Data. MAC: File name for macro definition files. See %_N_xMAC_DEF where x is one of m, s or u. M-CODE: Normally used to switch a machine side event. For example, M08 turns on coolant. M09 turns off coolant. The numerical value of the M-code is passed from the part program to the PLC when the block that contains the M-code is executed. The PLC can accept 3 M-codes from one block. Except for a small subset of M-codes, the M-code has no meaning to the NC. If it has meaning, this is because code has been written in the PLC to give it meaning. M08 turns on coolant because the PLC has been programmed to check if 08 has been passed its way, and if it has, to turn on a contact which has been wired into the coolant pump circuit. A NC manufacturer cannot anticipate every machine function and provide a dedicated means to initiate that function. Rather the control manufacturer provides a generic function that will allow the numerical value of an M-code to be passed to a dedicated operand of the PLC. This is a flag byte in the 805/810/820. It is a data word in the 840/850/880. In the PLC, the machinery builder can create whatever functionality he wishes to be initiated with an M-code. M00: Mandatory stop. In the old days, M00 would be decoded in the PLC and used to set the NC Stop (Cycle Stop) interface signal. Today, when M00 is encountered in the part program, the NC responds directly and sets itself in NC Stop. Program execution is resumed by pressing Cycle Start (NC Start). M01: Optional stop. When M01 is encountered in the part program and the optional stop toggle is set, then the NC stops program execution. Program execution is resumed by pressing Cycle Start (NC Start). M02: End of main program file. M02 resets the numerical control. In the old days when programs were run from tape, M02 meant reset without rewind. M03: Spindle on forward. M03 causes the command function assigned to the spindle to output a positive spindle speed command. M04: Spindle on reverse. M04 causes the command function assigned to the spindle to output a negative spindle speed command. M05: Spindle off. M04 causes the command function to decelerate the spindle and then make false the spindle controller enable signal. The spindle can be freely turned by hand. M06: Default M-code for tool change. The M-code for tool change is the value set in MD 22560 Tool_Change_M_Code. The default is M06. M17: End of subroutine market. M17 does not reset the numerical control. M17 returns program execution to the block following the call block of the calling program. See RET M19: Oriented spindle stop. The angle of orientation can be specified with an S-word. M19 S90 M30: Block preparation resets itself after preparing an M30 or M02. The numerical control resets the channel when it executes an M30/M02. Normally, we say that a main program is ended with M30 or M02 is the end of program code. In the old days when programs were executed from tape, M30 meant reset and rewind. M02 reset only. M70: Switches spindle from spinning mode (aka, spindle control mode) to feed axis mode. MACHINE ACTUAL VALUE: The position of the tip of the standard tool in the machine coordinate system. The tip of the standard tool (the datum point on the tool setup sheet) is called by Siemens the tool

840_Directory of Terms .doc

Page 38 of 80

reference point. Please do not confuse this term with machine reference. With the Systems D, machine position is often displayed with the extension 1. For example, X1=, Y1= and Z1= are the machine positions while X, Y and Z are the positions in the work coordinate system. MACHINE AXES: The servo axes that carry out numerically directed positioning and numerically directed interpolation. See Servo. The machine axes are associated with a drive, motor, linear/rotary guide ways and other mechanical elements. CNC workers usually start their careers with a 2-axis lathe or a 3 axis bed mill. These machines do not challenge the worker to distinguish between machine axes and work axes since the work coordinate axes and the machine coordinate axes are parallel. Even when the work coordinate system is rotated around Z (by 45 degrees, for example, the X and Y machine axes move simultaneously to interpolate a displacement on the X-work axis. Most CNC workers regard this as an exceptional case to the idea that the axes of the work coordinate system are parallel to the machine coordinate system. A more powerful way of thinking about the relationship of the work coordinate system to the machine coordinate system is to regard the exceptional situation as the situation when they are parallel. The work coordinate system is a right handed triad of thee mathematical axes with an origin located at some point in the work envelope of the machine tool. The set of data that describes the location of the work origin in the machine coordinate system and its orientation in space is called a frame. A frame is a variable structure (like a record in a database file) to hold the translation (zero offset), rotation, scale and mirror data. G54 is a frame. It is a predefined frame that is supported by a screen for the operator to enter values. While frame describes the location, orientation, scale and mirror of a right handed coordinate system in the work envelope of the machine, we use the term frame and right hand coordinate system interchangeably because the distinction is usually self evident and making the distinction is tedious for both author and reader. To talk about the work coordinate system, for example, is to imply its frame and vice versa. Thus, work frame and work coordinate system are synonymous. However, machine coordinate system and machine frame are not synonymous since there is no such thing as a machine frame. The machine coordinate system is the foundation or basic coordinate system that defines the work space of the machine. The mathematical relationship between the work coordinate system and the machine coordinate system is called a transformation (although this is a generic word with many other special meanings). The transformation transforms the work coordinates of a point to the machine coordinates. To be clear, the point does not change. It is fixed in space. Only its coordinates are transformed. This transformation is done spontaneously by the CNC as it executes a program because in the end, all points have to be seen in their machine coordinates since the machine axes carry out the motion. A contour can be programmed in a work frame that is associated with any three linear machine axes that form a right handed coordinate system. (Technically the three axes are channel axes but for the time being we will assume that there is a one-to-one correspondence between channel axes and machine axes which is usually the case.) However, if tool length and radius compensation functions are programmed, the work frame must be the geometry frame. By default the axis addresses of the geometry frame are X, Y and Z. If X, Y, Z1 and W are the channel names of the X, Y, Z and W machine axes, then the command GEOAX(1,X,2,Y,3,Z1) assigns the X-channel axis to the X-geometry axis, the Y-channel axis to the Ygeometry axis and the Z1-channel axis to the Z-geometry axis. You program your contours in X, Y and Z and the X, Y and Z1 machine axes carry out the motion. Now, do this: program GEOAX(3,W). You still program your contours in X, Y and Z but the X, Y and W machine axes carry out the motion taking tool length and radius compensation into consideration if it is programmed. Program GEOAX( ) and you are back in the default where a path in X, Y and Z is transformed into a path in X-machine, Y-machine and Z1machine. (GEOAX(3,W) tracks the tool tip in W instead of Z1.) Very briefly about channel axes: Suppose you have a turn-mill machine and you want to do a contour on a faced surface. You program the contour in X and Y and the points you specify in the contour description have to be converted into points in X and C where C is the spindle rotary axis. This conversion (also called a transformation) could be done by the post and it spits out X and C coordinate words. The 840D can be had with an optional transformation called TRANSMIT (transformation milling to turning) that does this in real time as the program is executed. So, you can program the contour in X and Y and let the CNC do the transformation simply by programming TRANSMIT before you sequence of X and Y blocks. Y is not a machine axis. Y is a mathematical axis. However, it has to be registered to the CNC and with the 840D it is registered as an axis in the channel. The simplest of turn-mill machines will have X, Z, S1 (main

840_Directory of Terms .doc

Page 39 of 80

spindle), S2 (driven spindle) and C (the spindle as a positioning rotary axis). This machine requires one channel since turning and face milling cannot be done simultaneously. All of the axes will be put in channel 1. In addition, Y will be put in channel one. (C and S1 are separate machine axes even though they share motor, drive and mechanical linkages (drive belts) in common because internally, in the innards of the CNC, they are assigned their own position control loops To position the spindle as in an oriented spindle stop is not the same as interpolating a contour with the spindle axis turned into a contouring axis.) MACHINE CONTROL PANEL: Generally speaking, some provision must be provided for the operator to take control of the machine. This is the function of the operator panel; the operator takes charge of the machine, including the numerical control, by means of the machine operator panel. From a historical perspective, the machine operator panel of a logically controlled machine tool must be augmented with additional functions when numerical control comes into the scene. Some of these functions include single block stop, skip block and more variety in operating modes. The machine control panel is a subset of the larger machine control panel. This subset contains the most generally required operations to put a typical mill or lathe in operation. Siemens manufactures the machine control panel. It has a common look and feel as the NC operator panel (the CRT, softkeys and keyboard). As a consequence, some people do not make a distinction between the two. To be clear, the machine control panel occupies I/O space in the PLC; it interfaces to the process image of the inputs via the I/O submodule. In addition to its 'store bought' properties as far as the machine control panel's interface to the PLC, Siemens provides special functions in the NC's integrated PLC to transfer the machine control panel signals to the NC/PLC interface. With the 810/820, this is simply a PLC machine data setting. With the 840/850/880 it is accomplished with function blocks called function macros. MACHINE COORDINATE SYSTEM: A coordinate system with linear axes that are collinear with the linear axes of the physical servo axes of electronic drives, motors, mechanical linkages and guide ways. Almost always these physical axes are normal to one another, at least those that define the space wherein the numerical control directs path interpolation. Machine zero is the origin of the machine coordinate system. Machine zero gets its bearings from machine reference and thus, the machine coordinate system is a system that is anchored to real, physical objects and are expected to be fixed permanently to the base (mechanical) structures of the machine. Since the machine coordinate system is the starting coordinate system in a hierarchy of coordinate systems (base, settable, programmable are the most commonly used), it could be considered the foundation coordinate system. It could also be considered the basic coordinate system. These are generic terms that are imported from a geometry classroom where there is no awareness of CNC. In linear kinematics machines, the machine coordinate system is not a right handed system. Therefore, we postulate a rectangular coordinate system called the basic system. This system is the foundation system for the hierarchy of coordinate systems discussed above. Coordinates in this system are transformed into coordinates in the system of the linear slides (or rotary axes) with a so-called kinematics transformation. In Siemens formal documentation, the use of the word basic does not always imply a discussion of linear kinematics. See Basic System MACHINE DATA: Machine data are choices built into the executive firmware to adjust its behavior to a particular application. The machine tool builder sets machine data. As a general rule, it should never be changed by the final user. In fact, unlike setting data, editing of machine data requires a password. Another way of thinking about machine data is as follows: When you need a new suit you go to a store and pick one off the rack. You choose one which fits you as well as possible but invariably it will have to be tailored. Machine data tailors the execution of the executive firmware to a particular application. See COMMISSIONING MACHINE LOCK: Also know by All Axes Lock. A function of legacy controls that allowed a program to execute without axis motion in order to find format errors or whatever else was revealed. Usually the program was run in Z-axis lock after it ran successfully in all axes lock. The contemporary function Program Test (in the Program Control menu) is the modern take on Machine Lock. MACHINE REFERENCE: See REFERENCE POINT RETURN

840_Directory of Terms .doc

Page 40 of 80

MACHINE ZERO: The origin of the machine coordinate system. Machine zero is the point in space occupied by the tip of the standard tool when the axes are at their machine zero positions. Machine zero is not a fixed point; it is dependent on your choice of a standard tool. In the mechanical drawings of the machine, the machine tool builder will usually show a machine zero point and thus, you believe that machine zero is a fixed point. This is true if you pick the same standard tool that was used by the machine tool builder to establish the point. See MACHINE ZERO POSITION. MACHINE ZERO POSITION: The position of an axis when the axis machine position display shows zero. When the axis has a reference point return function, the machine zero position gets its bearings off of machine reference. Machine reference, and consequently the machine zero position, are a machine constant while machine zero, the origin of the machine coordinate system, is dependent on your choice of standard tool. If the axis does not have a reference point return function, the machine zero position is wherever the axis happened to be when the numerical control was powered on. MD 34100 $MA_REFP_SET_POS[n] where n= 1st, 2nd, 3rd, , nth axis is the machine data where the position of the reference point in the machine coordinate system is set. MACHINE TOOL: A machine that is designed to exploit the cutting tool method of stock removal and is operated by someone who regards himself as a machinist. A CNC machine tool is a positioning servo that is designed explicitly to carry a spindle for the cutting tool process of stock removal. MACHINE MODULE: A machine that is designed to exploit the cutting tool method of stock removal in a transfer line or cell without a machinist. MACHINING CELL: See CELL. See FLEXABLE MACHINING CELL. MACHINING CENTER: Usually a highly automated horizontal boring machine. Some of its characteristics include two or more pallets so that while a workpiece is being machined, the next workpiece can be setup, an automatic tool changer with tool life management, and often its NC is interfaced to a shop wide network so a central computer can monitor its production. MACHINING CYCLES: Canned cycles. For drilling, boring, reaming, pocketing, grooving, threading, etc. Siemens machining cycles are cycles in the Cycles Language and stored in the Standard Cycles Directory. Cycles are procedural subroutines (subroutines with the PROC statement in the first block to define the arguments). The machine tool builder or the final user can prepare custom machining cycles that are indistinguishable regarding look and feel from Siemens standard machining cycles. MACRO: A cycle or parametric subroutine MACRO SUBSTITUTION: See SUBSTITUTION MACRO. MAIN BLOCK: A block whose sequence number begins with a colon. Example: :1495 MSG(Target Block for Safe Start for Top Deck Facing). Notice that the sequence number starts with a colon and not an N. Main blocks may be programmed in MPF files only. Since a main block has significance in block search, one expects a main block to be a safe start block. The program can be started from a safe start block and execute without fear of a crash or machine mishap that otherwise would be due to the blocks before the safe start block not having been executed. Safe start blocks are usually tool change blocks. The programmer is responsible for colon blocks being safe start blocks. In other words, it is not the colon as the address of a sequence number that makes the block a safe start block but rather the content of the block. See SUB-BLOCK. See BLOCK SEARCH. (More recent software versions of the 840D have dropped the ability to do block searches from main blocks and thus there is no longer a reason to tag safe start blocks as main blocks.) MAIN MEMORY: See Memory. The basic concept of the stored software digital computer requires a memory that can be read and written directly by the central processing unit as opposed to memory devices

840_Directory of Terms .doc

Page 41 of 80

like hard drives that the CPU sees as a device that it accesses via input/output channels. Main memory is usually solid state RAM that loses its content when the computer is powered down. Some main memory of the CNCs NCU is reserved for workpiece programs, subroutines, cycles and operational data like machine data, setting data, tool data, variables, zero offsets and more. This portion of main memory is called user memory. It is nonvolatile, that is, it does not lose its contents when the NCU looses power. The Sinumerik 840D CNC by Siemens can be had with an open system PC. The hard drive of this PC is external memory to the NCU. The HMI of the 840D has dedicated operations to move files from this hard drive to the NCUs user memory and back again to the hard drive. MAIN PROGRAM: The selected MPF or SPF file whose execution commences by pressing NC Start (Cycle Start) following a reset. Normally the selected program file is a MPF file. In fact, the identifier MPF in the file header indicates the programmers intention that the file is to be used as a main program. The CNC, on the other hand, will allow you to select an SPF file as the main program. This is handy for debugging. Since there is no way to assign values to the arguments of a cycle (an SPF procedural file with variable assignments in its PROC line) it cannot be a main program. When configured to do function replacement (by the T or M-code a subroutine is called) a T-code or M-code is a subroutine call when it occurs in the main program. It is genuily a T or M word when it occurs in a called program. MAIN PROGRAM FILE: An MPF file. MANUAL DATA INPUT: See MDI MANUAL MODE: Jog, Incremental Jog and Reposition would be considered manual modes. MANUAL PARTS PROGRAMMING: To write a program directly in the G-code language. Jobs that do not involve a great deal of intersectional point calculations are often more quickly programmed manually. MANUAL TOOL: A tool that is put in the spindle manually. If the machine does not have a tool magazine for automatic tool change then all tools are manual tools. In standard tool management (a feature of the 840D) with the magazine option (an additional option), a manual tool is a tool that for some reason is not stored in one of the machines magazines. Maybe it is too long. Whatever. It is still registered to tool management as a manual tool and tool management gives it an internal number like any other tool that is in a magazine.

MANUALTURN: A marriage of by-the-numbers interpolated tool path control with record/feedback


based on a CNC platform. Manual Turn says, Bring me your skilled manual machinist, you know, the guy or gal who says, Not me, Ill never to CNC. He will be immediately productive using my hand wheels to machine in a strictly manual way. He will begin doing by-the-numbers machining willingly without realizing that he is backing his way into CNC. Depending on the job he can use some, some more, even more and finally full CNC functionality. Conversationally, of course, without a hint of G-codes. With my teach-in turned on, I will prepare a program as a byproduct of his producing the first part. He can edit program steps (he never sees G-code blocks) with the same conversational techniques he used to machine the first workpiece ManualTurn is intended for manual lathes. It is especially suitable for roll turning and machining large one-of-a-kind workpieces. MASTER CHANNEL: The channel of a mode group with the lowest number. Reset and operating mode (AUTO, JOG, etc.) can be specified only in the master channel, and by default, all other channels are affected. For example, if the master channel is put in AUTOmatic, all channels of the mode group go into this same operating mode. MASTER SLAVE: Two electronic drive and motor sets that act on a common mechanical linkage. Master/slave seeks to distribute the load evenly between the two motors. MCALL: When this preparatory function is included in the subroutine or cycle call block, the call is modal. It executes after the next and subsequent move blocks in the calling program. It does not execute at

840_Directory of Terms .doc

Page 42 of 80

the current position when the call is made. Therefore, the first position where you want the call to be executed has to be programmed in a block right after the call block. The modal subroutine/cycle call is canceled by programming MCALL in a block by itself. MCIS: Motion Control Information Systems. Process controllers ride bicycles to the machines to collect data like how many parts of the job being done are left to do. Information like this and so much more is spontaneously generated in the CNC as it goes about its business. MCIS seeks to collect this information, archive it to databases and display it wherever it is needed like in the production managers office and the shop of the maintenance electricians. It sees the CNC as an information generator. Specifically MCIS is the name given to a suite of information products developed by Siemens. MCP: Stands for machine control panel. M-CODE: M-codes are miscellaneous functions. Except for a handful of M-codes, the M-code has no meaning to the numeric motion controller. It is passed to the PLC and if it is to have any meaning, the meaning must be determined by the machine tool builder in his PLC sequence program. The M-codes that have special meaning to the NC are M00, M01, M02, M03, M04, M05, M17, M19, M30, M36 and M37. Three M-codes can be programmed in a line of NC data.. M-codes can be extended. For example M1=7 turns on coolant for the no. 1 spindle. M2=7 does the same for the no. 2 spindle. The 1 and the 2 are called the m-code extensions. M-codes normally trigger an end of block check. Thus, if an M-code is in a motion block or inserted between motion blocks, smooth and continuous block execution will be interrupted in the M-code block. The machine tool builder can prepare fast M-codes. These are programmed like M=QU(<a number>). This is the same as M<a number> but it does not cause an interruption in the smooth and continuous execution of the blocks. MEAFRAME: A function used in 5-axes measuring cycles. Meaframe returns an error frame that when concatenated to the currently active frame (one of G54, ) aligns the work coordinate system to the workpiece as it sits shifted, cocked and out of square in the work envelope of the machine. MD: Stands for machine data. See MACHINE DATA. MDA: Manual Data Automatic. Also called MDI. MDA is a program edit and execution mode of the CNC that is dedicated to editing and executing the system program OSTORE1.SYF. OSTORE1.SYF is opened and its content displayed when the MDA mode is selected. If there is no content the display box shows nothing. The operator enters blocks, presses NC start and they execute. The blocks do not vanish. If he has not terminated his blocks with a program reset (like M2 or M30) he can enter additional blocks, press NC Start and they execute. The previously executed blocks do not vanish. They accumulate in OSTORE1.SYF. The operator can reset (with the reset hardkey) and a subsequent NC Start will begin execution of the accumulated blocks from top to bottom. The operator can leave MDA and when he returns some time later the MDA screen is ready for execution with the blocks that accumulated in the previous MDA event. There is a soft key labeled Delete MDA Buffer to restore OSTORE1.SYF to its empty state so the operator can start with a new slate. The operator cannot switch from Automatic to MDA unless the control is in reset. Therefore, Overstore is provided in Automatic. Overstore is essentially the same as MDA. It even employs the same system program OSTORE1.SYF. MDA is what is popularly known as MDI (manual data input). MDA does so much more than traditional MDI that it really is deserving of a different name, and besides, we need MDI as a more universal term to suggest any event that combines the operators brain, eyes and fingertips with the key pad and screen to enter operational data like zero offsets and tool offsets. See MDI. See INTERACTIVE. See OVERSTORE. MDI: Manual Data Input. Refers to the inputting of operational data by the operator at the machine side using eyes, brain and finger tips (or nose, knuckles, toes, etc.). Editing a part program is MDI. So is modifying tool compensation data. Setting a value in an R-parameter or a user variable is an MDI operation. With Siemens, MDI is a generic term to mean using your fingers and the keys of the NC

840_Directory of Terms .doc

Page 43 of 80

operator panel to enter data and make changes. With Fanuc, MDI is an operating mode of the numerical control like Siemens MDA. The original NC concept did not envision an operator interface. NCs inventors were so convinced that machining could be removed from the machine to the front office programmer that there would be nothing for the operator to do but push a button and rake chips. Werent they so wrong! In fact, CNC really does not take off in the United States some 30 years after its invention, until provisions were made for the operator to do manual data input. So, you see, MDI is a term that represents victory for the shop floor. MEASURING CYCLES: Cycles that utilize the NCs touch probe functionality. Standard cycles (cycles that can be purchased from Siemens) are available to find and set fixture offsets and tool length offsets. Others measure workpiece dimensions, evaluate dimensional deviations and adjust tool offsets. MEASURING PATH: With reference to the standard measuring cycles, the measuring path is a linear interpolation that intersects the expected touch point. The path starts the _fa distance from the expected touch point with a distance to go of 2*_fa. _Fa is always a millimeter integer even when the program is in inches. If you are in inches and your coordinates are in inches and your machine is in inches the number you assign to _fa is always seen as a millimeter value. If you program _fa=5, the 5 is always 5 millimeters. If you want the measuring path to be 1 inch (0.5 inch before the expected touch point) you program _fa=(0.5/25.4). Siemens CNC workers have asked for years why _fa is signaled out for such special treatment but we dont ask any more. We accept that it always is a millimeter value. MEMORY: With regards to an 840D with the PCU50 front end, external memory is the hard drive of this open system PC. When the operator loads a program from HD to NC he is moving the program from external memory to internal memory. Internal memory is solid state memory that is read/written by the real time software of the NCU (Numerical Control Unit) as it goes about its business of executing the part program. A portion of internal memory is user memory. User memory is nonvolatile; that is, it retains its content when the CNC is powered off. Typically it is battery backed up RAM memory. Loaded work piece programs (including cycles), tool files, variable files, machine data, setting data, zero offsets and more are stored in user data. If there is not enough user memory for an especially long program the program can be executed from external memory. Bulk memory is another term for external memory. Main memory and active memory are alternative terms for internal memory. MEMORY VARIABLE: A user friendly address of a memory location where a value can be written and read. R-parameters are memory variables. A memory variable is different from an algebraic variable. If a is a memory variables then a=a+1 is not permitted. But since R1 is a memory variable, R1=R1+1 means add 1 to the value in the memory variable R1 and store the sum in R1. MENU: Generally refers to the softkey display. MESSAGE: For Systems D, a message is something distinct from a comment. The following is an example of a message block: MSG(Release chuck pressure and rechuck). The message is displayed in the message window of the screen. The message will stay on until it is supplanted by another message or the null message MSG(). A message, as opposed to a comment, is to convey an operational requirement to the operator. A message stays in the message line until is it canceled in another block with a null message.See COMMENT. MICRON: A micron is 1/1000 of a millimeter. Since there are 1000 millimeters in a meter, a micron is 1/1,000,000 of a meter. A millimeter is approximately 0.0400". A micron is approximately 0.000040" or 40 millionth of an inch. 1 = 24.5 mm. MIL: 1/1000 or 0.001. A mill in English is 0.001". It is 1 micron in Metric. MILL: A machine tool that is designed specifically for stock removal in milling. See MILLING.

840_Directory of Terms .doc

Page 44 of 80

MILLING: A stock removal technique in which rotating tool is driven into a non-rotating workpiece. See TURNING. MIRROR IMAGE: The following explains the concept of mirror image across the Y axis: the mirror image of the point (x,y) is the point (-x,y). If two shapes exist so that for all points x,y on one shape there exists a point -x,y on the other, then the two shapes are the mirror image of one another in Y. Siemens provides the machine tool builder with the flexibility to prepare M-codes to mirror an axis. The programmer must establish a coordinate system on the line of symmetry before programming mirror image. MISCELLANEOUS FUNCTIONS: See M-CODES M.I.T.: Massachusetts Institute of Technology. Numerical Control was invented by the Servo Mechanisms Laboratory of the Massachusetts Institute of Technology under contract from Mr John Parsons who, in turn, was under contract from the U.S. Air Force to build a by-the-numbers drilling machine to create templates by interpolating by hand (hand finishing) a stepped contour achieved by feeding an end mill to a depth controlled by a servo system that was controlled by numbers. M.I.T. took over his project and redefined it to be 3-axes contouring very much as we know CNC today. By 1952 the Lab was doing public demonstrations of numerical control on a converted Cincinnati Machine vertical mill. John Parsons offered the M.I.T. professors and their graduate students with a $50 prize to come up with a name for by-the-numbers machining. He accepted the name numerical control. NDI for numerically directed interpolation may have been a better name because this is what NC/CNC does. However, the professors & graduate students picked numerical control because they had their eyes on something bigger than interpolation in the work envelope of the machine. Their idea was that numerical control would morph into a synthesis of information with things and things with information. The machine tool industry turned out not to be the vehicle to carry forward this vision and the computer and network technologists who have carried it forward are not even remotely conscious of the visionary thinking of the M.I.T. group. Still, they have accomplished some of the M.I.T. vision. Much of it has yet to be accomplished and it may never be fully accomplished. Ironically, the entity that has been most consistent over the years regarding this broader NC concept is the military who have under girded its development just as they financed and promoted NC for machine tools. MMC: Man Machine Controller. Siemens uses this term, generally, to denote the interface between the integrated personal computer and the operator. More recently (as from approximately 1996) Siemens has been using the term Human/Machine Interface (HMI). MODAL: If a G-code is modal, it is programmed once and thereafter it is active for every block unless another member of its group supplants it. For example, G00 and G01 are modal. They are also mutually exclusive. If G00 is programmed while G01 is active, the G00 supplants or suspends the G01. See SINGLE SHOT. Subroutine calls can be modal. See MCALL. MODE: Operating mode. The principle characteristic of the operational state of being of the numerical control. The operating modes are REFerence point return, AUTomatic, REPosition, INCremental jog, JOG, MDA (MDI automatic) and PREset. The mode along with the sub mode characterize the operational state. For example, automatic operation in single stop. In later software versions of the 840D, MDA has been replaced with MDI. It is strictly semantics, nothing functionally has changed. MODE GROUP: The German word for mode group is BAG. This being the case, one can ask, "What goes in the BAG?" The answer is axes, spindles and channels. Any channel of a mode group can use any axis and spindle of that same group. Obviously no two channels can use the same axis or spindle at the same time. The reason for grouping channels into a mode group is to synchronize the starting of the channel programs. If the first channel of a mode group is displayed on the CRT, then all channels of that mode group are forced into the operating mode of that channel. This way all channels can be put in automatic

840_Directory of Terms .doc

Page 45 of 80

easily and their part programs started at the same time. If the first channel of a mode group is reset, all channels of that group get reset. (The reader should be cautioned that this definition of mode group is probably not current to the 840D.) MODULO: A rotary axis that rolls over at 359.999. An axis whose actual position is modulo converted. If _myangle is an angular position, myangle MOD 360 is the modulo position of the axis. A rotary axis is declared modulo with machine data. MOTION BLOCKS: See MOTION COMMAND MOTION COMMAND: A block (or line) of the G-code program which commands axial displacements. Any line of G-code data which does the same, as, for example, one can MDI-Auto a motion command. G00 X25 Y30 is a motion command. MOTION CONTROL APPLICATION: Normally we think of a numerical control executing a part program. However, even a single channel numerical control could have subroutine calls. On a channel control such as the 880, 16 part programs could be running at the same time, each calling up subroutines. In this case, the word 'part program' is not broad enough and thus the term 'motion control application'. This term, 'motion control application' is akin to the 840C term, 'directory/workpiece'. MPC: Stands for multiple port connection. An MPC is a connecting point on a transmission line. MPI: Multi Point Interface. A Profibus-like proprietary inter-system bus for connecting Siemens components of the CNC solution such as the display device, the CNC operator panel, the hand held unit, the machine control panel and maybe more. MPF: Main Program File NC: See Numerical Control NC CHANNEL: See CHANNEL. NC CONCEPT: See CNC Concept NC DATA: Normally, one or more blocks of a G-code program, subroutine or cycle. See Block. The term could also mean operational data like the values in a D-code. NCK/ NC KERNEL: If CPU is the term we use to define the heart of a computer, then NCK is the heart of the CNC. The NCK reads-in blocks of NC data from the workpiece program, decodes it, prepares it for execution, prepares the interpolation function, samples it and issues setpoints to the position servos. See Director. See Kernel NCK RESET: A power-on-reset of the NCK proper without actually having to pull main power. With the 840D there is a NCK Reset softkey in the Diagnosis area of the HMI. NC-MD / NC MD / NCMD: Stands for NC Machine Data. N-CODE / N CODE: See Sequence Numbers NC PART PROGRAM: See Part Program NC START: Same as Cycle Start. NC Start is used to start the execution of the selected program. It is used to initiate the execution of NC blocks in the MDI buffer.

840_Directory of Terms .doc

Page 46 of 80

NC STOP: Causes execution of the program (or MDI blocks) to stop execution in the current block without completing the distance to go. Interrupts program execution but does not reset the program. Press NC Start to continue execution. NCU: Numerical control unit. The physical module of the 840D that fits in the servo drive rack and does the real time CNC functions of interpretation, preparation, interpolation and position control. NEGATIVE FEEDBACK: An input is processed to produce an output. In order to expand the domain of stability of the process some of the output is returned to subtract from the input and the difference is what is processed. The stability of the process increases dramatically at the expense of a small loss of output. Professor Black invented the negative feedback amplifier in 1925 in his research for an electronic amplifier to amplify uniformly the frequencies of the human voice. His amplifier replaced mechanical repeaters in telephony. NORMAL: A line that is perpendicular to a plane. Example, the Z-axis is normal to the XY plane N-TUPLE MACHINE: A machine with more three servo axes. When it takes more than three numbers to fix the position of a point in the work envelope of the machine, then the machine is an n-tuple machine. For example, an X,Y, Z machine with two orientation axes takes 5 numbers to define a point in space. See Tuple. NURBS (non-uniform rational b-spline): An algorithm that resides in the 840D that generates a piecewise continuous parametric polynomial interpolation function from the control points, weights and knots from the CAD design of a workpiece formatted in blocks of the workpiece program. Nurbs is the geometry of CAD (computer aided [geometric] design). As the designer, sitting at his work station, rolls and clicks his mouse he is providing information to a nurbs algorithm running in the background that interpolate the curve and/or surface he sees on the screen of his workstation. His design is stored in a format of control points (the so-called control polygon), weights and knots. This data can be transferred to another computer and this other computer, when provisioned with an identical nurbs algorithm, can reproduce his design. In other words, control points, weights and knots are the way a shape is stored in memory. When the 840D is this other computer, its nurbs algorithm generates the aforementioned parametric polynomial interpolation functions that is sampled on a time grid to issue incremental setpoints to the position servos. NUMERICAL CONTROL (NC): Numerically directed interpolation of a cutting tool in the work envelope of a machine tool. Numerical control was first publicly demonstrated by its inventors, the Servo Mechanisms Laboratory of the Massachusetts Institute of Technology in Boston in 1952. The device that directed the interpolation was called, appropriately enough, the director. It was hard wired circuitry with hundreds of vacuum tubes, and while it was a digital device, it was not a digital computer as we know digital computers today. The transition of numerical control to computer hardware and software occurred in the late 1960s and early 1970s and this reinvention of by-the-numbers was called Computer Numerical Control (CNC) to distinguish it from its predecessor. The transition to CNC carried forward the CNC Concept of the separation of programming from operations. See CNC Concept, CNC History and CNC Solution OBLIQUE: Not orthogonal. Not at 90 degrees. OBLIQUE TRANSFORMATION: A transformation from a rectangular coordinate system to an oblique coordinate system. An oblique coordinate system is the system of oblique axes. Oblique axes are axis which are not at 90 degrees to each other. Example: A vertical turning machine with a swiveled ram. You program in the rectangular frame in either rectangular coordinates or radius vectors and the NC cuts your workpiece with oblique servo axes. OEM HMI: Siemens prepares an HMI (Human/Machine Interface) for doing workpiece machining that runs as an application in the Open System PC. See Open PC. Siemens has prepared the necessary drives

840_Directory of Terms .doc

Page 47 of 80

and interfaces for the machine to builder to create his own custom HMI. This is the essence of the meaning of OEM HMI. Technically, OEM HMI is an order number for the necessary software tools and licenses to do this. OFFSET: See TOOL OFFSET. The difference between an actual value and a reference value. OPEN CNC: Also called Open Architecture CNC. A CNC solution that is made up of software from a vender of CNC software and hardware from any source. The idea that CNC functionality is a software package that can be installed on a commercially over the counter PC. OPEN NCK: NCK stands for numerical control [real time] kernel [firmware]. The firmware is authored in such a way that it can be augmented with new functionality prepared by most anyone who understands real time kernels and invests a considerable amount of time and money (for the software tools) to do so. Realistically, the number of people outside of a handful of academic research institutions and maybe two or three OEMs, this is outside the reach of most every one else. The software augmentation is called a compiled cycle. Most compiled cycles are prepared by a group within Siemens who sell their service for a price. The typical compiled cycle is a kinematics transformation for linear kinematics servo platforms. Compiled cycles have been prepared for laser power control. The list is potentially endless and explains how the 840D manages to adapt itself to so many processes that are not the traditional spindle process of stock removal. Because of cost and complexity, compiled cycles are a last resort when other means to solve the problem that includes synchronous actions and cycles cannot do the job. OPEN PC: The two major components of the 840D (excluding the servo drives and motors) are the NCU and PCU. See NCU. PCU stands for PC Unit. If it is an open PC provided by Siemens, it is a PC first. The PCU50 is a Windows XP platform. The Human/Machine Interface (HMI) is a application that runs on this platform. The HMI can be linked to 3rd party applications and this is essence of the term open PC. See OEM HMI OPERATING AREA: OPERATIONAL DATA: See Configuration Data. OPTIONAL BLOCK SKIP: Typically there is a block skip button or softkey toggle that when set is a command to program execution to skip blocks that are preceeded with the slash character /. The CNC allows for 10 block skip selections from /0, /1, /2, , /9. If the block skip switch 4 is set, program execution will skip blocks that are preceded with /4. OPTIONAL STOP: Commanded with M01. When the optional stop toggle is set, M01 acts just like M00. ORDINATE: The 2nd axis of a right hand coordinate system. See ABSCISSA. ORIENTATION AXES: The rotary axes of a 5-axes interpolation. The rotary axes that establish the orientation of the tool to the work. ORIENTATION VECTOR: The vector at a point on a surface that indicates what should be the orientation of the tool at that point. ORTHOGONAL: At right angles. If X, Y and Z are at right angles with a right hand configuration then the system is Cartesian. In a Cartesian system we expect the rotary axes A, B and C to be collinear with X, Y and Z respectively. OVERSTORE: During program execution, when the mode is changed from AUTOmatic to REPOSition, INCremental or JOG, program execution is interrupted but not reset. However, if the mode is changed to MDI-AUTO the program is reset. Therefore, in order to do interactive commands during program

840_Directory of Terms .doc

Page 48 of 80

execution Siemens provides OVERSTORE. OVERSTORE allows the operator to command auxiliary functions (M, S, T, H & D codes) without resetting the program. Overstore would be used in the test/debug phase to qualify a program for operations or after block search to issue auxiliary functions. OVERTRAVEL LIMITS: Theoretically an axis extends forever. Practically, an axis is limited by its stroke limits. If an axis were to travel beyond its stroke limits, it would hit a hard stop and mechanical damage could be done. To protect the stroke limits, overtravel limit switches are positioned at each stroke end of an axis. In addition, software limits can be set in machine data. PARAMETER: A quality of a thing that is quantifiable. The surface of the mouth of a hole and the holes depth are qualities of the hole that are expressed in numbers. To parameterize a thing is to assign values to its parameters. Parameters are associated with memory variables where their values are set/read/written. For example the parameters of the simple drilling Cycle81 are retract, reference, clearance and final depth. (The drill rapids from an initial level to the reference plane brought up by the clearance and then drills to final depth from where it rapids out to the retract plane.) These parameters are defined as cycle variables in the PROC line of the subroutine named Cycle81. In this line they are represented with the mnemonics RTP, RFP, SDIS and DP. See R-Parameter. R-parameters are predefined numeric memory variables. PARAMETRIC EQUATION: If y is a function of x, and individually, y is a function of t and x is a function of t, then these two functional relationships of y and x to t are said to be parametric equations of y as a function of x. We can find equations for the horizontal and vertical positions as a function of time of a projectile shot from a gun. These are the parametric equations of its path. If a path is specified in X, Y and Z space and when we can find another domain, say t for time, and define the parametric equations for x, y and z (that is, x, y and z as functions of t) as polynomial equations, then these equations are the parametric polynomials of the path. When the CNC samples the path in order to output position setpoints, it samples the parametric equations of the path. The equation of the path may give multiple solutions (like for a given x there are two ys for a circle) but there can be only one solution when sampling a parametric equation. PARAMETRIC PROGRAM: See Parametric Subroutine. PARAMETRIC SUBROUTINE: A subroutine that receives variable information from R-parameters or other global variables. The benefit of parametric subroutines is that the operator can enter values in a screen before the program execution and see the values after program execution. PARSE: see Data In PART PROGRAM: A program written in the G-code language. Numerical control creates a separation between operations and programming. The programmer usually works in the front office and is not part of the bargaining unit. His raw material is the blue print. His job is to convert blue print dimensions into coordinates, and with this information, he prepares a program in the G-code language. When the numerical control executes this program, the machine produces the part of the blueprint. In general, any program which when executed on a CNC machine tool to produce the workpiece of the blueprint is a part program no matter how the program was produced or even if it was produced in non-G-code format. See MOTION CONTROL APPLICATION and G-CODE PROGRAMMING. PASSWORD: See ACCESS PROTECTION PATH: A way to specify the location of a program or file. ;$PATH=/_N_MPF_DIR ;$PATH=/_N_SPF_DIR Main program file directory Subroutine program file directory

840_Directory of Terms .doc

Page 49 of 80

;$PATH=/_N_WKS_DIR/_N_<user assigned directory name>_WPD ;$PATH=/_N_DEF_DIR Definitions directory (for MAC & GUD files) ;$PATH=/_N_CST_DIR Standard cycles directory ;$PATH=/_N_CMA_DIR Machine builder cycles directory ;$PATH=/_N_CUS_DIR User cycles directory PATH AXIS / PATH AXES: The axes that interpolate a path. In the block G01 X25 Y43 F30, X and Y are programmed as path axes. The feedrate is resolved into its right angle components and each axis is traversed at its component feedrate to its destination position. The resultant path traversed by the tip of the tool is a straight line from wherever the tool happened to be to the point (25,43). In the block G01 P[X]=25 F[X]=20 P[Y]=43 F[Y]=10, X and Y are programmed as positioning axes. They traverse to their destination without regards to the resultant path. In helical interpolation, the NC automatically considers the abscissa and ordinate axes the path axes to which the feedrate applies. The applicate axis is considered a path axis that is synchronously positions to its destination. The NC finds the feedrate for the applicate axis so that it arrives at its destination at the same time as the path axes. PATH DISTANCE: The actual distance along the path. The path distance from point a to point b is greater along an arc than along a line. $AC_DTEW is the remaining path distance of a block. The synchronized action WHEN $AC_DTEW<1 DO M07 turns on coolant when the distance to go of the block that precedes this action is less than 1 inch. PATH INTERPOLATION: See Interpolation, Path PATH PARAMETER: If a and b are two points on a line, and if c is a point on the line between a and b, then c = (b a)*t + a where 0<= t <= 1. As t goes from 0 to 1, c goes from a to b. This equation is the linear interpolation of the points a and b and t is the path parameter. PG: PG stands for programming unit. In this case, programming unit refers to programming the PLC. PHYSICAL AXIS: Same as machine axis. An axis that is associated with a drive system. If an axis has a moving member, a stationary member, a ball screw and nut, etc., then it is a physical axis. For the typical lathe or mill, the frame axes and physical axes are the same and the distinction is irrelevant. See MACHINE AXIS. PI: The number 3.1415927. The system variable $pi PL: Stands for Power Line. The first generation of controllers to be expressed from the 840D development that begun in the early 1990s. The second generation is called Solution Line. See Solution Line. PLC: See PROGRAMMABLE LOGIC CONTROLLER PLC SERIAL INTERFACE: This is a PLC function which allows the sequence program to open an RS232C interface and output NC files like main programs and R-parameters. POINT TO POINT: John Parsons, the titular father of numerical control, conceived of his by-the-numbers concept in order to produce templates. The template blank is thin and rectangular. It is held on edge in the plane of the longitudinal and normal axes of a vertical mill (what would be the XZ plane of a CNC mill). Starting from left to right, a plunge mill cutter was brought down to remove stock until one corner of the tool (as seen in the two dimensions of the XZ plane) touched the contour. The tool was brought up, moved over and brought down again to touch a new point on the contour. This was continued throughout the length of the blank and it produced a stepped (saw toothed) contour with the inside corner of each step being a point on the desired final contour. This semi-finished template was smoothed down with hand tools (files). This act of finding a path that passes smoothly through the corner points is interpolation. This process of machining down to points for hand finishing was common in industry. Mr Parsons contribution

840_Directory of Terms .doc

Page 50 of 80

was to conceive of numbers directing a servo axis to position the plunge cutter. He contracted with M.I.T. to develop the servo. M.I.T. eventually took over his project and created a technology that fed the cutter on a straight line from point to point. Thus, their technology, that came to be called numerical control, did the interpolation save for hand polishing to take out tool marks. 2D and 3D point-to-point interpolation (what we call linear block programming today) came to be called numerical contour control (NCC) to distinguish it from the original John Parsons concept. As NC moved out of the academic research labs where it was invented, a simplified version was offered that traversed one axis at a time. This meant that the thrust was developed along the direction of the axis where the machine's rigidity was greatest. Angular cuts had to be stair-stepped, like one over and one down to cut a 45 degree incline. This point-to-point concept never got play because the big money was behind numerical contour control. To be certain, all CNC today does numerical contour control and todays CNC workers have probably never heard of NCC until just now. POINTER: A variable whose content is the address of another variable whose content is the value of interest. I will put the box number of the map to the secret treasure in box 25. When you open box 25 you will see a number that is the number of the box where you will find the map. POLAR COORDINATES: A point defined with a radius vector. See RADIUS VECTOR. POLYGON: A figure of many straight-line sides. The polygon such as a rectangle is closed. A polygon that is not closed is open. In this case the last side does not connect to the first side. POLY: A block format to specify the end point and coefficients of a piece of a piecewise continuous parametric polynomial. If your post does not output to the POLY format, it means nothing to you. See CompCad POLYGONAL APPROXIMATION: To approximate a curve with an open polygon. The polygon is the result of piecewise linear interpolation of points on the curve. POLYNOMIAL INTERPOLATION: The use of polynomial methods to interpolate a curve from geometry data. Spline algorithms like Bezier spline, b-spline, a-spline, c-spline employ polynomial methods. The 840D does polynomial interpolation insofar as it issues incremental set points to the positioning servos from a parametric polynomial function. See CompCad. POSITIONING: As opposed to interpolation. See INTERPOLATION. POSITIONING AXIS: When an axis is programmed to arrive at its destination point independent of whatever other axes may be programmed in the block, then the axis is said to be programmed as a positioning axis. For example, in the block G01 X10 Y15 F20 P[Q1]=5 F[Q1]=30, Q1 is a positioning axis. It linearly interpolates to its destination point Q1=15 at 30 in/min while X and Y linearly interpolate to (10,15) at 20 in/min. X and Y would be considered path axes. In the block G01 Q1=5 X10 F20 P[Y]=15 F[Y]=30, Y is programmed to be a positioning axis. Q1 and X are path axes. Only real (that is, physical/machine) axes can be programmed as positioning axes. POSITIONING CONTROL: An early type of numerical control that positioned only, usually in two axes. It did not interpolate to its destination position. A manual operation such as drilling was done when the axis got to the destination position. See POINT-TO-POINT. POSITION DISPLAY: See ACTUAL POSITION DISPLAY. POSITION REGISTER PRESET: A method to overwrite the current numbers in the position display and consequently in the absolute position registers of the numerical control - and replace they with any numbers desired. Siemens provides this capability only as manual operations called PRESET and SCRATCH. Siemens does not provide a programmable position register preset statement, much to the dismay of users who are used to programming G50/G92 to set coordinates. See PROGRAMMABLE POSITION REGISTER PRESET.

840_Directory of Terms .doc

Page 51 of 80

POSITION SETPOINT: The point in the machine coordinate system that is the destination of a move command. The position setpoint differs from programmed coordinate words by the addition of length, radius and zero offset components. When a motion command block is prepared by the NC for execution, the coordinate words are transformed into position setpoints by a rule knows as the position setpoint equation. POSITION SETPOINT EQUATION: The equation that transforms a programmed coordinate into a position setpoint. POWER OFF: Do not power off the numerical control while it is displaying a battery alarm. POWER ON RESET (POR): Generally refers to the overall state of being of the numerical control when it is powered on. Of special concern are the status of modal G-code groups and the question, "Does the M02/M30 end of program marker restore the power on member of the modal G-code groups?" The answer is yes. It is also important to know if a change in machine data requires a power on reset to take effect. The numerical control has an ON switch but it does not have an OFF switch. However, the power supply has a power on reset push button. POWER LINE: The first generation of controllers to be expressed from the 840D development that begun in the early 1990s. The second generation is called Solution Line. See Solution Line. PP: Stands for part program PREDEFINED FUNCTIONS: Predefined functions are part of the firmware and they return values. They include the arithmetic, Boolean, geometric and trigonometric functions. PREDEFINED SUBROUTINES: Technology specific commands that are activated with cycle call syntax. They look like subroutines but they are part of the executive firmware. PREPARATORY FUNCTION: G-codes are preparatory functions but not all preparatory functions are G-codes. PRESLECTED TOOL (Preselect Tool): See Tool, Preselect PRESET: A CNC operation in which the operator can override the machine position registers with numbers of his choosing. PRESET is used to establish a machine zero at the point on the work that corresponds to program zero (aka, blueprint zero) on axes that are not provisioned with automatic reference return. Preset is a manual operation that does the equivalent of the G92 programmable position preset command. There is no purpose for either preset or G92 when the machining axes are provisioned with reference return as the means to establish a permanent machine zero position for the machine. See Scratch. PRETOOL: See Tool, Preselect PROBE: See Touch Probe PROC: See Cycles PROCEDURE: See Cycles. PROCESS: The activity upon which a system of automation acts. PROGRAM CONTROL: A softkey function which brings up a menu to set and reset the following submodes: Skip block, dry run, rapid traverse override enable, decode single block, DRF offset, M01 programmed stop. May be called program management.

840_Directory of Terms .doc

Page 52 of 80

PROGRAM COORDINATION: With the START, WAIT, INIT and END commands of the G-code language, the programs running in different channels can be synchronized. For example, with the WAIT command, when one program reaches a certain block, it will wait until the program in another channel has reached the corresponding wait marker in its program. With the INIT and START commands, one program can select and initiate execution of a MPF or SPF program in another channel. PROGRAM FILE: An MPF or SPF file. A main program file or a subroutine program file. PROGRAM NAME: The formal Siemens programming manual says that only the first 24 characters of a program name are displayed. This implies that program names can be longer than 24 characters, and they can. If you have loaded two or more programs whose program names are the same for the first 24 characters, Siemens has chosen to display only one the first one that was seen by the control. This program does not appear to delete. In fact, it deletes alright, but then, the second program occupies the display. Delete this 2nd program and the 3rd program occupies the display. Since their names differ only after the first 24 characters, the only way you can know which program occupies the display is to open it (and ideally, the first line is a comment block with the full program name). So, while program names can be longer than 24 characters, if the first 24 characters are duplicated in another program name, the practice of using names greater than 24 characters should be avoided. On the other hand, if the first 24 characters are unique, this begs the question, Why do you need program names longer than 24 characters? When you register a program name at the control in preparation for using the controls text editor to enter a program, the field for program name accepts only 24 characters. PROGRAM REPETITION: The number of times a subroutine is executed at the same position. If mSub is a subroutine and you program mSub P4 it will execute four times and then program execution will return to the calling program. PROGRAM USER DATA (PUD): A machine data setting makes all LUDs into PUDs. See Local User Data (LUD). A variable defined in the program for execution is read/write at all levels of the program (all subroutines called from the selected program and from subroutines called from subroutines). The PUD is canceled when the execution of the selected program is reset or gets to its end of program marker, usually M30. PROGRAM ZERO: A coordinate origin on the blueprint from where coordinate words of the part program get their value. See WORK ZERO. The distinction between program zero and work zero is relevant when the program zero is a translation from work zero. For example, suppose work zero is at the lower left corner of a workpiece and a bolt hole pattern exists at X20 Y15. If you specify the location of a hole in a coordinate system whose origin is a translation from work zero (using G58 or TRANS), then the XY coordinate system at X20Y15 is program zero. Work zero is a program zero but a program zero does not have to be work zero. PROGRAMMABLE LOGIC CONTROLLER (PLC): The PLC is a software alternative to relay ladder logic. Its specifications were written by the auto industry in Detroit in the late 1960s with the stipulation that its programming language has the look and feel of relay ladder logic. In one fell swoop PLC brought digital computer technology to the shop floor in a manner that brought the electricians along with it since it made the electricians job so much easier (at least initially, anyway). CNC comes with an integrated PLC to carry out machine control functions such as operator commands initiated from the machine control panel. It does the tool change, pallet change, coolant control, hydraulics, interlocking, monitoring of safety switches, spindle control, gear change, and so much more. It is a stretch to say that CNC is a powerful motion controller piggybacked to a PLC but from a very narrow perspective this is not altogether incorrect as long as PLC centric people do not get the idea that they can do CNC because they know PLC. PROGRAMMER: The person who prepares the part programs (the G-code programs). PROGRAMMABLE POSITION REGISTER PRESET: In this explanation of G50 (standard G-codes) or G92 (special G-codes) the reader should imagine that the operator has a transcript of the program (a printed copy of the program) and a copy of the blueprint. The blueprint shows a zero point where the

840_Directory of Terms .doc

Page 53 of 80

programmer assumed there was a coordinate system to define the coordinate words that are seen in the blocks of the program. The operator needs to establish a CNC zero point in the work envelop of the machine at a point relative to the work as it sits on the bed of the machine that corresponds to the zero point of the blueprint. For example, if there is a block at the start of the part program like this one, G92 X5 Y15 Z7, he would position the tip of the standard tool to X5 Y15 and Z7 in a coordinate system whose origin is a point on the workpiece that corresponds to the point on the blueprint from where the programmer derived the coordinate words used in the program. When he cycle starts the program, the G92 block is executed and the 5, 15 and Z are preset in the position registers. This is what establishes a control zero for machining the workpiece. Some set-up processes have the operator MDI the G92 block which makes sense when the block is not in the program. G92 is intended for axes that are not provisioned with reference return (not provisioned with a home position), and in this case, there is no single point that is the origin of the machine coordinate system. One expects that when the CNC powers on, the position registers are set to zero. Thus, the machine zero position of the axes is wherever they happen to be when the control is turned on. G92 allows the operator to specify any desired point as the zero point. When the axes are provisioned with reference return the reason for G92 is gone. The operator does a reference return for all axes after the control powers on and machine zero is established automatically. The machine zero position could be the reference position but usually the coordinates of the reference point are set in machine data and when the machine gets home it loads these coordinates into the machine position display. This sets machine zero, that is, the origin of the machine coordinate system. This point is a fixed point (the tip of the standard tool when the machine coordinate display shows all zeros) and in principle it never changes for the life of the machine. A work zero can be defined with a translation from machine zero. Usually this translation is stored in a frame variable called the G54 settable zero offset. So, when a machine is provisioned with reference return it makes about as much sense to have G92 as to have a starter crank on a modern automobile engine that is provisioned with an electric starter motor. Siemens had the good technically correct sense not to carry G92 forward when CNC made the transition to automatic reference return. Unfortunately, many users do not understand the concept of translation, that is, a vector from machine zero to work zero, and Siemens lack of a programmable G92 is a problem for them. In most cases, the solution to this problem is to remove the G92 from the program and let the operator either scratch a work zero or set the values of the offset from machine zero to work zero directly in the setting page of G54. These values are very easy to find. When the tip of the standard tool is positioned at the work zero point, the values in the machine coordinate system are the values for G54. Scratch is a manual operation for setting an offset from machine zero. It has nothing to do with G92 but for operations who are accustomed to commanding a G92 block in MDI (manual data input), scratch, is a near transparent substitute. The 840D supports an operation called PRESET. PRESET is a direct substitute for G92 because preset sets the machine coordinate system. Thus, PRESET shifts machine zero. Since it does this, it would be used on axes that do not have automatic reference return. PRESETON is a programmable command that for all practical purposes is the same as the original intent of G92 for machines that are not provisioned with automatic reference return. PROGRAMMABLE ZERO OFFSET: A zero offset that is specified in the part program. Trans, Atrans, Rot, Arot, Scale, Ascale, Mirror and Amirror are used to program the offset. If G54 is the active settable zero offset, the block Trans X15 Y10 moves the zero point to the point X15Y10 in the G54 system. PROTECTION: See Access Protection PUD: Program User Data. By machine data setting, all LUD (local user data) are PUD. When this is the case, a variable that is defined in level[n] can be read/written at any level[m] where m > n. In other words, if the machine data item is set, if you define a variable in the selected program, it can be read/written at any level of the workpiece program (taking the selected program and subroutines/cycles as the workpiece program).

840_Directory of Terms .doc

Page 54 of 80

QU: As in M=QU(<a number>). A high speed M-code. An M-code that is output for execution very quickly. M=QU(10) is the high speed equivalent of M10. High speed M-codes are discussed in the Basic Functions manual. QUADRANT: If you cut a pizza in half and then in half again, each quarter slice is a quadrant. If we establish a rectangular coordinate system on the XY plane, the quadrants are numbered 1 to 4 counterclockwise. The #1 is all points that are positive in X and Y, and given the way we usually view rectangular coordinate systems, this is the upper right hand quadrant. Quadrants are numbered from the abscissa to ordinate going counter clockwise. Thus in turning, the #1 quadrant is from +Z to +X. QUALIFIED TOOLING: Generally means tooling that is custom ordered from the manufacture to specified dimensions. Could also mean preset tooling., tooling whose length is set in the tool room to a specified length. RADIUS COMPENSATION: See Cutter Radius Compensation. See Tool Nose Radius Compensation. RADIUS VECTOR: Used to specify a point in polar coordinate programming. A radius vector has length and angle. The radius vector begins at the center point of an arc and extends on a line that makes an angle from one of the principle axes, usually, but not necessarily, the X-axis. The center point is called the tail of the radius vector and the other end is the head. When shown graphically, the head is identified with an arrow tip, and so, the radius vector looks like an arrow when drawn on a sheet of paper. See POLE. RAIL MACHINE: A machine with a cross beam between two columns that is raised and lowered by a gantry pair of axes usually addressed with W. If the rail machine is a lathe, the rail carries the X-axis. It carries the Y-axis if the machine is a mill. The Y axis carries the spindle and Z-servo. If the machine is a lathe, the X-axis carries the spindle and Z-servo. RAM: Stands for random access memory. RANDOM ACCESS TOOL CHANGER: Following a tool change, the tool is put in the next available pocket that can accommodate the tool. This makes for a very fast tool change but the operator never knows what tool is in what pocket. This aggravation is justified when the time to do tool changes would otherwise be a significant percentage of the time to produce one part. However, a random access tool changer does not make sense on big horizontal mills when the tool change time is minuscule in relation to the hours it may take to make one pass! RAPID JOG: There are two jog feedrates. One is jog and the other is rapid jog. Rapid jog is selected by jogging with the rapid key presses. This is the key with the squiggly icon between the plus and minus jog keys. If the squiggly reminds you of a snake, dont you want to run fast when you see a snake? The rapid jog feedrate is set in axis parameter 32010 Jog_Velo_Rapid. RAPID M-CODES: See RAPID M-FUNCTIONS. RAPID TRAVERSE G00: The tool moves at the maximum feedrate to the locations specified in the G00 block. A positioning command, not a cutting command. You would not cut in G00. The rapid traverse feedrate is set by the machine tool builder in machine data. Normally, the feedrate override switch doubles for rapid traverse. This is what ROV means when you see it on the screen. A check box in the PROGRAM CONTROL screen allows you to turn ROV on/off . The machine tool builder can turn it on permanently. The programmable modifier RTLION tells G00 to do a rapid linear interpolation to the destination position. RTLIOF lets G00 dog leg. RAPID TRAVERSE OVERRIDE: An optional rotary wafer selector switch can be added to the machine control panel to command a raid traverse override. The percent override for each switch position is set in machine data. When the rapid traverse override switch is not provided, the feedrate override does double duty, acting as the rapid traverse override as well.

840_Directory of Terms .doc

Page 55 of 80

READ-IN: In the days of tape readers and before inexpensive memory, program blocks were read into execution buffers from punched tape. In the 1950s these buffers were mechanical relays. By the late 1970s, as solid state memory became affordable, the program was read-in from the tape reader to this memory and the program was executed from this memory. The personal computer, that began to make its mark on CAD/CAM/CNC in the early 1980s, offered the possibility that a workpiece program could be an ASCII text file with a DOS program name. These files were read into the CNC memory via an RS232C serial port (COM port) or some kind of behind the tape reader scheme. Significantly, they were not copied as we understand this term from our personal computer practice. Rather the files were opened, and as their content streamed into the CNC, it was parsed to specific CNC program files based on information in the stream of data. Today we can read-in from a device (3 floppy, memory stick, etc.) or via an Ethernet hookup. We can also copy a Windows file to the hard drive of the open system PC and read it into folders of the CNC file structure (Workpiece direction, MPF directory, SPF directory, etc.). REAL: A decimal number. 12.3417 is real. REAL AXIS: As opposed to a fictitious axis. See FICTITIOUS AXIS. REAR TURRET: The issue of front or rear turret has to do with where you stand in relation to the spindle. It has nothing to do with the CNC. The CNC is always right handed and it does not care where you stand. A program for a front turret machine should look no different from a program for a rear turret machine. The CNC is always right handed. Blueprints can be left handed. Old blueprints for vertical turret machines were often left handed. If your blueprint is left handed, what looks clockwise has to be programmed counter clockwise and vice versa. What looks like 'right' for tool nose radius compensation has to be programmed as 'left' and vice versa. Standing such that your line of sight is in the axis of the cross slide and the spindle is to your left, when you jog the cross slide away from you, if the X axis position display becomes more positive, the lathe is a rear turret machine. Notice that this definition does not require the turret to be located physically in front of the turning centerline or that there be a turret at all. See FRONT TURRET. REF: Stands for reference point REFERENCE POINT (REF POINT): A landmark machine position that can be achieved over and over again independent of coordinate systems. When the CNC powers on it does not know the position of the axes. However, it can return the axes to their reference positions since this operation is not carried out in a coordinate system. When the axes get to the reference position the CNC sets constant values in its machine coordinate registers. These constant values are found in machine data. They were set there by the machine tool builder. They are the position of the reference point in the machine coordinate position. In this way the CNC automatically synchronizes its machine position display with the actual position of the axes. This is what makes machine zero the same point in space always and forever provided the machine is not powered off. If it is powered off, and powered on again, the origin of the machine coordinate system is restored (to its once and for ever fixed point) following a reference point return operations. Since the numerical control comes with measuring circuits it makes sense to make the CNC the central determinant in positioning the machine to the reference point. However, the numerical control cannot do this on its own; it needs the assistance of a limit switch, a cam and a marker pulse. See HOME. Reference point is a home position but not all home positions are reference points. REFERENCE POINT POSITION: The position of the reference point in the machine coordinate position. This position is set by the machine tool builder in MD 34100 refp_set_pos[0]. (refp_set_pos[1] [3] are used in ISO Dialect). REFERENCE POINT RETURN: See Reference Return. REFERENCE RETURN: An operation that commands the numerical control to position the axes to their reference position.

840_Directory of Terms .doc

Page 56 of 80

REGISTER: Same as field. The setting page of G54 is made up of fields where values are stored. Register is another name for field. RELATIONAL: As in relational database. A database concept that relates records in many files with a common, unique piece of information, usually a number. This unique piece of information that is common to all records is called the key field. Thousands of data files that contain records with information about you could be related to one another when they all have your social security number in their key fields. The relational database concept allows new files with new categories of information to be added to a database while keeping the master file that contains the essential information. The essential information about a tool is kept in a tool file in the CNC. Its name, its tool type, its duplicate number, its tool life and more is stored in records of the master file. Its geometry information such as length and radius is stored in a D-code file that has a relational association with the master file. In this regard, you have to find the tool in the tool file before you can see its D-code records. REPOSition: Stands for reposition. REPOSition is an operating mode of the numerical control. If a tool breaks, or for whatever reason the operator must interrupt program execution and job off of the contour, the tool can be returned to the contour in the REPOSition mode. Following this, the mode can be changed to AUTOmatic and machining resumed. RESERVED WORDS: Character strings that are reserved by the system program. G00 is a reserved word. GUDs are reserved words. You cannot name a local user data the same as a GUD. RESET: When the reset key is pushed, part program execution is stopped and program execution returns to the top of the program. The program will not restart without the NC Start key being pressed. RET: End of subroutine marker. Unlike M17, M02 and M30, RET allows you to specify the target of the return. RIGHT HAND (as in right hand coordinate system): An orthogonal coordinate system (the axes are normal to each other) so that if the thumb of the right hand is laid out in the positive direction of the abscissa axis (almost always labeled X) and the pointing finger is laid out in the positive direction of the ordinate (almost always labeled Y) the thumb points in the positive direction of the applicate axis (almost always labeled Z). The numerical control always assumes a right hand rectangular coordinate system basic coordinate system. When the servo platform is orthogonal (and the linear kinematics machines are the obvious exception) the basic and the machine coordinate systems coincide and thus, any mention of the basic coordinate system is irrelevant. Assuming this is the case, since after all, only the exceptional machine is not an orthogonal servo platform, the machine coordinate system is always right handed. Blueprints can be left handed, and blueprints for vertical turning machines frequently are. In this case, you have to turn the blueprint over and view it from the back side (assuming the paper is transparent) to see it right handed. RIGID TAPPING: Tapping without depending on a slip clutch to account for transient mismatches between spindle speed and rate of infeed. Tapping requires a feedrate that is equal to the spindle speed in revolutions/minute times the pitch where pitch is the advance per revolution (not the number of threads per inch). A slip clutch with its ability to expand and contract on the infeed axis compensates for the mismatch. Rigid tapping requires near-no mismatch. This is possible when the spindle and infeed axes are tight. Rigid tapping requires that the dynamic behavior of the spindle and infeed axis be capable of tight motion, that is, one follows the other very closely. Close depends on the characteristics of the thread itself, the desired cycle time and the tolerance. Rigid tapping is accomplished in two ways. 1) The infeed axis feed rate is keyed to the spindle speed. This requires a responsive infeed axis in order that transient changes in spindle speed are answered very quickly by corresponding transient changes in feed rate. A slip clutch may still be required when the responsiveness of the infeed axis is not fast enough (and you will know this if you break taps or if the

840_Directory of Terms .doc

Page 57 of 80

thread does not pass inspection. 2) Another way is to convert the spindle to a rotary positioning axes and interpolate the spindle axis with the infeed axes. When you use a standard machining cycles (like Cycle84 or Cycle840) you have to specify the kind of tapping operation. See Tapping without an Encoder. ROV: Stands for rapid traverse override. In the old days, a machine might have had two rotary selector switches, one for rapid traverse and one for tool path interpolation. People today are more sensible and use only one switch that does double duty if asked. The switch is active for rapid traverse and interpolation when ROV displays on the screen. A check box in the PROGRAM CONTROL screen allows you to turn ROV on/off . Usually ROV on is permanent because the machine tool builder locks out ROV of. R-PARAMETER: R-parameters are pre-defined numeric memory variables. Each channel has its own R parameter file and there is a file that is common to all channels. R parameters can be used in place of the numerical values of a word of the G-code language. For example: G00 X =R1 Y =R2 To maintain downward compatibility the Systems D include R0 to R99 as standard. RPY: Roll Pitch Yaw. First rotation around Z for a new orientation. Second rotation is around Y of the new system for a new new orientation. Third rotation is around X of the new new orientation for a new new new system. See Euler Angles. MD 10600: Frame_Angle_Input_Mode=1 for RPY. =2 for Euler Angles. RS232C: This is a recommended standard of the EIA (Electrical Industrial Association) for serial data exchange between the numerical control and a personal computer. SAFE START BLOCK: The program can be started from a safe start block without a mishap because the programmer has included in the block all the information that the CNC needs to start safely. If one were to cut the blocks from one safe start block to another and past them into their own program that program would be capable of running safely. A safe start block is usually the start of a tool change. Siemens CNCs always begin program execution from the start of the program unless a block search operation is done. In this case, it starts from the target block. One of the block search options seeks out the target block without running the program in its head to know what conditions to set before beginning execution at the target block. If the target block assumes tool 20 is in the spindle but it really is tool 13 this CNC doesnt know this and now you are in crash city. So, with a direct search to the target without accumulating any prior history, the target block had better be a safe block. SAR: Soft Approach and Retraction. Includes the following non-modal G-codes
G147: Approach on straight line G148: Retraction on straight line G247: Approach on quadrant G248: Retraction on quadrant G347: Approach on semicircle G348: Retraction on semicircle

SAVE SETUP DATA: An operation that saves setup data to a workpiece folder in the name of a main program file. Setup data includes tool data, work offsets, r-parameters, global user data, setting data, software protection zones and certain compensation data. Having invested a lot of time in setting up a machine to run a job and having gotten everything just right, if you save the setup data, it is there to be loaded the next time the job is done. The key is that setup data is saved to a workpiece folder. SCRATCH: A manual operation that sets the registers of the work coordinate system to numbers of the operators choosing. Scratch is supported with its own screens (like G54 is supported with a screen for data input). The name scratch comes from lathe turning where the #1 tool (the tool that is used as the standard tool) is touched manually to a know diameter. This operation is done with the spindle turning in order to assure that the point of contact is not a high or low point. This leaves a scratch on the OD. With the tool on the scratch OD, the operator sets the OD in the X-axis field of the scratch screen for the CNC to know

840_Directory of Terms .doc

Page 58 of 80

work zero. A similar scratch on a known face sets the Z-axis. The scratch operation results in a zero shift (a translation) stored to a selected settable zero offset (G54 usually). Scratch does for machining axes that are provisioned with automatic reference return what Preset does for machining axes that are not so provisioned. See Preset. SCRATCHING: Siemens' name for an operation which has the operator manually touch (scratch) the tool to a machined surface. Following interruption of the cut due to a broken tool, with the tool scratching the surface, the reposition offset, displayed on the CRT, is the correction to the tool length offset. The change in the tool length offset will be picked up in the next block. This is one reason one must 'scratch' even if the difference in tool length offset is know ahead of time. Having scratched the surface, one would switch to the AUTOmatic and press cycle start (NC start). Scratching is possible because when the control is switch from AUTOmatic to JOG, the program in interrupted, not reset. Scratching works because the NC positions the tool to its destination point from its current position. The numerical control is not particular about its current position, at least not with regards to a linear move. One can scratch to an arc, but in this case, there is a limit to the manual correction; in other words, there is a limit to the reposition offset at the point of scratch. The limit is set in NC machine data (is it MD9?) and if the limit is exceeded, alarm 3018 is displayed. Scratching is different than repositioning since repositioning is simply a convenience for returning a tool its point of interruption without the possibility of adding a manual correction. However, one can select the JOG incremental mode after having repositioned in the REPO mode and then scratch. SELECTED PROGRAM: Select Program is an HMI operation to select a program for execution. NC Start (also called Cycle Start) initiates execution of the selected program. SEQUENCE NUMBERS: An N-code. The G-code program is made up of lines of code. Each line is called a block. Please do not confuse this block with a block of the PLC sequence program; they are two different things. To be clear, a block of the part program is simply a line of code terminated with a line feed. The lines can be given sequence numbers. A sequence number begins with 'N' and is followed by a 4digit number. Leading zeros can be left out. Unless sequence numbers are required to mark the target of a jump command or a block search they are not required. The sequence number for a safe start block can begin with a ':' instead of an 'N'. The ':' block is called a main block and the 'N' blocks are called sub-blocks. The distinction between main blocks and sub-blocks is associated with the block search operation. SERVO: The use of negative feedback to control the position, velocity and acceleration of an inertial load. CNC workers tend to point to the electronic drives and motors and say, Thats the servo. They are not wrong, but it is more encompassing to think of the entire CNC machine as a positioning servo that has been designed to carry a spindle for the cutting tool process of stock removal. In an even more encompassing sense, we can say that the CNC machine tool is the servo actuator of CAD/CAM. A servo is distinct from a regulator in that a servo follows a rapidly changing set point. SERVO AXIS: A degree of linear or rotary freedom that is associated with a motor or an actuator of some kind (like a hydraulic cylinder). A displacement on the servo axis is accomplished with this actuator and this actuator only. Z-machine, X-machine and Y-machine of a vertical bed mill are servo axes. The coordinates of points in an XYZ rectangular coordinate frame in the work envelope of the machine (at any orientation in space) are transformed into coordinates in the coordinate system of the servo axes (the machine coordinate system). The transformation matrix is apparent to the CNC based on the translations, rotations, etc., from machine zero to work zero; that is, based on the values set in G54 and additional translation, rotations, etc., included in the program. Your Z-work axis can be pointing in any direction in space and a move command from Z<point a> to Z<point b> is carried out by the three servo axes. SET POINT: The value, usually an external value, that a regulated or servo controlled system is challenged to hold, follow or achieve.

840_Directory of Terms .doc

Page 59 of 80

350 degrees is the oven setpoint when you turn the knob to this value. The ovens temperature control system is challenged to heat to this temperature and to stay at this temperature until the oven is given a different temperature set point. Not so long ago the CNC output an analog set point to the drive regulator. This was usually a signal between +10V dc and -10V dc. The drive had a characteristic, that at 0 volts the motor stayed at standstill, at 10 volts the motor ran at its rated rpms forward and at minus 10 volts it ran at its rated rpms backwards. We imagined that the characteristic was a straight line that interpolated the points <-10, minus rated rpm> and <+10, plus rated rpm>, and thus, for any value between -10 and +10 there was one and only one motor velocity. SETTABLE ZERO OFFSET: The translation associated with one of the settable frames G54, G55, etc. (They are called settable frames because in addition to translations, they include rotations, scales and mirrors.) A translation, usually from machine zero. The operator of a typical vertical bed mill positions the spindle centerline over the work zero point. He transfers the numbers in the machine position display to the 01 (G54) SZO. See Zero Offset. SETTING DATA: Configuration and operational data that can be changed at the machine side without the need of a password. This rather broad definition includes tool offset data, zero offset data and R-parameter files. Some setting data files are downloaded to DOS files under their own header. Examples are the tool geometry file, the zero offset file and the R-parameter files. Additional setting data is downloaded under the file header %SEA. SETUP: A NC machine must be set up for operations. The program must be transferred to NC memory. The workpiece must be fixtured. A control zero point must be established at the point on the work which corresponds to the zero point on the blueprint. The magazine must be loaded with the required tooling, and, if the tooling is not preset, tool length offset must be measured at the machine. In the process of doing the setup, one changes data files such as the tool file and the zero offset file. These files can be saved to a hard disk, and the next time the job is done, they can be transferred to the NC memory along with part programs and subroutines. SETUP DATA: Tool offset data, zero offset data, R-parameter values, GUD values, setting data and sag/angularity compensation data is setup data (also called operational data). Having done a job, and the last piece completed, storing the setup data is often the final operation done by the operator. The setup data is stored to files named identically to the main program file of a workpiece directory. SETUP TOOL: Any tool used to make a measurement usually to accomplish coordinate system setting. The tool is sometimes a dedicated tool or it can be any tool that serves the purpose. Suppose you need to know the Z-machine coordinate of the surface of the bed of a vertical machining center. If you could handwheel the Z-axis so that the spindle gauge plane (the tool datum point is assumed to be on the spindle gauge plane) is on the surface of the bed, the number displayed in the Z-machine register is the value you seek. Usually it is not possible to position the spindle to the bed. In this case, chuck a tool of known length and touch it to the bed. The number you seek is the length of the tool added to the value in the Z-machine register. The tool you used to find this number is a setup tool. In turning, the setup tool is usually the #1 tool since facing and turning on OD are usually the first turning operations and the tool suitable for this is suitable for setup. SFM: See Surface Feet Per Minute. SHOPMILL: A variant of the CNC concept that employs a conversational HMI that enables the CNC machinist do programming, set up and operations without needing to know G-codes and machining cycles. ShopMill supports G-code programming (because in practice almost all CNC machine operators know basic G-codes). In addition, ShopMill allows toggling between itself and ISO mode. ISO mode is what you get as standard when you do not specify something like ShopMill, ShopTurn.

SHOPTURN: Same as ShopMill but for turning. See SHOPMILL

840_Directory of Terms .doc

Page 60 of 80

SIGNED: See SIGNED VALUE. SIGNED RADIUS: As an interpolation parameter, the numerical value of the radius address can be given a negative sign to indicate the arc is greater than 180 degrees. SIGNED VALUE / SIGNED R-PARAMETER: An address or variable that can take a negative number. Normally dimensions are not signed numbers. The numerical values of G-codes, M-codes, T-codes and Dcodes are not signed numbers. However, the numerical value of a coordinate word can be a signed value. R-parameters can be assigned negative values, so if your intent is for a R-parameter to be unsigned, you must reassign the absolute value of the R-parameter to the R-parameter, or otherwise, create an error trap which stops the program. SIMULATION: Simulation allows a program to be checked out by the CNC before it is selected for AUTOmatic execution. Since simulation runs it its own virtual CNC inside the 840D, the program for the next job can be checked while the current job is running. Simulation displays the tool path for the operator to see if there are any gross departures from the expected contour and by progressively increasing the zoom, he can see fine detail as well. The soft key Match Data that display when the simulation screen is displayed allows subroutines, setup data and more to be copied from the real CNC to the virtual CNC so that the simulation is a true simulation of the main program file as it actually will execute in the real CNC of the real machine. SIMULTANEOUS INTERPOLATION: This is probably a meaningless term, but if you ask the person using it, he may say, it is the ability of the CNC to interpolate two or more axes at the same time. Technically, the servo axes interpolate a tool path. The interpolation may require 1, 2, 3 or more axes in action but there is nothing about this that requires the word simultaneous. The CNC can interpolate a tool path and simultaneously position other axes that are not involved in the tool path interpolation. Helical interpolation is an example of this. The CNC circular interpolates an arc while simultaneously positioning the normal axis so that it arrives at its destination at the same time as the axes doing the arc. In 5-axes machining, the feedrate is for the linear axes. The three linear axes interpolate a tool path while the orientation axes do simultaneous positioning. See FEEDGROUP and PATH AXES. SIMULTANEOUS POSITIONING: While some axes interpolate a path in the work envelope of the machine, other axes are positioning. In helical interpolation, the X and Y servos interpolate a path while the Z-axis positions. In 5-axes contouring of curves, the X, Y and Z servo axes interpolate a path while simultaneously the two orientation axes position. In helical and 5-axis interpolation the relationship between path axes and positioning axes is not explicit in the program. This is to say, there is no special code in the block to distinguish the path axes from the positioning axes. If someone looking at the block did not know that the CNC makes a distinction, then that person would believe that he is looking at a 3-axis or 5-axes interpolated move. He may wonder about the feedrate. The programmed feedrate is the feed along the path. The CNC calculates feedrates for the positioning axes so they arrive at their block end point at the same instant as the path axes. In this case, the CNC is doing simultaneous synchronous positioning. You may have the need to program an axis to position at its own feedrate. You can do this with the POS and POSA commands. If X2 is a channel axis, and X2 is not a geometry axis, then N35 G01 X15 Y25 F50 POS[X2]=19 FP=25 interpolates a line in the G17 plane of the geometry frame at a feedrate of 50 while the X2 axis positioning to X2=19 at 25 inches/minute. Program execution will not move on and execute the next block until all axes of the block have reached their block end positions. If the positioning is done with POSA[X2] then program execution does not wait at block boundaries for the positioning to complete. SINGLE SHOT: Refers to a G-code that is not a member of a modal group. A single shot G-code is active only in the block in which it is programmed. The following are some, but not all, of the single shot Gcodes. G04 for dwell. G53 for zero offset cancel.

840_Directory of Terms .doc

Page 61 of 80

SINGLE BLOCK STOP: A hard key on the machine control panel that when pressed causes program execution to require a NC Start from the operator for each block of the program. In other words, program execution stops at the end of each block. Actually, a distinction is made between 1) stopping at every block, 2) stopping at motion blocks only and 3) single block in cycle. The command SBLOF inhibits single block. Machining cycles have this command in their procedure line. If the single block mode is single block in cycle, the command SBLOF is ignored and the program stops at the end of each motion command. The single block selection is made in the PROGRAM CONTROL screen. Under certain conditions the CNC generates blocks that it inserts in the program execution buffer between actual programmed blocks. For example, G641 and G642 instruct the CNC to insert corner smoothing blocks. G41/G42 insert blocks to step or pivot around corners. In these situations, these inserted blocks are respected by Single Block, and if you do not know this, it will appear to you that the CNC is not positioning properly. SINUMERIK: The brand name for Siemens numerical controls. The name of the organizational unit of Siemens that designs and manufacturers numerical controls. SISTER TOOL: Also called the duplo number. Two or more functionally identical, geometrically similar tools with the same tool identification and stored in the active magazine of the machine are sister tools. A concept from the tool life management option. If the tool specified in the part program cannot be found (if its life has expired) then the search routine looks for a sister tool. SKIP BLOCK: See BLOCK SKIP SKP: stands for 'skip'. See BLOCK SKIP. SL: Stands for Solution Line. The solution line is a redevelopment of the 840D to exploit new enabling technology, especially networking technology (the physical interfaces are based on Ethernet) and to achieve economies of scale (especially regarding drives and motors) with production machinery. The term Power Line distinguishes the earlier 840D (1998 to 2006) from the redeveloped 840D. SMOOTH APPROACH & RETRACTION: See SAR. You program a linear interpolation to a point but the CNC calculates an additional point and commands the tool to interpolate this point so that the tool can approach the contour in a manner designated by a preparatory function. For example, G247 designates that the tool will blend into the contour on a quarter circle so the tool has to move to a point from where it can do this at the specified radius. G248 similarly commands the tool to blend off the contour on a quarter circle. Smooth approach and retraction are discussed in the Programming Guide: Fundamentals. This includes the G-codes G140, G141, G142, G147, G148, G247, G248, G347, G348, G340 and G341. It includes the modifiers DISR, DISCL and FAD. For an example of G247/G248 see the article Control Structures for Looping. SOFT: A command to ramp the acceleration for smoother changes in velocity. See Brisk. SOFTKEY: A key that has different meanings depending on the menu displayed above it. SOFTWARE LIMITS: Mathematically, a linear axis extends forever. Practically, an axis is limited by its stroke limits. With machine data the machine tool builder can set travel limits for the axes so that the numerical control never drives the axis into its hardware stroke limits. These software limits are set as coordinates in the machine coordinate system. Thus, software limits are not effective until the axes have been reference point returned. To extend the stroke software limits at slower feedrates, machine data is provided for two sets of software limits, the expectation that the 2nd is reached before the first. By means of a PLC to NC interface signal, the machinery builder can specify whether the first or second is to be respected. The interface signals are polarity specific. In other words, the machine tool builder can instruct the NC to respect the 2nd software limit in the positive direction but stay with the first in the negative direction.

840_Directory of Terms .doc

Page 62 of 80

SOLUTION LINE: As of winter, 2006, the 802D SL, the 840Di SL and the 840D SL are in commercial distribution. The SL is the 2nd generation of controllers to be expressed by the 840D development project that began in the early 1990s. The benefits of the solution line are primarily for the machine tool builder who can realize his machine concepts more efficiently, especially very large machines. Since the interface to the drives is via a network and since the position feedback is also information interchanged through the network, machines of gargantuan size by todays standard become practicable. As suggested above, the solution line is characterized by a transition to information management regarding the intra-solution connections as opposed to signaling. For example, the interface between the central controller and the servo motors that in the old days carried encoder signals now is Ethernet-like and it carries packets of information. The solution line will continue of offer an open system PC of the latest Windows release. In addition, it will offer a thin client which is simply a display device. The HMI that normally runs in the open system PC will be embedded in the NC kernel. The kernel will be opened to Windows developments as if it were an open system PC but there will be no Windows operating system in the totality of the CNC solution. This means that Bill Gates will not collect his dues on every machine, it means that the machine will not inherit the instabilities of Windows and be hostage to Microsofts bug fix schedule and it means that the CNC is immune to viruses prepared for Microsoft computers. . An operator on the shop floor would be able to switch between a 1st generation 840D and a Solution Line 840D and never know the different because the front end display are all the same. The workpiece programming language is the same (although we can expect the Solution Line to have an expanded set of commands). The first generation of the 840D controls are called Power Line to distinguish them from Solution Line. SPACE: A set of points. Space is a concept independent of density. If we imagine a solid cube with the point at its center, whether the cube is a vacuum, filled with air or filled with iron, the point is still a point in space. SPACE CURVE: See Free Form SPEED MILL: For a short time in the 1990s Siemens experimented with a PC software called SpeedMill. It would read a linear block program and convert the contour into parametric polynomial format. SpeedMill was never pushed to perfection because as the 840D was improved with faster microprocessors COMPCAD did the job of SpeedMill better and in real time. See CompCad. SPEED OVERRIDE: See Feedrate Override. See Spindle Speed Override SPF: Subroutine program file. SPINDLE: SPINDLE SPECIFIC: Pertains to a spindle. SPLINE: A smooth and continuous curve normally associated with sculpted shapes. A computer algorithm that interpolates a smooth and continuous curve from a given data set. SPLINE INTERPOLATION: To interpolate geometric data with a spline algorithm. The curve on the right was done with a spline algorithm that is standard with MS Word. When it is said that a numerical control does spline interpolation, this means that the CNC is provisioned with spline algorithms like aspline, bspline, cspline and CompCad. (CompCad is a bspline algorithm that acts on linear block data that was not intended, initially, to be re-splined in the preparation level of the CNCs real time execution kernel.) These algorithms act on the geometry data of the part program to interpolate a curve that is represented as a piecewise continuous parametric polynomial in the innards of the CNC. This is the interpolation function that is sampled on a time grid to issue incremental position setpoints to the positioning servos. POLY is not a spline algorithm. POLY blocks are the direct representation of a spline in parametric polynomial format.

840_Directory of Terms .doc

Page 63 of 80

SPLIT AXES: A compiled cycle (a custom, post development feature) that solves the parallel geometry problem of rail machines where the W-rail carries the Z-servo axis. To understand this feature, imagine that the rail and the Z-servo axes are all the way up. The programmer programs a rail position that the rail cannot position below. He programs a Z-position. The 840D positions the rail to its position and then proceeds to position the Z-axis. The same is true going up. If the commanded Z-position cannot be reached by the Z-axis because it will go into Z-plus overtravel, the cycle raises the rail axis all the while keeping track of the tool tip in relation to the work. Split Axes is not limited to rail machine. It works for horizontal boring mills with W and Z axes. Unfortunately it is an expensive option when installed in the field because it usually takes a week or more of an engineers time to install it and check its performance against the customers expectations. STANDARD CNC: There exist standards published by internationally recognized standards organizations but these standards are either not universally recognized or they are so out of date that they are irrelevant. The most important EIA standard was last updated in 1978 and even then, it was out of date. Standard is based on practice. Many CNC workers in North Amereica have been conditioned by their experience with Fanuc. Fanuc, in turn, is not a radical departure from the sensibilities of CNC developments that were popular in the 60s, 70s and 80s. Some of these developments died out in the 80s and 90s, but as a whole, along with Fanuc, the sensibilities that they embody can be called Standard CNC. DIN 66025 that is specified by Siemens, carries forward much of Standard CNC but it is different enough, and the resistance to change is great enough among Standard CNC users, that Siemens offers ISO Dialect to accommodate the popularity of Standard CNC. Dr. Inaba, the founder of Fanuc, in his book The Fanuc Story leaves the reader with the impression that he, Dr. Inaba, is the person who commercialized M.I.T.s 1952 invention of numerical control. While it is true that he began his development program in the 1950s and used M.I.T.s summary of their project as his guide (it was in the public domain), in reality, there was 25 years of NC/CNC development in the U.S. before Fanuc became popular. Off these developments, Acramatic is best known to Siemens CNC workers since Siemens acquired Acramatic and carried forward some of its legacy in later editions of the 840D. In addition to Acramatic, the developments that contributed to what we now call Standard CNC includes Giddings & Lewis, Kerney & Trecker, Warner & Swazey, White Westinghouse, Onsrud (Danly-Onsrud), Bendix , Allen Bradley, General Electric (before it was GE Fanuc) and more. Standard CNC is a synthesis of these development, what was common, popular and good about them, carried forward in incremental steps of continuous improvement on a foundation of stronger and more powerful computing platforms and display devices. Fanuc absorbed Standard CNC into their development, and given Fanucs success, Standard Fanuc is the carrier of the legacy of Standard CNC. Really, Standard CNC is what becomes common practice. In Europe, Siemens is considered Standard and Fanuc is gauged against this. In addition to Standard Siemens and ISO Dialect, Siemens has ShopMill and ShopTurn. These are not standard CNC concepts inasmuch as they support bringing together programming, setup and operations in one person, the man or woman at the machine. With ShopMill/ShopTurn the machine operator programs the machining operation as opposed to the tool path. He/she is assisted in doing this with a graphical interface with corresponding data input boxes. This kind of programming is sometimes called Conversational programming and the data input/display boxes are called interactive screens. ShopMill and ShopTurn are conversation CNC but as one looks underneath these CNC concepts, one sees that they overlay Standard Siemens. Thus, when Conversation CNC is considered, Standard CNC (that includes Fanuc) and Standard Siemens are more alike than different and they can be characterized by two factors: 1) they support G-codes and axes addresses to define the tool path. 2) They impose a separation between programming and operations and between the programmer and operator STANDARD MACHINING CYCLES: A set of machining cycles (like Cycle81 for drilling) prepared by Siemens and documented in a manual called Standard Cycles. Since cycles can be changed by the machine tool builder (and the final user) and the machine tool builder can add his own cycles to the cycles memory, standard cycles suggests the state of the cycles memory when the control shipped from the

840_Directory of Terms .doc

Page 64 of 80

Siemens factory. Standard machining cycles can be wrapped with user friendly parametric subroutines in which the parameters are the text descriptors that the shop uses to define the operation. STANDARD MEASURING CYCLES: A set cycles written by Siemens to do tool and workpiece measurement. STANDARD SIEMENS: Standard Siemens starts with DIN 66025. What is standard is based on practice, and many CNC workers have been conditioned by their experience with Fanuc. Fanuc, in turn, is not a radical departure from the sensibilities of CNC developments that were popular in the 60s, 70s and 80s. Some of these developments died out in the 80s and 90s, but as a whole, along with Fanuc, the sensibilities that they embody can be called Standard CNC. DIN 66025 carrier forward much of Standard CNC but it is different enough, and the resistance to change is great enough among Standard CNC users, that Siemens offers ISO Dialect to accommodate the popularity of Standard CNC. Dr. Inaba, the founder of Fanuc, in his book The Fanuc Story leaves the reader with the impression that he, Dr. Inaba, is the person who commercialized M.I.T.s 1952 invention of numerical control. While it is true that he began his development program in the 1950s and used M.I.T.s summary of their project as his guide (it was in the public domain), in reality, there was 25 years of NC/CNC development in the U.S. before Fanuc became popular. Off these developments, Acramatic is best known to Siemens CNC workers since Siemens acquired Acramatic and carried forward some of its legacy in later editions of the 840D. In addition to Acramatic, the developments that contributed to what we now call Standard CNC includes Giddings & Lewis, Kerney & Trecker, Warner & Swazey, White Westinghouse, Onsrud (Danly-Onsrud), Bendix , Allen Bradley, General Electric (before it was GE Fanuc) and more. Standard CNC is a synthesis of these developments, what was common, popular and good about them, carried forward in incremental steps of continuous improvement on a foundation of stronger and more powerful computing platforms and display devices. Fanuc absorbed Standard CNC into their own development, and given Fanucs success, Standard Fanuc is the carrier of the legacy of Standard CNC. Really, Standard CNC is what works its way into common practice. In Europe, Siemens is considered Standard and Fanuc is gauged against this. In addition to Standard Siemens and ISO Dialect, Siemens has ShopMill and ShopTurn. These are not standard CNC concepts inasmuch as they support bringing together programming, setup and operations in one person, the man or woman who otherwise is entitled machine operator. With ShopMill/ShopTurn the machine operator programs the machining operation as opposed to the tool path. He/she is assisted in doing this with a graphical interface with corresponding data input boxes. This kind of programming is sometimes called Conversational programming and the data input/display boxes are called interactive screens. ShopMill and ShopTurn are conversation CNC but as one looks underneath these CNC concepts, one sees that they overlay Standard Siemens. Thus, in contradistinction to Conversation CNC, Standard CNC (that includes Fanuc) and Standard Siemens are more alike than different and they can be characterized by two factors: 1) they support Gcodes and axes addresses to define the tool path. 2) They impose a separation between programming and operations and between the programmer and operator STANDARD TOOL: Unless you set an absolute zero for each tool as it comes due (and this has not been standard practice since roughly the late 1950s) or unless you program a G92 for each tool (and this has not been done for years either) you are using a standard tool even if you are not overtly aware of this. Tool length compensation has been standard practice for 30 years. The compensation is stored in a D-code where it is called tool length offset. This offset brings an actual tool up to the geometric standards of the standard tool. It is like a sports handicap that equalizes the playing field so there can be competition between mismatched individuals or teams. Tool length offset is the difference in length between the actual tool and the standard tool. Machine zeros and work zeros are set up relative to the tip of the standard tool. In preset tooling, the tip of the standard tool is the point marked datum on the tools setting sheet. The key to understanding machine set up is to identify the standard in use. Typically for preset tooling, a zero length standard is used. In this case, the tool length offset is the length of the tool measured from the tools datum point, and to understand this you have to see how tooling is set in the tool crib. When tooling is set on the machine using the machines own measuring systems the operator is free to pick whatever standard tool (actually a standard distance) that is convenient for the set up task. For a vertical bed mill he usually picks the distance from the spindle gauge plane (when the spindle is at its machine zero position) to the Z-

840_Directory of Terms .doc

Page 65 of 80

work=0 surface. In other words, when the Z-axis is at its machine zero position, he imagines he has a tool in the spindle whose tip touches the desired work zero plane. In this case, tool length offset for an actual tool is the air gap between the tip of the actual tool and the work zero surface. This same idea works for turning. When the X and Z-axes are at their machine zero position the operator imagines there is a tool in the turret whose tip touches work zero. See MACHINE ZERO. STOPRE: Stop Read Enable. Program blocks are prepared and stored in a FIFO buffer where they await their turn to be executed. When the CNC executes a STOPRE block it clears out the FIFO and begins preparation anew from the STOPRE block. def mcount = 1 R1=5 do while mcount <=10 g00 X=R1 R1=R1+1 mcount = mcount+1 ENDWHILE SUBBLOCK: As opposed to a main block, a sub block of the G-code program begins with an 'N' sequence number. A main block begins with a ':' sequence number. The idea of main block/sub-block is associated with a block search. Later software variants of the 840D do not support block search from main block. Please see BLOCK SEARCH. SUBMODES: Dry run, single block stop, optional stop, rapid override, and DRF are called submodes. The operational state of being of the numerical is characterized by both the mode and the submode. SUBROUTINE: Normally we think of a subroutine as a program that is called from a main program. The main program stops until the subroutine is done and then program execution returns to the main program. However, a main program can call a subroutine that can call a subroutine, etc. This is called nesting. In fact, with the 840D, a MPF can call an MPF or a SPF and vice versa. A subroutine whose call carries values to the called program is generally called a macro although in CNC, macro is more of a marketing term than a technical term. Technically, it is a procedural subroutine. A subroutine that gets values from R-parameters, GUDs or LUDs is called a parametric subroutine. Thus, we have subroutines, parametric subroutines and procedural subroutines. Siemens standard machining cycles are procedural subroutines. Siemens standard measuring cycles are parametric subroutines. For most users, these distinctions mean very little. Recurring operations beg to be done with subroutines. Drilling is an example. Suppose you have 100 holes on the X-axis starting at X=0. The holes are 0.50 apart. They are 1.25 deep into the Z=0 surface. %_N_Example01_MPF T12 M6 G00 G54 G90 X-0.5 Y0 Z1 D1 S1500 M3 M8 Drill_Hole P100 M30 %_N_Drill_Hole_SPF G00 X=IC(0.5);incremental coordinate Z0.1 G01 G60 Z-1.25 F50 G64 G00 Z0.1 RET

SUBROUTINE PARAMETERS: The variables that are defined in the PROC line of the subroutine. This is the PROC line of Cycle81: PROC CYCLE81(REAL RTP,REAL RFP,REAL SDIS,REAL DP,REAL DPR). The variables RTP, RFP, SDIS, DP and DPR are the parameters of Cycle81. SUBSTITUTION MACRO: A substitution macro is a character string that stands in for another character string. The block DEFINE RAPID AS G00 allows rapid to be used in place of G00. You program rapid and the CNC knows you mean G00.

840_Directory of Terms .doc

Page 66 of 80

Siemens provides three definition files for defining substitution macros. These so-called MAC files are %_N_SMAC_DEF, %_N_MMAC_DEF and %_N_UMAC_DEF. The S, M and U stands for Siemens, Machinery Builder and User. Substitution macros can be local and defined in the main program file. However, if a macro substitution stands in place of a G-code it has to be defined in a DEF file. All substitution macros defined in DEF files are global and common to all channels. SURFACE FEET PER MINUTE: The relative velocity of the cutting edge to the stock. For a give surface velocity in feet/minute and a workpiece or tool diameter in inches, the equation for rpm is as follows: rpms = (12*SFM)/(3.14*diameter) SUPA: This is an 840D preparatory function that suppresses all translations, rotations, scales and mirrors from machine zero. It is a single shot suppression of the cumulative translations, rotations, scales and mirrors defined in the machine coordinate system. Supa does not suppress tool offset SYMBOLIC: Pertains to symbols. An arrow can be a symbol for a linear interpolation. Similarly an arc with an arrow-head can be a symbol for a circular interpolation. SYNCHRONIZED ACTIONS: At the top of the hour the cuckoo jumps out of the clock and executes a sequence of acts. At the top of every interpolation period (2 to 10 milliseconds depending on the number of axes, CPU type, etc.) the numerical control executes a set of user defined statements known as synchronized actions. These are programmable statements (documented in the manual 6FC5297-4AD400BP1 or later edition) that are associated with preparing technology functionality for special grinding routines, laser cutting, packaging, etc. For example, suppose you want the coolant to turn on when the distance-to-go is less than 10mm. You can do this with a synchronized action WHEN $AC_DTEW<0.5 DO M07 in the block before the motion block. The 840D does not come out of its box with the functionality to do a flying cutoff but you can create this functionality with synchronized actions. Synchronized action statements are written in the workpiece application (the G-code program). They are evaluated in the interpolation cycle while the program is running. They can also be designated for evaluation even when the program is reset. SYSTEM D: Members of the Systems D CNC family. See DIGITAL CONTROL. These systems are much more recent than the 810M/810T/810N/810G. These older controls, now being called the classics belong to a different radiation in the evolution of Sinumerik CNC. Unlike System 800, System D controls are not designated with T for turning, M for milling, G for grinding or N for nibbling. The 840D/840Di/810D/802D come out of their box ready to be configured for turning, milling, etc. While the 802C and 802S are considered members of the D family although they have analog or stepper interfaces to the servo drives. SYSTEM FRAME Channel Specific: Predefined frames that are included in the frame concatenation. Preset and External Zero Offset are channel specific system frame. Oblique machining, frame rotation in tool direction (tcarr, parot), workpiece reference points, cycles and transformations are associated with a system frame. SYSTEM MACRO: A piece of code in the executive firmware of the CNC that gets executed to perform a requested function. When the operator is prompted to press OK to conclude an MDI session, the OK usually triggers a call to a piece of code to do the function that is the desired consequence of the session. In CNC, macro has come to mean a subroutine program file that does a frequently occurring operation like drilling a hole. This is a stretch on the original meaning of macro. SYSTEM VARIABLE: This is a generic term for a memory location in the operational memory of a CPU. For example, in order to manage the position of an axis the numerical control must store following error in a RAM memory location. In addition, such things as tool offsets, zero offsets, setting data and machine data are stored in RAM memory. The CL800 language comes with a large number of @-codes for reading and writing to system memories. These codes generally transfer the content of a system memory to an R-

840_Directory of Terms .doc

Page 67 of 80

parameter and vice versa. Clearly some system memories such as following error can read but not overwritten. The CNC generates data in the process of going about its business. This data can be addressed with system variables. Axis positions can be read. Tool offsets and zero offsets can be read and written. Siemens system variables are English language mnemonics or acronyms that begin with a $-sign. The literally thousands of system variables are documented in Volume II of the Programming Manual TABLE REFERENCE POINT: The center of rotation of a horizontal boring mill with a B-axis table. In setting up transformations for orientation and transformations for orientational toolholders for M and P kinematics, the vector from machine zero to the table reference point is the I2 base tool. In P kinematics (the 2nd orientation axis is carried on the B-axis table) and the machine has a W-axis that carries the B-axis table, the table reference point moves with the table. Thus, the I2 vector has to be redefined in the transformation parameters with every new position of the W-axis. TANGENTIAL: To come together without a kink. A line that blends with an arc is said to be tangential at the point where the two come together. The corner where two lines come together is not tangential. Tangential means that the slope as you approach in one direction is the same as the slope as you approach in the other direction. If there is a kink (a corner) the slopes at the point are not equal. TAPE: Tape is a throwback to the past, before the days of inexpensive RAM memory and personal computers when NC files like part programs were stored on punched tape. The program was read into the NC, a few blocks at a time, as the NC requested additional blocks during program execution. In time, control manufacturers began to incorporate large RAM memories in their NCs and the tape reader was used to read the program into this memory. Today, the personal computer has supplanted tape and the tape reader. However, the vocabulary of NC still contains references to tape, tape readers, and tape codes (ASCII and EIA character codes in punched hole format). The icons of the allegedly intuitively obvious international symbols have their origins in tape mythology. TAPPING WITH AN ENCODER: To do a tapping operation, the feedrate of the infeed axis feed must be the product of the spindle speed and the thread pitch. (Pitch is crest to crest distance. It is the advance made by the thread in one revolution.) The CNC can do inches/revolution feed when the spindle is provisioned with an encoder that is feed back to the CNC. The numerical value of the inches/revolution feed is the same as the pitch. Depending on the stability of the spindle drive velocity servo, a slip clutch tap holder may not be needed. Practice may dictate, on the other hand, that a slip clutch tap holder is required because it is inevitable that there will be transient violations in the required relationship between feed and speed. See Rigid Tapping. TAPPING WITHOUT AN ENCODER: Inches/revolution feed cannot be done when there is no spindle encoder to return actual spindle velocity to the CNC. This has to be known by the machining cycle that does tapping. The cycle has to command an inches/minute feed based on the programmed spindle speed and the pitch. Tapping without an encoder requires a slip clutch tap holder to account for the mismatches between feedrate and spindle speed that is pronounced when feedrate cannot be linked on the fly to spindle speed. T-CODE: The T-code is used to identify a tool. With the magazine option of tool management, the Tcode is the tool name (also called tool ID for tool identification). The tool name can be an alpha, alpha numeric or strictly a numeric. When it is a numeric it does not have to be delimited with quotations. T=1 Inch Drill T=19437 If you do not have Tool Management Magazine, and assuming that the machine tool builder has not implemented his own magazine scheme, then the tool ID is an integer number. In very simple automatic tool change schemes, the ID is restricted to pocket numbers. The tool that is called in the program with T1 goes in pocket 1, T2 in pocket 2, etc. Returning to T1 as a representative example of all the T<pocket number> possibilities, when the tool of pocket 1 is registered to the T/D TOA

840_Directory of Terms .doc

Page 68 of 80

(tool offset area), its name is 1. You must register the tool because when program execution reads the T1 in a block, and it does not see a tool named 1 in the TOA (tool offset area) it alarms with a message that it cannot find the tool. If you do manual tool change, you can give the tool any integer number name you want. You can do this because there is no automatic tool change routine that tries to find a pocket with this number. However, whatever number you choose, this is the name you give the tool when you register it to the T/D TOA. In order to see a D-code the 840D must first see a tool. This is a practical consequence of T/D TOA. Thus, it is not enough, if you have a manual tool change, to program a tool change with a comment in an M00 block. You have to specify a T-code with a number that exists as a tool name in the T/D TOA. TCP: See Tool Center Point Programming T/D TOA: In Standard Siemens the tool offset area (TOA) is a relational database. The operator creates a new tool record and enters tool name and duplicate number. The CNC spontaneously generates a D1 record to enter additional cutting edge data like tool length and radius. The operator creates a new D-code, D2, if there is a second cutting edge, and a D3 is there is a third, etc. To be clear, each tool defined in the T/D TOA has its own D1. Some tools could have their own D1 and D2. Form tools with many cutting edges could have D1, D2, D3, , D<many>. T/D TOA is in contrast to Standard CNC that is typically H-D Separation (an H-code for length and a Dcode for radius) and the synchronization between tool and cutting edge data is established in the part program. The opened record of a D or H code does not identify explicitly the tool that undergirds the information. If you open H37, for example, you see a number or numbers. If you search in the workpiece program for H37 and then you search back to the most recent tool change, only then can you associate the numbers in H37 with a specific tool. Thus, the idea of no synchronization means that the operator has to read the workpiece program to know where in the H-D TOA to store cutting edge data. The term structured D-code means a D-code in the T/D TOA. TEACH-IN/PLAY-BACK: Historically, teach-in/play-back implies that operations are primary over programming. The concept is that the machinist, doing what he does normally, and without any special training in automation technology, produces the program. There are some people who believe that machining in North America would have been better served with teach-in/play-back but this technology was dealt an early death by the US Air Force's preference for numerical control. The history of this struggle can be read in David Nobel's 'Forces of Production'. To the extent that teach-in/play- back still lives, it is in robot controllers. The teach-in/play-back feature of the Series 800 controllers is based on the operator's having an understanding of G-code programming fundamentals. It is anemic, but for simple mills in tool and die shops, it is worth considering. TECHNOLOGY FUNCTION: The numerical control is a real time process control computer which has been designed for the cutting tool method of metal removal. In order to be this, it must be provided with functions that are particular to stock removal. As example of such a function is constant surface velocity and inches per revolution feed (G96). This function would be called a technology function. Generally, though, we expect the term technology function to denote exotic functions associated with very specialized or very sophisticated machining. For example, numerical controls for laser cutting would have a technology function for laser power control. TO: Stands for tool offset. Tool length offset is the difference length between the actual tool and the standard tool. When the standard tool is a tool of zero length, tool offset is the actual length of the tool. TOA: Stands for tool offset area. TOFRAME / TOFROF: Aligns the Z-axis of the work coordinate system to the tool axis; that is, causes the Zwork axis to be collinear with the centerline of the spindle and pointing toward it. Cancels with TOFROF. Only active in TRAORI.

840_Directory of Terms .doc

Page 69 of 80

TOOL, AEROSPACE: The aerospace industry uses the word tool to mean a drill or end mill, etc., like we all mean it to be, but, in addition, it uses tool to mean the fixture that holds the workpiece. The workpiece might be a section of the fuselage, and thus, the tool can be quite large. Since the workpiece itself is flexible, the tool provides the rigidity so the workpiece can be machined without excessive error due to flexing. In the end, machining operations on the workpiece will be as precise as the tool. Thus, the construction and machining of the tool itself is an important piece of the aircraft manufacturing process. Normally the workpiece is mounted on the tool and the tool/workpiece combination is hoisted into the work envelope of the machine and when the workpiece is done, the combination is hoisted out of the machine. TOOL CARRIER: The typical tool carrier is a right angle attachment so that a vertical mill can do infeed operations in a line of direction that lies in the XY plane, for example, infeed in X or Y. Also known as head, attachment head and module. The 840D has a function called orientable tool carrier that spontaneously generates and applies an offset vector to the zero offset to account for the physical dimensions and orientation of the tool carrier taking tool length offset into consideration. TOOL CENTER POINT PROGRAMMING (TCP Programming). Programming the actual contour you want the tool center point to traverse. Letting the CNC apply tool geometry compensation and transformations so that the tool center point actually traverses the programmed path. Most 2 axis programs and 3-axis contours (without orientation) are TCP programs and for them, the term is basically irrelevant. It comes into play when the topic is 3-axis contouring with orientation commonly called 5-axes contouring - when the question becomes, Do I post the pivot point path or do I post the tool center point path? If your 840D is provisioned with the real time 5-axes transformation Traoir (transformation [for] orientation) you can post the tool center point path. If you do not have this option or you do not use it, then you post the pivot point path. TOOL COMPENSATION: See Tool Length Compensation. See Tool Nose Radius and Cutter Radius Compensation. TOOL FILE: A database file of tool geometry. The records of the tool file are called D-codes. TOOL HOLDER: When counterpoised to spindle : A punch machine does not have a spindle as such but nonetheless it has a tool holder to hold the tool in the essential, active mechanism of the machine. TOOL IDENTIFICATION: Same as tool id and tool identifier. The identifier is the name of the tool. The name can be an alpha-numeric character string such as T=1 inch twist drill or a strictly numeric string in which case the tool identifier is regarded as an integer (8 places) by the CNC. There can be several tools of the same identifier in the magazine. These tools will have different duplicate numbers. The tool is uniquely identified by its identifier and its duplo number. This is to say, no two or more tools can have the same identifier and duplo number. The numerical control assigns to each tool its own internal tool number. This assignment is made automatically when the tool is loaded into the magazine. The programmer programs the tool identifier. Since most programmers use a number as the identifier, from the point of view of the operator, the tool id is the numerical value of the T-word in the part program. TOOL LENGTH COMPENSATION: A function of the numerical control that accounts for the difference in length between the actual tool and the standard tool. The programmer programs each tool as if it were the standard tool and lets the CNC account for the difference in length by programming a D-code. There is no G43/G44 to turn it on and there is no G49 to turn it off. The CNC always calculates the next move taking the data of the active D-code into consideration. Thus, D0, the null D-code, is said to cancel tool length compensation when, in fact, all that is happening is that the calculation is made with numbers that are zero. Standard Siemens does not do subtractive tool offset; it does not have G44. Siemens solution to this is to orient the work coordinate system so that the infeed direction is always negative in Z.

840_Directory of Terms .doc

Page 70 of 80

TOOL LENGTH OFFSET: The difference in length between the actual tool and the standard tool. (offset = actual standard.) It is very unlikely that a Sinumerik part programmer does not use a standard tool even if he is not overtly aware of the fact. Preset tooling us usually measured against a standard of zero length. The programmer programs the standard tool and the CNC accounts of the tool length offset with the tool length compensation function. If the tool is longer than the standard the offset is positive. If it is shorter the offset is negative. If you make the offset more negative, telling the CNC that the tool is shorter than what is actually measured, the tool will go deeper into the work. TOOL MANAGEMENT: Tool Management by Siemens captures the state of the art in tool management with 1) a relational tool database with access to the underlying system variables, 2) a magazine function that memorizes the location of tools and commands their relocation (like from the magazine to the spindle and back again) while simultaneously updating its memory of tool locations, and 3) tool life monitoring for time or frequency ( but not tool breakage). Tool Management is a universal application for the machine tool builder to achieve a robust tool change solution and for the user to benefit from transparency between part programming and operations by eliminating the need to synchronize the tool file to the program. With regards to the means that under gird transparency, the key fields of the relational tool database are tool name and duplicate number. This key is the common denominator between tool management at the machine and the shops overall tool management scheme. The benefit of Siemens Tool Management would end here if it were not for the fact that T-codes are programmed with tool names (tool IDs)as opposed to pocket numbers. A program can run on any suitable machine that has a magazine provisioned with the required tools without any change in the T-codes/Dcodes or without any rearrangement of the data in the tool file. Siemens Tool Management advances CNC along its historical path which is to achieve transparency between program and machine. The old guard whose sensibilities may be challenged by this can game Tool Management to satisfy their legacy expectations by using the pocket numbers for the names of the tool. This works best with fixed pocket schemes where tool names and pocket numbers always remain the same. TOOL MANAGEMENT MAGAZINE (TMMG): Suppose your shop has 50 copies of 1 Inch Drill. The group as a whole is identified with 1 Inch Drill but each copy has a duplicate number from 1 to 50. There can be no twins, triplets, etc., that is, no individuals with the same duplicate number. Thus, tool ID plus duplicate number is a unique identifier for one and only one individual of the group. When an individual is loaded into the magazine, the operator is prompted for tool ID and duplo number. TMMG creates a unique number for the individual. This number is called the tool number. The command GETT[1 Inch Drill,13] returns the tool number of duplo 13 of I Inch Drill. However, you do not need to know the tool number since you program ID and not it. Case matters. If you program T=1 inch drill, TMMG will say, I dont find the tool. TMMG keeps a lookup table of tool ID, duplo, tool no, magazine number and pocket number. There will always be more than one magazine since the spindle, the grippers and the load stations are considered a magazine separate from the chains, wine racks, carrousels, etc. Our discussion, here, will assume there is one chain magazine, only one, no wine racks, no carrousels, etc. Suppose duplos 13, 19 and 34 of the group 1 Inch Drill are in the magazine. When the block, T=1 Inch Drill is executed, TMMG isolates onto the group members that are present in the chain. If duplo 13 has life remaining, it picks this duplo by cross referencing its unique tool number to its storage pocket and outputs the storage pocket number to the PLC for the PLC to bring the tool into position for a tool change. The M06 (usually the M06 is required) commands the PLC to actually bring the tool into the spindle (but not before it evacuates the tool currently in the spindle, obviously). If duplo 13 is used up (or otherwise tagged as disabled) the TMMG considers duplo 19 and if it is used up it considers duplo 34. By this time, however, TMMG should have given you warning that the subgroup 1 Inch Drill in your machine has only one remaining member. In the shop of our fantasy, all the machines are 840D with TMMG. Before the tool subgroup of 13, 19 and 34 is used up, the CNC has already signaled to the tool room to start preparing new tools. This is an small example of what is possible since by using T=<tool id>, all the tools in all the magazines of all the machines, in tool manual racks and in storage racks in the tool room can be part of a shop wide tool management system.

840_Directory of Terms .doc

Page 71 of 80

TOOL NOSE RADIUS COMPENSATION: A compensation function in turning which accounts for the rounding of the tool nose. Associated with G41/G42/G40. The key to tool nose radius compensation is the cutting edge position. This is a field of the D-code. The edge position is a number from 1 to 9. I you imagine a vector from the center of the tool nose circle to the cutting point on the circle, if the vector points in the 1st, 2nd, 3rd or 4th quadrant the edge position is 1, 2, 3 or 4 respectively. If the vector points +Z, +X, Z, -X the edge position is 5, 6, 7 or 8 respectively. The center point of the tool nose circle is 9. TOOL NAME: see Tool Identification. The following is a discussion concerning the circumstances when tool name, pocket number and T-code appear the same. Very low end machines with simple magazines and automatic tool change schemes would use a number as the tool name. This number is the number of the pocket where the tool is stored. In this scheme, usually the first tool of the program is T1. The second is T2, and so forth. The operator takes the first tool and puts it in pocket 1. He puts the 2nd tool in pocket 2, and so forth. This is how the magazine is synchronized with the program. The first tool may be a face mill, and it may be identified in the tool room with a special alpha-numeric character string like 3 inch face mill but once this tool is loaded into the magazine, and as long as it stays in the magazine for the job at hand, its name is 1. The tool is registered to the tool offset area (TOA) under this name. The reason the tool name as pocket number needs to be discussed is because the setting page to register the tool to the TOA explicitly asks for a tool name. The name is the pocket number for simple automatic tool change schemes. Since tool name = pocket number is hardly matters if we say your program the tool name, tool number or pocket number. It is all the same. However, the distinction between the three is critical when the Siemens tool management magazine option is in the picture. In this case we can make a distinction between tool name and pocket number and to be sure, we program the tool name. We could still program the first tool with T1 and place the first tool in pocket 1 but this would defeat the whole purpose of the tool management magazine option which is to avoid having to synchronize the tools in the magazine to the program. The programmer knows the tool by its name (same as ID), he programs the tool name T=<tool name>. see Tool Identification. TOOL NUMBER: see Tool Identification. When the tool management magazine option is employed the value of the programmed T-word is the tool name (tool ID, tool identification, tool identifier and tool name are one and the same). It could be the vender order number of the tool. It could be a text description of the tool like 1 inch drill. If it is the latter, you would program T= 1 inch drill. You probably have many 1 drills in your shop so you would have to distinguish one from another with a duplo number (duplicate number). When you load 1 inch drill into the magazine you will be prompted to key-in its name and its duplicate number. Internally, in the innards of the CNC, the 840D assigns a number to the unique combination of tool name and duplo. This tool number should be transparent to the operator and workpiece programmer. The tool name can be a numeric character string up to 8 places. For example, 1392 can be the tool name. In this case the T-code can be either T1392 or T=1392. Also, in this case, one is apt to ask, What is the tool number? One is apt to respond, 1392. This exchange, however, is talking about the tool name and not the internal tool number. When there is no shop wide universal naming system for tools, the tool name can be the pocket number where it is first loaded (and assuming the tool storage scheme is not random access) the same pocket is always reserved for this tool. In this case, the tool name and pocket number are one and the same. If the tool management magazine option is not used, the idea of a distinction between tool name and tool number does not apply. The value of the T-word has to be a number and in this case, there is no internal number that the 840D assigns to the tool. The machine tool builder can create his own tool management magazine function (and some do) and in this case, he has to explain his scheme to you. TOOL OFFSET: The difference in length between the actual tool and the standard tool. Offset (or error) in general is actual minus reference. The numerical control does both tool length offset and tool radius compensation (called tool nose radius compensation for turning and cutter radius compensation for milling). Length compensation accounts for the difference in length between the standard tool and the actual tool. Radius compensation accounts for the fact that the tool setup point is not necessarily the point of contact of the tool with the work due to the

840_Directory of Terms .doc

Page 72 of 80

radius of the tool. For example, an end mill is generally setup to the centerline of the spindle while the tool itself cuts on its circumference. TOOL, PRESELECT (Preselected Tool): When a machine has a tool magazines and exchange contrivance, the T-code commands the next tool to be brought to the tool wait station where the automatic tool change contrivance can grasp it and exchange it with the tool currently in the spindle. The M06 is the command to actually swap the tool. When the T-code is programmed long before the tool is actually required in the spindle, the tool is said to be pre-selected. Pre-selecting the next tool saves time since the tool is already at the wait station when its time comes due to be transferred to the spindle. Obviously, this requires that the motion events associated with bringing the tool to the wait station occurs simultaneously with interpolation by the path axes for stock removal. The 840D requires an active tool and not G43 to activate tool length offset. It is the M06 that signals to the tool compensation function that the pre-selected tool is the active tool. See T/D TOA. This significance of M06 is a machine data choice. The machine tool builder can choose to make the T-code the signal. This is normally the case with turning machines when the tool magazine is a turret since a turret excludes the possibility of a wait station. However, if tool are distributed over two or more turrets and the next tool is on a different turret than the one in use, tool pre-selecting could make sense. TOOL REFERENCE POINT: The point occupied by the tip of the standard tool. When the actual length of the tool is the tool length offset, the tip of the standard tool is a tool of zero length. When the machine is at its machine zero position, the tool reference point and the machine zero point are coincident. The tool reference point moves with the tool while the machine zero point is a point fixed in space. Machine coordinates are the position of the tool reference point. TOOL TIP PROGRAMMING: See Tool Center Point Programming TOOL TYPE: Turning tools are assigned tool types 1 - 9. For milling, a drill is a type 10 tool, an end mill is a type 20 and a right angle facing head is a type 30. If you do 5 axes interpolation, your tool type is 40. (The Systems D use 1-9 for turning but different numbers for milling tools.) The correct assignment of tool type is essential for the numerical control to execute the tool compensation functions to your expectation. Be very clear that the tool types 1-9 are based on how you setup the tool, not on the tools function although there is usually a relationship between the two. TOOL WEAR: Tool offset is the sum of geometry and wear. Geometry is the ideal offset of the tool, the number from the tool setting operation. If the tool does not cut a dimension to tolerance, the total offset can be changed by making a change in the wear register of the D-code. Display Machine Data 9639 determines the tool wear maximum. When set to 0.05 for example the operator cannot make the wear register of the D-code greater than this figure. Display MD 9201 and 9202 is for setting the access level (corresponding to keyswitch position) for data input/editing of the geometry and wear registers of the Dcode. Typically one would make 9201 a 4 requiring the orange key. 9202 would be left at its default state of 7. This means the operator can change wear without a key but he needs the orange key to change geometry. TORQUE, HORSE POWER & KILOWATTS: The relationship between torque and power comes up so often that it is included in this directory. When a motor turning at revolutions per minute produces torque measured in foot-lbs, then the formula for horse power is Horse Power = 2*3.1415*torque*rpms/(60*550) and Kilowatts = .7457 * HP TOUCH PROBE: A device that reacts to physical contact by switching its output signal from its quiescent state (that can be either a high or low, typically +24Vdc of 0Vdc) to its active state. Tool probes are used to measure tool geometry (for D-code data). Spindle probes are used to make workpiece measurements most often for zero offset determination. MD 13200[n], n=0,1 identifies the active edge as 0) low/high or 1) high/low.

840_Directory of Terms .doc

Page 73 of 80

The 840D is provisioned with 2 high speed inputs that are monitored for a signal transition during the time a measure blocks distance-to-go is not zero. Usually the spindle probe signal is received at input 1 and the tool probe at input 2. TRAFOF: Cancels a transformation. See Traori TRANS: System D for a programmable translation. Trans is a substituting statement. This means it cancels permanently any frame above the settable frames. In fact, TRANS, ROTE, SCALE and MIRROR are all substituting statements. If it is not your intent to start over with a programmable frame, use the additive variants of these statements (ATRANS, AROT, ASCALE, AMIRROR) TRANSFORMATION: A mathematical function in which the input is the coordinates of a point in the work coordinate system and the output is the coordinates of the same point in the machine coordinate system. Since the work coordinate system is separated from the machine coordinate system with a translation, rotation, scale and mirror (not all, always) the transformation has to account for translation, rotation, scale and mirror. TRANSLATION: A translation redefines the zero position of an axis. Most CNC operators set X, Y and Z values in the G54 setting page. Translation is the technical term for these values. Values set in the G54 setting page for rotary axes are also translations. TRANSMIT: Transmit stands for transformation milling into turning although, in practice, it seems it should be transtim for transformation turning into milling since this is what it does. It is a kinematics transformation from a rectangular coordinate system of X, Y and Z to a coordinate system of X, Z and C. A vertical turning machine with a spindle in the ram is a typical application for transmit. In other words, there are two spindles. The main spindle is the big spinning table. The workpiece is fastened to this round table and this is why the table is sometimes called the chuck. Clearly the main spindle must be capable of C-axis position control. In the old days C-axis position control was accomplished by switching between two drive trains with their own motors and mechanical linkages. One motor was the servo motor for the CNCs C-axis position control loop and the other motor was for a CNC controlled spindle drive. Today, with our all-digital servo control algorithms, it is possible to have one servo system (electronic drive, motor and mechanical linkages) function both in spinning mode and in position control mode although, for mechanical reasons, the old solution of two motors is still used for some machines. Transmit requires that machine zero be on the turning centerline. Programming Transmit in its own block turns it on. Thereafter, you can assume you have an X, Y, Z milling machine with the exception that a milling machine does not have a pole problem. Being at a pole, or crossing through a pole, is like being at the North Pole. When you are at the North Pole, every direction off of the pole is south. A pole is a called a singularity. A singularity is a point where all the normal rules break down and there are no mathematical solutions. A pole exists at the center of the main spindle. Earlier software versions of the 840D made provisions for the centerline of the ram spindle to transition this pole but as of software version 7, the program alarms when an attempt is made. TRANSPARENT: You dont see it. It is there but you do not have to be aware of it. TRANSVERSE AXIS (transverse means crosswise): Normally the X-axis of a turning machine and the Y-axis of a milling machine. The axis crosswise to the longitudinal axis. In three axis configurations, of the two axes in the plane normal to the spindle centerline, the axis of the shortest stroke. Also called plane axis. By NC-MC, an axis can be defined as a transverse axis. In this case, it can be programmed in diameter. See LONGITUDINAL. TRAORI: System D. Stands for transformation [for] orientation. Commands a 5-axes transformation. When the workpiece program (the G-code program) is a sequence of tool tip paths the CNC has to convert

840_Directory of Terms .doc

Page 74 of 80

tool tip paths into pivot point paths so that the actual tool tip actually follows the programmed tool tip path. This is what the real time 5-axis transformation Traori does. There can be two 5-axes transformations defined in the CNC. These are Traori(1) and Traori(2). Traori by itself means Traori(1). See Trafof TRAVEL TO FIXED POINT G75: Travel to fixed stop. Two positions in the machine Cartesian system can be set in machine data. Examples are the tool change position or the pallet change position. The machine data item is MD 30600 Fix_Point_Pos. A power on reset is required to make the change take. Examples: G00 G75 FP1 X=0 Y=0 commands X and Y to position to fixed position 1. G00 G75 FP2 Z=0 commands Z to position to fixed position 2 G00 G75 Z0 commands Z to position to fixed position 1. FP1 is the default when the FP word is not included in the G75 block. This is to say, if no FP the G75 blocks defaults to FP1. The manual implies that a block like G00 G75 FP1 X=0 FP2 Y=0 is possible. I have not tried it. G75 is not modal. It is a member of group 2. TRAVERSE AXIS: The X-axis of a lathe or mill. The axis that is normal to the longitudinal (long) axis. TROUBLESHOOTING: The art and science of isolating a problem. TUPLE: pronounced two-pull with the accent on the two. There is single, double, triple, quadruple, centuple, , n-tuple. A machine tool works in three-dimension space but it takes a 5-D tuple to define the position of the three linear axes and the two orientation axes for 5-axes contouring. In this regard a tuple is a vector of more than 3 dimensions. It is not much of a stretch to regard a tuple as a set of values that parameterize a procedural cycle. In this regard, a tuple is an open parenthesis followed by a sequence of numbers delimited with commas and terminated with a close parenthesis. For example, in the block N125 Cycle81(1,0,0.1,-2) the (1,0,0.1,-2) is a tuple. One of the elements of a tuple can be a matrix of values. This allows a prodigious amount of information to be passed to a cycle. Computer programmers have taken the definition of tuple to also mean a record of a non-relational data file. TURNING: A stock removal technique in which the workpiece rotates and a non-rotating tool is driven into the workpiece. A lathe is a machine that is designed primarily for turning. See MILLING. TURNING CENTER: A machine tool which does primarily turning, but which has live tooling (a spindle on the turret) for doing milling operations. From a software point of view, a turning center is made possible by the NC's ability to do transmit and cylindrical transformations. The modern spindle drive, which can function equally well as a rotary, contouring axis also makes turning centers economically attractive. Some turning centers have an Y-axis as well. TURRET: To determine if a lathe is a 'rear' or 'front' turret machine, position yourself so that when you are facing the machine, the spindle is on your left. If, when you jog the X-axis away from you, the position display becomes more positive, you have a rear turret machine. If it becomes more negative, you have a front turret machine. Notice that this definition does not require that there be a turret. It is, rather, a way of clarifying the orientation of the XZ axes. See FRONT TURRET. See REAR TURRET. The NC is always right handed irrespective of front or rear turret. A program for a front turret machine should be identical to a program for a rear turret machine. See LEFT-HANDED BLUEPRINT. TYPE: See TOOL TYPE.

840_Directory of Terms .doc

Page 75 of 80

TYPE I / TYPE II BLOCKS: Since many new 840D users are users of legacy Acramatic CNC, they should know that the ideal of Type I and Type II does not apply to Siemens CNC. The workpiece programming language, macro and G-codes, is folded into one thing. UNIDIRECTIONAL POSITIONING: The idea that the tool approach all hole positions in the same direction. In principle this means that all holes will be effected equally by the backlash in the axes; the relationship of the holes to one another will be correct but the entire hole pattern will be off by the backlash. UNSIGNED: The positive or negative sign of the number has no significance. USER: Siemens uses this word in its formal documentation to mean the machine tool builder. In the US, we normally associate 'user' with the final user. USER CYCLE: A cycle (a macro) written by a user and stored in the User Cycles directory. The benefits of storing user cycles in the user cycles directory are that they are password protected and that the arguments (the variables defined in the PROC block) are registered to the CNC with the next power on reset or NCK reset. Since parametric subroutines do not have a PROC block there is no advantage to their being stored in the user cycles folder (other than the higher level password protection than the subroutine folder). USER MACRO: see MACRO. see CYCLES USER MEMORY: See Memory V.24 or V24: An RS232C serial communications port. The V.24 stands for 24 volts. RS232C uses a voltage level to express a signal. V.24 distinguishes an RS232C port from an ASR33 communications that uses current (20mA) to express a signal. VACANT: A variable that has no value assigned to it - not even zero - is said to be a vacant. Rparameters, program user data, cycle arguments (tuple variables) and global user data are never vacant. They are assigned the value zero spontaneously by the CNC when they are defined. Thereafter they can take on any value someone assigns to them either directly or indirectly in code they prepare. When you see a comma comma in the tuple of a cycle call, this means the value that would otherwise occupy the space between the commas is omitted. This automatically maps a zero or null to the cycle variable that is associated with the place held by the commas. There is a system variable to test if a value has been omitted. So, although there is no such thing as a vacant, there is a test to determine if a value has not been explicitly assigned to a cycle parameter. VALUE: A value is assigned to a variable. If the variable is of type integer, real or Boolean the value is a number. If the variable is of type string, the value is a character string. VAR in the PROC Line: If a main program calls a cycle that in turn calls a cycle, the second cycle will not have exposure to the cycle parameters of the first cycle unless they are reasserted in the procedure line of the 2nd cycle with the VAR descriptor. For example, suppose the 2nd cycle calculates the area of the figure of the first cycle. %_N_PEN_PT_SPF PROC PEN_PT(REAL _X_DIM,REAL Y_DIM,REAL F_RATE,REAL _AREA)SAVE G500 G01 G91 X=X_DIM F=F_RATE D0 Y=Y_DIM X=-X_DIM Y=-Y_DIM AREA_CALC(X_DIM,Y_DIM,_AREA) R1=_AREA;R1 IS AN R-PARAMETER RET

840_Directory of Terms .doc

Page 76 of 80

%_N_AREA_CALC_SPF PROCEDURE AREA_CALC(REAL X_DIM, REAL Y_DIM, VAR REAL _AREA) _AREA=X_DIM*Y_DIM RET VDI: A German standards organization. The interface signals between the NC and PLC are established by VDI standards and thus these signals are sometimes called the VDI. VELOCITY OVERLAY by Handwheel Pulses: Allows the operator to use the manual pulse generator (the handwheel) to modify the feedrate of an axis in motion in AUTOmatic or MDI-AUTO. VIRTUAL AXIS: Imagine the origin of the work coordinate system is at machine zero and the axes of the work coordinate system are collinear with the machine axes, X with XM, Y with YM and Z with ZM. The machine axes are the real, servo axes with ball screws and ball nuts, etc. Suppose we can rotate the work coordinate system around the Z-axis. Suppose we rotate 45 degrees counter clockwise. Now we have an X-work axis that is not collinear with a real, servo axis. Suppose we want to interpolate from X7 to X3 on this axis. We can do this. We program X but the actual motion is carrier out by XM and YM. When this is the case, some people call the X-axis a virtual axis. By this definition, any linear axis that is not collinear or parallel with a real, servo axis is a virtual axis. This concept of virtual axis is folded into Siemens definition of frame. See Frame We know that circular interpolation in a plane requires two axes and lets suppose that these two axes are servo axes. If somehow the second servo axis were disabled without the CNC stopping with an alarm, then the axis that remains in motion will follow a sinusoidal distribution. If, if fact, you need a sinusoidal distribution (and this is needed in grinding), the control will allow the machine to builder to commission of the axes as a virtual axis. It is there for internal calculations but there is no physical axis. WORD (with respect to NC): A word of the G-code language is an address followed by a numerical value. For example, X15 is a coordinate word. X is the address and 15 is the numerical value. See Extended Address WORD ADDRESS: Another way of talking about G-code programming. See Word. A NC motion control program is made up of lines (also called blocks), each line being made up of words. Many control vendors use the term 'word address' when discussing the format of a word. WORKPIECE: Normally we think of the blank in the fixture as the workpiece. It is, after all, the principle object of attention of the machine tool, the essential reason for the existence of the machine. In essence, the workpiece is the memory of the numerically directed interpolation of the cutting tool. See Workpiece Directory WORKPIECE COORDINATE SYSTEM: A control zero point taken at the point on the work that corresponds to the point on the blueprint that acted as the coordinate origin for coordinate words in the part program. See WORK ZERO. When the position actual value display is in the workpiece coordinate system, the position displayed is the position of the actual tool tip or peripheral cutting point since tool length and cutter radius compensation are considered. When the CNC has completed the distance-to-go for a particular block, the workpiece actual value display will show the programmed values. This is normally what the operator wants to see. The Systems D provide a button to switch the display between work and machine position display. WORKPIECE DIRECTORY: In order to machine the blank, one needs main program files, subroutine program files, tool offset files, zero offset files, setting data files, R-parameter files and maybe even specialized machine data files. All of these files, which together determine the result of the focus of the machine on the blank, are associated with the word 'workpiece'. All of these files can be stored in a directory of the hard disk of the MMC (the integrated personal computer). In the Siemens scheme of things, the 'workpiece' and the 'directory' are the same thing. When Siemens uses the word 'workpiece' in relation to the 840C/D, Siemens is talking first and foremost about the directory on the hard drive wherein

840_Directory of Terms .doc

Page 77 of 80

the files (i.e., programs) to machine a particular blank are stored. The idea is that the files for each separate job are stored in its own directory (that is, 'workpiece') on the hard drive. The directory name, which is a standard DOS/Windows directory name, is expected to be similar to the name of the finished part. been defined, it shows the position in the coordinate system of machine zero. On some software, this bit can be set/reset from a dialog box. WORKPIECE COUNTER: Described in the Programming Guide: Advanced. There are four counters: Required Parts, Actual Parts, Total Parts and Special Parts. WORKPIECE PROGRAM: See Workpiece Directory. The selected program and the nested subroutine files with the exclusion of cycles from the cycles directories. The collection of files prepared by the workpiece programmer explicitly to machine the workpiece. WORKPIECE RELATED ACTUAL VALUE SYSTEM: See Workpiece Coordinate System. WORK ZERO: A program zero that establishes the link between the work (blank) and the blueprint. See Program Zero. Typically work zero is a settable zero shift to a point on the work (such as a preset or settable zero offset). This point corresponds to a point on the blueprint that is the origin of a coordinate system which itself is not a programmable translation (G58 or TRANS) from another blueprint origin. Normally programmed coordinate words are in the work zero system, but when coordinate words are in a system that is a translation from work zero we have to make a distinction between work zero and program zero. Work zero is always a program zero but program zero is not always work zero. WRAPPER: A subroutine that is designed to make the call command to a Siemens machining cycle obvious to a CNC worker who brings knowledge of another venders canned cycles to his Siemens work. Or otherwise, he might bring common sense knowledge derived from contemporary cultural sensibilities. A Fanuc flavored wrapper for Cycle81 results in a call command that is spontaneously understood by a CNC worker whose knowledge of CNC has been conditioned by his Fanuc experience. The idea of the wrapper is to change something regarding the call and execution of a standard Siemens machining cycle without changing the cycle itself. The following is a wrapper for Cycle81 that has been flavored by the preferences of the author and not necessarily by his Fanuc experience. %_N_mCycle81_SPF ;$PATH=/_N_CMA_DIR PROC mCycle81(real retract, real surface, real clearance, real final_depth, real drill_rate) save displof DEF real pro_f_rate pro_f_rate=$p_f; system variable for the active feedrate IF NOT (drill_rate<=0) F=drill_rate Endif ; ********************************************** ;Drill a zero depth hole if Surface and Final_Depth are equal Because Cycle81 does not IF NOT (final_depth== surface) GOTOF MM1 do a zero depth hole as G00 G64 G90 Z=surface+clearance might be required to spot G01 G60 Z=final_depth mill a pad. G00 G64 Z=retract GOTOF MM2 ;*********************************************** MM1:cycle81(retract,surface,clearance,final_depth) MM2:F=pro_f_rate RET And the following is a call to this wrapper. %_N_Drill_Two_Holes_MPF

840_Directory of Terms .doc

Page 78 of 80

N0002 Def real retract, surface, clearance, final_depth, drill_rate . N1492 G00 X __ Y __ N1494 Retract=1 Surface=0 Clearance=0.1 Final_Depth=-2 Drill_Rate=25 N1496 Mcall mCycle81(retract, surface, clearance, final_depth, drill_rate) N1498 X<1st hole> Y<1st hole> N1500 X<2nd hole> Y<2nd hole> N1502 X<3rd hole> Y<3rd hole> N1504 G80 G81 can be defined as a substitution macro for block N1496, and in this case, the block would be simply N1496 G81. XY PLANE: The geometrical plane formed by the X and Y-axes. WZ AXIS TRACKING: A feature of the G&L 8000 CNC that internally reworks the work zero offset when W or Z are moved (in the part program) so that the CNC knows the relationship of the tool tip to the work at all times. When machining requires switching between the W-servo and the Z-servo of a horizontal boring mill, the 840D proffers GEOAX(3,W) to switch to the W-axis and GEOAX( ) to cancel back to the Z-axis. See GEOAX. The G&L WZ Axis Tracking solves a multitude of geometry problems associated with parallel axes including what 840D workers call split axes. See Split Axes ZERO OFFSET: An arrow that starts at the origin of the machine coordinate system and ends at the origin of the work coordinate system. The arrow is often the vector sum of a sequence of arrows where the 2nd arrow starts at the tip of the first arrow, the 3rd at the tip of the second, etc. These arrows have names like base offset, settable zero offset (G54) and programmable zero offset. Each of these arrows, in turn, can be the vector sum of arrows. For example, G54 is the sum of coarse and fine. The arrow is a mathematical object called a vector. It is a vector that we call a translation. Zero offset is a translation from machine zero to work zero. See Settable Zero Offset ZERO OFFSET COARSE: A record of the settable zero offset contains a field called 'coarse' and a field called 'fine'. For a given axis, its settable zero offset is the sum of the coarse and fine fields. Normally the operator sets the coarse field only. The idea of the fine is that the operator can make corrections to the settable zero offset based on actual measurements of machine dimensions in the fine fields and leave the coarse alone. In practice, the fine component is used (if at all) with the measuring cycles. ZERO OFFSET FINE: The settable zero offset is made up of a coarse and fine component. With a machine data setting, the coarse component can be edit protected with the key lock switch. The fine can be changed so the operator can do corrections. The fine register can be turned off. This is done with General MD 18600. This MD defaults to 1 so that the normal state is for the fine to be available. Do not change MD18600 unless you know how to make and restore a backup because a change in this MD will cause the CNC to reformat the user memory with the next power on. ZERO OFFSET EXTERNAL: See EXTERNAL ZERO OFFSET. ZERO RETURN: Most controls that are commercially available today allow the machine zero position to be different from the machine reference position. This was not the case of earlier controls when the reference and machine positions were the same. In this case, to zero return the machine was the same as returning the machine to its reference position. The term zero return continues to mean reference return even when the machine zero position is not the reference position. See REFERENCE POINT RETURN and HOME.

840_Directory of Terms .doc

Page 79 of 80

ZERO SPEED MONITORING: See Clamp Monitoring. The word clamp monitoring was never very descriptive of the NC monitor which looks at the following error when the axis is at zero speed. If the following error exceeds a value set in machine data, the NC displays an alarm. ZERO SUPPRESSION: See Leading Zero Suppression.

840_Directory of Terms .doc

Page 80 of 80

You might also like