The only difference is I us hardware estop force estop sense low, and when I
release my estop button ,estop sense goes high and then I turn the machine on
through the gui halui and off she goes ,I'm running EMC2.6.15 halui_halvcp
configs My (standard pinout) file is below your response "Jon Elson responded
and said he has seen this behavior" It happens every time for me no matter what
GUI I use I still haven't wired my drives up Also when I call for a toolchange
M6 T5 the spindle signal doesn't drop ,my relay logic stops my spindle and
coolant for me but I assumed that this signal got dropped when requesting a
toolchange?
>Jeff Epler
>Wed, 23 May 2007 07:56:41 -0700
>Do you get this behavior with one of the "sim" configurations (e.g.,
>sim/axis.ini, sim/tkemc.ini)? What is the exact sequence of operations
>you do (key presses, button clicks, etc) to make this happen? If you
>are not running the newest version of emc2 (2.1.5), does the problem
>still occur after you have upgraded?
>Based on your description of the problem, I loaded sim/axis.ini and did
>the following actions:
> F1 F2 (turn machine on)
> o cds.ngc <RETURN> (load gcode file)
> r (begin running gcode file)
> F1 (estop)
> F1 F2 (turn machine on again)
>At this point, the machine is still not moving. Is there some
>difference between these steps and the steps you are performing?
>Jeff
# standard pinout config file for 3-axis steppers# using a parport for I/O##
first load the parport driverloadrt probe_parportloadrt hal_parport cfg="0x0378
0xDFE0"## next connect the parport functions to threads# read inputs firstaddf
parport.0.read base-thread 1# write outputs lastaddf parport.0.write
base-thread -1#read inputs firstaddf parport.1.read base-thread 1#write outputs
lastaddf parport.1.write base-thread -1# finally connect physical pins to the
signalslinksp Xstep => parport.0.pin-03-outlinksp Xdir =>
parport.0.pin-02-outlinksp Ystep => parport.0.pin-05-outlinksp Ydir =>
parport.0.pin-04-outlinksp Zstep => parport.0.pin-07-outlinksp Zdir =>
parport.0.pin-06-out# create a signal for the estop force false# alternate for
estop force false pin 13 only with no ewrite#linkpp parport.1.pin-13-in
iocontrol.0.emc-enable-in# connect e-stop write/sense to I/O controllernewsig
EstopSense bitnewsig EstopWrite bitlinksp EstopSense <=
parport.1.pin-13-inlinksp EstopSense => iocontrol.0.emc-enable-inlinksp
EstopWrite <= parport.1.pin-16-outlinksp EstopWrite =>
iocontrol.0.user-enable-out#estop may need to be inverted# create feedhold
signalnewsig feedhold bit# connect signal to motion controllinkps
motion.feed-hold => feedhold# conect feedhold to physical pinlinksp feedhold =>
parport.1.pin-11-in-not# or this works too#net feedhold parport.1.pin-11-in-not
motion.feed-hold# create a signal for "spindle brake"# create a signal for
"spindlefwd"# create a signal for "spindlerev"newsig spindle-brake bitnewsig
spindle-forward bitnewsig spindle-reverse bit# connect the controller to
itlinkps motion.spindle-brake => spindle-brakelinkps motion.spindle-forward =>
spindle-forwardlinkps motion.spindle-reverse => spindle-reverse# connect it to
physical pinlinksp spindle-brake => parport.1.pin-17-outlinksp spindle-forward
=> parport.1.pin-03-outlinksp spindle-reverse => parport.1.pin-02-out# create a
signle for mist coolant# create a signle for flood coolantnewsig MistOn
bitnewsig FloodOn bit# connect iocontroler to it# connect it to a physical
pinlinksp MistOn <= parport.1.pin-08-outlinksp MistOn =>
iocontrol.0.coolant-mistlinksp FloodOn <= parport.1.pin-09-outlinksp FloodOn =>
iocontrol.0.coolant-flood# create signals for tool loading loopback# use sig
for tool prep to tool prepedlinkpp iocontrol.0.tool-prepare
iocontrol.0.tool-prepared# creat a signal for toolchangenewsig changetool
bitnewsig toolchanged bit# connect iocontroler to it# connect it to pphyiscal
pinslinksp changetool <= parport.1.pin-04-outlinksp changetool =>
iocontrol.0.tool-changelinksp toolchanged <= parport.1.pin-10-in-notlinksp
toolchanged => iocontrol.0.tool-changed###### You might use something like this
to enable chopper drives when machineON### the Xen signal is defined in
core_stepper.hal#### linksp 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#### newsig Xhome bit#
linkps parport.0.pin-10-in => Xhome# linksp Xhome => 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!#### newsig homeswitches bit# linkps
parport.0.pin-10-in => homeswitches# linksp homeswitches => axis.0.home-sw-in#
linksp homeswitches => axis.1.home-sw-in# linksp homeswitches =>
axis.2.home-sw-in###### Sample separate limit switches on the X axis (axis
0)#### newsig X-neg-limit bit# linkps parport.0.pin-11-in => X-neg-limit#
linksp X-neg-limit => axis.0.neg-lim-sw-in# create signal for pos-limits newsig
pos-limits bit# connect signal to physical pin linkps parport.0.pin-15-in-not
=> pos-limits# connect signal to pos-limits linksp pos-limits =>
axis.0.pos-lim-sw-in linksp pos-limits => axis.1.pos-lim-sw-in linksp
pos-limits => axis.2.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 fromthis.#### create signal for neg-limits newsig neg-limits
bit# connect signal to physical pin linkps parport.0.pin-13-in-not =>
neg-limits# create sig for neg-limits switches linksp neg-limits =>
axis.0.neg-lim-sw-in linksp neg-limits => axis.1.neg-lim-sw-in linksp
neg-limits => axis.2.neg-lim-sw-in###### you can also use the "net" syntax to
accomplish the "newsig" and "link"### operations all at once. This command
does the same thing as the above### block.#### net Xlimits parport.pin-13-in =>
axis.0.neg-lim-sw-in axis.0.pos-lim-sw-in
INI File# EMC controller parameters for a simulated machine.#
General note: Comments can either be preceded with a # or ; - either is#
acceptable, although # is in keeping with most linux config files.#
Generalsection
-------------------------------------------------------------[EMC]# Version of
this INI fileVERSION = $Revision: 1.7.4.4 $# Name of machine, for
use with display, etc.MACHINE = Index CnC
MillRS274NGC_SARTUP_CODE=G21 G90# Name of NML file to use, default is
emc.nmlNML_FILE = emc.nml# Debug level, 0 means no messages. See
src/emc/nml_int/emcglb.h for others# DEBUG = 0x00000003# DEBUG =
0x00000007# DEBUG = 0x7FFFFFFFDEBUG = 0# Sections
for displayoptions ------------------------------------------------[DISPLAY]#
Name of display program, e.g., xemcDISPLAY = tkemc# Cycle time, in
seconds, that display will sleep between pollsCYCLE_TIME = 0.100#
Path to help fileHELP_FILE = tkemc.txt# Initial display setting for
position, RELATIVE or MACHINEPOSITION_OFFSET = RELATIVE# Initial display
setting for position, COMMANDED or ACTUALPOSITION_FEEDBACK = ACTUAL#
Highest value that will be allowed for feed override, 1.0 =
100%MAX_FEED_OVERRIDE = 1.2# Lowest value that will be allowed for spindle
speed override, 1.0 = 100%MIN_SPINDLE_OVERRIDE = 0.6# Highest value that
will be allowed for spindle speed override, 1.0 = 100%MAX_SPINDLE_OVERRIDE =
1.2# Prefix to be usedPROGRAM_PREFIX = /home/al/emc2/nc_files# Introductory
graphicINTRO_GRAPHIC = emc2.gifINTRO_TIME = 5# Task controllersection
-----------------------------------------------------[TASK]# Name of task
controller program, e.g., bridgeporttaskTASK = milltask# Cycle
time, in seconds, that task controller will sleep between pollsCYCLE_TIME =
0.010# Part program interpretersection
--------------------------------------------[RS274NGC]# File containing
interpreter variablesPARAMETER_FILE = stepper.var# Motion controlsection
------------------------------------------------------[EMCMOT]EMCMOT =
motmod# Key for real OS shared memory, e.g., for simulated motionSHMEM_KEY
= 111# Timeout for comm to emcmot, in secondsCOMM_TIMEOUT =
1.0# Interval between tries to emcmot, in secondsCOMM_WAIT =
0.010# Base task period, in nano-seconds - this is the fastest thread in
themachineBASE_PERIOD = 50000# Servo task period, in nano-seconds
- will be rounded to an integermultiple# of BASE_PERIODSERVO_PERIOD =
1000000# Trajectory Planner task period, in nano-seconds - will be
rounded to an# integer multiple of SERVO_PERIODTRAJ_PERIOD =
10000000# Hardware Abstraction Layersection
--------------------------------------------------[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 appearHALFILE =
core_stepper.hal
HALFILE = halvcp.halHALFILE =
standard_pinout.hal# list of halcmd commands to execute# commands are executed
in the order in which they appear#HALCMD = save netaHALUI =
halui# Trajectory plannersection
--------------------------------------------------[TRAJ]AXES =
3# COORDINATES = X Y Z A B CCOORDINATES = X Y ZHOME =
0 0 0LINEAR_UNITS = inchANGULAR_UNITS =
degreeCYCLE_TIME = 0.010DEFAULT_VELOCITY = 0.0167MAX_VELOCITY =
1.2DEFAULT_ACCELERATION = 20.0MAX_ACCELERATION = 20.0#
Axessections ---------------------------------------------------------------#
First axis[AXIS_0]TYPE = LINEARHOME =
0.000MAX_VELOCITY = 1.2MAX_ACCELERATION =
20.0STEPGEN_MAXVEL = 1.4STEPGEN_MAXACCEL = 21.0BACKLASH = 0.000INPUT_SCALE =
2000OUTPUT_SCALE = 1.000MIN_LIMIT =
-10.0MAX_LIMIT = 10.0FERROR = 0.050MIN_FERROR =
0.010HOME_OFFSET = 0.0HOME_SEARCH_VEL =
0.0HOME_LATCH_VEL = 0.0HOME_USE_INDEX =
NOHOME_IGNORE_LIMITS = NO# Second axis[AXIS_1]TYPE =
LINEARHOME = 0.000MAX_VELOCITY =
1.2MAX_ACCELERATION = 20.0STEPGEN_MAXVEL =
1.4STEPGEN_MAXACCEL = 21.0BACKLASH = 0.000INPUT_SCALE =
2000OUTPUT_SCALE = 1.000MIN_LIMIT = -10.0MAX_LIMIT =
10.0FERROR = 0.050MIN_FERROR = 0.010HOME_OFFSET =
0.0HOME_SEARCH_VEL = 0.0HOME_LATCH_VEL =
0.0HOME_USE_INDEX = NOHOME_IGNORE_LIMITS = NO#
Third axis[AXIS_2]TYPE = LINEARHOME =
0.0MAX_VELOCITY = 1.2MAX_ACCELERATION =
20.0STEPGEN_MAXVEL = 1.4STEPGEN_MAXACCEL = 21.0BACKLASH = 0.000INPUT_SCALE =
2000OUTPUT_SCALE = 1.000MIN_LIMIT =
-2.0MAX_LIMIT = 4.0FERROR = 0.050MIN_FERROR =
0.010HOME_OFFSET = 0.0HOME_SEARCH_VEL =
0.0HOME_LATCH_VEL = 0.0HOME_USE_INDEX =
NOHOME_IGNORE_LIMITS = NO# section for main IO controllerparameters
-----------------------------------[EMCIO]# Name of IO controller program,
e.g., ioEMCIO = io# cycle time, in secondsCYCLE_TIME = 0.100# tool table
fileTOOL_TABLE = sim.tbl
Al Smart Wrote
> I have done more testing and found that when I put the machine in estop it
> jumps to the next line of code to be executed.>Then when I bring it out of
> estop and push the machine on button it takes off to the next instruction and
> not finishing the previous line of code,it could be a rapid move!>If the next
> line of code happened to be a tool change than the machine takes off without
> spindle rotation because of my relay logic is still waiting for a toolchange
> but the axis still move.>Abort fixes the trouble but its one more thing to
> remember to do to stay out of trouble.>It would be nice if abort was a must
> do or automatically done with machine on.>is this everyone's problem or is it
> something I'm doing>She's a runaway!
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users