Thanks for your comments Andy but I can't see anything wrong in my ini 
file and still can't understand what is going on. The problem I was 
describing of not being able to reliably set zero home positions occurs 
when I first switch the machines on. For instance, I just turned on to 
set up a new job and the readings on the axes display in AXIS were - X 
0.000, Y -0.000, Z -10.418 and A 737.592
I then issued a G92 X0.000 Y0.000 Z0.000 A0.000 in the MDI and all the 
axis readings then went to 0.000 - good.
Then I hit the home button on each axis and they all showed the home 
icon with the displayed figures staying at 0.000
Now I jogged to X 2.752 Y 2.279 Z2.208 A -10.131 and then tried to 
'touch off' each axis, setting each one to 0.000 in the touch off box. 
The readings then immediately went to X 12.842 Y -5.931 Z 4.645 A -56.156 !
The figures for the X and Y axis I can partly understand in that they 
were the positions I jogged to on a previous job but why the machine 
remembered them and went to them rather than the 0.000 I commanded I 
don't know. The figures for the Z and A axes are a total mystery and 
mean nothing to me at all.
I have found that if I repeat the G92, home, then touch off about 3 
times, the axes figures will settle at 0.000 after touching off but I 
don't know why..
The only EMC file I altered is the ini file which is listed below and 
seems innocuous to me. Can anyone offer any enlightenment please??

# 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.7.2.3 $

#+ Name of machine, for use with display, etc.
MACHINE =               EMC-HAL-STEP-XYZA-MM

#- Name of NML file to use, default is configs/common/emc.nml
NML_FILE =              emc.nml

#+ Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others
DEBUG = 0
# DEBUG =               0x00000007
# DEBUG =               0x7FFFFFFF

###############################################################################
# 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.100

#- Path to help file
HELP_FILE =             doc/help.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 =     9.0

#- Prefix to be used
PROGRAM_PREFIX = /home/ian/emc2/nc_files

#- Introductory graphic
INTRO_GRAPHIC =         emc2.gif
INTRO_TIME =            3


###############################################################################
# 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.007

###############################################################################
# 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 =                40000
#- 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]

# 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 =                    stepper_xyza.hal
#HALFILE =                    xylotex_pinout.hal
HALFILE =                    standard_pinout.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
STEPGEN_MAXACCEL =              396.0
AXES =                  4
# COORDINATES =         X Y Z R P W
COORDINATES =           X Y Z A
HOME =                  0 0 0 0
LINEAR_UNITS =          metric
ANGULAR_UNITS =         degree
CYCLE_TIME =            0.007
DEFAULT_VELOCITY =      3
DEFAULT_ANGULAR_VELOCITY =     20
MAX_VELOCITY =          5
MAX_ANGULAR_VELOCITY =          20.5
DEFAULT_ACCELERATION =  3
MAX_ACCELERATION =      4

###############################################################################
# Axes sections
###############################################################################

#+ First axis
[AXIS_0]

TYPE =                          LINEAR
HOME =                          0
MAX_VELOCITY =                  5
# 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 =              3
STEPGEN_MAXVEL =                10
STEPGEN_MAXACCEL =              5
BACKLASH = 0.000
INPUT_SCALE =                   400
OUTPUT_SCALE = 1.000
MIN_LIMIT =                     -200.00
MAX_LIMIT =                     120.0
FERROR = 0.80
MIN_FERROR = 0.10
HOME_OFFSET =                    0
HOME_SEARCH_VEL =                0
HOME_LATCH_VEL =                 0
HOME_USE_INDEX =                 NO
HOME_IGNORE_LIMITS =             NO

#+ Second axis
[AXIS_1]

TYPE =                          LINEAR
HOME =                          0.000
MAX_VELOCITY =                  2.5
MAX_ACCELERATION =              2
STEPGEN_MAXVEL =                3.20
STEPGEN_MAXACCEL =              2
BACKLASH = 0.000
INPUT_SCALE =                   -400
OUTPUT_SCALE = 1.000
MIN_LIMIT =                     -20.0
MAX_LIMIT =                     90.0
FERROR = 1
MIN_FERROR = 0.2
HOME_OFFSET =                    0.0
HOME_SEARCH_VEL =                0
HOME_LATCH_VEL =                 0
HOME_USE_INDEX =                 NO
HOME_IGNORE_LIMITS =             NO

#+ Third axis
[AXIS_2]

TYPE =                          LINEAR
HOME =                          0
MAX_VELOCITY =                  3
MAX_ACCELERATION =              2
STEPGEN_MAXVEL =                5
STEPGEN_MAXACCEL =              5
BACKLASH = 0.000
INPUT_SCALE =                   -400
OUTPUT_SCALE = 1.000
MIN_LIMIT =                     -90.0
MAX_LIMIT =                     90.0
FERROR = 0.700
MIN_FERROR = 0.20
HOME_OFFSET =                    0.0
HOME_SEARCH_VEL =                0
HOME_LATCH_VEL =                 0
HOME_USE_INDEX =                 NO
HOME_IGNORE_LIMITS =             NO

#+ Fourth axis
[AXIS_3]

TYPE =                          ANGULAR
HOME =                          0.0
MAX_VELOCITY =                  8.0
MAX_ACCELERATION =              8.0
STEPGEN_MAXVEL =                20.5
STEPGEN_MAXACCEL =              39.0
BACKLASH = 0.000
INPUT_SCALE =                   50
OUTPUT_SCALE = 1.000
MIN_LIMIT =                     -360000.0
MAX_LIMIT =                     360000.0
FERROR = 5.0
MIN_FERROR = 1.0
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.080

#- tool table file
TOOL_TABLE =            stepper.tbl

-- 
Best wishes,

Ian
____________
Ian W. Wright
Sheffield  UK

"The difference between theory and practice is much smaller in theory than in 
practice..."


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to