1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
|
= Glossary
////
ATTENTION TRANSLATORS before translating this document copy the base document
into this copy to get the latest version. Untranslated documents are not kept
up to date with the English documents.
Do not translate anchors or links, translate only the text of a link after the
comma.
Anchor [[anchor-name]]
Link <<anchor-name,text after the comma can be translated>>
Make sure the documents build after translating.
////
A listing of terms and what they mean. Some terms have a general
meaning and several additional meanings for users, installers, and
developers.
Acme Screw::
(((acme screw)))[[glo:AcmeScrew]] A type of lead-screw that uses an Acme
thread form. Acme threads have somewhat lower friction and wear than
simple triangular threads, but ball-screws are lower yet. Most manual
machine tools use acme lead-screws.
Axis::
(((axis)))[[glo:Axis]] One of the computer controlled movable parts of the
machine. For a typical vertical mill, the table is the X axis, the
saddle is the Y axis, and the quill or knee is the Z axis. Angular
axes like rotary tables are referred to as A, B, and C. Additional
linear axes relative to the tool are called U, V, and W
respectively.
Axis(GUI)::
(((GUI))) One of the Graphical User Interfaces available to users of
LinuxCNC. It features the modern use of menus and mouse buttons while
automating and hiding some of the more traditional LinuxCNC controls. It is
the only open-source interface that displays the entire tool path as
soon as a file is opened.
Backlash::
(((backlash)))[[glo:Backlash]] The amount of "play" or lost motion that
occurs when direction is reversed in a lead screw. or other mechanical
motion driving system. It can result from nuts that are loose on
leadscrews, slippage in belts, cable slack, "wind-up" in rotary
couplings, and other places where the mechanical system is not "tight".
Backlash will result in inaccurate motion, or in the case of motion
caused by external forces (think cutting tool pulling on the work
piece) the result can be broken cutting tools. This can happen because
of the sudden increase in chip load on the cutter as the work piece is
pulled across the backlash distance by the cutting tool.
Backlash Compensation::
(((backlash compensation))) Any technique that attempts to reduce
the effect of backlash without actually removing it from the mechanical
system. This is typically done in software in the controller. This can
correct the final resting place of the part in motion but fails to
solve problems related to direction changes while in motion (think
circular interpolation) and motion that is caused when external forces
(think cutting tool pulling on the work piece) are the source of the
motion.
Ball Screw::
(((ball screw)))[[glo:Ballscrew]] A type of lead-screw that uses small
hardened steel balls between the nut and screw to reduce friction.
Ball-screws have very low friction and backlash, but are usually quite
expensive.
Ball Nut::
(((ball nut)))[[glo:Ballnut]] A special nut designed for use with a
ball-screw. It contains an internal passage to re-circulate the balls
from one end of the screw to the other.
CNC::
(((CNC)))[[glo:CNC]] Computer Numerical Control. The general term used to
refer to computer control of machinery. Instead of a human operator
turning cranks to move a cutting tool, CNC uses a computer and motors
to move the tool, based on a part program.
Comp::
(((comp)))[[glo:comp]] A tool used to build, compile and install LinuxCNC HAL
components.
Configuration(n)::
A directory containing a set of configuration files. Custom
configurations are normally saved in the users home/emc2/configs
directory. These files include EMC's traditional INI file and HAL
files. A configuration may also contain several general files that
describe tools, parameters, and NML connections.
Configuration(v)::
The task of setting up LinuxCNC so that it matches the hardware on a
machine tool.
Coordinate Measuring Machine::
(((coordinate measuring machine))) A Coordinate Measuring Machine is
used to make many accurate measurements on parts. These machines can be
used to create CAD data for parts where no drawings can be found, when
a hand-made prototype needs to be digitized for moldmaking, or to check
the accuracy of machined or molded parts.
Display units::
(((display units))) The linear and angular units used for onscreen
display.
DRO::
(((DRO))) A Digital Read Out is a system of position-measuring devices
attached to the slides of a machine tool, which are connected to a
numeric display showing the current location of the tool with respect to
some reference position.
DROs are very popular on hand-operated machine tools because they
measure the true tool position without backlash, even if the machine
has very loose Acme screws.
Some DROs use linear quadrature encoders to pick up position
information from the machine, and some use methods similar to a
resolver which keeps rolling over.
EDM::
(((EDM))) EDM is a method of removing metal in hard or difficult to
machine or tough metals, or where rotating tools would not be able to
produce the desired shape in a cost-effective manner. An excellent
example is rectangular punch dies, where sharp internal corners are
desired. Milling operations can not give sharp internal corners with
finite diameter tools. A 'wire' EDM machine can make internal corners
with a radius only slightly larger than the wire's radius. A 'sinker'
EDM can make internal corners with a radius only slightly larger
than the radius on the corner of the sinking electrode.
EMC::
(((EMC)))[[glo:EMC]] The Enhanced Machine Controller. Initially a NIST
project. EMC is able to run a wide range of motion devices.
EMCIO::
(((EMCIO)))[[glo:EMCIO]] The module within EMC that handles general
purpose I/O, unrelated to the actual motion of the axes.
EMCMOT::
(((EMCMOT)))[[glo:EMCMOT]] The module within EMC that handles the actual
motion of the cutting tool. It runs as a real-time program and directly
controls the motors.
Encoder::
(((encoder)))[[glo:Encoder]] A device to measure position. Usually a
mechanical-optical device, which outputs a quadrature signal. The
signal can be counted by special hardware, or directly by the parport
with LinuxCNC.
Feed::
(((feed)))[[glo:Feed]] Relatively slow, controlled motion of the tool used
when making a cut.
Feed rate::
(((feed rate))) The speed at which a cutting motion occurs.
In auto or mdi mode, feed rate is commanded using an F word.
F10 would mean ten machine units per minute.
Feedback::
(((feedback)))[[glo:Feedback]] A method (e.g., quadrature encoder signals)
by which LinuxCNC receives information about the position of motors
Feedrate Override::
(((feedrate override)))[[glo:FeedrateOveride]] A manual, operator controlled
change in the rate at which the tool moves while cutting. Often used to
allow the operator to adjust for tools that are a little dull, or
anything else that requires the feed rate to be “tweaked”.
Floating Point Number::
A number that has a decimal point. (12.300) In HAL it is known as float.
G-Code::
(((G-Code)))[[glo:G-Code]] The generic term used to refer to the most
common part programming language. There are several dialects of G-code,
EMC uses RS274/NGC.
GUI::
[[glo:GUI]](((GUI))) Graphical User Interface.
General;;
A type of interface that allows communications between a computer
and a human (in most cases) via the manipulation of icons and other
elements (widgets) on a computer screen.
EMC;;
An application that presents a graphical screen to the machine
operator allowing manipulation of the machine and the corresponding
controlling program.
HAL::
(((HAL)))[[glo:HAL]] Hardware Abstraction Layer. At the highest
level, it is simply a way to allow a number of
building blocks to be loaded and interconnected to assemble a complex
system. Many of the building blocks are drivers for hardware devices.
However, HAL can do more than just configure hardware drivers.
Home::
(((home)))[[glo:Home]] A specific location in the machine's work envelope
that is used to make sure the computer and the actual machine both
agree on the tool position.
ini file::
(((INI)))[[glo:inifile]] A text file that contains most of the information
that configures EMC for a particular machine
Instance::
(((Instance)))[[glo:Instance]] One can have an instance of a class or a
particular object. The instance is the actual object created at
runtime. In programmer jargon, the Lassie object is an instance of the
Dog class.
Joint Coordinates::
(((joint coordinates)))[[glo:Joint_Coordinates]] These specify the angles
between the individual joints of the machine. See also Kinematics
Jog::
(((jog))) Manually moving an axis of a machine. Jogging either moves
the axis a fixed amount for each key-press, or moves the axis at a
constant speed as long as you hold down the key. In manual mode,
jog speed can be set from the graphical interface.
kernel-space::
[[glo:kernel-space]] See real-time.
Kinematics::
(((kinematics)))[[glo:Kinematics]] The position relationship between world
coordinates and joint coordinates of a machine. There are two types of
kinematics. Forward kinematics is used to calculate world coordinates
from joint coordinates. Inverse kinematics is used for exactly the opposite
purpose. Note that kinematics does not take into account, the forces,
moments etc. on the machine. It is for positioning only.
Lead-screw::
(((lead screw)))[[glo:Leadscrew]] An screw that is rotated by a motor to
move a table or other part of a machine. Lead-screws are usually either
ball-screws or acme screws, although conventional triangular threaded
screws may be used where accuracy and long life are not as important as
low cost.
Machine units::
(((machine units))) The linear and angular units used for machine
configuration. These units are specified and used in the ini file.
HAL pins and parameters are also generally in machine units.
MDI::
(((MDI)))[[glo:MDI]] Manual Data Input. This is a mode of operation where
the controller executes single lines of G-code as they are typed by the
operator.
NIST::
(((NIST)))[[glo:NIST]] National Institute of Standards and Technology.
An agency of the Department of Commerce in the United States.
NML::
(((NML)))[[glo:NML]] Neutral Message Language provides a mechanism for
handling multiple types of messages in the same buffer as well as
simplifying the interface for encoding and decoding buffers in neutral
format and the configuration mechanism.
Offsets::
(((offsets)))[[glo:Offsets]]
An arbitrary amount, added to the value of something to make it
equal to some desired value. For example, gcode programs are
often written around some convenient point, such as X0, Y0.
Fixture offsets can be used to shift the actual execution point
of that gcode program to properly fit the true location
of the vise and jaws.
Tool offsets can be used to shift the "uncorrected" length
of a tool to equal that tool's actual length.
Part Program::
(((part Program)))[[glo:PartProgram]] A description of a part, in a
language that the controller can understand. For EMC, that language is
RS-274/NGC, commonly known as G-code.
Program Units::
(((program units))) The linear and angular units used in a part program.
The linear program units do not have to be the same as the linear machine units.
See G20 and G21 for more information. The angular program units are always
measured in degrees.
Python::
General-purpose, very high-level programming language. Used in LinuxCNC
for the Axis GUI, the Stepconf configuration tool, and several G-code
programming scripts.
Rapid::
(((rapid)))[[glo:Rapid]] Fast, possibly less precise motion of the tool,
commonly used to move between cuts. If the tool meets the workpiece
or the fixturing during a rapid, it is probably a bad thing!
Rapid rate::
(((rapid rate)))[[glo:RapidRate]]The speed at which a rapid motion occurs.
In auto or mdi mode, rapid rate is usually the maximum speed of the machine.
It is often desirable to limit the rapid rate when
testing a g-code program for the first time.
Real-time::
(((real-time)))[[glo:real-time]] Software that is intended to meet very
strict timing deadlines. Under Linux, in order to meet these
requirements it is necessary to install RTAI or RTLINUX and build the
software to run in those special environments. For this reason
real-time software runs in kernel-space.
RTAI::
(((RTAI)))[[glo:RTAI]] Real Time Application Interface, see
https://www.rtai.org/[https://www.rtai.org/], one of two real-time
extensions for Linux that EMC can use to achieve real-time performance.
RTLINUX::
(((RTLINUX)))[[glo:RTLINUX]] See
http://www.rtlinux.org[http://www.rtlinux.org], one of two real-time
extensions for Linux that EMC can use to achieve real-time performance.
RTAPI::
(((RTAPI)))A portable interface to real-time operating systems
including RTAI and RTLINUX
RS-274/NGC::
(((RS274NGC)))[[glo:RS274NGC]] The formal name for the language used by
EMC part programs.
Servo Motor::
(((servo motor)))[[glo:ServoMotor]] Generally, any motor that is used
with error-sensing feedback to correct the position of an actuator.
Also, a motor which is specially-designed to provide improved
performance in such applications.
Servo Loop::
(((loop)))[[glo:ServoLoop]] A control loop used to control position or
velocity of an motor equipped with a feedback device.
Signed Integer::
(((Signed Integer))) A whole number that can have a positive or
negative sign. In HAL it is known as s32. (A signed 32-bit
integer has a usable range of -2,147,483,647 to +2,147,483,647.)
Spindle::
(((spindle)))[[glo:Spindle]] The part of a machine tool that spins
to do the cutting. On a mill or drill, the spindle holds the
cutting tool. On a lathe, the spindle holds the workpiece.
Spindle Speed Override::
A manual, operator controlled change in the rate at which the tool
rotates while cutting. Often used to allow the operator to adjust for
chatter caused by the cutter's teeth. Spindle Speed Override assumes
that the LinuxCNC software has been configured to control spindle speed.
Stepconf::
An LinuxCNC configuration wizard. It is able to handle many
step-and-direction motion command based machines. It writes a full
configuration after the user answers a few questions about the computer
and machine that LinuxCNC is to run on.
Stepper Motor::
(((stepper motor)))[[glo:StepperMotor]] A type of motor that turns in
fixed steps. By counting steps, it is possible to determine how far the
motor has turned. If the load exceeds the torque capability of the
motor, it will skip one or more steps, causing position errors.
TASK::
(((TASK)))[[glo:TASK]] The module within EMC that coordinates the overall
execution and interprets the part program.
Tcl/Tk::
(((Tk)))[[glo:Tcl/Tk]] A scripting language and graphical widget toolkit
with which several of LinuxCNCs GUIs and selection wizards were
written.
Traverse Move::
(((Traverse Move))) A move in a straight line from the start point to
the end point.
Units::
(((units))) See "Machine Units", "Display Units", or "Program Units".
Unsigned Integer::
(((Unsigned Integer))) A whole number that has no sign. In HAL
it is known as u32. (An unsigned 32-bit integer has a usable range of
zero to 4,294,967,296.)
World Coordinates::
(((world coordinates)))[[glo:World_Coordinates]] This is the absolute
frame of reference. It gives coordinates in terms of a fixed reference
frame that is attached to some point (generally the base) of the
machine tool.
|