Import LinuxCNC source tree

This commit is contained in:
Wang Dequan
2026-08-20 06:17:39 +08:00
commit 2c814634c3
9429 changed files with 10556013 additions and 0 deletions

View File

@@ -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

View File

@@ -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
###############################################################################

View File

@@ -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

View File

@@ -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
###############################################################################

View 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.

View File

@@ -0,0 +1,3 @@
General Mechatronics
www.generalmechatronics.com