summaryrefslogtreecommitdiff
path: root/docs/src/common/user_intro_es.txt
blob: b0490d58284e3119b02aa5caf2252afb4c62c60f (plain)
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
= LinuxCNC User Introduction

[[cha:linuxcnc-user-introduction]] (((LinuxCNC User Introduction)))

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

== This Manual

The focus of this manual is on 'using' LinuxCNC. It is intended to be used
once LinuxCNC is installed and configured. For standard installations see
the Getting Started Guide for step by step instructions to get you up
and going. For detailed information on installation and configuration
of LinuxCNC see the Integrator Manual.

== How LinuxCNC Works[[how-LinuxCNC-works]]

The Enhanced Machine Controller (LinuxCNC) is a lot more than just another
CNC mill program. It can control machine tools, robots, or
other automated devices. It can control servo motors, stepper motors,
relays, and other devices related to machine tools.

There are four main components to the LinuxCNC software: 

* a motion controller (EMCMOT)
* a discrete I/O controller (EMCIO)
* a task executor which coordinates them (EMCTASK)
* and one of several graphical user interfaces. 

In addition there is a layer called HAL (Hardware Abstraction Layer) 
which allows configuration of LinuxCNC without the need of recompiling.

.Simple LinuxCNC Controlled Machine[[fig:Typical_machine]]

image::images/whatstep1.png[align="center"]

The above figure shows a simple block diagram showing
what a typical 3-axis LinuxCNC system might look like. This diagram shows a
stepper motor system. The PC, running Linux(((Linux))) as its operating
system, is actually controlling the stepper motor drives by sending
signals through the printer port. These signals (pulses) make the
stepper drives move the stepper motors. The LinuxCNC system can also run servo
motors via servo interface cards or by using an extended parallel port
to connect with external control boards. As we examine each of the
components that make up an LinuxCNC system we will remind the reader of
this typical machine. 

== Graphical User Interfaces[[sub:Graphical-User-Interfaces]]

A user interface is the part of the LinuxCNC that the machine tool
operator interacts with. The LinuxCNC comes with several types of user
interfaces:

* <<cha:axis-gui,'Axis'>>, the standard GUI interface.

.Axis GUI[[fig:The-Axis-GUI]]

image::images/axis-2.5.png[align="center"]

* <<cha:touchy-gui,'Touchy'>>, a touch screen GUI.

.Touchy GUI[[fig:touchy-gui]]

image::images/touchy.png[align="center"]

* <<cha:ngcgui,'NGCGUI'>>, a subroutine GUI that provides 'fill in the blanks'
   programming of G code. It also supports concatenation of subroutine files
   to enable you to build a complete G code file without programming.

.NGCGUI GUI imbedded into Axis[[fig:ngcgui-gui]]

image::images/ngcgui.png[align="center"]

* <<cha:mini-gui,'Mini'>>, a Tcl/Tk-based GUI 

.The Mini GUI[[fig:The-Mini-GUI]]

image::images/mini.png[align="center"]

* <<cha:tklinuxcnc-gui,'TkLinuxCNC'>>, a Tcl/Tk-based GUI

.The TkLinuxCNC GUI[[fig:The-TkLinuxCNC-GUI]]

image::images/tkemc.png[align="center"]

* <<cha:keystick-gui,'Keystick'>>, a character-based screen graphics program
  suitable for minimal installations (without the X server running).

.The Keystick GUI[[fig:The-Keystick-GUI]]

image::images/keystick.png[align="center"]


* 'Xemc', an X-Windows program. A simulator configuration of Xemc can be 
   ran from the configuration picker.

* 'halui' - a HAL based user interface which allows to control LinuxCNC
   using knobs and switches. See the Integrators manual for more information
   on halui.

* 'linuxcncrsh' - a telnet based user interface which allows commands to
   be sent to LinuxCNC from remote computers.

== Virtual Control Panels

* 'PyVCP' a python based virtual control panel that can be added to the
   Axis GUI or be stand alone.

* 'GladeVCP' - a glade based virtual control panel that can be added to
   the Axis GUI or be stand alone.

== Languages

LinuxCNC uses translation files to translate LinuxCNC User Interfaces into many
languages. You just need to log in with the language you intend to use
and when you start up LinuxCNC it comes up in that language. If your
language has not been translated contact a developer on the IRC or the
mailing list if you can assist in the translation.

== Thinking Like a Machine Operator[[sec:Thinking-Operator]]

This book will not even pretend that it can teach you to run a mill or
a lathe. Becoming a machinist takes time and hard work. An author once
said, "We learn from experience, if at all." Broken tools, gouged
vices, and scars are the evidence of lessons taught. Good part finish,
close tolerances, and careful work are the evidence of lessons learned.
No machine, no computer program, can take the place of human
experience.

As you begin to work with the LinuxCNC program, you will need to place
yourself in the position of operator. You need to think of yourself in
the role of the one in charge of a machine. It is a machine that is
either waiting for your command or executing the command that you have
just given it. Throughout these pages we will give information that
will help you become a good operator of the LinuxCNC system. You will need
some information right up front here so that the following pages will
make sense to you.

== Modes of Operation[[sub:Modes-of-Operation]]

When LinuxCNC is running, there are three different major modes used
for inputting commands. These are 'Manual', 'Auto',
and 'MDI'. Changing from one mode to another makes a big
difference in the way that the LinuxCNC control behaves. There are specific things
that can be done in one mode that cannot be done in another. An
operator can home an axis in manual mode but not in auto or MDI modes.
An operator can cause the machine to execute a whole file full of
G-codes in the auto mode but not in manual or MDI.

In manual mode, each command is entered separately. In human terms a
manual command might be 'turn on coolant' or 'jog X at 25 inches per
minute'. These are roughly equivalent to flipping a switch or turning
the hand wheel for an axis. These commands are normally handled on one
of the graphical interfaces by pressing a button with the mouse or
holding down a key on the keyboard. In auto mode, a similar button or
key press might be used to load or start the running of a whole program
of G-code that is stored in a file. In the MDI mode the operator might
type in a block of code and tell the machine to execute it by pressing
the <return> or <enter> key on the keyboard.

Some motion control commands are available and will cause the same
changes in motion in all modes. These include 'abort',
'estop', and 'feed rate override').
Commands like these should be self explanatory.

The AXIS user interface hides some of the distinctions between Auto
and the other modes by making Auto-commands available at most times. It
also blurs the distinction between Manual and MDI because some Manual
commands like Touch Off are actually implemented by sending MDI
commands. It does this by automatically changing to the mode that is
needed for the action the user has requested.