OK it's definitely from moving joint 0 or 3 while in Joint mode. Then
I'll get Following Error as soon as I go to World Mode.
No problems from moving joint 1(y) or joint 2(z). So it's surely a
problem with the 0/3 being linked under gantrykins.
I'm enclosing the .hal/.ini, if that'll go through. Not too long.
Danny
On 3/29/2016 10:37 AM, andy pugh wrote:
On 29 March 2016 at 16:33, <dan...@austin.rr.com> wrote:
Thinking over what all I did last night, I think IF joint 0 or its linked joint
3 were manipulated in Joint Mode, it would work but then immediately throw a
Following Error when entering Joint Mode (or, IIRC, going to the MDI window).
Without ANY sort of move involved.
Any idea what would cause that?
This might just be a side-effect of how the command and feedback pins
are connected in HAL.
What pin is connected to axis.0.motor-position-fb ?
# #######################################
#
# HAL file for HostMot2 with 4 steppers
#
# Derived from Ted Hyde's original hm2-servo config
#
# Based up work and discussion with Seb & Peter & Jeff
# GNU license references - insert here. www.linuxcnc.org
#
#
# ########################################
# Firmware files are in /lib/firmware/hm2/7i43/
# Must symlink the hostmot2 firmware directory of sanbox to
# /lib/firmware before running EMC2...
# sudo ln -s $HOME/emc2-sandbox/src/hal/drivers/mesa-hostmot2/firmware
/lib/firmware/hm2
#
# See also:
#
<http://www.linuxcnc.org/docs/devel/html/man/man9/hostmot2.9.html#config%20modparam>
# and http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?HostMot2
#
# #####################################################################
# ###################################
# Core EMC/HAL Loads
# ###################################
# kinematics
#loadrt trivkins
loadrt gantrykins coordinates=XYZX
# Settings for gantrykins
setp gantrykins.joint-0 0
setp gantrykins.joint-1 1
setp gantrykins.joint-2 2
setp gantrykins.joint-3 0
# motion controller
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD
num_joints=[TRAJ]AXES
# standard components
loadrt pid num_chan=4
# hostmot2 driver
loadrt hostmot2
# load low-level driver
loadrt [HOSTMOT2](DRIVER) config=[HOSTMOT2](CONFIG)
# XHC-HB04 driver
#loadusr -W xhc-hb04 -H -I /usr/share/linuxcnc/hallib/xhc-hb04-layout1.cfg
setp hm2_[HOSTMOT2](BOARD).0.watchdog.timeout_ns 25000000
# ################################################
# THREADS
# ################################################
addf hm2_[HOSTMOT2](BOARD).0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf pid.0.do-pid-calcs servo-thread
addf pid.1.do-pid-calcs servo-thread
addf pid.2.do-pid-calcs servo-thread
addf pid.3.do-pid-calcs servo-thread
#addf pid.4.do-pid-calcs servo-thread
addf hm2_[HOSTMOT2](BOARD).0.write servo-thread
#addf hm2_[HOSTMOT2](BOARD).0.pet_watchdog servo-thread
# Hacks to enable the DPLL sampling of the stepgen position:
# setp hm2_[HOSTMOT2](BOARD).0.raw.write_address 0x2A00
# Enable and select timer channel 1:
#setp hm2_[HOSTMOT2](BOARD).0.raw.write_data 0x00009000
# Disable:
#setp hm2_[HOSTMOT2](BOARD).0.raw.write_data 0x00000000
#setp hm2_[HOSTMOT2](BOARD).0.raw.write_strobe true
# latch 50 usec beforw nominal read time:
setp hm2_[HOSTMOT2](BOARD).0.dpll.01.timer-us -50
setp hm2_[HOSTMOT2](BOARD).0.stepgen.timer-number 1
# ######################################################
# Axis-of-motion Specific Configs (not the GUI)
# ######################################################
# ################
# X [0] Axis
# ################
# axis enable chain
newsig emcmot.00.enable bit
sets emcmot.00.enable FALSE
net emcmot.00.enable <= axis.0.amp-enable-out
net emcmot.00.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.00.enable pid.0.enable
# position command and feedback
net emcmot.00.pos-cmd axis.0.motor-pos-cmd => pid.0.command
net emcmot.00.vel-cmd axis.0.joint-vel-cmd => pid.0.command-deriv
net motor.00.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-fb
axis.0.motor-pos-fb pid.0.feedback
net motor.00.command pid.0.output
hm2_[HOSTMOT2](BOARD).0.stepgen.00.velocity-cmd
setp pid.0.error-previous-target true
# timing parameters
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.dirsetup [AXIS_0]DIRSETUP
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.dirhold [AXIS_0]DIRHOLD
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.steplen [AXIS_0]STEPLEN
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.stepspace [AXIS_0]STEPSPACE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-scale [AXIS_0]SCALE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.maxvel [AXIS_0]STEPGEN_MAX_VEL
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.maxaccel [AXIS_0]STEPGEN_MAX_ACC
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.step_type 0
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.control-type 1
# set PID loop gains from inifile
setp pid.0.Pgain [AXIS_0]P
setp pid.0.Igain [AXIS_0]I
setp pid.0.Dgain [AXIS_0]D
setp pid.0.bias [AXIS_0]BIAS
setp pid.0.FF0 [AXIS_0]FF0
setp pid.0.FF1 [AXIS_0]FF1
setp pid.0.FF2 [AXIS_0]FF2
setp pid.0.deadband [AXIS_0]DEADBAND
setp pid.0.maxoutput [AXIS_0]MAX_OUTPUT
setp pid.0.maxerror [AXIS_0]MAX_ERROR
# ################
# Y [1] Axis
# ################
# axis enable chain
newsig emcmot.01.enable bit
sets emcmot.01.enable FALSE
net emcmot.01.enable <= axis.1.amp-enable-out
net emcmot.01.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.01.enable pid.1.enable
# position command and feedback
net emcmot.01.pos-cmd axis.1.motor-pos-cmd => pid.1.command
net emcmot.01.vel-cmd axis.1.joint-vel-cmd => pid.1.command-deriv
net motor.01.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-fb
axis.1.motor-pos-fb pid.1.feedback
net motor.01.command pid.1.output
hm2_[HOSTMOT2](BOARD).0.stepgen.01.velocity-cmd
setp pid.1.error-previous-target true
# timing parameters
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.dirsetup [AXIS_1]DIRSETUP
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.dirhold [AXIS_1]DIRHOLD
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.steplen [AXIS_1]STEPLEN
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.stepspace [AXIS_1]STEPSPACE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-scale [AXIS_1]SCALE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.maxvel [AXIS_1]STEPGEN_MAX_VEL
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.maxaccel [AXIS_1]STEPGEN_MAX_ACC
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.step_type 0
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.control-type 1
# set PID loop gains from inifile
setp pid.1.Pgain [AXIS_1]P
setp pid.1.Igain [AXIS_1]I
setp pid.1.Dgain [AXIS_1]D
setp pid.1.bias [AXIS_1]BIAS
setp pid.1.FF0 [AXIS_1]FF0
setp pid.1.FF1 [AXIS_1]FF1
setp pid.1.FF2 [AXIS_1]FF2
setp pid.1.deadband [AXIS_1]DEADBAND
setp pid.1.maxoutput [AXIS_1]MAX_OUTPUT
setp pid.1.maxerror [AXIS_1]MAX_ERROR
# ################
# Z [2] Axis
# ################
# axis enable chain
newsig emcmot.02.enable bit
sets emcmot.02.enable FALSE
net emcmot.02.enable <= axis.2.amp-enable-out
net emcmot.02.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.02.enable pid.2.enable
# position command and feedback
net emcmot.02.pos-cmd axis.2.motor-pos-cmd => pid.2.command
net emcmot.02.vel-cmd axis.2.joint-vel-cmd => pid.2.command-deriv
net motor.02.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-fb
axis.2.motor-pos-fb pid.2.feedback
net motor.02.command pid.2.output
hm2_[HOSTMOT2](BOARD).0.stepgen.02.velocity-cmd
setp pid.2.error-previous-target true
# timing parameters
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.dirsetup [AXIS_2]DIRSETUP
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.dirhold [AXIS_2]DIRHOLD
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.steplen [AXIS_2]STEPLEN
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.stepspace [AXIS_2]STEPSPACE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-scale [AXIS_2]SCALE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.maxvel [AXIS_2]STEPGEN_MAX_VEL
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.maxaccel [AXIS_2]STEPGEN_MAX_ACC
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.step_type 0
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.control-type 1
# set PID loop gains from inifile
setp pid.2.Pgain [AXIS_2]P
setp pid.2.Igain [AXIS_2]I
setp pid.2.Dgain [AXIS_2]D
setp pid.2.bias [AXIS_2]BIAS
setp pid.2.FF0 [AXIS_2]FF0
setp pid.2.FF1 [AXIS_2]FF1
setp pid.2.FF2 [AXIS_2]FF2
setp pid.2.deadband [AXIS_2]DEADBAND
setp pid.2.maxoutput [AXIS_2]MAX_OUTPUT
setp pid.2.maxerror [AXIS_2]MAX_ERROR
# ################
# W [3] Axis
# ################
# axis enable chain
newsig emcmot.03.enable bit
sets emcmot.03.enable FALSE
net emcmot.03.enable <= axis.3.amp-enable-out
net emcmot.03.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.03.enable pid.3.enable
# position command and feedback
net emcmot.03.pos-cmd axis.3.motor-pos-cmd => pid.3.command
net emcmot.03.vel-cmd axis.3.joint-vel-cmd => pid.3.command-deriv
net motor.03.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.03.position-fb
axis.3.motor-pos-fb pid.3.feedback
net motor.03.command pid.3.output
hm2_[HOSTMOT2](BOARD).0.stepgen.03.velocity-cmd
setp pid.3.error-previous-target true
# timing parameters
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.dirsetup [AXIS_0]DIRSETUP
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.dirhold [AXIS_0]DIRHOLD
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.steplen [AXIS_0]STEPLEN
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.stepspace [AXIS_0]STEPSPACE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.position-scale [AXIS_0]SCALE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.maxvel [AXIS_0]STEPGEN_MAX_VEL
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.maxaccel [AXIS_0]STEPGEN_MAX_ACC
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.step_type 0
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.control-type 1
# set PID loop gains from inifile
setp pid.3.Pgain [AXIS_0]P
setp pid.3.Igain [AXIS_0]I
setp pid.3.Dgain [AXIS_0]D
setp pid.3.bias [AXIS_0]BIAS
setp pid.3.FF0 [AXIS_0]FF0
setp pid.3.FF1 [AXIS_0]FF1
setp pid.3.FF2 [AXIS_0]FF2
setp pid.3.deadband [AXIS_0]DEADBAND
setp pid.3.maxoutput [AXIS_0]MAX_OUTPUT
setp pid.3.maxerror [AXIS_0]MAX_ERROR
setp hm2_[HOSTMOT2](BOARD).0.gpio.004.invert_output true
setp hm2_[HOSTMOT2](BOARD).0.gpio.008.invert_output true
setp hm2_[HOSTMOT2](BOARD).0.gpio.010.invert_output true
setp hm2_[HOSTMOT2](BOARD).0.gpio.012.invert_output true
# Spindle control
# set PID loop gains from inifile
#setp pid.3.Pgain [SPINDLE_9]P
#setp pid.3.Igain [SPINDLE_9]I
#setp pid.3.Dgain [SPINDLE_9]D
#setp pid.3.bias [SPINDLE_9]BIAS
#setp pid.3.FF0 [SPINDLE_9]FF0
#setp pid.3.FF1 [SPINDLE_9]FF1
#setp pid.3.FF2 [SPINDLE_9]FF2
#setp pid.3.deadband [SPINDLE_9]DEADBAND
#setp pid.3.maxoutput [SPINDLE_9]MAX_OUTPUT
#setp pid.3.maxerror [SPINDLE_9]MAX_ERROR
#setp hm2_[HOSTMOT2](BOARD).0.7i76.0.0.spinout-scalemax [SPINDLE_9]SCALE
#setp hm2_[HOSTMOT2](BOARD).0.7i76.0.0.spinout-minlim [SPINDLE_9]MINLIM
#setp hm2_[HOSTMOT2](BOARD).0.7i76.0.0.spinout-maxlim [SPINDLE_9]MAXLIM
# ##################################################
# VFD
# ##################################################
#loadusr -W vfd.py
#loadrt scale count=1
#addf scale.0 servo-thread
#setp scale.0.gain 0.0767
#setp scale.0.offset 0
#net spindle-on <= vfd.spdvfd.run
#net spindle-cw <= vfd.spdvfd.forward
#net spindle-vel-cmd-rpm-abs => scale.0.in
#net spindle-speed vfd.spdvfd.freqset <= scale.0.out
# Hitachi wj200 5.5kw vfd running 5 hp mill spindle
loadusr -W x200_vfd --baud=19200
#default slave address is 1
setp x200-vfd.0.mbslaveaddr 1
setp x200-vfd.0.commanded-frequency 60
#setp wj200-vfd.0.commanded-frequency 166
# connect to x200-vfd pins
net spindle-on x200-vfd.0.run
#net spindle-cw x200-vfd.0.reverse
net spindle-at-speed x200-vfd.0.is-at-speed
#new stuff
net spindle-on motion.spindle-on
#net spindle-cw motion.spindle-reverse
net spindle-at-speed motion.spindle-at-speed
net spindle-rps motion.spindle-speed-out-rps-abs
net spindle-rps x200-vfd.0.commanded-frequency
setp x200-vfd.0.enable 1
setp x200-vfd.0.reverse 0
# ##################################################
# XHC-HB04
# ##################################################
loadusr -W xhc-hb04 -I xhc-hb04-layout1.ini -H
# Home button
#net home halui.home-all <= xhc-hb04.button-home
# Absolute position LCD
net pos-x halui.axis.0.pos-feedback => xhc-hb04.x.pos-absolute
net pos-y halui.axis.1.pos-feedback => xhc-hb04.y.pos-absolute
net pos-z halui.axis.2.pos-feedback => xhc-hb04.z.pos-absolute
net pos-a halui.axis.3.pos-feedback => xhc-hb04.a.pos-absolute
# Relative position LCD
net pos-rel-x halui.axis.0.pos-relative => xhc-hb04.x.pos-relative
net pos-rel-y halui.axis.1.pos-relative => xhc-hb04.y.pos-relative
net pos-rel-z halui.axis.2.pos-relative => xhc-hb04.z.pos-relative
net pos-rel-a halui.axis.3.pos-relative => xhc-hb04.a.pos-relative
# Jog wheel and axis selection button
net jog-x axis.0.jog-enable <= xhc-hb04.jog.enable-x
net jog-y axis.1.jog-enable <= xhc-hb04.jog.enable-y
net jog-z axis.2.jog-enable <= xhc-hb04.jog.enable-z
net jog-a axis.3.jog-enable <= xhc-hb04.jog.enable-a
net jog-scale xhc-hb04.jog.scale => axis.0.jog-scale axis.1.jog-scale
axis.2.jog-scale axis.3.jog-scale
net jog-counts xhc-hb04.jog.counts => axis.0.jog-counts axis.1.jog-counts
axis.3.jog-counts
net jog-counts-neg xhc-hb04.jog.counts-neg => axis.2.jog-counts
net jog-speed halui.jog-speed <= halui.max-velocity.value
# Wheel for feedrate and spindle
setp halui.feed-override.scale 0.01
net jog-counts => halui.feed-override.counts
net jog-feed halui.feed-override.count-enable <=
xhc-hb04.jog.enable-feed-override
net jog-feed2 halui.feed-override.value => xhc-hb04.feed-override
setp halui.spindle-override.scale 0.01
net jog-counts => halui.spindle-override.counts
net jog-spindle halui.spindle-override.count-enable <=
xhc-hb04.jog.enable-spindle-override
net jog-spindle2 halui.spindle-override.value => xhc-hb04.spindle-override
#net spindle-rps motion.spindle-speed-cmd-rps => xhc-hb04.spindle-rps
# RESET/ESTOP button
#net estop xhc-hb04.button-reset => halui.estop.activate
# X=0, Y=0, Z=0
#net x0 halui.mdi-command-06 xhc-hb04.button-x0
#net y0 halui.mdi-command-07 xhc-hb04.button-y0
#net z0 halui.mdi-command-08 xhc-hb04.button-z0
#net origin halui.mdi-command-09 xhc-hb04.button-goto-zero
# ##################################################
# Standard I/O Block - EStop, Etc
# ##################################################
# 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
[HOSTMOT2]
DRIVER=hm2_eth board_ip="10.10.10.10"
BOARD=7i92
CONFIG="num_encoders=0 num_stepgens=4"
[EMC]
# Name of machine, for use with display, etc.
MACHINE = HM2-Stepper
# Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others
#DEBUG = 0x00000003
#DEBUG = 0x00000007
DEBUG = 0
[DISPLAY]
# Name of display program, e.g., tkemc
#DISPLAY = tkemc
DISPLAY = axis
# Cycle time, in seconds, that display will sleep between polls
CYCLE_TIME = 0.100
# Path to help file
HELP_FILE = 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 = 30
# Prefix to be used
PROGRAM_PREFIX = ../../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]
# Name of task controller program, e.g., milltask
TASK = milltask
# Cycle time, in seconds, that task controller will sleep between polls
CYCLE_TIME = 0.010
[RS274NGC]
# File containing interpreter variables
PARAMETER_FILE = hm2-stepper.var
[EMCMOT]
EMCMOT = motmod
# Timeout for comm to emcmot, in seconds
COMM_TIMEOUT = 1.0
# Interval between tries to emcmot, in seconds
COMM_WAIT = 0.010
# Servo task period, in nanoseconds
SERVO_PERIOD = 1000000
[HAL]
# 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
HALUI = halui
HALFILE = 7i92_spid_XHC.hal
#HALFILE = xhc-hb04.hal
# list of halcmd commands to execute
# commands are executed in the order in which they appear
#HALCMD = save neta
[TRAJ]
AXES = 4
COORDINATES = X Y Z A
#JOINTS= 4
#HOME = 0 0 0 0
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
CYCLE_TIME = 0.001
#DEFAULT_VELOCITY = 1
#DEFAULT_ACCELERATION = 10
#MAX_VELOCITY = 10
#MAX_ACCELERATION = 10.0
#The initial rate for jogs of linear axes, in machine units per second. The
value shown in Axis equals machine units per minute.
DEFAULT_VELOCITY = 30
#In machines with nontrivial kinematics, the acceleration used for "teleop"
(Cartesian space) jogs, in machine units per second per second.
DEFAULT_ACCELERATION = 40
#The maximum velocity for any axis or coordinated move, in machine units per
second. The value shown equals 300 units per minute.
MAX_VELOCITY = 20
#The maximum acceleration for any axis or coordinated axis move, in machine
units per second per second.
MAX_ACCELERATION = 60.0
#DEFAULT_LINEAR_VELOCITY = 0.10
#DEFAULT_LINEAR_ACCELERATION =2.0
#MAX_LINEAR_VELOCITY = 5.0
#MAX_ACCELERATION = 20.0
[AXIS_0]
#
# Step timing is 2.5 us steplen + 2.5 us stepspace
# That gives 5 us step period = 200 KHz max step freq
#
#
# Scale is 2000 steps/rev * 5 revs/inch = 10000 steps/inch
#
# This gives a maxvel of 200000/10000 = 20 ips
#
TYPE = LINEAR
MAX_VELOCITY = 15
MAX_ACCELERATION = 50
# Set Stepgen max 20% higher than the axis
STEPGEN_MAX_VEL = 21
STEPGEN_MAX_ACC = 96
BACKLASH = 0.000
SCALE = 1736.236364
MIN_LIMIT = -30.0
MAX_LIMIT = 30.0
FERROR = .0002
MIN_FERROR = .0001
#FERROR=1
#MIN_FERROR = 0.010
#HOME = 0.000
#HOME_OFFSET = 0.10
#HOME_SEARCH_VEL = 0.10
#HOME_LATCH_VEL = -0.01
#HOME_USE_INDEX = YES
#HOME_IGNORE_LIMITS = YES
# these are in nanoseconds
DIRSETUP = 6000
DIRHOLD = 6000
STEPLEN = 8000
STEPSPACE = 8000
# PID tuning params
DEADBAND = 0
P = 1000
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0.00011
BIAS = 0
MAX_OUTPUT = 0
MAX_ERROR = 0.0005
[AXIS_1]
TYPE = LINEAR
MAX_VELOCITY = 15
MAX_ACCELERATION = 50
# Set Stepgen max 20% higher than the axis
STEPGEN_MAX_VEL = 21
STEPGEN_MAX_ACC = 96
BACKLASH = 0.000
SCALE = 1736.236364
MIN_LIMIT = -30.0
MAX_LIMIT = 30.0
FERROR = .0002
MIN_FERROR = .0001
#FERROR=1
#MIN_FERROR = 0.010
#HOME = 0.000
#HOME_OFFSET = 0.10
#HOME_SEARCH_VEL = 0.10
#HOME_LATCH_VEL = -0.01
#HOME_USE_INDEX = YES
#HOME_IGNORE_LIMITS = YES
# these are in nanoseconds
DIRSETUP = 6000
DIRHOLD = 6000
STEPLEN = 8000
STEPSPACE = 8000
# PID tuning params
DEADBAND = 0
P = 1000
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0.00011
BIAS = 0
MAX_OUTPUT = 0
MAX_ERROR = 0.0005
[AXIS_2]
TYPE = LINEAR
MAX_VELOCITY = 5
MAX_ACCELERATION = 30
# Set Stepgen max 20% higher than the axis
STEPGEN_MAX_VEL = 6
STEPGEN_MAX_ACC = 36
BACKLASH = 0.000
SCALE = 4000
MIN_LIMIT = -30.0
MAX_LIMIT = 30.0
#FERROR = .0002
#MIN_FERROR = .0001
FERROR=1
MIN_FERROR = 0.010
#HOME = 0.000
#HOME_OFFSET = 0.10
#HOME_SEARCH_VEL = 0.10
#HOME_LATCH_VEL = -0.01
#HOME_USE_INDEX = YES
#HOME_IGNORE_LIMITS = YES
# these are in nanoseconds
DIRSETUP = 6000
DIRHOLD = 6000
STEPLEN = 8000
STEPSPACE = 8000
# PID tuning params
DEADBAND = 0
P = 1000
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0.00011
BIAS = 0
MAX_OUTPUT = 0
MAX_ERROR = 0.0005
[AXIS_3]
#
# Step timing is 2.5 us steplen + 2.5 us stepspace
# That gives 5 us step period = 200 KHz max step freq
#
#
# Scale is 2000 steps/rev * 5 revs/inch = 10000 steps/inch
#
# This gives a maxvel of 200000/10000 = 20 ips
#
TYPE = LINEAR
MAX_VELOCITY = 15
MAX_ACCELERATION = 50
# Set Stepgen max 20% higher than the axis
STEPGEN_MAX_VEL = 21
STEPGEN_MAX_ACC = 96
BACKLASH = 0.000
SCALE = 1736.236364
MIN_LIMIT = -30.0
MAX_LIMIT = 30.0
FERROR = .0002
MIN_FERROR = .0001
#FERROR=1
#MIN_FERROR = 0.010
#HOME = 0.000
#HOME_OFFSET = 0.10
#HOME_SEARCH_VEL = 0.10
#HOME_LATCH_VEL = -0.01
#HOME_USE_INDEX = YES
#HOME_IGNORE_LIMITS = YES
# these are in nanoseconds
DIRSETUP = 6000
DIRHOLD = 6000
STEPLEN = 8000
STEPSPACE = 8000
# PID tuning params
DEADBAND = 0
P = 1000
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0.00011
BIAS = 0
MAX_OUTPUT = 0
MAX_ERROR = 0.0005
[SPINDLE_9]
# PID tuning params
#DEADBAND = 0
#P = 50
#I = 200
#D = .2
#FF0 = 0
#FF1 = 0
#FF2 = 0
#BIAS = 0
#MAX_OUTPUT = 0
#MAX_ERROR = 50
#SCALE = 6000
#MINLIM = 0
#MAXLIM = 6000
[EMCIO]
# Name of IO controller program, e.g., io
EMCIO = io
# cycle time, in seconds
CYCLE_TIME = 0.100
# tool table file
TOOL_TABLE = tool.tbl
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471&iu=/4140
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users