-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path3-axis-mill.ini
More file actions
378 lines (265 loc) · 27.2 KB
/
Copy path3-axis-mill.ini
File metadata and controls
378 lines (265 loc) · 27.2 KB
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
# LinuxCNC INI File
# https://linuxcnc.org/docs/html/config/ini-config.html
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# EMC
# https://linuxcnc.org/docs/html/config/ini-config.html#sub:ini:sec:emc
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[EMC]
VERSION = 1.1
MACHINE = EL7041 Mill Sample
# Setting to maximum verbosity
DEBUG = 5
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# DISPLAY
# https://linuxcnc.org/docs/html/config/ini-config.html#sub:ini:sec:display
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[DISPLAY]
# Which user interface to run
DISPLAY = axis
# DRO offsets on boot, MACHINE or RELATIVE
POSITION_OFFSET = RELATIVE
# DRO settings, show the ACTUAL position or the COMMANDED position?
POSITION_FEEDBACK = ACTUAL
# Maximum feed override the user may select, 1.0 = 100%MAX_FEED_OVERRIDE = 1.2
# The initial rate for jogs of linear axes, in machine units per second. The value shown in AXIS equals machine units per minute.
DEFAULT_LINEAR_VELOCITY = 30
# The maximum velocity for any axis or coordinated move, in machine units per second.
MAX_LINEAR_VELOCITY = 60.00
# The period, in seconds, at which EMCIO will run. Making it 0.0 or a negative number will tell EMCIO not to sleep at all. There is usually no need to change this number.
CYCLE_TIME = 0.100
# Defines the increments available for incremental jogs. The INCREMENTS can be used to override the default. The values can be decimal numbers (e.g., 0.1000) or fractional numbers (e.g., 1/16), optionally followed by a unit (cm, mm, um, inch, in or mil). If a unit is not specified the machine unit is assumed. Metric and imperial distances may be mixed: INCREMENTS = 1 inch, 1 mil, 1 cm, 1 mm, 1 um is a valid entry.
INCREMENTS = 1in 0.1in 0.01in 0.001in
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# TASK
# https://linuxcnc.org/docs/html/config/ini-config.html#sub:ini:sec:task
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[TASK]
# Specifies the name of the task executable.
TASK = milltask
# The period, in seconds, at which TASK will run. This parameter affects the polling interval when waiting for motion to complete, when executing a pause instruction, and when accepting a command from a user interface. There is usually no need to change this number.
CYCLE_TIME = 0.010
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# R275NGC
# https://linuxcnc.org/docs/html/config/ini-config.html#sub:ini:sec:rs274ngc
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[RS274NGC]
# The file located in the same directory as the INI file which contains the parameters used by the interpreter (saved between runs).
PARAMETER_FILE = parameter.var
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# EMCMOT
# https://linuxcnc.org/docs/html/config/ini-config.html#sub:ini:sec:emcmot
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[EMCMOT]
# the motion controller name is typically used here.
EMCMOT = motmod
# Number of seconds to wait for Motion (the realtime part of the motion controller) to acknowledge receipt of messages from Task (the non-realtime part of the motion controller).
COMM_TIMEOUT = 1.0
# This is the "Servo" task period in nanoseconds.
SERVO_PERIOD = 100000
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# HAL
# https://linuxcnc.org/docs/html/config/ini-config.html#sub:ini:sec:hal
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[HAL]
# adds the HAL user interface pins.
HALUI = halui
# Execute the file example.hal at start up.
HALFILE = 3-axis-el7041.hal
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# TRAJ
# https://linuxcnc.org/docs/html/config/ini-config.html#sub:ini:sec:traj
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[TRAJ]
# The names of the axes being controlled. Only X, Y, Z, A, B, C, U, V, W are valid. Only axes named in COORDINATES are accepted in G-code. It is permitted to write an axis name more than once (e.g., X Y Y Z for a gantry machine). For the common trivkins kinematics, joint numbers are assigned in sequence according to the trivkins parameter coordinates=. So, for trivkins coordinates=xz, joint0 corresponds to X and joint1 corresponds to Z. See the kinematics man page ($ man kins) for information on trivkins and other kinematics modules.
COORDINATES = XYZ
# Specifies the machine units for linear axes. Possible choices are mm or inch. This does not affect the linear units in NC code (the G20 and G21 words do this).
LINEAR_UNITS = inch
# Specifies the machine units for rotational axes. Possible choices are deg, degree (360 per circle), rad, radian (2*π per circle), grad, or gon (400 per circle). This does not affect the angular units of NC code. In RS274NGC, A-, B- and C- words are always expressed in degrees.
ANGULAR_UNITS = degree
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# EMCIO
# https://linuxcnc.org/docs/html/config/ini-config.html#sub:ini:sec:emcio
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[EMCIO]
# Name of IO controller program.
EMCIO = io
# The period, in seconds, at which EMCIO will run. Making it 0.0 or a negative number will tell EMCIO not to sleep at all. There is usually no need to change this number.
CYCLE_TIME = 0.100
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# KINS
# https://linuxcnc.org/docs/html/config/ini-config.html#sub:ini:sec:kins
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[KINS]
# Specify a kinematics module for the motion module. GUIs may use this variable to specify the loadrt-line in HAL files for the motmod module. For more information on kinematics modules see the manpage: $ man kins.
KINEMATICS = trivkins
# Specifies the number of joints (motors) in the system. For example, a trivkins XYZ machine with a single motor for each axis has 3 joints. A gantry machine with one motor on each of two of the axes, and two motors on the third axis, has 4 joints. (This config variable may be used by a GUI to set the number of joints (num_joints) specified to the motion module (motmod).)
JOINTS = 3
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# LCEC
# Unofficial section for LinuxCNC-EtherCAT, referenced in the `.hal` file
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[LCEC]
# Specifies which XML file to use to configure LinuxCNC-EtherCAT
CONFIG = 3-axis-el7041.xml
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# AXIS_X
# https://linuxcnc.org/docs/html/config/ini-config.html#sub:ini:sec:axis-letter
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[AXIS_X]
# The minimum limit (soft limit) for axis motion, in machine units. When this limit is exceeded, the controller aborts axis motion. The axis must be homed before MIN_LIMIT is in force. For a rotary axis (A,B,C typ) with unlimited rotation having no MIN_LIMIT for that axis in the [AXIS_<letter>] section a value of -1e99 is used.
MIN_LIMIT = -100
# The maximum limit (soft limit) for axis motion, in machine units. When this limit is exceeded, the controller aborts axis motion. The axis must be homed before MAX_LIMIT is in force. For a rotary axis (A,B,C typ) with unlimited rotation having no MAX_LIMIT for that axis in the [AXIS_<letter>] section a value of 1e99 is used.
MAX_LIMIT = 100
# Maximum velocity for this axis in machine units per second.
MAX_VELOCITY = 80.0
# Maximum acceleration for this axis in machine units per second squared.
MAX_ACCELERATION = 360.0
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# JOINT_0
# https://linuxcnc.org/docs/html/config/ini-config.html#sub:ini:sec:joint-num
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[JOINT_0]
# The type of joint, either LINEAR or ANGULAR.
TYPE = LINEAR
# Used to define the "Home All" sequence. <n> must start at 0 or 1 or -1. Additional sequences may be specified with numbers increasing by 1 (in absolute value). Skipping of sequence numbers is not allowed. If a HOME_SEQUENCE is omitted, the joint will not be homed by the "Home All" function. More than one joint can be homed at the same time by specifying the same sequence number for more than one joint. A negative sequence number is used to defer the final move for all joints having that (negative or positive) sequence number.
HOME_SEQUENCE = 1
# Specifies the number of pulses that corresponds to a move of one machine unit as set in the [TRAJ] section. For stepper systems, this is the number of step pulses issued per machine unit. For a linear joint one machine unit will be equal to the setting of LINEAR_UNITS. For an angular joint one unit is equal to the setting in ANGULAR_UNITS. For servo systems, this is the number of feedback pulses per machine unit. A second number, if specified, is ignored.
# The notes in the docs make this clear
SCALE = 200
# (Optionally used in PnCconf built configs) - Specifies the number of pulses that corresponds to a move of one machine unit as set in the [TRAJ] section. For a linear joint one machine unit will be equal to the setting of LINEAR_UNITS. For an angular joint one unit is equal to the setting in ANGULAR_UNITS. A second number, if specified, is ignored.
# The docs refer to `ENCODER_SCALE`, but I have found only `ENC_SCALE` works
ENC_SCALE = 1024
# FERROR is the maximum allowable following error, in machine units. If the difference between commanded and sensed position exceeds this amount, the controller disables servo calculations, sets all the outputs to 0.0, and disables the amplifiers. If MIN_FERROR is present in the INI file, velocity-proportional following errors are used. Here, the maximum allowable following error is proportional to the speed, with FERROR applying to the rapid rate set by [TRAJ]MAX_VELOCITY, and proportionally smaller following errors for slower speeds. The maximum allowable following error will always be greater than MIN_FERROR. This prevents small following errors for stationary axes from inadvertently aborting motion. Small following errors will always be present due to vibration, etc.
FERROR = 10
# The minimum limit for joint motion, in machine units. When this limit is reached, the controller aborts joint motion. For a rotary joint with unlimited rotation having no MIN_LIMIT for that joint in the [JOINT_N] section a the value -1e99 is used.
MIN_LIMIT = -100
# The maximum limit for joint motion, in machine units. When this limit is reached, the controller aborts joint motion. For a rotary joint with unlimited rotation having no MAX_LIMIT for that joint in the [JOINT_N] section a the value 1e99 is used.
MAX_LIMIT = 100
# Maximum velocity for this joint in machine units per second.
MAX_VELOCITY = 100
# Maximum acceleration for this joint in machine units per second squared.
MAX_ACCELERATION = 2000
# The proportional gain for the joint servo. This value multiplies the error between commanded and actual position in machine units, resulting in a contribution to the computed voltage for the motor amplifier. The units on the P gain are volts per machine unit
P = 5
# The integral gain for the joint servo. The value multiplies the cumulative error between commanded and actual position in machine units, resulting in a contribution to the computed voltage for the motor amplifier. The units on the I gain are volts per machine unit second
I = 0
# The derivative gain for the joint servo. The value multiplies the difference between the current and previous errors, resulting in a contribution to the computed voltage for the motor amplifier. The units on the D gain are volts per machine unit per second, e.g
D = 0
# The 0th order feed forward gain. This number is multiplied by the commanded position, resulting in a contribution to the computed voltage for the motor amplifier. The units on the FF0 gain are volts per machine unit
FF0 = 0
# The 1st order feed forward gain. This number is multiplied by the change in commanded position per second, resulting in a contribution to the computed voltage for the motor amplifier. The units on the FF1 gain are volts per machine unit per second
FF1 = 0
# The 2nd order feed forward gain. This number is multiplied by the change in commanded position per second per second, resulting in a contribution to the computed voltage for the motor amplifier. The units on the FF2 gain are volts per machine unit per second per second
FF2 = 0
# How close is close enough to consider the motor in position, in machine units.
DEADBAND = 0.01
# The maximum value for the output of the PID compensation that is written to the motor amplifier, in volts. The computed output value is clamped to this limit. The limit is applied before scaling to raw output units. The value is applied symmetrically to both the plus and the minus side.
MAX_OUTPUT = 100
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# AXIS_Y
# https://linuxcnc.org/docs/html/config/ini-config.html#sub:ini:sec:axis-letter
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[AXIS_Y]
# The minimum limit (soft limit) for axis motion, in machine units. When this limit is exceeded, the controller aborts axis motion. The axis must be homed before MIN_LIMIT is in force. For a rotary axis (A,B,C typ) with unlimited rotation having no MIN_LIMIT for that axis in the [AXIS_<letter>] section a value of -1e99 is used.
MIN_LIMIT = -100
# The maximum limit (soft limit) for axis motion, in machine units. When this limit is exceeded, the controller aborts axis motion. The axis must be homed before MAX_LIMIT is in force. For a rotary axis (A,B,C typ) with unlimited rotation having no MAX_LIMIT for that axis in the [AXIS_<letter>] section a value of 1e99 is used.
MAX_LIMIT = 100
# Maximum velocity for this axis in machine units per second.
MAX_VELOCITY = 80.0
# Maximum acceleration for this axis in machine units per second squared.
MAX_ACCELERATION = 360.0
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# JOINT_1
# https://linuxcnc.org/docs/html/config/ini-config.html#sub:ini:sec:joint-num
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[JOINT_1]
# The type of joint, either LINEAR or ANGULAR.
TYPE = LINEAR
# Used to define the "Home All" sequence. <n> must start at 0 or 1 or -1. Additional sequences may be specified with numbers increasing by 1 (in absolute value). Skipping of sequence numbers is not allowed. If a HOME_SEQUENCE is omitted, the joint will not be homed by the "Home All" function. More than one joint can be homed at the same time by specifying the same sequence number for more than one joint. A negative sequence number is used to defer the final move for all joints having that (negative or positive) sequence number.
HOME_SEQUENCE = 1
# Specifies the number of pulses that corresponds to a move of one machine unit as set in the [TRAJ] section. For stepper systems, this is the number of step pulses issued per machine unit. For a linear joint one machine unit will be equal to the setting of LINEAR_UNITS. For an angular joint one unit is equal to the setting in ANGULAR_UNITS. For servo systems, this is the number of feedback pulses per machine unit. A second number, if specified, is ignored.
# The notes in the docs make this clear
SCALE = 200
# (Optionally used in PnCconf built configs) - Specifies the number of pulses that corresponds to a move of one machine unit as set in the [TRAJ] section. For a linear joint one machine unit will be equal to the setting of LINEAR_UNITS. For an angular joint one unit is equal to the setting in ANGULAR_UNITS. A second number, if specified, is ignored.
# The docs refer to `ENCODER_SCALE`, but I have found only `ENC_SCALE` works
ENC_SCALE = 1024
# FERROR is the maximum allowable following error, in machine units. If the difference between commanded and sensed position exceeds this amount, the controller disables servo calculations, sets all the outputs to 0.0, and disables the amplifiers. If MIN_FERROR is present in the INI file, velocity-proportional following errors are used. Here, the maximum allowable following error is proportional to the speed, with FERROR applying to the rapid rate set by [TRAJ]MAX_VELOCITY, and proportionally smaller following errors for slower speeds. The maximum allowable following error will always be greater than MIN_FERROR. This prevents small following errors for stationary axes from inadvertently aborting motion. Small following errors will always be present due to vibration, etc.
FERROR = 10
# The minimum limit for joint motion, in machine units. When this limit is reached, the controller aborts joint motion. For a rotary joint with unlimited rotation having no MIN_LIMIT for that joint in the [JOINT_N] section a the value -1e99 is used.
MIN_LIMIT = -100
# The maximum limit for joint motion, in machine units. When this limit is reached, the controller aborts joint motion. For a rotary joint with unlimited rotation having no MAX_LIMIT for that joint in the [JOINT_N] section a the value 1e99 is used.
MAX_LIMIT = 100
# Maximum velocity for this joint in machine units per second.
MAX_VELOCITY = 100
# Maximum acceleration for this joint in machine units per second squared.
MAX_ACCELERATION = 2000
# The proportional gain for the joint servo. This value multiplies the error between commanded and actual position in machine units, resulting in a contribution to the computed voltage for the motor amplifier. The units on the P gain are volts per machine unit
P = 5
# The integral gain for the joint servo. The value multiplies the cumulative error between commanded and actual position in machine units, resulting in a contribution to the computed voltage for the motor amplifier. The units on the I gain are volts per machine unit second
I = 0
# The derivative gain for the joint servo. The value multiplies the difference between the current and previous errors, resulting in a contribution to the computed voltage for the motor amplifier. The units on the D gain are volts per machine unit per second, e.g
D = 0
# The 0th order feed forward gain. This number is multiplied by the commanded position, resulting in a contribution to the computed voltage for the motor amplifier. The units on the FF0 gain are volts per machine unit
FF0 = 0
# The 1st order feed forward gain. This number is multiplied by the change in commanded position per second, resulting in a contribution to the computed voltage for the motor amplifier. The units on the FF1 gain are volts per machine unit per second
FF1 = 0
# The 2nd order feed forward gain. This number is multiplied by the change in commanded position per second per second, resulting in a contribution to the computed voltage for the motor amplifier. The units on the FF2 gain are volts per machine unit per second per second
FF2 = 0
# How close is close enough to consider the motor in position, in machine units.
DEADBAND = 0.01
# The maximum value for the output of the PID compensation that is written to the motor amplifier, in volts. The computed output value is clamped to this limit. The limit is applied before scaling to raw output units. The value is applied symmetrically to both the plus and the minus side.
MAX_OUTPUT = 100
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# AXIS_Z
# https://linuxcnc.org/docs/html/config/ini-config.html#sub:ini:sec:axis-letter
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[AXIS_Z]
# The minimum limit (soft limit) for axis motion, in machine units. When this limit is exceeded, the controller aborts axis motion. The axis must be homed before MIN_LIMIT is in force. For a rotary axis (A,B,C typ) with unlimited rotation having no MIN_LIMIT for that axis in the [AXIS_<letter>] section a value of -1e99 is used.
MIN_LIMIT = -100
# The maximum limit (soft limit) for axis motion, in machine units. When this limit is exceeded, the controller aborts axis motion. The axis must be homed before MAX_LIMIT is in force. For a rotary axis (A,B,C typ) with unlimited rotation having no MAX_LIMIT for that axis in the [AXIS_<letter>] section a value of 1e99 is used.
MAX_LIMIT = 100
# Maximum velocity for this axis in machine units per second.
MAX_VELOCITY = 80.0
# Maximum acceleration for this axis in machine units per second squared.
MAX_ACCELERATION = 360.0
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# JOINT_2
# https://linuxcnc.org/docs/html/config/ini-config.html#sub:ini:sec:joint-num
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[JOINT_2]
# The type of joint, either LINEAR or ANGULAR.
TYPE = LINEAR
# Used to define the "Home All" sequence. <n> must start at 0 or 1 or -1. Additional sequences may be specified with numbers increasing by 1 (in absolute value). Skipping of sequence numbers is not allowed. If a HOME_SEQUENCE is omitted, the joint will not be homed by the "Home All" function. More than one joint can be homed at the same time by specifying the same sequence number for more than one joint. A negative sequence number is used to defer the final move for all joints having that (negative or positive) sequence number.
HOME_SEQUENCE = 1
# Specifies the number of pulses that corresponds to a move of one machine unit as set in the [TRAJ] section. For stepper systems, this is the number of step pulses issued per machine unit. For a linear joint one machine unit will be equal to the setting of LINEAR_UNITS. For an angular joint one unit is equal to the setting in ANGULAR_UNITS. For servo systems, this is the number of feedback pulses per machine unit. A second number, if specified, is ignored.
# The notes in the docs make this clear
SCALE = 200
# (Optionally used in PnCconf built configs) - Specifies the number of pulses that corresponds to a move of one machine unit as set in the [TRAJ] section. For a linear joint one machine unit will be equal to the setting of LINEAR_UNITS. For an angular joint one unit is equal to the setting in ANGULAR_UNITS. A second number, if specified, is ignored.
# The docs refer to `ENCODER_SCALE`, but I have found only `ENC_SCALE` works
ENC_SCALE = 2500
# FERROR is the maximum allowable following error, in machine units. If the difference between commanded and sensed position exceeds this amount, the controller disables servo calculations, sets all the outputs to 0.0, and disables the amplifiers. If MIN_FERROR is present in the INI file, velocity-proportional following errors are used. Here, the maximum allowable following error is proportional to the speed, with FERROR applying to the rapid rate set by [TRAJ]MAX_VELOCITY, and proportionally smaller following errors for slower speeds. The maximum allowable following error will always be greater than MIN_FERROR. This prevents small following errors for stationary axes from inadvertently aborting motion. Small following errors will always be present due to vibration, etc.
FERROR = 10
# The minimum limit for joint motion, in machine units. When this limit is reached, the controller aborts joint motion. For a rotary joint with unlimited rotation having no MIN_LIMIT for that joint in the [JOINT_N] section a the value -1e99 is used.
MIN_LIMIT = -100
# The maximum limit for joint motion, in machine units. When this limit is reached, the controller aborts joint motion. For a rotary joint with unlimited rotation having no MAX_LIMIT for that joint in the [JOINT_N] section a the value 1e99 is used.
MAX_LIMIT = 100
# Maximum velocity for this joint in machine units per second.
MAX_VELOCITY = 100
# Maximum acceleration for this joint in machine units per second squared.
MAX_ACCELERATION = 2000
# The proportional gain for the joint servo. This value multiplies the error between commanded and actual position in machine units, resulting in a contribution to the computed voltage for the motor amplifier. The units on the P gain are volts per machine unit
P = 5
# The integral gain for the joint servo. The value multiplies the cumulative error between commanded and actual position in machine units, resulting in a contribution to the computed voltage for the motor amplifier. The units on the I gain are volts per machine unit second
I = 0
# The derivative gain for the joint servo. The value multiplies the difference between the current and previous errors, resulting in a contribution to the computed voltage for the motor amplifier. The units on the D gain are volts per machine unit per second, e.g
D = 0
# The 0th order feed forward gain. This number is multiplied by the commanded position, resulting in a contribution to the computed voltage for the motor amplifier. The units on the FF0 gain are volts per machine unit
FF0 = 0
# The 1st order feed forward gain. This number is multiplied by the change in commanded position per second, resulting in a contribution to the computed voltage for the motor amplifier. The units on the FF1 gain are volts per machine unit per second
FF1 = 0
# The 2nd order feed forward gain. This number is multiplied by the change in commanded position per second per second, resulting in a contribution to the computed voltage for the motor amplifier. The units on the FF2 gain are volts per machine unit per second per second
FF2 = 0
# How close is close enough to consider the motor in position, in machine units.
DEADBAND = 0.01
# The maximum value for the output of the PID compensation that is written to the motor amplifier, in volts. The computed output value is clamped to this limit. The limit is applied before scaling to raw output units. The value is applied symmetrically to both the plus and the minus side.
MAX_OUTPUT = 10