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

Reply via email to