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

Reply via email to