586,734 active members*
2,425 visitors online*
Register for free
Login

Thread: E-stop

Results 1 to 5 of 5
  1. #1
    Join Date
    May 2006
    Posts
    94

    E-stop

    I'm having E-stop troubles.

    I have the E-stop hooked up to pin 10 on my breakout board. In stepconf wizard, on parallel port setup, I have Pin 10 as ESTOP in. Pins 1, 8, 9, 11-16 = unused. Pins 2-7 = x,y,z Pin 17 Charge Pump.

    In Hal Meter, If I select
    parport.0.Pin-10-in, status changes from FALSE to TRUE when pressing the E-stop on the mill.

    parport.0.Pin-10-in-not, status changes from TRUE to FALSE.

    estop-ext, status changes from FALSE to TRUE

    estop-out, status does not change. It does however change when pressing the estop icon on the EMC2 main window.

    estop-out is false when in safe mode


    I find towards the bottom of my .hal file,
    net estop-out <= iocontrol.0.user-enable-out
    net estop-out => iocontrol.0.emc-enable-in

    I'm just getting things setup currently. Before I go crazy I want some safety first. I know E-stop to software isn't the best method, but it's a start.

  2. #2
    Join Date
    Feb 2006
    Posts
    45

    E-Stop Configuration

    I don't have access to my machine right now, Will check when I get home and post the exact configuration, but you have to connect in the .hal file
    parport.0.Pin-10-in to iocontrol.0.emc-enable-in

    This will give the external E-Stop button control.




    Quote Originally Posted by dewme5 View Post
    I'm having E-stop troubles.

    I have the E-stop hooked up to pin 10 on my breakout board. In stepconf wizard, on parallel port setup, I have Pin 10 as ESTOP in. Pins 1, 8, 9, 11-16 = unused. Pins 2-7 = x,y,z Pin 17 Charge Pump.

    In Hal Meter, If I select
    , status changes from FALSE to TRUE when pressing the E-stop on the mill.

    parport.0.Pin-10-in-not, status changes from TRUE to FALSE.

    estop-ext, status changes from FALSE to TRUE

    estop-out, status does not change. It does however change when pressing the estop icon on the EMC2 main window.

    estop-out is false when in safe mode


    I find towards the bottom of my .hal file,
    net estop-out <= iocontrol.0.user-enable-out
    net estop-out => iocontrol.0.emc-enable-in

    I'm just getting things setup currently. Before I go crazy I want some safety first. I know E-stop to software isn't the best method, but it's a start.

  3. #3
    Join Date
    May 2006
    Posts
    94
    there is a command in the .hal file stating

    net estop-ext <= parport.0.pin-10-in

    but that was already in there, and not doing what I need.

    I tried putting something together like you suggested, but when I run the command thru HAL configuration in EMC2, it comes up as an invalid statement. Something is just a little different.

  4. #4
    Join Date
    Jan 2007
    Posts
    4
    I had the same problem. This is how I fixed it.

    On your .hal file delete this line;
    net estop-ext <= parport.0.pin-10-in

    Change line;
    net estop-out <= iocontrol.0.user-enable-out

    to read;
    net estop-out <= parport.0.pin-10-in

    You should have this now;
    net estop-out <= parport.0.pin-10-in
    net estop-out => iocontrol.0.emc-enable-in

    You need to do this every time you modify the .hal file with the stepconf wizard.

    Good luck,
    Jorge

  5. #5
    Join Date
    May 2006
    Posts
    94
    Jorge.
    With those changes, EMC wont' even start. I get the error screen, which I don't fully comprehend just yet. However, you have gotten my closer. There are several lines I've edited so far, and I'll just post all the code for you to look at.

    Code:
    # Generated by stepconf at Tue Nov 27 19:39:22 2007
    # If you make changes to this file, they will be
    # overwritten when you run stepconf again
    loadrt trivkins
    loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]SERVO_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[TRAJ]AXES
    loadrt probe_parport
    loadrt hal_parport cfg=0x378
    setp parport.0.reset-time 4000
    loadrt stepgen step_type=0,0,0
    loadrt charge_pump
    
    addf parport.0.read base-thread
    addf stepgen.make-pulses base-thread
    addf charge-pump base-thread
    addf parport.0.write base-thread
    addf parport.0.reset base-thread
    
    addf stepgen.capture-position servo-thread
    addf motion-command-handler servo-thread
    addf motion-controller servo-thread
    addf stepgen.update-freq servo-thread
    
    net xdir => parport.0.pin-02-out
    net xstep => parport.0.pin-03-out
    setp parport.0.pin-03-out-reset 1
    net ydir => parport.0.pin-04-out
    net ystep => parport.0.pin-05-out
    setp parport.0.pin-05-out-reset 1
    net zdir => parport.0.pin-06-out
    net zstep => parport.0.pin-07-out
    setp parport.0.pin-07-out-reset 1
    net charge-pump => parport.0.pin-17-out
    
    net estop-ext <= parport.0.pin-10-in
    
    setp stepgen.0.position-scale [AXIS_0]SCALE
    setp stepgen.0.steplen 1
    setp stepgen.0.stepspace 0
    setp stepgen.0.dirhold 35000
    setp stepgen.0.dirsetup 16000
    setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL
    net xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd
    net xpos-fb stepgen.0.position-fb => axis.0.motor-pos-fb
    net xstep <= stepgen.0.step
    net xdir <= stepgen.0.dir
    net xenable axis.0.amp-enable-out => stepgen.0.enable
    
    setp stepgen.1.position-scale [AXIS_1]SCALE
    setp stepgen.1.steplen 1
    setp stepgen.1.stepspace 0
    setp stepgen.1.dirhold 35000
    setp stepgen.1.dirsetup 16000
    setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL
    net ypos-cmd axis.1.motor-pos-cmd => stepgen.1.position-cmd
    net ypos-fb stepgen.1.position-fb => axis.1.motor-pos-fb
    net ystep <= stepgen.1.step
    net ydir <= stepgen.1.dir
    net yenable axis.1.amp-enable-out => stepgen.1.enable
    
    setp stepgen.2.position-scale [AXIS_2]SCALE
    setp stepgen.2.steplen 1
    setp stepgen.2.stepspace 0
    setp stepgen.2.dirhold 35000
    setp stepgen.2.dirsetup 16000
    setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL
    net zpos-cmd axis.2.motor-pos-cmd => stepgen.2.position-cmd
    net zpos-fb stepgen.2.position-fb => axis.2.motor-pos-fb
    net zstep <= stepgen.2.step
    net zdir <= stepgen.2.dir
    net zenable axis.2.amp-enable-out => stepgen.2.enable
    
    net estop-out <= parport.0.pin-10-in-not
    net estop-out => iocontrol.0.emc-enable-in
    
    loadusr -W hal_manualtoolchange
    net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
    net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
    net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
    net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
    for some reason I also have to delete the line

    net estop-out charge-pump.enable <= iocontrol.0.user-enable-out

    net estop-ext <=parport.0.pin-10-in (stays, but dropped "not" from the end)

    net estop-out <=parport.0.pin-10-in-not (added "not" to stop conflict with above)

    Right now, the E-stop is working. When first starting EMC, I do not have to clear the E-Stop on the screen before pressing power. Either the hard E-stop is in or out. However, if I press the software button, it still stops. Press the Hard button, and it stops. Suppose that is good for now.

    I'm not sure why there is a difference between what works on your system, and mine, I would like to understand though.

Similar Threads

  1. cnc stop for a saw
    By cnc metalcraft in forum WoodWorking Topics
    Replies: 2
    Last Post: 09-05-2007, 05:58 PM
  2. E-Stop
    By bkukowski in forum Safety Zone
    Replies: 47
    Last Post: 01-10-2007, 12:29 AM
  3. E-Stop
    By jhwatts in forum Xylotex
    Replies: 1
    Last Post: 03-11-2006, 01:42 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •