0% found this document useful (0 votes)
312 views

Sinumerik 1

This document defines terms related to Sinumerik CNC systems. It provides definitions for file headers, macros, specific CNC models, coordinate systems, and other programming terms. Key terms defined include %_N_xxxxx_MPF and %_N_xxxxx_SPF for main program and subroutine file headers, and descriptions of specific CNC controls like the 802D, 810D, and 840D. The document is intended to help CNC operators and programmers understand Sinumerik terminology.

Uploaded by

Viktor Želić
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
312 views

Sinumerik 1

This document defines terms related to Sinumerik CNC systems. It provides definitions for file headers, macros, specific CNC models, coordinate systems, and other programming terms. Key terms defined include %_N_xxxxx_MPF and %_N_xxxxx_SPF for main program and subroutine file headers, and descriptions of specific CNC controls like the 802D, 810D, and 840D. The document is intended to help CNC operators and programmers understand Sinumerik terminology.

Uploaded by

Viktor Želić
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 58

Directory of Terms for Sinumerik Users: APPENDIX IV

prepared by [email protected]

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). The directory defines its words
and terms in relation to a milling machine. The reader is left to understand how the explanations
apply to turning.
This 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.

%_N_xxxxx_MPF: File header for System ‘D’ main program files (MPF). Siemens makes a distinction
between main program files (MPF) and subroutine program files (SPF). Normally, the operator expects to
select a main program file for Cycle Start execution - the workpiece program if you will - and within this
file there are usually calls to subroutine files like Cycle81 for drilling a hole.
The ‘xxxxxx’ of %_N_xxxxx_MPF stands for the program name. My_First_Program is the program
name of the file header %_N_My_First_Program_MPF.
Program names must start with two alphas or an underscore and an alpha. _O1942 is a valid program
name. O1942 is not. Every rule has its exceptions, though, and L6 or L<a number> is OK. The “L” is for
legacy with earlier Siemens CNC.
The system variable $p_prog[0] returns the name of the program on program level 0.

%_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.
There are three types of subroutine files. Procedural subroutine files receive variable values from the call
block. The standard machining cycle (canned cycle) for drilling is Cycle81 and this cycle is a procedure
subroutine. Procedure simply means that you find a PROC statement at the beginning of the subroutine
where the subroutine parameters are defined as local variables. As you might imagine, the variables for
Cycle81 are retract plane, drilling surface, clearance and final_depth.
The measuring cycles are not procedure subroutines since they read/write values from/to so-called global
variables (GUD stands for global user data). GUDs are variables that are permanent in the memory of the
real time kernel. Power down and power up and they are still “there” with the values they had before
powering down. Press reset and they are “there” with their values. Cycles that read/write GUDs are called
parametric subroutines to distinguish them from procedural cycles that are parameterized in the call block.
Finally there are subroutines that do not read/write variable information.
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 %_N_Drill_Hole_SPF
T12 M6 G00 X=IC(0.5);incremental coordinate
G00 G54 G90 X-0.5 Y0 Z0.1
Z1 D1 S1500 M3 M8 G01 Z-1.25 F50
Drill_Hole P100 G04 F.5
M30 G00 Z0.1
RET
%_N_MMAC_DEF: A MAC file. A macro definition file for macro substitutions created by the
machinery builder. See Substitution Macro.

%_N_SMAC_DEF: A MAC file. A macro definition file for macro substitutions created by Siemens. See
Substitution Macro.

%_N_UMAC_DEF: A MAC file. A macro definition file for macro substitutions created by the final
user. See Substitution Macro.

802C: An exceptionally 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. Being sold as a do-it-yourself retrofit
control in the U.S.

802S: Same as 802C but with interface to stepper drive.

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 and weak communications functionality (RS232 for file transfer).
No floppy drive or physical device for file transfer. 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 CNCs to be expressed
from the 840D development project that started in the early 1990’s. The 802D SL addresses many of the
shortcomings of the 1st generation 802D especially regarding networking. It comes with Ethernet standard
for networking.

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
CCU3 does 5-axes interpolation but not the TRAORI 5-axes transformation. 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
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.

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.

840_Directory of Terms .doc Page 2 of 58


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

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 X is abscissa Y is ordinate Z is applicate


G18 Z is abscissa X is ordinate Y is applicate
G19 Y is abscissa Z is ordinate 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: People using this word today probably mean work zero.

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. 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.

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.

840_Directory of Terms .doc Page 3 of 58


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.

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: The 840D, 840Di, 810D and 802D do not interface directly with old servo drive systems that
receive a +/-10Vdc velocity command and return TTL signals from an encoder. Siemens’ reasoning for
this is that when you buy a CNC from Siemens you have to also buy new drives and motors. Makes sense.
More business for Siemens. Not necessarily. It eliminates Sinumerik as a retrofit control when the retrofit
concept retains the old drives and motors. It also eliminates Sinumerik when the machine concept does not
require the high performance (and the commensurate high price) of Siemens drives and motors. So
Siemens developed the ADI4 to provide an interface to the old technology. The “4” stands for 4 axes. The
ADI4 is a Profibus to analog converter. Allows old drives that require an analog velocity command signal
to be used with CNC’s whose drive interface is Profibus. Signal range is +/- 10Vdc. The ADI4 receives
TTL encoder feedback. Please note that the ADI4 does not work with the 840D or 810D. See 802D and
840Di that tend to be the controls of choice for retrofit. As an aside: The 802C is a bare bones, low end 3-
axis CNC that outputs analog and receives TTL. We tend not to promote the 802C as a retrofit control
because the time to take one phone call from a customer eats up our profit margin.

APPLICATE: The third axis of a right hand coordinate system. See ABSCISSA.

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: 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 50 years ago.

ARCHIVE: An electronic backup of a file or files. The backup is given the ARC extension by the CNC.

ARGUMENT: Carries the value of a local variable defined in the calling program to a local variable of the
subroutine defined in the subroutine’s PROC statement.

%_N_<program name>_MPF
N005 DEF real retract, surface, clearance, final_depth

840_Directory of Terms .doc Page 4 of 58


.
N400 retract=1, surface=0 clearance=0.1 final_depth=-2
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

In this example, the local variables retract, etc., are used as arguments to carry numbers to RTP, RFP, SDIS
and DP that are local variables of Cycle81 defined in Cycle81’s PROC line.
In Fanuc call commands, the X, Y, Z, R, Q and F are arguments.

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.

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
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.

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 programmer’s
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. The driving element reverses and travels
some distance before the driven element reverses. This “some distance” is the backlash.

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

BASIC SYSTEM / 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.
The transformation from the basic system to the machine system is called a kinematics transformation.

840_Directory of Terms .doc Page 5 of 58


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.

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 unless it is the target of a block search or jump command.

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. 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.

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 pre
CAD 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

840_Directory of Terms .doc Page 6 of 58


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.

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.

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.

CAD or CAGD: Computer aided design; computer aided drafting. Or, computer aided graphical 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 CAD’s 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.

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.

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.

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.

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
cell’s 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

840_Directory of Terms .doc Page 7 of 58


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 1980’s 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
System 880, did 16 channels. Today’s 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 then 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.

CLEAR DISTANCE TO GO: See DISTANCE TO GO

840_Directory of Terms .doc Page 8 of 58


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: ‘C’omputer ‘N’umerical ‘C’ontrol. By the numbers tool path automation accomplished with
software and computer circuits. See NUMERICAL CONTROL, CNC CONCEPT, CNC HISTORY, CNC SOLTUON.
The controller for numerically directed interpolation of a cutting tool in the work envelope of a machine
tool.

CNC CONCEPT: The separation of programming from operations. The program is not, repeat, not
produced as a byproduct of machining the first workpiece. Rather the program must be produced before
the workpiece can be machines. The M.I.T./Air Force CNC 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 as reaching, grasping
and transferring motor functions.
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 primarily on geometry,
2. the management of the essential process or processes carried on the CNC motion platform,
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.
CNC’s 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 doesn’t 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 9 of 58


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 M-
code 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 be with the negative consequence that commissioning is more complicated. Fortunately,
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 CAD’s 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.

COMPCURVE: 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.

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 840D’s 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.

CONCEPT, as in "THE NC CONCEPT": By-the-numbers interpolation of a tool path based on the


separation of programming from operations. This is to say, the numbers are specified in a program and not
in the process of machining the first part. The NC concept is a vocabulary contrivance to distinguish CNC

840_Directory of Terms .doc Page 10 of 58


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 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 SURFACE VELOCITY: Same as surface feet per minute or surface meters per minute.
See surface feet per minute.

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 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 the feedrate at corners to stay within the
dynamical limits of the machine unless the feedrate is very low to begin with. However, normally we drive
the straight-aways at a much higher velocity that we can take the turns and the same is true of CNC. 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. You’ve 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 on the contour
element to begin to blend onto the next contour element.
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.

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

840_Directory of Terms .doc Page 11 of 58


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
offered that positioned in 1-space (in 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 L95 and L96 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 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, the workpiece program is a sequence of blocks where each block is the coordinate of a
point in the work envelope of the machine. The CNC directs the cutting tool to interpolate these points. 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

840_Directory of Terms .doc Page 12 of 58


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.

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)
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.
Rolling mill people - people in the grind shops of steel mills, for example - refer to a worn mill roll as a
crashed roll.

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.

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 tool such as a grooving tool has two cutting edges. If this tool is used to contour on
both edges, then the tool offset of each edge must be found and stored in D-codes. Actually, for a grooving
tool, you need only find the left edge (assuming a rear turret turning machine) and the right hand side is less
in Z by the insert width. Form tools used in stock removal in drilling can have many cutting edges.

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
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 in 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: 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 Fanuc’s User
Macro. Cycles language statements can be used in main program files and subroutine program files.

840_Directory of Terms .doc Page 13 of 58


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 Fanuc’s 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 PROGRAMMING: To create a workpiece program as a sequence of cycle calls.

CYCLES SUPPORT: Figures and fillin screens to assist the CNC machinist in assigning values to cycle
variables. An interactive HMI screen with graphical support for assigning values to the arguments 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.

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

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.

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 CL800
statements 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 CONTROL: A historical term that distinguished a CNC that output an analog velocity setpoint
to the drive versus later technology wherein the interface to the drive was digital. In the future the interface
will be Ethernet so servo drives can be located long distances from the numerical control.

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

840_Directory of Terms .doc Page 14 of 58


(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 “C”NC.
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
kernel’s 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.

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
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.

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 CNC’s 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. The word can also mean the entire servo actuator
including the electronic package, the motor and the mechanical drive elements.

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

840_Directory of Terms .doc Page 15 of 58


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

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 file of a tool has expired, the tool life management function
seeks out the next sister tool in the order of the duplo numbers. Please be cautioned, the duplo number may
be requested with a 'D' prompt. Some people confuse this for the D-code, the record in the tool offset file
which is associated with the tool. It is not. The D-code is automatically assigned to the tool by the tool life
management function.

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.

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. Today’s 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 a 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.

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.

840_Directory of Terms .doc Page 16 of 58


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.
MD 10600: Frame_Angle_Input_Mode=2 for Euler Angles. =1 for RPY.

EXACT STOP CHECK: 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.

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
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 ZERO OFFSET: A zero offset component that is set by the PLC. Almost never used.

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.

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 feedgroup 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 feedgroup. In 5-axis machining, the feedgroup is X, Y and Z while
the rotary axes are positioned. See Positioning Axis.

840_Directory of Terms .doc Page 17 of 58


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
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.

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.

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. The significance of 'file' in today’s machining environment is
that System 800 files - like part programs - can be downloaded to DOS files in your personal computer.

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 IN-
POSITION.

FIVE AXES INTERPOLATION: Literally, it means to interpolate a curve in 5 dimensions. Typically


three dimensions are linear dimensions and two dimensions are rotary. The rotary dimensions are the tool
orientation. When all five axes are in the feedgroup it is necessary to program the feedrate in inverse time.
Inverse time specifies the time to do the interpolation. This prevents rapid swings of the rotary axes.
The 840D does 5-axes contouring with a feedgroup of X, Y and Z. The orientation axes are not part of
the feedgroup. They are synchronous positioning axes. This kind of 3-axis interpolation plus 2-axes
synchronous positioning allows the feedrate to be programmed in inches/minute. .

FIVE AXES TRANSFORMATION: Will transform workpiece geometry into tool path setpoints. With
5-axes transformations, you program the workpiece and let the CNC find the tool path.

FIXTURE OFFSET: Same as settable zero offset. See SETTABLE ZERO OFFSET.

FM-NC: Stands for Function Module NC. A discontinued member of the System “D” family although its
servo interface is analog with TTL feedback. A CNC function module in the Simatic PLC rack.
FOLLOWING DISTANCE: The following error times the PCR_unit.

840_Directory of Terms .doc Page 18 of 58


FOLLOWING ERROR: 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 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.

FRAMES: A frame is a mathematical function that transformations the rectangular coordinates of a point
into coordinates in another coordinate system (usually also rectangular). CNC workers do not work with
the mathematical function directly but rather provide the information that the function needs to transform a
particular set of points. Thus, G54 is a frame. With G54 we tell the numerical control the location of the
origin of the work coordinate system and any rotations, scales and/or mirrors relative to the machine
coordinate system.
The mathematical relationship of the work triad of X, Y and Z (the abscissa, applicate and ordinate) to the
machine coordinate system due to zero offset. The offset is made up of translations, rotations, scales and
mirrors. For people who are mathematics averse, a frame is the work coordinate system. G54 is a
predefined frame variable supported by the HMI for operator input of values. In practice, a frame is
usually the concatenation of a settable zero offset (like G54) and a programmable zero offset. The terms
TRANS, ROT, SCALE, and MIRROR are programmable frames. The terms ATRAN, AROT, ASCALE
and AMIRROR are additive programmable frame statements. There is no limit to the number of additive
statements.
The Cycles Language (comparable to User Macro B) supports a variable of type frame. The currently
active frame (the frame whose origin is work zero) is a system variable that can be read and written.
The optional STORE command in the argument-defining block of a procedural subroutine stores the
currently active frame as well as the modal G-code set. Upon exit of the subroutine, the stored frame is
automatically restored as the active frame. (The stored modal G-code set is also restored.) Thus, one can
switch to a different settable zero offset in the subroutine or/and manipulate the currently active frame with
programmable frame statements and know that these changes will vanish automatically when program
execution returns to the calling program.
Frames are an organized, methodical means to deal with fixed (absolute) coordinate systems that can
also accommodate moving (incremental) coordinate systems and incremental specification of coordinates
in fixed systems. It is a testament to the to the power of enabling technology proffered by the personal
computing phenomenon that CNC can finally manage Cartesian coordinate system the way Descartes
imagined in the 17th century.

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'

840_Directory of Terms .doc Page 19 of 58


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.

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.

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.

G43, G44, G49: Not with Siemens. Siemens is always ready to do additive tool length compensation. All
you have to do is program the D-code. 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 subtractive tool length compensation.
Tool length compensation is canceled with D0. (There is an H-code in Siemens but not for radius
compensation. The same D-code that does length compensation does radius compensation but still, you
have to program the G41/G42 same as Fanuc. G40 Cancels.)

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 don’t 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

A long time ago a builder who did not like people very much built a stupid little house. A
family man had to buy the house because it was the only house he could find that was close to
work, school, etc. The man made improvements on the house but his improvements simply
expanded on the idiocy of the original structure. Eventually the man sold the house to another
man who carried on the idiocy by adding a second level, a deck and more. After him, another
idiot added to the nonsense, and another until the house was acquired by a developer who
proposed to tare it down and rebuild a house of contemporary sensibilities that would meet the
needs of its people for years to come. “Oh my,” a neighbor rose up in arms, “you can’t do
that, you’ll destroy the beautiful G58” And “Oh, my,” someone else said, “what will happen
to the G59?” So the developer included in the design of his new house some of the idiocy of
the old house for those who could not transform themselves into modern sensibilities of
forward leaning tendencies.

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

840_Directory of Terms .doc Page 20 of 58


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.

G92: (G50 in standard G-codes) see PROGRAMMABLE POSITION REGISTER PRESET

G and M Programming: With the proliferation of conversational and interactive programming, many
control vendors emphasize that their controls can still be programmed in the G-code language.

GAGE: See Gauge. Dictionaries prefer gauge and not gage.

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.

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.

GEOMETRY AXES: An axis of the geometry frame. See Geometry Frame. The three axes that make up
the right hand rectangular frame that can be translated, rotated, scaled and mirrored. The axes of
G17/G18/G19. If your applications does not do tool length compensation, tool radius compensation or use
the standard Siemens machining cycles like Cycle81, the machine tool builder may not have defined
geometry axes. In this case you program the channel axis addresses (that may or may not have an X, Y, Z
address). See Machine Axes. See Channel Axes.

GEOMETRY FRAME: A geometry frame has to be defined if G17/G18/G19 are to have any 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 to identify 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. If the 3rd axis
of the geometry frame is addressed with “z” as is its default, its mapping to a physical axis that is not the
servo addressed with “Z” does not matter. It could mapped to the physical servo that is addressed with W
but it is still programmed as “z”.

840_Directory of Terms .doc Page 21 of 58


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 point’s 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 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.

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. Arguments are not global. However,
there is a way to chain arguments up and down a sequence of nested subroutines.

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.
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.

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

840_Directory of Terms .doc Page 22 of 58


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: 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. Please be aware, Siemens does not use the H-code for tool length
compensation. Siemens uses the D-code for both tool length and radius compensation.

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.

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 life management, the ID number is the T-code. See DUPLO NUMBER.

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>

840_Directory of Terms .doc Page 23 of 58


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 tool’s 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.
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 1950’s and 1960’s 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 doesn’t 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.

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: The cutting tool of a CNC machine interpolates a path in the space of the work
envelope of the machine. Interpolation means to traverse a path under certain velocity constraints that

840_Directory of Terms .doc Page 24 of 58


satisfies a set of geometric conditions. Ideally the traverse will be 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.
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.

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 directory’s files that are loaded as a
consequence of the job list file itself being loaded. The following is an example. For more information see
the article Folders for Program Storage.
.
%_N_Engine01_OP01_JOB
;$PATH=/_N_WKS_DIR/_N_ENGINE01_WPD
Load Engine01_OP01.mpf
Load Engine01_Sub01.spf
Load Engine01_Sub02.spf
Load Engine01_OP01.ufr
Load Engine01_OP01.toa

840_Directory of Terms .doc Page 25 of 58


Select Engine01_OP1.mpf

The job list is not terminated with an M-code. It simply ends with the last statement.

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.

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 “C”NC.
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 kernel’s
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, of
course.

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 Access level 7 (keyswitch position 0)


Black key Access level 6 (keyswitch position 1)
Green key Access level 5 (keyswitch position 2)
Orange key 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 X-
axis 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?”
A college professor might 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. For
example, 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 5-
axis 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.

KINEMATICS TRANSFORMATION: A transformation from a Cartesian coordinate system to a non-


Cartesian 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

840_Directory of Terms .doc Page 26 of 58


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 label’s
chief advantage is the program can be renumbered but the labels stay intact. In the following example,
NOT_OK and A_OK are labels. Notice that a label is delimited with a colon.
.
N125 NOT_OK: 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 NOT_OK
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.

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
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.

840_Directory of Terms .doc Page 27 of 58


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.
Not all linear scales are linear encoders.

LINEARLY INTERPOLATING THE POLYGONAL APPROXIMATION: Same as linear block


programming.

LOCAL USER DATA (LUD): Using the DEF statement at the beginning of the program, you can define a
set of variables to be used in the program. These variables are read/write only in the program wherein they
are defined. They will not been seen in subroutines called from the program. If they are defined in a
subroutine, they will not be seen in the program that called the subroutine. When the LUD is defined in the
program that is selected for execution, when this program is reset either by manual reset or it reaches the
M02/M30, the LUD ceases to exist. When the LUD is defined in a subroutine, it ceases to exist when the
subroutine gets to an end of subroutine marker (one of M17, M02, M30 or RET). 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. See Program User Data (PUD).
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
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.

840_Directory of Terms .doc Page 28 of 58


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
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 servos that carry out numerically directed positioning and numerically directed
interpolation. See Servo.
The machine axes are associated with a drive, motor and mechanical elements. A machine axis is strictly
a physical concept as opposed to channel axes that can be both physical and mathematical and geometry
axes that are strictly mathematical axes. To be clear, a mathematical axis is not associated with its own
servo. It depends on the servos of machine axes. Program GEOAX(3,W1) and the z-geometry axis
displacement of the part program will be carried out by the servo whose address is W1.

840_Directory of Terms .doc Page 29 of 58


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 whose linear axes are collinear with the
linear axes of the machine and whose rotary axes are collinear with the rotary axes of the machine.
Typically the linear axes are parallel or orthogonal and the rotary axes (the axes of rotation) are collinear
with linear axis. In this case there is no need to discuss the basic coordinate system since it has no separate
identity apart from the machine coordinate system. Otherwise, the basic coordinate system is a kinematics
transformation. See basic coordinate 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

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.

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.

840_Directory of Terms .doc Page 30 of 58


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: 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.

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 programmer’s 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 machine’s magazines. Maybe it is too long. Whatever. It is still registered to tool

840_Directory of Terms .doc Page 31 of 58


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, I’ll 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.

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
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.

MD: Stands for machine data. See MACHINE DATA.

MDA: Manual Data Automatic. The MDI-AUTOmatic operating mode of the numerical control. CNC
blocks (NC data) can be commanded interactively in this mode. It is possible to MDA more than one
block and it is possible to MDA a subroutine. Switching from AUTOmatic to MDA-AUTOmatic resets the
program. Thus, Siemens provides OVERSTORE to interrupt the program so the operator can interactively
command NC data. See MDI. See INTERACTIVE. See OVERSTORE.

840_Directory of Terms .doc Page 32 of 58


MDI: Manual Data Input. Refers to the inputting of operational data by the operator at the machine side.
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 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. NC’s 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. Weren’t 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 NC’s 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 don’t ask any more. We accept that it always is a millimeter value.

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.

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.

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

840_Directory of Terms .doc Page 33 of 58


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.

MMC: Man Machine Controller. Siemens uses this term, generally, to denote the interface between the
integrated personal computer and the operator. More recently, 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.

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
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 System 880 GA1 can have 8 mode groups.

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. See the article Rotary Axes & Modulo Conversion.

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: Numerical Control. Numerical control is a technology that transforms a machine tool into a
positioning servo that interpolates a path (from geometric data encoded in numbers) in the physical space
constrained by the stroke limits of the individual positioning servos. The transformation of geometric
information into position setpoints is done with computer circuits and software. Thus, the first “C” of CNC

840_Directory of Terms .doc Page 34 of 58


- for computer numerical control - distinguishes CNC from its precursor, NC, that issued position setpoints
from hard wired circuitry, and while NC was digital, was not computer in the modern sense of the term.

NC CHANNEL: See CHANNEL.

NC CONCEPT:

NC DATA: One or more blocks of a G-code program, subroutine or cycle.

NC’K’/NC KERNEL: See KERNEL

NC-MD: Stands for NC Machine Data.

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.

NC STOP: Causes execution of the program (or MDI blocks) to stop execution at the current block without
completing the distance to go. Interrupts program execution but does not reset the program. Press NC
Start to commence execution.

NCU: Numerical control unit. The physical module of the 840D that fits in the servo drive rack and does
the essential real time CNC functions of interpretation, preparation, interpolation and position control.

NORMAL: A line that is perpendicular to a plane. Example, the Z-axis is normal to the XY plane

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 of
CAD design of a workpiece.
Nurbs is the geometry of CAD (computer aided [geometric] design). The designer does not need to know
explicitly that as he designs, a nurbs algorithm is running in the background to interpolate the curve and/or
surface he sees on the screen of his workstation. His design is stored in 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 curve/surface 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 .
NC is the precursor to CNC. In 1952 the Massachusetts Institute of Technology began public
demonstrations of their invention of tool path automation based on a technique that linearly interpolated
points. The points were encoded on paper tape with numbers (rectangular coordinates). Each 3-number set
was called a ‘block’. The numbers of a block were the orthogonal displacements from the previous point,
what is called incremental programming today.
An example of tool path automation that is not by-the-numbers has a light beam follow a curve on a
blueprint and send command pulses to servo systems that drives machining axes. This technique never
achieved widespread commercial success although it was especially suitable for machining templates and
gauges from mechanical drawings. 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

840_Directory of Terms .doc Page 35 of 58


program in the rectangular frame in either rectangular coordinates or radius vectors and the NC cuts your
workpiece with oblique servo axes.

OFFSET: See TOOL OFFSET. The difference between an actual value and a reference value.

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
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 whole and the
hole’s 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. If a projectile is shot from a gun, we can find equations that give its horizontal and
vertical positions as a function of time. These are the parametric equations of its path.

840_Directory of Terms .doc Page 36 of 58


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
y’s 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.

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 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 AXIS: 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.

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

PLANE AXIS: Usually the X-axis of a turning machine. When an axis is designated as ‘plane’, it is
eligible for diameter programming. It is displayed in diameter and its offsets are set in diameter. See
TRAVERSE AXIS.

PL: Stands for Power Line. The first generation of controllers to be expressed from the 840D development
that begun in the early 1990’s. The second generation is called Solution Line. See Solution Line.

840_Directory of Terms .doc Page 37 of 58


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: 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.

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 line.

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.

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.

840_Directory of Terms .doc Page 38 of 58


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 1990’s. 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.

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.

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.

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 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.

840_Directory of Terms .doc Page 39 of 58


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 1960’s 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 print
out of the program) and a copy of the blueprint. The blueprint shows a zero point where the programmer
assumed 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 (also called home), 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 a 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.

840_Directory of Terms .doc Page 40 of 58


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 the calling program can be read and written in any nested program.

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 place, 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.

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.

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, don’t 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.

840_Directory of Terms .doc Page 41 of 58


RAPID TRAVERSE: An axis specific feedrate set by the machinery builder in machine data that we
expect to be the maximum feedrate of the axis. The rapid traverse feedrate is associated with the
positioning G-code G00. G00 is a linear rapid interpolation, meaning that the axis involved in the traverse
to the position setpoint travel at the fastest feedrate possible consistent with remaining on the straight line.

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.

READ-IN: In the days of tape readers and before inexpensive memory, program blocks were read into
execution buffers from punched tape. In the 1950’s these buffers were mechanical relays. By the late
1970’s, 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 1980’s, 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.).

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.

REAL AXIS: As opposed to a fictitious axis. See FICTITIOUS AXIS.

REF: Stands for reference point

REFERENCE POINT: A machine position that serves as a landmark. The machine tool builder stores in
machine data the machine coordinates of the reference point. When the NC completes the reference return
of an axis, it loads the value from machine data to the machine position register for the axis. In this way
the NC's machine position display is synchronized with the actual position of the machine.
Since the numerical control comes with measuring circuits it makes sense to make the NC 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 RETURN: An operating mode of the numerical control whose principle activity is
positioning the machine to the reference point.

REGISTER: Same as field. The setting page of G54 is made up of fields where values are stored.
Register is another name for field.

840_Directory of Terms .doc Page 42 of 58


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 posess 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 record 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.

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.

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
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.

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.

840_Directory of Terms .doc Page 43 of 58


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 doesn’t 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

SCRATCH: A manual operation that sets the registers of the work coordinate system to numbers of the
operator’s 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
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.

SEQUENCE NUMBER: 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 4-
digit 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.

840_Directory of Terms .doc Page 44 of 58


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, “That’s 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 servo that produces linear or rotary motion. The machine axes of a CNC machine tool
are servo axes. A typical servo axis of a machine tool will have a motor that is attached to some kind of
drive system such as ball screw or rack and pinion. When the motor of a machine axis is a linear motor the
machine axis is still a servo axis even though it does not need mechanical linkages to transform torque into
thrust.

SET POINT: The value, usually an external value, that a regulated or servo controlled system is
challenged to hold, follow or achieve.
350 degrees is the oven setpoint when you turn the knob to this value. The oven’s 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: 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. The settable zero offset file is 4 records long. Each record
can receive the coordinates of a point. Each record is associated with a G-code (G54 to G57). When a
record’s G-code is active, the numerical control positions in a coordinate system whose origin is the point
in the G-code’s record of the SZO file.

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.

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.
Implemented on the 810D platform. 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

840_Directory of Terms .doc Page 45 of 58


ISO mode. ISO mode is what you get as standard when you do not specify something like ShopMill,
ShopTurn or ManualTurn.

SHOPTURN: Same as ShopMill but for turning. See SHOPMILL


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 D-
codes 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: In the old days, the part programmer would consume valuable machine time checking
out his program. Today he can confirm an accurate tool path using simulation software on his personal
computer. Siemens provides a function called 'simulation' on the numerical control. This allows a program
that is prepared at the machine to be checked out in the background while the machine is in production.
This simulation traces out the tool path just like the programmer's computer in the front office. It is not a
real time display of the machining process. Since simulation at the NC involved the actual execution of the
simulated program, but instead of sending command values to an axis drive it draws the tool path on the
video monitor, simulation consumes a channel. On the System 810/820, simulation is done is channel 3;
for these controls, channel 3 cannot be used for anything other than simulation.

SIMULTANEOUS INTERPOLATION: The ability of a CNC to interpolate path axes and positioning
axes at the same time. In helical interpolation, one interpolation function does the circular interpolation
and another interpolation function positions 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. One interpolation
function does the linear axes. Another interpolator does one of the rotary axes and a third interpolator does
the second of the rotary axes. See FEEDGROUP and PATH AXES.

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 G-
codes. G04 for dwell. G53 for zero offset cancel.

SINGLE BLOCK STOP: When this toggle is set (and it is usually set with a softkey under the
PROGRAM CONTROL menu) the numerical control stops program execution at the end of each block
which contains NC data (G-code, M-code, S-code). Execution resumes from the next block when the
operator presses CYCLE START. Blocks that are made up of R-parameter assignments only, or CL800
statements only, are executed as if the single block toggle were not set. See DECODE SINGLE BLOCK.

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.

840_Directory of Terms .doc Page 46 of 58


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.

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.

SOLUTION LINE: Applies to the 2nd generation of controllers to be expressed by the 840D development
project that began in the early 1990’s. As of spring, 2006, the 802D SL and the 840Di SL are in
commercial distribution. The 840D SL is available for restricted use. The benefits of the solution line are
primarily for the machine tool builder who can realize his machine concepts more efficiently. 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. 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 is the same and the G-code language is the same (although
we can expect the Solution Line to have an expanded set of commands). The first generation of controls
are called Power Line to distinguish them from Solution Line. The transition of OEMs from Power Line to
Solution line will be a 5 to 10 year process

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 1990’s 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.

840_Directory of Terms .doc Page 47 of 58


SPINDLE:

SPINDLE SPECIFIC: Pertains to a spindle.

SPLINE: A smooth and continuous curve normally associated with sculpted shapes. A computer
algorithm that interpolates curves 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 is to say the NC can traverse a contour described in parametric
polynomial form or in the form of control points, weights and knots as distinct from linear blocks.

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
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 TOOL: 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 tool’s 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 tool’s 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 machine’s 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-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.

840_Directory of Terms .doc Page 48 of 58


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 %_N_Drill_Hole_SPF
T12 M6 G00 X=IC(0.5);incremental coordinate
G00 G54 G90 X-0.5 Y0 Z0.1
Z1 D1 S1500 M3 M8 G01 G60 Z-1.25 F50
Drill_Hole P100 G64 G00 Z0.1
M30 RET

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.
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-4AD40-
0BP1 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.

840_Directory of Terms .doc Page 49 of 58


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 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-
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

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 T-
code 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”

840_Directory of Terms .doc Page 50 of 58


T=19437

When the magazine option of tool management is not used the T-code is just a number. It could be the
number of the pocket where the tool is stored in the magazine.

TCP: See Tool Center Point Programming

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

TOA: Stands for tool offset active. When %TOA is detected in the stream of data coming into the NC,
the NC knows to store the following data in the memory area reserved for tool geometry.

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 tip of the
standard tool and letting the CNC compensate for tool offset.

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

840_Directory of Terms .doc Page 51 of 58


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 accounts for its difference in length by calling up the tool length
compensation function. He does this by programming the D-code of the record in the tool file wherein the
tool length offset for the tool in question is stored. The tool length offset is applied to the infeed axis as
designated in the G16 statement (or with G17, G18 or G19). If the G16 statement is G16 X Y Z, the infeed
axis is Z negative. If it is G16 X Y Z-, the infeed axis is positive Z, as would be the case in back spot
facing. If your vertical machine has a right angle attachment, the statement G16 Y Z X would designate
minus X as the infeed direction. G16 Y Z X- would designate +X as the infeed direction. By specifying
the infeed direction as either negative or positive, the usual convention that negative is into the work is
preserved for making tool length offset adjustments.

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.
Normally, if the tool is longer than the standard the offset is positive. If it is shorter the offset value is
negative.
Problems occur when the infeed direction is positive. With respect to System 800, the G16 statement
can be programmed to have the NC do negative tool length compensation; that is, instead of adding the tool
length offset to the programmed coordinate, it subtracts the offset. Thus, the rule that negative is into the
work is preserved. System “D” has the GEOAX function that is similar to the G16 of the System 800. More
likely System “D” programmers will transform the geometry frame (with ROT and/or AROT) to align the
applicate axis collinear with the infeed direction and positive against the infeed direction.

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 undergird 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 shop’s 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 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/D-codes 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 NOSE RADIUS COMPENSATION: A compensation function in turning which accounts for the
rounding of the tool nose.

TOOL NUMBER: see TOOL IDENTIFICATION. An individual tool is recognized by its tool name and
duplicate number. Siemens documentation uses tool name and tool ID synonymously (it’s the same thing).
The tool name can be a number. Tool number, however, in the context of the tool magazine option of Tool
Management is an internal number that Tool Management assigns to the tool when the tool is registered to

840_Directory of Terms .doc Page 52 of 58


the tool management system. You do not program tool number. You program tool name. Tool
Management looks in a data table where it keeps a cross reference between tool name and tool number. It
keeps track of the location of tools in the magazine(s) with tool number, so once it has tool number it looks
up the location of the tool and issues the necessary information to the PLC to bring the tool to the tool
change station.
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. The T-code and the pocket number are one and the same.

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
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 TIP PROGRAMMING (aka TOOL EDGE PROGRAMMING): Programmed setpoints are
actual tool paths that have already taken tool length and radius into consideration. If compensation is used
(D-codes and G40/G41/G42 or TRAORI for 5-axes) it is to account for a difference between anticipated
tool geometry and actual tool geometry. See CENTERLINE PROGRAMMING.
The historical goal is to endow the CNC with powerful compensation and transformation functions so
that the CNC generates the tool path information directly from a workpiece description. The program can
be prepared independent of tool geometry (within limits) and machine kinematics. With this ambition in
mind, tool tip programming is ‘bad’.

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 tool’s
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 D-
code. 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.

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.
The 840D is provisioned with 2 high speed inputs that are monitored for a signal transition during the
time a measure block’s distance-to-go is not zero. Usually the spindle probe signal is received at input 1
and the tool probe at input 2.
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

840_Directory of Terms .doc Page 53 of 58


translation, rotation, scale and mirror (not all always) the transformation has to account for translation,
rotation, scale and mirror. The word “frame” implicitly suggests “transformation”. See TRANSLATION.
See TRANSMIT. See OBLIQUE TRANSFORMATION. See FIVE AXIS TRANSFORMATION

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)

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: Transformation Milling into Turning. A kinematic transformation from a rectangular


coordinate system to a coordinate system of one rotary axis and one linear axis which allows a live tool to
mill a contour on the surface of a faced workpiece with the spindle axis being the rotary axis. You program
in X and Y rectangular coordinates and the NC converts your coordinates into C and X. See
CYLINDRICAL INTERPOLATION. See BASIC COORDIANTE SYSTEM.

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 orientation. Commands a 5-axes transformation.
Essentially TRAORI is a geometry compensation function that takes into consideration tool and rotary axes
geometry. You program the workpiece and the CNC finds the tool path. When TRAORI is active, jogging a
rotary axis pivots the tool around the point occupied by its tip. The tip stays bound in space. To achieve
this, the CNC must move one or more linear axes as well. After programming TRAORI, the G500 will be
active (assuming it is the default) and any programmable frames will be cancelled. Thus, you will have to
program G54 after TRAORI and any programmable additive translations, rotations, scales and mirrors.

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. We have 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

840_Directory of Terms .doc Page 54 of 58


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.

USER: Siemens uses this word to mean the machine tool builder. In the US, we normally associate 'user'
with the final user.

USER CYCLE: A cycle written by a user and stored in the User Cycles directory of the hard drive. The
benefits of storing the user cycle 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

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.

1. V24 & V124 for interface 13.V24 & V324 for interface 3
2. V24 & V224 for interface 2 4.V24 & V424 for interface 4

VACANT: A variable that has no value assigned to it - not even zero - is said to be a vacant. R-
parameters, 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.

VALUE: A number. “What value did you assign to the variable?” Carries a suggestion of magnitude.
“There is a lot of value in this workpiece.”

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.

840_Directory of Terms .doc Page 55 of 58


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.

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. With
the System 840C and 840D, Siemens has broadened the concept of workpiece. 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 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.

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. For
the Series 800, when setting data 5001.0 is set, the position display shows workpiece coordinates. When
program execution is reset, it shows the position in the coordinate system of the preset. If no preset has
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 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 vender’s 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

840_Directory of Terms .doc Page 56 of 58


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 Because Cycle81 does not
Endif do a zero depth hole as
; ********************************************** might be required to spot
;Drill a zero depth hole if Surface and Final_Depth are equal mill a pad.
IF NOT (final_depth= = surface) GOTOF MM1
G00 G64 G90 Z=surface+clearance
G01 G60 Z=final_depth
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
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.

ZERO OFFSET: The translation from machine zero to work zero. The sum of all zero offsets including
settable zero offset (G54, G55, etc.), programmable zero offset and additive programmable zero offset.
The machine coordinates of work zero.

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.

840_Directory of Terms .doc Page 57 of 58


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.

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 58 of 58

You might also like