NEW 2.7.3 LINUXCNC CONFIGURATION FILES ========================================================================== # # +---------------------------------------------------------------------------+ # | Supermax.ini Jan 4, 2016 | # +---------------------------------------------------------------------------+ [EMC] VERSION = $Revision$ MACHINE = Supermax DEBUG = 0 [DISPLAY] # DISPLAY = tkemc DISPLAY = axis CYCLE_TIME = 0.200 # ----FROM 2.5.2 INSTALL---- INCREMENTS = .1in .05in .01in .005in .001in HELP_FILE = tklinucnc.txt POSITION_OFFSET = RELATIVE POSITION_FEEDBACK = ACTUAL MAX_FEED_OVERRIDE = 1.2 PROGRAM_PREFIX = /home/hugh/NC_files INTRO_GRAPHIC = linuxcnc.gif INTRO_TIME = 5 # EDITOR = gedit EDITOR = emacs [TASK] TASK = milltask CYCLE_TIME = 0.010 [RS274NGC] # PARAMETER_FILE = linuxcnc.var PARAMETER_FILE = stepper.var [EMCMOT] EMCMOT = motmod COMM_TIMEOUT = 1.0 COMM_WAIT = 0.010 BASE_PERIOD = 41666 SERVO_PERIOD = 1000000 [HAL] # list of hal config files to run through halcmd #+ files are executed in the order in which they appear HALFILE = core_stepper.hal HALFILE = standard_pinout.hal # # ---FROM LinuxCNC 2.5.2--- # HALFILE = Supermax.hal # HALFILE = custom.hal # POSTGUI_HALFILE = custom_postgui.hal [TRAJ] AXES = 3 COORDINATES = X Y Z HOME = 0 0 0 LINEAR_UNITS = inch ANGULAR_UNITS = degree CYCLE_TIME = 0.010 # DEFAULT VELOCITY = 0.12 DEFAULT_VELOCITY = 0.0167 MAX_VELOCITY = 1.2 DEFAULT_ACCELERATION = 15.0 MAX_ACCELERATION = 20.0 [AXIS_0] TYPE = LINEAR HOME = 0.000 # MAX_VELOCITY = 1.14001824029 MAX_VELOCITY = 0.55 MAX_ACCELERATION = 15.0 # STEPGEN_MAXACCEL = 18.75 STEPGEN_MAXACCEL = 16.0 BACKLASH = 0.0010 SCALE = 20000.0 OUTPUT_SCALE = 1.000 MIN_LIMIT = -20.0 MAX_LIMIT = 20.0 FERROR = 0.050 MIN_FERROR = 0.010 HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 0.0 HOME_LATCH_VEL = 0.0 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = NO [AXIS_1] TYPE = LINEAR HOME = 0.000 # MAX_VELOCITY = 1.14001824029 MAX_VELOCITY = 0.55 MAX_ACCELERATION = 15.0 # STEPGEN_MAXACCEL = 18.75 STEPGEN_MAXACCEL = 16.0 BACKLASH = 0.0020 SCALE = -20000.0 OUTPUT_SCALE = 1.000 MIN_LIMIT = -10.0 MAX_LIMIT = 10.0 FERROR = 0.050 MIN_FERROR = 0.010 HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 0.0 HOME_LATCH_VEL = 0.0 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = NO [AXIS_2] TYPE = LINEAR HOME = 0.0 # MAX_VELOCITY = 1.14001824029 MAX_VELOCITY = 0.55 MAX_ACCELERATION = 15.0 # STEPGEN_MAXACCEL = 18.75 STEPGEN_MAXACCEL = 16.0 BACKLASH = 0.0080 SCALE = 20000.0 OUTPUT_SCALE = 1.000 MIN_LIMIT = -4.75 MAX_LIMIT = 0.010 FERROR = 0.050 MIN_FERROR = 0.010 HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 0.0 HOME_LATCH_VEL = 0.0 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = NO [EMCIO] EMCIO = io CYCLE_TIME = 0.100 # TOOL_TABLE = tool.tbl TOOL_TABLE = stepper.tbl ========================================================================== -----core_stepper.hal----- # core HAL config file for steppers # first load the core RT modules that will be needed # kinematics loadrt trivkins # motion controller, get name and thread periods from ini file loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES # stepper module, three step generators, all three using step/dir loadrt stepgen step_type=0,0,0 # hook functions to base thread (high speed thread for step generation) addf stepgen.make-pulses base-thread # hook functions to servo thread addf stepgen.capture-position servo-thread addf motion-command-handler servo-thread addf motion-controller servo-thread addf stepgen.update-freq servo-thread # connect position commands from motion module to step generator net Xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd net Ypos-cmd axis.1.motor-pos-cmd => stepgen.1.position-cmd net Zpos-cmd axis.2.motor-pos-cmd => stepgen.2.position-cmd # connect position feedback from step generators # to motion module net Xpos-fb stepgen.0.position-fb => axis.0.motor-pos-fb net Ypos-fb stepgen.1.position-fb => axis.1.motor-pos-fb net Zpos-fb stepgen.2.position-fb => axis.2.motor-pos-fb # connect enable signals for step generators net Xen axis.0.amp-enable-out => stepgen.0.enable net Yen axis.1.amp-enable-out => stepgen.1.enable net Zen axis.2.amp-enable-out => stepgen.2.enable # connect signals to step pulse generator outputs net Xstep <= stepgen.0.step net Xdir <= stepgen.0.dir net Ystep <= stepgen.1.step net Ydir <= stepgen.1.dir net Zstep <= stepgen.2.step net Zdir <= stepgen.2.dir # set stepgen module scaling - get values from ini file setp stepgen.0.position-scale [AXIS_0]SCALE setp stepgen.1.position-scale [AXIS_1]SCALE setp stepgen.2.position-scale [AXIS_2]SCALE # set stepgen module accel limits - get values from ini file setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL ========================================================================== -----standard_pinout.hal----- # standard pinout config file for 3-axis steppers # using a parport for I/O # first load the parport driver loadrt hal_parport cfg="0x0378" # next connect the parport functions to threads # read inputs first addf parport.0.read base-thread 1 # write outputs last addf parport.0.write base-thread -1 # # INVERSIONS FROM PRIOR FILE - LinuxCNC 2.5.2 # # finally connect physical pins to the signals #net Xstep => parport.0.pin-03-out #net Xdir => parport.0.pin-02-out #net Ystep => parport.0.pin-05-out #net Ydir => parport.0.pin-04-out #net Zstep => parport.0.pin-07-out #net Zdir => parport.0.pin-06-out # setp parport.0.pin-03-out-invert 1 net Xstep => parport.0.pin-03-out setp parport.0.pin-03-out-reset 1 # net Xdir => parport.0.pin-02-out # setp parport.0.pin-05-out-invert 1 net Ystep => parport.0.pin-05-out setp parport.0.pin-05-out-reset 1 # setp parport.0.pin-04-out-invert 1 net Ydir => parport.0.pin-04-out # setp parport.0.pin-07-out-invert 1 net Zstep => parport.0.pin-07-out setp parport.0.pin-07-out-reset 1 # net Zdir => parport.0.pin-06-out # # TIMING ? CARRIED OVER FROM LinuxCNC 2.5.2 # setp stepgen.0.steplen 1 # setp stepgen.0.stepspace 0 setp stepgen.0.dirhold 36000 setp stepgen.0.dirsetup 17000 # setp stepgen.1.steplen 1 setp stepgen.1.stepspace 0 setp stepgen.1.dirhold 36000 setp stepgen.1.dirsetup 17000 # setp stepgen.2.steplen 1 setp stepgen.2.stepspace 0 setp stepgen.2.dirhold 36000 setp stepgen.2.dirsetup 17000 # create a signal for the estop loopback net estop-loop iocontrol.0.user-enable-out iocontrol.0.emc-enable-in # create signals for tool loading loopback net tool-prep-loop iocontrol.0.tool-prepare iocontrol.0.tool-prepared net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed # connect "spindle on" motion controller pin to a physical pin net spindle-on motion.spindle-on => parport.0.pin-09-out