Import LinuxCNC source tree
This commit is contained in:
@@ -0,0 +1,179 @@
|
||||
|
||||
#########################################################################
|
||||
# Loading real-time modules #
|
||||
#########################################################################
|
||||
|
||||
loadrt [KINS]KINEMATICS
|
||||
loadrt hal_gm
|
||||
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
|
||||
loadrt pid num_chan=3
|
||||
loadrt not
|
||||
|
||||
loadusr halmeter
|
||||
#loadusr halscope -f
|
||||
|
||||
#########################################################################
|
||||
# Adding functions #
|
||||
#########################################################################
|
||||
|
||||
addf motion-command-handler servo-thread
|
||||
addf motion-controller servo-thread
|
||||
|
||||
addf gm.0.read servo-thread -1
|
||||
addf pid.0.do-pid-calcs servo-thread
|
||||
addf pid.1.do-pid-calcs servo-thread
|
||||
addf pid.2.do-pid-calcs servo-thread
|
||||
addf gm.0.write servo-thread -1
|
||||
|
||||
addf gm.0.RS485 servo-thread -1
|
||||
addf not.0 servo-thread
|
||||
|
||||
#########################################################################
|
||||
# Card mgt #
|
||||
#########################################################################
|
||||
|
||||
setp gm.0.watchdog-enable 1
|
||||
setp gm.0.watchdog-timeout-ns 3000000
|
||||
|
||||
net pwrEnable motion.motion-enabled => gm.0.power-enable
|
||||
|
||||
# create power fault loopback
|
||||
net hw_fault gm.0.power-fault => not.0.in
|
||||
net estop not.0.out => iocontrol.0.emc-enable-in
|
||||
|
||||
# connect enable signals for DAC and PID
|
||||
net Xen joint.0.amp-enable-out => gm.0.dac.0.enable
|
||||
net Xen => pid.0.enable
|
||||
net Yen joint.1.amp-enable-out => gm.0.dac.1.enable
|
||||
net Yen => pid.1.enable
|
||||
net Zen joint.2.amp-enable-out => gm.0.dac.2.enable
|
||||
net Zen => pid.2.enable
|
||||
|
||||
#########################################################################
|
||||
# Encoder setup #
|
||||
#########################################################################
|
||||
|
||||
# ################
|
||||
# X [0] Axis
|
||||
# ################
|
||||
|
||||
# encoder feedback
|
||||
setp gm.0.encoder.0.counter-mode 0 #0:quad, 1:stepDir
|
||||
setp gm.0.encoder.0.index-enable 0 #0:disable, 1:enable
|
||||
setp gm.0.encoder.0.index-mode 1 #0:reset counter at index, 1:round position at index
|
||||
setp gm.0.encoder.0.counts-per-rev 2000
|
||||
setp gm.0.encoder.0.position-scale [JOINT_0]INPUT_SCALE
|
||||
setp gm.0.encoder.0.min-speed-estimate 0.1
|
||||
|
||||
# ################
|
||||
# Y [1] Axis
|
||||
# ################
|
||||
|
||||
# encoder feedback
|
||||
setp gm.0.encoder.1.counter-mode 0 #0:quad, 1:stepDir
|
||||
setp gm.0.encoder.1.index-enable 0 #0:disable, 1:enable
|
||||
setp gm.0.encoder.1.index-mode 1 #0:reset counter at index, 1:round position at index
|
||||
setp gm.0.encoder.1.counts-per-rev 2000
|
||||
setp gm.0.encoder.1.position-scale [JOINT_2]INPUT_SCALE
|
||||
setp gm.0.encoder.1.min-speed-estimate 0.1
|
||||
|
||||
# ################
|
||||
# Z [2] Axis
|
||||
# ################
|
||||
|
||||
# encoder feedback
|
||||
setp gm.0.encoder.2.counter-mode 0 #0:quad, 1:stepDir
|
||||
setp gm.0.encoder.2.index-enable 0 #0:disable, 1:enable
|
||||
setp gm.0.encoder.2.index-mode 1 #0:reset counter at index, 1:round position at index
|
||||
setp gm.0.encoder.2.counts-per-rev 2000
|
||||
setp gm.0.encoder.2.position-scale [JOINT_2]INPUT_SCALE
|
||||
setp gm.0.encoder.2.min-speed-estimate 0.1
|
||||
|
||||
#########################################################################
|
||||
# PID setup #
|
||||
#########################################################################
|
||||
|
||||
# ################
|
||||
# X [0] Axis
|
||||
# ################
|
||||
|
||||
# set PID loop gains from inifile
|
||||
setp pid.0.Pgain [JOINT_0]P
|
||||
setp pid.0.Igain [JOINT_0]I
|
||||
setp pid.0.Dgain [JOINT_0]D
|
||||
setp pid.0.bias [JOINT_0]BIAS
|
||||
setp pid.0.FF0 [JOINT_0]FF0
|
||||
setp pid.0.FF1 [JOINT_0]FF1
|
||||
setp pid.0.FF2 [JOINT_0]FF2
|
||||
setp pid.0.deadband [JOINT_0]DEADBAND
|
||||
setp pid.0.maxoutput [JOINT_0]MAX_OUTPUT
|
||||
|
||||
# ################
|
||||
# Y [1] Axis
|
||||
# ################
|
||||
|
||||
# set PID loop gains from inifile
|
||||
setp pid.1.Pgain [JOINT_1]P
|
||||
setp pid.1.Igain [JOINT_1]I
|
||||
setp pid.1.Dgain [JOINT_1]D
|
||||
setp pid.1.bias [JOINT_1]BIAS
|
||||
setp pid.1.FF0 [JOINT_1]FF0
|
||||
setp pid.1.FF1 [JOINT_1]FF1
|
||||
setp pid.1.FF2 [JOINT_1]FF2
|
||||
setp pid.1.deadband [JOINT_1]DEADBAND
|
||||
setp pid.1.maxoutput [JOINT_1]MAX_OUTPUT
|
||||
|
||||
# ################
|
||||
# Z [2] Axis
|
||||
# ################
|
||||
|
||||
# set PID loop gains from inifile
|
||||
setp pid.2.Pgain [JOINT_2]P
|
||||
setp pid.2.Igain [JOINT_2]I
|
||||
setp pid.2.Dgain [JOINT_2]D
|
||||
setp pid.2.bias [JOINT_2]BIAS
|
||||
setp pid.2.FF0 [JOINT_2]FF0
|
||||
setp pid.2.FF1 [JOINT_2]FF1
|
||||
setp pid.2.FF2 [JOINT_2]FF2
|
||||
setp pid.2.deadband [JOINT_2]DEADBAND
|
||||
setp pid.2.maxoutput [JOINT_2]MAX_OUTPUT
|
||||
|
||||
#########################################################################
|
||||
# position reference and feedback connection #
|
||||
#########################################################################
|
||||
|
||||
# connect encoder feedback to PID
|
||||
net Xpos-fb gm.0.encoder.0.position => pid.0.feedback
|
||||
net Ypos-fb gm.0.encoder.1.position => pid.1.feedback
|
||||
net Zpos-fb gm.0.encoder.2.position => pid.2.feedback
|
||||
|
||||
# connect position commands from motion module to PID
|
||||
net Xpos-cmd joint.0.motor-pos-cmd => pid.0.command
|
||||
net Ypos-cmd joint.1.motor-pos-cmd => pid.1.command
|
||||
net Zpos-cmd joint.2.motor-pos-cmd => pid.2.command
|
||||
|
||||
# connect PID output to DAC
|
||||
net Xdac-cmd pid.0.output => gm.0.dac.0.value
|
||||
net Ydac-cmd pid.1.output => gm.0.dac.1.value
|
||||
net Zdac-cmd pid.2.output => gm.0.dac.2.value
|
||||
|
||||
# connect position feedback
|
||||
net Xpos-cmd => joint.0.motor-pos-fb
|
||||
net Ypos-cmd => joint.1.motor-pos-fb
|
||||
net Zpos-cmd => joint.2.motor-pos-fb
|
||||
|
||||
#########################################################################
|
||||
# homing and limit switches #
|
||||
#########################################################################
|
||||
|
||||
net lim-sw-x-pos gm.0.joint.0.pos-lim-sw-in-not => joint.0.pos-lim-sw-in
|
||||
net lim-sw-x-neg gm.0.joint.0.neg-lim-sw-in-not => joint.0.neg-lim-sw-in
|
||||
net lim-sw-x-home gm.0.joint.0.home-sw-in-not => joint.0.home-sw-in
|
||||
|
||||
net lim-sw-y-pos gm.0.joint.1.pos-lim-sw-in-not => joint.1.pos-lim-sw-in
|
||||
net lim-sw-y-neg gm.0.joint.1.neg-lim-sw-in-not => joint.1.neg-lim-sw-in
|
||||
net lim-sw-y-home gm.0.joint.1.home-sw-in-not => joint.1.home-sw-in
|
||||
|
||||
net lim-sw-z-pos gm.0.joint.2.pos-lim-sw-in-not => joint.2.pos-lim-sw-in
|
||||
net lim-sw-z-neg gm.0.joint.2.neg-lim-sw-in-not => joint.2.neg-lim-sw-in
|
||||
net lim-sw-z-home gm.0.joint.2.home-sw-in-not => joint.2.home-sw-in
|
||||
@@ -0,0 +1,209 @@
|
||||
###############################################################################
|
||||
# General section
|
||||
###############################################################################
|
||||
|
||||
[EMC]
|
||||
#- Version of this INI file
|
||||
VERSION = 1.1
|
||||
#+ Name of machine, for use with display, etc.
|
||||
MACHINE = GM6-PCI-3-axis-servo
|
||||
#+ Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others
|
||||
DEBUG = 0
|
||||
###############################################################################
|
||||
# Sections for display options
|
||||
###############################################################################
|
||||
|
||||
[DISPLAY]
|
||||
#+ Name of display program, e.g., axis
|
||||
DISPLAY = axis
|
||||
# DISPLAY = tklinuxcnc
|
||||
# DISPLAY = touchy
|
||||
# Cycle time, in seconds, that display will sleep between polls
|
||||
CYCLE_TIME = 0.200
|
||||
#- Path to help file
|
||||
HELP_FILE = tklinuxcnc.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/gm/emc2/nc_files
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
#- Introductory graphic
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 1
|
||||
###############################################################################
|
||||
# Task controller section
|
||||
###############################################################################
|
||||
|
||||
[FILTER]
|
||||
#No Content
|
||||
|
||||
[RS274NGC]
|
||||
#- File containing interpreter variables
|
||||
PARAMETER_FILE = gm.var
|
||||
###############################################################################
|
||||
# Motion control section
|
||||
###############################################################################
|
||||
|
||||
[EMCMOT]
|
||||
#- Name of the motion controller to use (only one exists for nontrivkins)
|
||||
EMCMOT = motmod
|
||||
#- Timeout for comm to emcmot, in seconds
|
||||
COMM_TIMEOUT = 1.0
|
||||
#- Servo task period, in nanosecs - will be rounded to an int multiple of BASE_PERIOD
|
||||
SERVO_PERIOD = 1000000
|
||||
###############################################################################
|
||||
# Hardware Abstraction Layer section
|
||||
###############################################################################
|
||||
|
||||
[TASK]
|
||||
# Name of task controller program, e.g., milltask
|
||||
TASK = milltask
|
||||
#- Cycle time, in seconds, that task controller will sleep between polls
|
||||
CYCLE_TIME = 0.010
|
||||
|
||||
[HAL]
|
||||
# list of hal config files to run through halcmd
|
||||
#+ files are executed in the order in which they appear
|
||||
HALFILE = 3-axis-servo.hal
|
||||
###############################################################################
|
||||
# Trajectory planner section
|
||||
###############################################################################
|
||||
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
#+ machine specific settings
|
||||
COORDINATES = X Y Z
|
||||
HOME = 0 0 0
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 0.424
|
||||
MAX_LINEAR_VELOCITY = 30.48
|
||||
DEFAULT_LINEAR_ACCELERATION = 300.0
|
||||
MAX_LINEAR_ACCELERATION = 500.0
|
||||
###############################################################################
|
||||
# Axes sections
|
||||
###############################################################################
|
||||
#+ First axis
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 3
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -191.0
|
||||
MAX_LIMIT = 0.0
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 50.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 50.0
|
||||
BACKLASH = 0.000
|
||||
SCALE = 1000
|
||||
INPUT_SCALE = 2000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -191.0
|
||||
MAX_LIMIT = 0.0
|
||||
MAX_OUTPUT = 10.0
|
||||
FERROR = 1.270
|
||||
MIN_FERROR = 0.254
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 15.0
|
||||
HOME_LATCH_VEL = -2.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
# PID tuning params
|
||||
DEADBAND = 0.0000
|
||||
P = 10.0
|
||||
I = 0.000
|
||||
D = -0.02
|
||||
FF0 = 0.000
|
||||
FF1 = 0.000
|
||||
FF2 = 0.0
|
||||
BIAS = 0.000
|
||||
#+ Second axis
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = 0.0
|
||||
MAX_LIMIT = 270.0
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 50.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 50.0
|
||||
BACKLASH = 0.000
|
||||
SCALE = 1000
|
||||
INPUT_SCALE = 2000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = 0.0
|
||||
MAX_LIMIT = 270.0
|
||||
MAX_OUTPUT = 10.0
|
||||
FERROR = 1.270
|
||||
MIN_FERROR = 0.254
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = -15.0
|
||||
HOME_LATCH_VEL = 3.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
# PID tuning params
|
||||
DEADBAND = 0.0000
|
||||
P = 10.0
|
||||
I = 0.000
|
||||
D = -0.02
|
||||
FF0 = 0.000
|
||||
FF1 = 0.000
|
||||
FF2 = 0.0
|
||||
BIAS = 0.000
|
||||
#+ Third axis
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -985.0
|
||||
MAX_LIMIT = 0.00
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 50.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 50.0
|
||||
BACKLASH = 0.000
|
||||
SCALE = 100
|
||||
INPUT_SCALE = 2000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -985.0
|
||||
MAX_LIMIT = 0.00
|
||||
MAX_OUTPUT = 10.0
|
||||
FERROR = 1.270
|
||||
MIN_FERROR = 0.254
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = -15.0
|
||||
HOME_LATCH_VEL = 3.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
# PID tuning params
|
||||
DEADBAND = 0.0000
|
||||
P = 10.0
|
||||
I = 0.000
|
||||
D = -0.02
|
||||
FF0 = 0.000
|
||||
FF1 = 0.000
|
||||
FF2 = 0.0
|
||||
BIAS = 0.000
|
||||
###############################################################################
|
||||
# section for main IO controller parameters
|
||||
###############################################################################
|
||||
@@ -0,0 +1,111 @@
|
||||
|
||||
#########################################################################
|
||||
# Loading real-time modules setup #
|
||||
#########################################################################
|
||||
|
||||
loadrt [KINS]KINEMATICS
|
||||
loadrt hal_gm
|
||||
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
|
||||
loadrt not
|
||||
loadusr halmeter
|
||||
#loadusr halscope -f
|
||||
|
||||
#########################################################################
|
||||
# Adding functions #
|
||||
#########################################################################
|
||||
|
||||
addf gm.0.read servo-thread
|
||||
addf motion-command-handler servo-thread
|
||||
addf motion-controller servo-thread
|
||||
addf gm.0.write servo-thread
|
||||
|
||||
addf not.0 servo-thread
|
||||
addf gm.0.RS485 servo-thread
|
||||
|
||||
#########################################################################
|
||||
# card mgt #
|
||||
#########################################################################
|
||||
|
||||
setp gm.0.watchdog-enable 1
|
||||
setp gm.0.watchdog-timeout-ns 3000000
|
||||
|
||||
net pwrEnable motion.motion-enabled => gm.0.power-enable
|
||||
|
||||
# create power fault loopback
|
||||
net hw_fault gm.0.power-fault => not.0.in
|
||||
net estop not.0.out => iocontrol.0.emc-enable-in
|
||||
|
||||
# connect enable signals for step generators
|
||||
net Xen joint.0.amp-enable-out => gm.0.stepgen.0.enable
|
||||
net Yen joint.1.amp-enable-out => gm.0.stepgen.1.enable
|
||||
net Zen joint.2.amp-enable-out => gm.0.stepgen.2.enable
|
||||
|
||||
#########################################################################
|
||||
# stepgen setup #
|
||||
#########################################################################
|
||||
|
||||
setp gm.0.stepgen.0.steplen 5000 #5000 ns = 5 us
|
||||
setp gm.0.stepgen.0.stepspace 5000 #5000 ns = 5 us
|
||||
setp gm.0.stepgen.0.dirdelay 10000 #10000 ns = 10 us
|
||||
setp gm.0.stepgen.0.invert-step1 0
|
||||
setp gm.0.stepgen.0.invert-step2 0
|
||||
setp gm.0.stepgen.0.step-type 0 #0:StepDir, 1: UpDown, 2: Quad
|
||||
setp gm.0.stepgen.0.control-type 0 #0:position control, 1:velocity control
|
||||
setp gm.0.stepgen.0.maxvel 0 #do not use the maxvel parameter, let interpolator interpolate
|
||||
setp gm.0.stepgen.0.position-scale [JOINT_0]SCALE
|
||||
setp gm.0.stepgen.0.maxaccel [JOINT_0]STEPGEN_MAXACCEL
|
||||
setp gm.0.stepgen.0.maxvel [JOINT_0]STEPGEN_MAXVEL
|
||||
|
||||
setp gm.0.stepgen.1.steplen 5000 #5000 ns = 5 us
|
||||
setp gm.0.stepgen.1.stepspace 5000 #5000 ns = 5 us
|
||||
setp gm.0.stepgen.1.dirdelay 10000 #10000 ns = 10 us
|
||||
setp gm.0.stepgen.1.invert-step1 0
|
||||
setp gm.0.stepgen.1.invert-step2 0
|
||||
setp gm.0.stepgen.1.step-type 0 #0:StepDir, 1: UpDown, 2: Quad
|
||||
setp gm.0.stepgen.1.control-type 0 #0:position control, 1:velocity control
|
||||
setp gm.0.stepgen.1.maxvel 0 #do not use the maxvel parameter, let interpolator interpolate
|
||||
setp gm.0.stepgen.1.position-scale [JOINT_1]SCALE
|
||||
setp gm.0.stepgen.1.maxaccel [JOINT_1]STEPGEN_MAXACCEL
|
||||
setp gm.0.stepgen.1.maxvel [JOINT_1]STEPGEN_MAXVEL
|
||||
|
||||
setp gm.0.stepgen.2.steplen 5000 #5000 ns = 5 us
|
||||
setp gm.0.stepgen.2.stepspace 5000 #5000 ns = 5 us
|
||||
setp gm.0.stepgen.2.dirdelay 10000 #10000 ns = 10 us
|
||||
setp gm.0.stepgen.2.invert-step1 0
|
||||
setp gm.0.stepgen.2.invert-step2 0
|
||||
setp gm.0.stepgen.2.step-type 0 #0:StepDir, 1: UpDown, 2: Quad
|
||||
setp gm.0.stepgen.2.control-type 0 #0:position control, 1:velocity control
|
||||
setp gm.0.stepgen.2.maxvel 0 #do not use the maxvel parameter, let interpolator interpolate
|
||||
setp gm.0.stepgen.2.position-scale [JOINT_2]SCALE
|
||||
setp gm.0.stepgen.2.maxaccel [JOINT_2]STEPGEN_MAXACCEL
|
||||
setp gm.0.stepgen.2.maxvel [JOINT_2]STEPGEN_MAXVEL
|
||||
|
||||
#########################################################################
|
||||
# position reference and feedback #
|
||||
#########################################################################
|
||||
|
||||
# connect position commands from motion module to step generator
|
||||
net Xpos-cmd joint.0.motor-pos-cmd => gm.0.stepgen.0.position-cmd
|
||||
net Ypos-cmd joint.1.motor-pos-cmd => gm.0.stepgen.1.position-cmd
|
||||
net Zpos-cmd joint.2.motor-pos-cmd => gm.0.stepgen.2.position-cmd
|
||||
|
||||
# connect position feedback
|
||||
net Xpos-fb gm.0.stepgen.0.position-fb => joint.0.motor-pos-fb
|
||||
net Ypos-fb gm.0.stepgen.1.position-fb => joint.1.motor-pos-fb
|
||||
net Zpos-fb gm.0.stepgen.2.position-fb => joint.2.motor-pos-fb
|
||||
|
||||
#########################################################################
|
||||
# homing and limit switches #
|
||||
#########################################################################
|
||||
|
||||
net lim-sw-x-pos gm.0.joint.0.pos-lim-sw-in-not => joint.0.pos-lim-sw-in
|
||||
net lim-sw-x-neg gm.0.joint.0.neg-lim-sw-in-not => joint.0.neg-lim-sw-in
|
||||
net lim-sw-x-home gm.0.joint.0.home-sw-in-not => joint.0.home-sw-in
|
||||
|
||||
net lim-sw-y-pos gm.0.joint.1.pos-lim-sw-in-not => joint.1.pos-lim-sw-in
|
||||
net lim-sw-y-neg gm.0.joint.1.neg-lim-sw-in-not => joint.1.neg-lim-sw-in
|
||||
net lim-sw-y-home gm.0.joint.1.home-sw-in-not => joint.1.home-sw-in
|
||||
|
||||
net lim-sw-z-pos gm.0.joint.2.pos-lim-sw-in-not => joint.2.pos-lim-sw-in
|
||||
net lim-sw-z-neg gm.0.joint.2.neg-lim-sw-in-not => joint.2.neg-lim-sw-in
|
||||
net lim-sw-z-home gm.0.joint.2.home-sw-in-not => joint.2.home-sw-in
|
||||
@@ -0,0 +1,182 @@
|
||||
###############################################################################
|
||||
# General section
|
||||
###############################################################################
|
||||
|
||||
[EMC]
|
||||
#- Version of this INI file
|
||||
VERSION = 1.1
|
||||
#+ Name of machine, for use with display, etc.
|
||||
MACHINE = GM6-PCI-3-axis-stepper
|
||||
#+ Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others
|
||||
DEBUG = 0
|
||||
###############################################################################
|
||||
# Sections for display options
|
||||
###############################################################################
|
||||
|
||||
[DISPLAY]
|
||||
#+ Name of display program, e.g., axis
|
||||
DISPLAY = axis
|
||||
# DISPLAY = tklinuxcnc
|
||||
# DISPLAY = touchy
|
||||
# Cycle time, in seconds, that display will sleep between polls
|
||||
CYCLE_TIME = 0.200
|
||||
#- Path to help file
|
||||
HELP_FILE = tklinuxcnc.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/gm/emc2/nc_files
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
#- Introductory graphic
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 1
|
||||
###############################################################################
|
||||
# Task controller section
|
||||
###############################################################################
|
||||
|
||||
[FILTER]
|
||||
#No Content
|
||||
|
||||
[RS274NGC]
|
||||
#- File containing interpreter variables
|
||||
PARAMETER_FILE = gm.var
|
||||
###############################################################################
|
||||
# Motion control section
|
||||
###############################################################################
|
||||
|
||||
[EMCMOT]
|
||||
#- Name of the motion controller to use (only one exists for nontrivkins)
|
||||
EMCMOT = motmod
|
||||
#- Timeout for comm to emcmot, in seconds
|
||||
COMM_TIMEOUT = 1.0
|
||||
#- Servo task period, in nanosecs - will be rounded to an int multiple of BASE_PERIOD
|
||||
SERVO_PERIOD = 1000000
|
||||
###############################################################################
|
||||
# Hardware Abstraction Layer section
|
||||
###############################################################################
|
||||
|
||||
[TASK]
|
||||
# Name of task controller program, e.g., milltask
|
||||
TASK = milltask
|
||||
#- Cycle time, in seconds, that task controller will sleep between polls
|
||||
CYCLE_TIME = 0.010
|
||||
|
||||
[HAL]
|
||||
# list of hal config files to run through halcmd
|
||||
#+ files are executed in the order in which they appear
|
||||
HALFILE = 3-axis-stepper.hal
|
||||
###############################################################################
|
||||
# Trajectory planner section
|
||||
###############################################################################
|
||||
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
#+ machine specific settings
|
||||
COORDINATES = X Y Z
|
||||
HOME = 0 0 0
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 0.424
|
||||
MAX_LINEAR_VELOCITY = 30.48
|
||||
DEFAULT_LINEAR_ACCELERATION = 300.0
|
||||
MAX_LINEAR_ACCELERATION = 500.0
|
||||
###############################################################################
|
||||
# Axes sections
|
||||
###############################################################################
|
||||
#+ First axis
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 3
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -191.0
|
||||
MAX_LIMIT = 0.0
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 50.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = -50.000
|
||||
MAX_VELOCITY = 30.48
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
MAX_ACCELERATION = 50.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.000
|
||||
SCALE = 1000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -191.0
|
||||
MAX_LIMIT = 0.0
|
||||
FERROR = 1.270
|
||||
MIN_FERROR = 0.254
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 15.0
|
||||
HOME_LATCH_VEL = -2.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
#+ Second axis
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 0.0
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 50.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = -40.000
|
||||
MAX_VELOCITY = 30.48
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
MAX_ACCELERATION = 50.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.000
|
||||
SCALE = -1000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 0.0
|
||||
FERROR = 1.270
|
||||
MIN_FERROR = 0.254
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 15.0
|
||||
HOME_LATCH_VEL = -3.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
#+ Third axis
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -985.0
|
||||
MAX_LIMIT = 0.00
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 50.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = -30.0
|
||||
MAX_VELOCITY = 30.48
|
||||
STEPGEN_MAXVEL = 0.0
|
||||
MAX_ACCELERATION = 50.0
|
||||
STEPGEN_MAXACCEL = 0.0
|
||||
BACKLASH = 0.000
|
||||
SCALE = 100
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -985.0
|
||||
MAX_LIMIT = 0.00
|
||||
FERROR = 1.270
|
||||
MIN_FERROR = 0.254
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 15.0
|
||||
HOME_LATCH_VEL = -3.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
###############################################################################
|
||||
# section for main IO controller parameters
|
||||
###############################################################################
|
||||
13
configs/by_interface/general_mechatronics/GM6-PCI/README
Normal file
13
configs/by_interface/general_mechatronics/GM6-PCI/README
Normal file
@@ -0,0 +1,13 @@
|
||||
This configuration uses the General Mechatronics GM6-PCI board, which can control machines up to 6 axis. It has a wide I/O expansion opportunity: isolated home- and end-switches for each axis, 4x8 digital I/O, isolated digital and analogue I/O modules for RS485 field bus.
|
||||
|
||||
Please read the GM6-PCI Driver section of the Integrator Manual or visit:
|
||||
www.generalmechatronics.com
|
||||
for more information.
|
||||
|
||||
Description of sample configurations:
|
||||
|
||||
3-axis-servo:
|
||||
This configuration shows how to set up encoder and axis DAC, and how to connect them to PID hal module. All 3 axes use one home switch and two limit switches. Power fault input is connected to E-stop hal pin.
|
||||
|
||||
3-axis-stepper:
|
||||
This configuration shows how to set up stepgen module. All 3 axes use one home switch and two limit switches. Power fault input is connected to E-stop hal pin.
|
||||
3
configs/by_interface/general_mechatronics/README
Normal file
3
configs/by_interface/general_mechatronics/README
Normal file
@@ -0,0 +1,3 @@
|
||||
General Mechatronics
|
||||
|
||||
www.generalmechatronics.com
|
||||
Reference in New Issue
Block a user