I upgraded my system from 2.3 to 2.4. I read on the wiki to take out
the line: NML_FILE = emc.nml. I did this and started emc2.
The errors located in the file emc23_error_nonml were observed.
I then included the line with NML_FILE and the errors in the
emc24_error.txt were observed.
If I comment out the "HALFILE = joypad.hal" ecm2.4 runs ok.
I am including my ini file with this post. The joypad ran fine before
the upgrade.
Any ideas?
Kirk
Print file information:
RUN_IN_PLACE=no
EMC2_DIR=
EMC2_BIN_DIR=/usr/bin
EMC2_TCL_DIR=/usr/share/emc/tcl
EMC2_SCRIPT_DIR=
EMC2_RTLIB_DIR=/usr/realtime-2.6.24-16-rtai/modules/emc2
EMC2_CONFIG_DIR=
EMC2_LANG_DIR=/usr/share/emc/tcl/msgs
INIVAR=inivar
HALCMD=halcmd
EMC2_EMCSH=/usr/bin/wish8.4
EMC2 - 2.4.0
Machine configuration directory is '/home/kirk/emc2/configs/stepper'
Machine configuration file is 'stepper_inch.ini'
INIFILE=/home/kirk/emc2/configs/stepper/stepper_inch.ini
PARAMETER_FILE=stepper.var
EMCMOT=motmod
EMCIO=io
TASK=milltask
HALUI=halui
DISPLAY=axis
NML_FILE=
Starting EMC2...
Starting EMC2 server program: emcsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting EMC2 IO program: io
Starting HAL User Interface program: halui
Shutting down and cleaning up EMC2...
ERROR: button 0 export failed with err=-22
Killing task emcsvr, PID=5166
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Cleanup done
Debug file information:
Can not find -sec EMC -var NML_FILE -num 1
Unrecognized line skipped: POC FMS LEN DIAM COMMENT
standard_pinout.hal:22: Warning: linkpp command is deprecated, use 'net'
HAL: ERROR: pin_new called after hal_ready
joypad.hal:19: Pin 'joypad.axis.0' does not exist
5166
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components
Kernel message information:
[ 148.502342] I-pipe: Domain RTAI registered.
[ 148.502356] RTAI[hal]: <3.6.1> mounted over IPIPE-NOTHREADS 2.0-04.
[ 148.502358] RTAI[hal]: compiled with gcc version 4.2.4 (Ubuntu
4.2.4-1ubuntu3).
[ 148.502365] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs
DISPATCHED), ISOL_CPUS_MASK: 0).
[ 148.502367] PIPELINE layers:
[ 148.502370] f8c63000 9ac15d93 RTAI 200
[ 148.502372] c0383180 0 Linux 100
[ 148.551462] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[ 148.565118] RTAI[sched]: loaded (IMMEDIATE, UP, USER/KERNEL SPACE: <with
RTAI OWN KTASKs>, kstacks pool size = 524288 bytes.
[ 148.565128] RTAI[sched]: hard timer type/freq = 8254-PIT/1193180(Hz);
default timing: periodic; linear timed lists.
[ 148.565132] RTAI[sched]: Linux timer freq = 250 (Hz), CPU freq = 2675164000
hz.
[ 148.565134] RTAI[sched]: timer setup = 2010 ns, resched latency = 2689 ns.
[ 148.700391] RTAI[math]: loaded.
[ 148.757183] rtapi: no version for "nano2count" found: kernel tainted.
[ 148.763867] RTAPI: Init
[ 148.764155] RTAPI: Init complete
[ 148.791282] HAL_LIB: loading kernel lib
[ 148.791290] RTAPI: initing module HAL_LIB
[ 148.791294] RTAPI: module 'HAL_LIB' loaded, ID: 1
[ 148.792121] RTAPI: shmem 01 created by module 01, key: 1212238898, size:
262000
[ 148.792132] HAL_LIB: kernel lib installed successfully
[ 149.013655] config string '0x0378'
[ 149.830013] RTAI[math]: unloaded.
[ 149.893465] SCHED releases registered named ALIEN RTGLBH
[ 149.908133] RTAI[malloc]: unloaded.
[ 150.007412] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps
0, syscalls 0).
[ 150.010701] I-pipe: Domain RTAI unregistered.
[ 150.010711] RTAI[hal]: unmounted.
Print file information:
RUN_IN_PLACE=no
EMC2_DIR=
EMC2_BIN_DIR=/usr/bin
EMC2_TCL_DIR=/usr/share/emc/tcl
EMC2_SCRIPT_DIR=
EMC2_RTLIB_DIR=/usr/realtime-2.6.24-16-rtai/modules/emc2
EMC2_CONFIG_DIR=
EMC2_LANG_DIR=/usr/share/emc/tcl/msgs
INIVAR=inivar
HALCMD=halcmd
EMC2_EMCSH=/usr/bin/wish8.4
EMC2 - 2.4.0
Machine configuration directory is '/home/kirk/emc2/configs/stepper'
Machine configuration file is 'stepper_inch.ini'
INIFILE=/home/kirk/emc2/configs/stepper/stepper_inch.ini
PARAMETER_FILE=stepper.var
EMCMOT=motmod
EMCIO=io
TASK=milltask
HALUI=halui
DISPLAY=axis
NML_FILE=emc.nml
Starting EMC2...
Starting EMC2 server program: emcsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting EMC2 IO program: io
libnml/buffer/physmem.cc 143: PHYSMEM_HANDLE: Can't write 6348 bytes at offset
60 from buffer of size 4064.
libnml/cms/cms_in.cc 1383: CMS:(toolSts) Error writing 6348 bytes to global
memory at offset 8055710
(See libnml/cms/cms_in.cc line 1386.)
**********************************************************
* Current Directory = /home/kirk/emc2/configs/stepper
*
**********************************************************
* BufferName = toolSts
* BufferType = 0
* ProcessName = tool
* Configuration File = emc.nml
* CMS Status = -3 (CMS_INTERNAL_ACCESS_ERROR: An error occured during an
internal access function. )
* Recent errors repeated:
PHYSMEM_HANDLE: Can't write 6348 bytes at offset 60 from buffer of size 4064.
CMS:(toolSts) Error writing 6348 bytes to global memory at offset 8055710
(See libnml/cms/cms_in.
* BufferLine: B toolSts SHMEM localhost 4096 0 0
5 16 1005 TCP=5005 xdr
* ProcessLine: P tool toolSts LOCAL localhost W
0 1.0 0 3
* error_type = 5 (NML_INTERNAL_CMS_ERROR)
************************************************************
libnml/buffer/physmem.cc 143: PHYSMEM_HANDLE: Can't write 6348 bytes at offset
60 from buffer of size 4064.
libnml/cms/cms_in.cc 1383: CMS:(toolSts) Error writing 6348 bytes to global
memory at offset 8055710
(See libnml/cms/cms_in.cc line 1386.)
Starting HAL User Interface program: halui
Shutting down and cleaning up EMC2...
ERROR: button 0 export failed with err=-22
Killing task emcsvr, PID=6725
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Cleanup done
Debug file information:
Unrecognized line skipped: POC FMS LEN DIAM COMMENT
standard_pinout.hal:22: Warning: linkpp command is deprecated, use 'net'
HAL: ERROR: pin_new called after hal_ready
joypad.hal:19: Pin 'joypad.axis.0' does not exist
6725
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components
Kernel message information:
[ 300.769223] I-pipe: Domain RTAI registered.
[ 300.769236] RTAI[hal]: <3.6.1> mounted over IPIPE-NOTHREADS 2.0-04.
[ 300.769239] RTAI[hal]: compiled with gcc version 4.2.4 (Ubuntu
4.2.4-1ubuntu3).
[ 300.769245] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs
DISPATCHED), ISOL_CPUS_MASK: 0).
[ 300.769248] PIPELINE layers:
[ 300.769250] f8c67000 9ac15d93 RTAI 200
[ 300.769253] c0383180 0 Linux 100
[ 300.785625] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[ 300.786047] RTAI[sched]: loaded (IMMEDIATE, UP, USER/KERNEL SPACE: <with
RTAI OWN KTASKs>, kstacks pool size = 524288 bytes.
[ 300.786054] RTAI[sched]: hard timer type/freq = 8254-PIT/1193180(Hz);
default timing: periodic; linear timed lists.
[ 300.786058] RTAI[sched]: Linux timer freq = 250 (Hz), CPU freq = 2675164000
hz.
[ 300.786061] RTAI[sched]: timer setup = 2010 ns, resched latency = 2689 ns.
[ 300.869883] RTAI[math]: loaded.
[ 300.904714] RTAPI: Init
[ 300.904773] RTAPI: Init complete
[ 300.914069] HAL_LIB: loading kernel lib
[ 300.914078] RTAPI: initing module HAL_LIB
[ 300.914082] RTAPI: module 'HAL_LIB' loaded, ID: 1
[ 300.914376] RTAPI: shmem 01 created by module 01, key: 1212238898, size:
262000
[ 300.914385] HAL_LIB: kernel lib installed successfully
[ 301.016644] config string '0x0378'
[ 301.511356] RTAI[math]: unloaded.
[ 301.575244] SCHED releases registered named ALIEN RTGLBH
[ 301.591751] RTAI[malloc]: unloaded.
[ 301.690715] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps
0, syscalls 0).
[ 301.693719] I-pipe: Domain RTAI unregistered.
[ 301.693729] RTAI[hal]: unmounted.
# Note: emcsvr is the master for all NML channels, and therefore is the
# first to start.
# Buffers
# Name Type Host size neut? (old) buffer#
MP ---
# Top-level buffers to EMC
B emcCommand SHMEM localhost 8192 0 0 1
16 1001 TCP=5005 xdr
B emcStatus SHMEM localhost 16384 0 0 2
16 1002 TCP=5005 xdr
B emcError SHMEM localhost 8192 0 0 3
16 1003 TCP=5005 xdr queue
# These are for the IO controller, EMCIO
B toolCmd SHMEM localhost 1024 0 0 4
16 1004 TCP=5005 xdr
B toolSts SHMEM localhost 4096 0 0 5
16 1005 TCP=5005 xdr
# Processes
# Name Buffer Type Host Ops server? timeout
master? cnum
P emc emcCommand LOCAL localhost RW 0 1.0
0 0
P emc emcStatus LOCAL localhost W 0 1.0
0 0
P emc emcError LOCAL localhost W 0 1.0
0 0
P emc toolCmd LOCAL localhost W 0 1.0
0 0
P emc toolSts LOCAL localhost R 0 1.0
0 0
P emcsvr emcCommand LOCAL localhost W 1 1.0
1 2
P emcsvr emcStatus LOCAL localhost R 1 1.0
1 2
P emcsvr emcError LOCAL localhost R 1 1.0
1 2
P emcsvr toolCmd LOCAL localhost W 1 1.0
1 2
P emcsvr toolSts LOCAL localhost R 1 1.0
1 2
P emcsvr default LOCAL localhost RW 1 1.0
1 2
P tool emcError LOCAL localhost W 0 1.0
0 3
P tool toolCmd LOCAL localhost RW 0 1.0
0 3
P tool toolSts LOCAL localhost W 0 1.0
0 3
P xemc emcCommand LOCAL localhost W 0 10.0
0 10
P xemc emcStatus LOCAL localhost R 0 10.0
0 10
P xemc emcError LOCAL localhost R 0 10.0
0 10
P xemc toolCmd LOCAL localhost W 0 10.0
0 10
P xemc toolSts LOCAL localhost R 0 10.0
0 10
P keystick emcCommand LOCAL localhost W 0 10.0
0 10
P keystick emcStatus LOCAL localhost R 0 10.0
0 10
P keystick emcError LOCAL localhost R 0 10.0
0 10
P keystick toolCmd LOCAL localhost W 0 10.0
0 10
P keystick toolSts LOCAL localhost R 0 10.0
0 10
# joypad.hal -- hal configuration file to move a cnc machine using a joypad
# [JOG]
# Components
# We will use hal_joystick to read the axis value (float) for X Y Z, we will
send these values to the
# speed pin of a sim-encoder component, for X Y Z, this component outputs
Phase-A and Phase-B signal,
# just like a real quadrature rotary encoder. We will decode those signals with
an encoder component for X Y Z
# and will send the result counts value to the axis jog pin for X Y Z.
# Load the hal_joystick component that creates joypad.axis.<n> and
joypad.button.<n> pins
loadusr hal_joystick -d /dev/input/js0 -p joypad
# Load three encoder and three sim_encoder components
loadrt encoder num_chan=3
loadrt sim_encoder num_chan=3
# Create links between the axis pins and the speed pin of the sim-encoder for X
Y Z
net velX joypad.axis.0 => sim-encoder.0.speed
net velY joypad.axis.1 => sim-encoder.1.speed
net velZ joypad.axis.3 => sim-encoder.2.speed
# Create links between sim-encoder Phase-A and Phase-B and encoder Phase-A and
Phase-B for X Y Z
net XA sim-encoder.0.phase-A => encoder.0.phase-A
net XB sim-encoder.0.phase-B => encoder.0.phase-B
net YA sim-encoder.1.phase-A => encoder.1.phase-A
net YB sim-encoder.1.phase-B => encoder.1.phase-B
net ZA sim-encoder.2.phase-A => encoder.2.phase-A
net ZB sim-encoder.2.phase-B => encoder.2.phase-B
# Create links between encoder counts and jog counts for X Y Z
net countX encoder.0.counts => axis.0.jog-counts
net countY encoder.1.counts => axis.1.jog-counts
net countZ encoder.2.counts => axis.2.jog-counts
# Set parameter values
setp encoder.0.position-scale 1
setp encoder.0.x4-mode TRUE
setp encoder.1.position-scale 1
setp encoder.1.x4-mode TRUE
setp encoder.2.position-scale 1
setp encoder.2.x4-mode TRUE
setp encoder.capture-position.tmax 0
setp encoder.update-counters.tmax 0
setp sim-encoder.0.ppr 00000500
setp sim-encoder.0.scale 1
setp sim-encoder.1.ppr 00000500
setp sim-encoder.1.scale -1
setp sim-encoder.2.ppr 00000500
setp sim-encoder.2.scale -1
setp sim-encoder.make-pulses.tmax 0
setp sim-encoder.update-speed.tmax 0
# Enable jog for X Y Z
setp axis.0.jog-enable TRUE
setp axis.1.jog-enable TRUE
setp axis.2.jog-enable TRUE
#Set jogwheel input into velocity mode
setp axis.0.jog-vel-mode 1
setp axis.1.jog-vel-mode 1
setp axis.2.jog-vel-mode 1
# Attach realtime functions to threads
addf encoder.capture-position servo-thread
addf sim-encoder.update-speed servo-thread
addf encoder.update-counters base-thread
addf sim-encoder.make-pulses base-thread
# [BUTTON-SAMPLES]
# Here are two examples on how to attach some functions to joypad buttons. We
will use Halui pins for the
# second example.
# Scale button
# we set two buttons (1 and 0) to choose the jogscale value. Pressing button 1
will set the scale to 0.01
# while pressing button 0 will set it to 0.1.
# Components
# We will use a two values selector and a flipflop component
loadrt mux2
loadrt flipflop
# Link between buttons and flipflop, flipflop will output TRUE when rising edge
is detected on set pin, FALSE
# when rising edge is on reset pin.
net button0 joypad.button.0 => flipflop.0.reset
net button1 joypad.button.1 => flipflop.0.set
# Link between flipflop and mux2, mux2 will output value mux2.0.in0 when
mux2.0.sel is FALSE and #mux2.0.in1
# when TRUE.
net selected flipflop.0.out => mux2.0.sel
# Link between the mux2 output and the jogscale pin for X Y Z
net jogscale mux2.0.out => axis.0.jog-scale
net jogscale mux2.0.out => axis.1.jog-scale
net jogscale mux2.0.out => axis.2.jog-scale
# Set parameters values
setp flipflop.0.tmax 3750
setp mux2.0.tmax 3601
# Set the two scale values
setp mux2.0.in0 0.00017
setp mux2.0.in1 0.00001
# Attach realtime functions to threads
addf flipflop.0 servo-thread
addf mux2.0 servo-thread
# Power On Button
net button9 joypad.button.9 => halui.machine.on
# Estop Button
net button5 joypad.button.5 => halui.estop.activate
net button7 joypad.button.7 => halui.estop.reset
# Spindle
net button6 joypad.button.6 => halui.spindle.start
net button4 joypad.button.4 => halui.spindle.stop
# Program Start/Stop
net button3 joypad.button.3 => halui.program.resume
net button2 joypad.button.2 => halui.program.pause
# Flood button
# We will set a single button (button 7) to start and stop flood. We will use
Halui pins for that.
# Components
# We will use simply two and2 and 1 not components
#loadrt and2 count=2
#loadrt not
# Flood-is-on halui pin is linked to the and2.0.in0 and the not-flood-is-on,
generated using the not component
# is linked to the and2.1.in0. So, if the flood is on, we will have and2.0.in0
TRUE and and2.1.in0 FALSE.
#net flood-is-on halui.flood.is-on => and2.0.in0
#net flood-is-on halui.flood.is-on => not.0.in
#net not-flood-is-on not.0.out => and2.1.in0
# Link between button 7 and and.0.in1 and and.1.in1. In this way, if the flood
for example is on, when the
# button is pressed TRUE will be sent to and2.0.in1 and and2.1.in1, while the
in0 value for and2 components
# will be TRUE for the first and2 and FALSE for the second. So the first and2
will output TRUE.
#net button7 joypad.button.7 => and2.0.in1
#net button7 joypad.button.7 => and2.1.in1
# Link between and2 outputs and halui pin flood on and off. So, as seen above,
if the flood is on, the and2.0
# will output TRUE and the flood will turn off.
#net floodOff and2.0.out => halui.flood.off
#net floodOn and2.1.out => halui.flood.on
# Attach realtime functions to threads
#addf and2.0 servo-thread
#addf and2.1 servo-thread
#addf not.0 servo-thread
# standard pinout config file for 3-axis steppers
# using a parport for I/O
#
# first load the parport driver
loadrt hal_parport cfg="0x0378"
#
# next connect the parport functions to threads
# read inputs first
addf parport.0.read base-thread 1
# write outputs last
addf parport.0.write base-thread -1
#
# finally connect physical pins to the signals
net Xstep => parport.0.pin-03-out
net Xdir => parport.0.pin-02-out
net Ystep => parport.0.pin-05-out
net Ydir => parport.0.pin-04-out
net Zstep => parport.0.pin-07-out
net Zdir => parport.0.pin-06-out
# create a signal for the estop loopback
net estop-loop iocontrol.0.user-enable-out iocontrol.0.emc-enable-in
# create signals for tool loading loopback
net tool-prep-loop iocontrol.0.tool-prepare iocontrol.0.tool-prepared
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed
# connect "spindle on" motion controller pin to a physical pin
net spindle-on motion.spindle-on => parport.0.pin-09-out
###
### You might use something like this to enable chopper drives when machine ON
### the Xen signal is defined in core_stepper.hal
###
# net Xen => parport.0.pin-01-out
###
### If you want active low for this pin, invert it like this:
###
# setp parport.0.pin-01-out-invert 1
###
### A sample home switch on the X axis (axis 0). make a signal,
### link the incoming parport pin to the signal, then link the signal
### to EMC's axis 0 home switch input pin
###
# net Xhome parport.0.pin-10-in => axis.0.home-sw-in
###
### Shared home switches all on one parallel port pin?
### that's ok, hook the same signal to all the axes, but be sure to
### set HOME_IS_SHARED and HOME_SEQUENCE in the ini file. See the
### user manual!
###
# net homeswitches <= parport.0.pin-10-in
# net homeswitches => axis.0.home-sw-in
# net homeswitches => axis.1.home-sw-in
# net homeswitches => axis.2.home-sw-in
###
### Sample separate limit switches on the X axis (axis 0)
###
# net X-neg-limit parport.0.pin-11-in => axis.0.neg-lim-sw-in
# net X-pos-limit parport.0.pin-12-in => axis.0.pos-lim-sw-in
###
### Just like the shared home switches example, you can wire together
### limit switches. Beware if you hit one, EMC will stop but can't tell
### you which switch/axis has faulted. Use caution when recovering from this.
###
# net Xlimits parport.0.pin-13-in => axis.0.neg-lim-sw-in axis.0.pos-lim-sw-in
# EMC controller parameters for generic controller. Make these what you need
# for your system.
# General note: Comments can either be preceded with a # or ; - either is
# acceptable, although # is in keeping with most linux config files.
# Settings with a + at the front of the comment are likely needed to get
# changed by the user.
# Settings with a - at the front are highly unneeded to be changed
###############################################################################
# General section
###############################################################################
[EMC]
#- Version of this INI file
VERSION = $Revision: 1.4.2.4 $
#+ Name of machine, for use with display, etc.
MACHINE = EMC-HAL-STEP-IN
#- Name of NML file to use, default is emc.nml
#NML_FILE = emc.nml
#+ Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others
# DEBUG = 0x00000001
# DEBUG = 0x00000007
# DEBUG = 0x7FFFFFFF
DEBUG = 0
###############################################################################
# Sections for display options
###############################################################################
[DISPLAY]
#+ Name of display program, e.g., xemc
DISPLAY = axis
# DISPLAY = usrmot
# DISPLAY = mini
# DISPLAY = tkemc
# Cycle time, in seconds, that display will sleep between polls
CYCLE_TIME = 0.200
#- Path to help file
HELP_FILE = help/tkemc.txt
#- Initial display setting for position, RELATIVE or MACHINE
POSITION_OFFSET = RELATIVE
#- Initial display setting for position, COMMANDED or ACTUAL
POSITION_FEEDBACK = ACTUAL
#+ Highest value that will be allowed for feed override, 1.0 = 100%
MAX_FEED_OVERRIDE = 1.2
#- Prefix to be used
PROGRAM_PREFIX = /home/kirk/emc2/nc_files
#- Introductory graphic
INTRO_GRAPHIC = emc2.gif
INTRO_TIME = 5
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python
###############################################################################
# Task controller section
###############################################################################
[TASK]
#- Name of task controller program, e.g., bridgeporttask
TASK = milltask
# TASK = minimilltask
#- Cycle time, in seconds, that task controller will sleep between polls
CYCLE_TIME = 0.002
###############################################################################
# Part program interpreter section
###############################################################################
[RS274NGC]
#- File containing interpreter variables
PARAMETER_FILE = stepper.var
###############################################################################
# Motion control section
###############################################################################
[EMCMOT]
#- Name of the motion controller to use (only one exists for nontrivkins)
EMCMOT = motmod
#- Key for real OS shared memory, e.g., for simulated motion
SHMEM_KEY = 111
#- Timeout for comm to emcmot, in seconds
COMM_TIMEOUT = 1.0
#- Interval between tries to emcmot, in seconds
COMM_WAIT = 0.010
#+ Base task period, in nanosecs - this is the fastest thread in the machine
BASE_PERIOD = 28000
#BASE_PERIOD = 50000
DIRHOLD = 2
#- Servo task period, in nanosecs - will be rounded to an int multiple of
BASE_PERIOD
SERVO_PERIOD = 1000000
#- Trajectory Planner task period, in nanosecs - will be rounded to an
# integer multiple of SERVO_PERIOD
TRAJ_PERIOD = 5000000
###############################################################################
# Hardware Abstraction Layer section
###############################################################################
[HAL]
HALUI = halui
# The run script first uses halcmd to execute any HALFILE
# files, and then to execute any individual HALCMD commands.
#
# list of hal config files to run through halcmd
#+ files are executed in the order in which they appear
HALFILE = core_stepper.hal
#HALFILE = xylotex_pinout.hal
HALFILE = standard_pinout.hal
HALFILE = joypad.hal
#- list of halcmd commands to execute
# commands are executed in the order in which they appear
#HALCMD = save neta
###############################################################################
# Trajectory planner section
###############################################################################
[TRAJ]
#+ machine specific settings
AXES = 3
# COORDINATES = X Y Z R P W
COORDINATES = X Y Z
HOME = 0 0 0
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 0.167
MAX_VELOCITY = 0.25
DEFAULT_ACCELERATION = 0.2
MAX_ACCELERATION = 0.5
PROBE_INDEX = 0
PROBE_POLARITY = 1
###############################################################################
# Axes sections
###############################################################################
#+ First axis
[AXIS_0]
TYPE = LINEAR
HOME = 0.000
MAX_VELOCITY = 0.22
# NOTE: the step generator module applies its own limits to
# acceleration and velocity. We have discovered that it needs
# to have a little "headroom" over the accel by the trajectory
# planner, otherwise it can fall slightly behind during accel
# and later overshoot as it catches up. In the long term we
# hope to come up with a clean fix for this problem. In the
# meantime, please set STEPGEN_MAXACCEL below to a few percent
# higher than the regular acceleration limit MAX_ACCELERATION
MAX_ACCELERATION = 0.5
STEPGEN_MAXVEL = 0.22
STEPGEN_MAXACCEL = 21.0
BACKLASH = 0.006
CYCLE_TIME = 0.001000
INPUT_SCALE = 72000
OUTPUT_SCALE = 1.000 0.000
MIN_LIMIT = -1000.0
MAX_LIMIT = 1000.0
FERROR = 0.050
MIN_FERROR = 0.010
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
#+ Second axis
[AXIS_1]
TYPE = LINEAR
HOME = 0.000
MAX_VELOCITY = 0.22
MAX_ACCELERATION = 0.5
STEPGEN_MAXVEL = .25
STEPGEN_MAXACCEL = 21.0
BACKLASH = 0.006
CYCLE_TIME = 0.001000
INPUT_SCALE = 72000
OUTPUT_SCALE = 1.000 0.000
MIN_LIMIT = -1000.0
MAX_LIMIT = 1000.0
FERROR = 0.050
MIN_FERROR = 0.010
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
#+ Third axis
[AXIS_2]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 0.20
MAX_ACCELERATION = .5
STEPGEN_MAXVEL = .25
STEPGEN_MAXACCEL = 21.0
BACKLASH = 0.006
CYCLE_TIME = 0.001000
INPUT_SCALE = 35555.5556
OUTPUT_SCALE = 1.000 0.000
MIN_LIMIT = -1000.0
MAX_LIMIT = 1000.0
FERROR = 0.050
MIN_FERROR = 0.010
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
###############################################################################
# section for main IO controller parameters
###############################################################################
[EMCIO]
#- Name of IO controller program, e.g., io
EMCIO = io
#- cycle time, in seconds
CYCLE_TIME = 0.100
#- tool table file
TOOL_TABLE = stepper.tbl
###############################################################################
# section for external NML server parameters
###############################################################################
[EMCSERVER]
# Uncomment the following line if you need to run a remote GUI.
# EMCSERVER = emcsvr
------------------------------------------------------------------------------
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users