Stuart Stevenson wrote: > Gentlemen, > I have uploaded a picture to imagebin. The name of the picture is stustev. > This is a screen shot of the feedback from the homing cycle of my > machine. I am using ppmc boards and EMC2-head. > The machine moves positive to the home switch. > I have the latch velocity set very low. > The machine reverses direction. > The machine display sets to zero and counts very slow. > The machine will stop momentarily. > The display will set to a number that seems to be the disance to > the start up position. > The machine then moves to the start up position. (display zero) > The display turns green. > Take a look at the screen shot.
Could anybody take a look at his picture and see if they can suggest what is happening here? Here's the URL: http://imagebin.org/8621 Clearly, index-enable is getting shut off before the index pulse comes true. I cannot see how the hardware or driver, as it is now written, can do this. Here's his ini file : # 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. # General section ------------------------------------------------------------- [EMC] # Version of this INI file VERSION = $Revision: 1.3.4.5 $ # Name of machine, for use with display, etc. MACHINE = DAHLIH # Name of NML file to use, default is 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 = mini # DISPLAY = usrmot DISPLAY = tkemc PYVCP = spindle.xml # 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 = 1.2 # Prefix to be used PROGRAM_PREFIX = /home/stustev/emc2/nc_files # Introductory graphic INTRO_GRAPHIC = emc2.gif INTRO_TIME = 2 # Enable popup balloon help BALLOON_HELP = 1 # 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.010 # Part program interpreter section -------------------------------------------- [RS274NGC] # File containing interpreter variables PARAMETER_FILE = dahlih.var # Motion control section ------------------------------------------------------ [EMCMOT] 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 nanoseconds - this is the fastest thread in the machine BASE_PERIOD = 50000 # Servo task period, in nanoseconds - will be rounded to an integer multiple # of BASE_PERIOD SERVO_PERIOD = 1000000 # Trajectory Planner task period, in nanoseconds - will be rounded to an # integer multiple of SERVO_PERIOD TRAJ_PERIOD = 10000000 # 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 = dahlih_load.hal HALFILE = dahlih_servo.hal HALFILE = dahlih_motion.hal HALFILE = dahlih_io.hal HALFILE = dahlih_jog.hal HALUI = halui POSTGUI_HALFILE = dahlih_axis.hal # list of halcmd commands to execute # commands are executed in the order in which they appear #HALCMD = save neta # Trajectory planner section -------------------------------------------------- [TRAJ] AXES = 3 # COORDINATES = X Y Z R P W COORDINATES = X Y Z HOME = 0 0 0 LINEAR_UNITS = inch ANGULAR_UNITS = degree CYCLE_TIME = 0.010 DEFAULT_VELOCITY = 0.15 MAX_VELOCITY = 2.0 DEFAULT_ACCELERATION = 2.0 MAX_ACCELERATION = 20.0 # Axes sections --------------------------------------------------------------- # Scaling: The OUTPUT_SCALE should be the speed # in UNITS/second (inches/sec or mm/sec) that would be # reached if the PWM duty cycle was 100%. It depends on # the power supply voltage, motor RPM/Volt factor, and # gearing/screw pitch. For example: # # Power supply voltage 50V # Motor RPM/V 1000RPM/24V # Gearing: 2 motor revs per 1 screw rev # Screw pitch: 0.2" per turn # # Max motor speed = 50V * 1000RPM/24V = 2083 RPM # Max screw speed = 2083RPM * 1(screw)/2(motor) = 1041RPM # Max table speed = 1041RPM * 0.2"/turn = 208 in/min # Max table speed = 208 in/min / 60 seconds = 3.47 inches/sec # # Since max speed is reached at 100% duty cycle, OUTPUT_SCALE # should be 3.47 # First axis [AXIS_0] TYPE = LINEAR HOME = 0.000 MAX_VELOCITY = 2.0 MAX_ACCELERATION = 6.0 UNITS = 1.0 PID_MAX_VEL = 4 BACKLASH = 0.000 INPUT_SCALE = 10000 OUTPUT_SCALE = -1.0 MIN_LIMIT = -20.0 MAX_LIMIT = 20.0 FERROR = 10.0 #MIN_FERROR = 0.005 #HOME = 0.0 HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 0.5 HOME_LATCH_VEL = -0.1 HOME_USE_INDEX = YES HOME_IGNORE_LIMITS = YES #HOME_IS_SHARED 0 #HOME_SEQUENCE 1 DEADBAND = 1e-06 P = 180 I = 30 D = 2.8 BIAS = 0 FF0 = 0 FF1 = 1.18 # Second axis [AXIS_1] TYPE = LINEAR HOME = 0.000 MAX_VELOCITY = 2.0 MAX_ACCELERATION = 6.0 UNITS = -1.0 PID_MAX_VEL = 4 BACKLASH = 0.000 INPUT_SCALE = -10000 OUTPUT_SCALE = 1.0 MIN_LIMIT = -20.0 MAX_LIMIT = 20.0 FERROR = 10.0 #MIN_FERROR = 0.005 #HOME = 0.0 HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 0.5 HOME_LATCH_VEL = -0.01 HOME_USE_INDEX = YES HOME_IGNORE_LIMITS = YES #HOME_IS_SHARED 0 #HOME_SEQUENCE 2 DEADBAND = 1e-06 P = 150 I = 0 D = 0.2 BIAS = 0 FF0 = 0.15 FF1 = 1.7 # Third axis [AXIS_2] TYPE = LINEAR HOME = 0.0 MAX_VELOCITY = 2.0 MAX_ACCELERATION = 6.0 UNITS = -1.0 PID_MAX_VEL = 4 BACKLASH = 0.000 INPUT_SCALE = -10000 OUTPUT_SCALE = 1.0 MIN_LIMIT = -20.0 MAX_LIMIT = 20.0 FERROR = 10.0 #MIN_FERROR = 0.005 #HOME = 0.0 HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 0.5 HOME_LATCH_VEL = -0.1 HOME_USE_INDEX = YES HOME_IGNORE_LIMITS = YES #HOME_IS_SHARED 0 #HOME_SEQUENCE 0 DEADBAND = 8e-05 P = 110 I = 0 D = 0 BIAS = 0 FF0 = 0 FF1 = 1.18 # section for main IO controller parameters ----------------------------------- [EMCIO] # Name of IO controller program, e.g., io EMCIO = io # cycle time, in seconds CYCLE_TIME = 0.100 # tool table file TOOL_TABLE = dahlih.tbl # section for external NML server parameters ---------------------------------- [EMCSERVER] # Uncomment the following line if you need to run a remote GUI. # EMCSERVER = emcsvr ________________________________________________________ here's his ...._io.hal file : # HAL config file for Pico Systems USC board # # Connect Motion I/Os # # connect limit switches # positive limits and home switches newsig xposlim bit linksp xposlim ppmc.0.din.00.in linksp xposlim axis.0.pos-lim-sw-in linksp xposlim axis.0.home-sw-in newsig yposlim bit linksp yposlim ppmc.0.din.02.in linksp yposlim axis.1.pos-lim-sw-in linksp yposlim axis.1.home-sw-in newsig zposlim bit linksp zposlim ppmc.0.din.05.in linksp zposlim axis.2.pos-lim-sw-in linksp zposlim axis.2.home-sw-in # negative limits net xneglim axis.0.neg-lim-sw-in ppmc.0.din.01.in net yneglim axis.1.neg-lim-sw-in ppmc.0.din.03.in net zneglim axis.2.neg-lim-sw-in ppmc.0.din.04.in # # home switch connections #net xposlim axis.0.home-sw-in ppmc.0.din.00.in #net yposlim axis.0.home-sw-in ppmc.0.din.02.in #net zposlim axis.0.home-sw-in ppmc.0.din.05.in # # connect index pulses to motion controller # do these when index pulsing is figured out net Xindex axis.0.index-enable ppmc.0.encoder.00.index-enable net Xindex axis.1.index-enable ppmc.0.encoder.01.index-enable net Xindex axis.2.index-enable ppmc.0.encoder.02.index-enable # # Connect I/O controller I/Os # # connect e-stop write/sense to I/O controller # and ppmc's fault with estop's output, so estop FF is reset, but # prevent continued estop signal from ppmc from holding FF cleared net ppmcEstop and2.0.in0 ppmc.0.din.estop.in net EstopOkIn and2.0.out estop-latch.0.fault-in # newsig EstopOkOut bit linksp EstopOkOut ppmc.0.dout.07.out linksp EstopOkOut ppmc.0.dout.Estop.out linksp EstopOkOut iocontrol.0.emc-enable-in linksp EstopOkOut estop-latch.0.ok-out linksp EstopOkOut and2.0.in1 # net emc-estop-out iocontrol.0.user-enable-out estop-latch.0.ok-in net emc-estop-reset iocontrol.0.user-request-enable estop-latch.0.reset # #newsig EstopSense bit #newsig EstopWrite bit #linksp EstopSense <= ppmc.0.din.estop.in-not #linksp EstopSense => iocontrol.0.emc-enable-in #linksp EstopWrite <= ppmc.0.dout.07.outnewsig xposlim bit linksp xposlim ppmc.0.din.00.in linksp xposlim axis.0.pos-lim-sw-in linksp xposlim axis.0.home-sw-in #linksp EstopWrite => iocontrol.0.user-enable-out #estop may need to be inverted # connect spindle fwd/rev to I/O controller net SpindleFwd ppmc.0.dout.00.out motion.spindle-forward net SpindleRev ppmc.0.dout.01.out motion.spindle-reverse net SpindleBrakeOn ppmc.0.dout.02.out motion.spindle-brake # # connect mist/flood coolant to I/O controller net FloodOn ppmc.0.dout.04.out iocontrol.0.coolant-flood # # tool unclamp button #net ToolUnclamp ppmc.0.din.08.in # # cycle start #net CycleStart ppmc.0.din.09.in # # feed hold #net FeedHold ppmc.0.din.10.in # # E-Stop #net EStop ppmc.0.din.11.in # I'm not sure if any other files are relevant. If somebody wants to see another of the config files, let me know and I'll post those. I notice that some of the home parameters in the ini file are commented out, which seems odd. I don't know what the defaults on those are. Thanks, Jon ------------------------------------------------------------------------- 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