Import LinuxCNC source tree
This commit is contained in:
27
configs/sim/axis/ja_tests/xyzb_locking_indexer/README
Normal file
27
configs/sim/axis/ja_tests/xyzb_locking_indexer/README
Normal file
@@ -0,0 +1,27 @@
|
||||
The TEMPORARY xyzb directory contains standalone, simplified xyzb ini examples
|
||||
to test:
|
||||
|
||||
a) wheel jogging for IDENTITY kins configs where the hal pins
|
||||
for joints and axes jogging are connected together
|
||||
b) omitted axis letters
|
||||
c) duplicated axis letters (ref: some gantry configs do this)
|
||||
d) locking indexer on AXIS_B (the joint number depends on the configuration
|
||||
e) automatically set mode to teleop after homing
|
||||
|
||||
The configs start additional applications:
|
||||
1) sim_pin gui to demonstrate wheel jogging for joints and axes
|
||||
Signal j:x is jog-counts for axis x AND joint 0
|
||||
Signal j:y is jog-counts for axis y AND joint 1
|
||||
Signal j:z is jog-counts for axis z AND joint 2
|
||||
Signal j:b is jog-counts for axis b AND joint 3
|
||||
2) halshow app to show relevant hal pins
|
||||
|
||||
xyzb.ini trivkins with omitted axis letter (a)
|
||||
xyyzb.ini trivkins with omitted axis letter (a)
|
||||
and duplicated axis letter (y)
|
||||
and auto teleop after homing
|
||||
|
||||
The xyyzb.ini uses the trivkins kinstype option
|
||||
to set the kinematics type to KINEMATICS_BOTH to demonstrate
|
||||
jogging and teleop jogging.
|
||||
|
||||
135
configs/sim/axis/ja_tests/xyzb_locking_indexer/xyyzb.ini
Normal file
135
configs/sim/axis/ja_tests/xyzb_locking_indexer/xyyzb.ini
Normal file
@@ -0,0 +1,135 @@
|
||||
[APPLICATIONS]
|
||||
# wheel jog simulation:
|
||||
# independent joint and axis wheels:
|
||||
APP = sim_pin halui.mode.joint/mode=Pulse \
|
||||
joint.0.jog-counts \
|
||||
joint.1.jog-counts \
|
||||
joint.2.jog-counts \
|
||||
joint.3.jog-counts \
|
||||
joint.4.jog-counts \
|
||||
>/dev/null
|
||||
APP = sim_pin halui.mode.teleop/mode=Pulse \
|
||||
axis.x.jog-counts \
|
||||
axis.y.jog-counts \
|
||||
axis.z.jog-counts \
|
||||
>/dev/null
|
||||
APP = halshow xyzb.halshow
|
||||
|
||||
[KINS]
|
||||
JOINTS = 5
|
||||
KINEMATICS = trivkins coordinates=xyyzb kinstype=both
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = LIB:basic_sim.tcl
|
||||
HALFILE = LIB:wheeljogpins.tcl 0.1
|
||||
|
||||
# simulate a locking rotary joint4
|
||||
HALCMD = loadrt timedelay names=timedelay_unlock
|
||||
HALCMD = addf timedelay_unlock servo-thread
|
||||
HALCMD = net B-unlock joint.4.unlock => timedelay_unlock.in
|
||||
HALCMD = net B-is-unlocked timedelay_unlock.out => joint.4.is-unlocked
|
||||
HALCMD = setp timedelay_unlock.on-delay 0.75
|
||||
HALCMD = setp timedelay_unlock.off-delay 0.5
|
||||
|
||||
[EMC]
|
||||
VERSION = 1.1
|
||||
MACHINE = XYYZB trivkins coordinates=xyyzb KINEMATICS_BOTH
|
||||
[DISPLAY]
|
||||
DISPLAY = axis
|
||||
CYCLE_TIME = 0.100
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.2
|
||||
GEOMETRY = XYZB
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = xyzb.var
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod unlock_joints_mask=0x10
|
||||
COMM_TIMEOUT = 1.0
|
||||
SERVO_PERIOD = 1000000
|
||||
[TRAJ]
|
||||
NO_FORCE_HOMING = 1
|
||||
COORDINATES = X Y Y Z B
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 10.0
|
||||
DEFAULT_LINEAR_ACCELERATION = 200.0
|
||||
DEFAULT_ANGULAR_VELOCITY = 45.0
|
||||
MAX_LINEAR_VELOCITY = 10
|
||||
MAX_LINEAR_ACCELERATION = 200.0
|
||||
MAX_ANGULAR_VELOCITY = 3600.0
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -10.0
|
||||
MAX_LIMIT = 10.0
|
||||
MAX_VELOCITY = 10
|
||||
MAX_ACCELERATION = 200
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -10.0
|
||||
MAX_LIMIT = 10.0
|
||||
MAX_VELOCITY = 10
|
||||
MAX_ACCELERATION = 200
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -2.0
|
||||
MAX_LIMIT = 4.0
|
||||
MAX_VELOCITY = 10
|
||||
MAX_ACCELERATION = 200
|
||||
[AXIS_B]
|
||||
LOCKING_INDEXER_JOINT = 4
|
||||
MAX_ACCELERATION = 200
|
||||
MAX_VELOCITY = 3600
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 10
|
||||
MAX_ACCELERATION = 200.0
|
||||
MIN_LIMIT = -10.0
|
||||
MAX_LIMIT = 10.0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_LATCH_VEL = 0
|
||||
HOME_SEQUENCE = 0
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 10
|
||||
MAX_ACCELERATION = 200.0
|
||||
MIN_LIMIT = -10.0
|
||||
MAX_LIMIT = 10.0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_LATCH_VEL = 0
|
||||
HOME_SEQUENCE = 0
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 10
|
||||
MAX_ACCELERATION = 200.0
|
||||
MIN_LIMIT = -10.0
|
||||
MAX_LIMIT = 10.0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_LATCH_VEL = 0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 10
|
||||
MAX_ACCELERATION = 200.0
|
||||
MIN_LIMIT = -2.0
|
||||
MAX_LIMIT = 4.0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_LATCH_VEL = 0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_4]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_LATCH_VEL = 0
|
||||
LOCKING_INDEXER = 1
|
||||
HOME_SEQUENCE = 0
|
||||
30
configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.hal
Normal file
30
configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.hal
Normal file
@@ -0,0 +1,30 @@
|
||||
# for trivkins xyzb
|
||||
# --> 0123
|
||||
|
||||
# connect joint and axis jog pins together for corresponding items
|
||||
net j:x axis.x.jog-counts joint.0.jog-counts
|
||||
net j:y axis.y.jog-counts joint.1.jog-counts
|
||||
net j:z axis.z.jog-counts joint.2.jog-counts
|
||||
net j:b axis.b.jog-counts joint.3.jog-counts
|
||||
|
||||
net j:e joint.0.jog-enable joint.1.jog-enable joint.2.jog-enable joint.3.jog-enable
|
||||
net j:e axis.x.jog-enable axis.y.jog-enable axis.z.jog-enable axis.b.jog-enable
|
||||
sets j:e 1
|
||||
|
||||
net j:s joint.0.jog-scale joint.1.jog-scale joint.2.jog-scale joint.3.jog-scale
|
||||
net j:s axis.x.jog-scale axis.y.jog-scale axis.z.jog-scale axis.b.jog-scale
|
||||
sets j:s 1
|
||||
|
||||
net j:v joint.0.jog-vel-mode joint.1.jog-vel-mode joint.2.jog-vel-mode joint.3.jog-vel-mode
|
||||
net j:v axis.x.jog-vel-mode axis.y.jog-vel-mode axis.z.jog-vel-mode axis.b.jog-vel-mode
|
||||
sets j:v 1
|
||||
|
||||
# simulate a locking rotary joint3
|
||||
loadrt timedelay names=timedelay_unlock
|
||||
addf timedelay_unlock servo-thread
|
||||
|
||||
net B-unlock joint.3.unlock => timedelay_unlock.in
|
||||
net B-is-unlocked timedelay_unlock.out => joint.3.is-unlocked
|
||||
|
||||
setp timedelay_unlock.on-delay 0.75
|
||||
setp timedelay_unlock.off-delay 0.5
|
||||
18
configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.halshow
Normal file
18
configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.halshow
Normal file
@@ -0,0 +1,18 @@
|
||||
# halshow watchlist created Wed Mar 09 18:54:13 MST 2016
|
||||
|
||||
pin+motion.teleop-mode
|
||||
pin+joint.0.jog-counts
|
||||
pin+joint.1.jog-counts
|
||||
pin+joint.2.jog-counts
|
||||
pin+joint.3.jog-counts
|
||||
pin+joint.4.jog-counts
|
||||
pin+axis.x.jog-counts
|
||||
pin+axis.y.jog-counts
|
||||
pin+axis.z.jog-counts
|
||||
pin+axis.b.jog-counts
|
||||
pin+joint.3.unlock
|
||||
pin+joint.3.is-unlocked
|
||||
pin+joint.3.homed
|
||||
pin+joint.4.unlock
|
||||
pin+joint.4.is-unlocked
|
||||
pin+joint.4.homed
|
||||
117
configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.ini
Normal file
117
configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.ini
Normal file
@@ -0,0 +1,117 @@
|
||||
[APPLICATIONS]
|
||||
# wheel jog simulation:
|
||||
APP = sim_pin \
|
||||
axis.x.jog-counts \
|
||||
axis.y.jog-counts \
|
||||
axis.z.jog-counts \
|
||||
axis.b.jog-counts \
|
||||
>/dev/null
|
||||
APP = halshow xyzb.halshow
|
||||
|
||||
[KINS]
|
||||
JOINTS = 4
|
||||
KINEMATICS = trivkins coordinates=xyzb
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = LIB:basic_sim.tcl
|
||||
HALFILE = LIB:wheeljogpins.tcl 0.1
|
||||
|
||||
# simulate a locking rotary joint3
|
||||
HALCMD = loadrt timedelay names=timedelay_unlock
|
||||
HALCMD = addf timedelay_unlock servo-thread
|
||||
HALCMD = net B-unlock joint.3.unlock => timedelay_unlock.in
|
||||
HALCMD = net B-is-unlocked timedelay_unlock.out => joint.3.is-unlocked
|
||||
HALCMD = setp timedelay_unlock.on-delay 0.75
|
||||
HALCMD = setp timedelay_unlock.off-delay 0.5
|
||||
|
||||
[EMC]
|
||||
VERSION = 1.1
|
||||
MACHINE = XYZB trivkins coordinates=xyzb
|
||||
[DISPLAY]
|
||||
DISPLAY = axis
|
||||
CYCLE_TIME = 0.100
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.2
|
||||
GEOMETRY = XYZB
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = xyzb.var
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod unlock_joints_mask=0x08
|
||||
COMM_TIMEOUT = 1.0
|
||||
SERVO_PERIOD = 1000000
|
||||
[TRAJ]
|
||||
NO_FORCE_HOMING = 1
|
||||
COORDINATES = X Y Z B
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 10.0
|
||||
DEFAULT_LINEAR_ACCELERATION = 200.0
|
||||
DEFAULT_ANGULAR_VELOCITY = 45.0
|
||||
MAX_LINEAR_VELOCITY = 10
|
||||
MAX_LINEAR_ACCELERATION = 200.0
|
||||
MAX_ANGULAR_VELOCITY = 3600.0
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -10.0
|
||||
MAX_LIMIT = 10.0
|
||||
MAX_VELOCITY = 10
|
||||
MAX_ACCELERATION = 200
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -10.0
|
||||
MAX_LIMIT = 10.0
|
||||
MAX_VELOCITY = 10
|
||||
MAX_ACCELERATION = 200
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -2.0
|
||||
MAX_LIMIT = 4.0
|
||||
MAX_VELOCITY = 10
|
||||
MAX_ACCELERATION = 200
|
||||
[AXIS_B]
|
||||
LOCKING_INDEXER_JOINT = 3
|
||||
MAX_ACCELERATION = 200
|
||||
MAX_VELOCITY = 3600
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 10
|
||||
MAX_ACCELERATION = 200.0
|
||||
MIN_LIMIT = -10.0
|
||||
MAX_LIMIT = 10.0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_LATCH_VEL = 0
|
||||
HOME_SEQUENCE = 0
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 10
|
||||
MAX_ACCELERATION = 200.0
|
||||
MIN_LIMIT = -10.0
|
||||
MAX_LIMIT = 10.0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_LATCH_VEL = 0
|
||||
HOME_SEQUENCE = 0
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 10
|
||||
MAX_ACCELERATION = 200.0
|
||||
MIN_LIMIT = -2.0
|
||||
MAX_LIMIT = 4.0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_LATCH_VEL = 0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_LATCH_VEL = 0
|
||||
LOCKING_INDEXER = 1
|
||||
HOME_SEQUENCE = 0
|
||||
69
configs/sim/axis/ja_tests/xyzx_mpg/README
Normal file
69
configs/sim/axis/ja_tests/xyzx_mpg/README
Normal file
@@ -0,0 +1,69 @@
|
||||
xyzx_gantry configs using:
|
||||
trivkins coordinates=xyzx kintype=BOTH
|
||||
|
||||
xyzx.ini -- includes sim_pin simulation for wheel jogging
|
||||
xyzx-xhc-hb04.ini -- uses an xhc-hb04 pendant (18 button model)
|
||||
|
||||
Usage:
|
||||
|
||||
1) F1 (estop off)
|
||||
F2 (machine on)
|
||||
Ctrl-HOME (home, switch automatically to teleop mode)
|
||||
|
||||
2) Teleop mode jogging:
|
||||
|
||||
keyboard jog: Left/Right arrows------ x
|
||||
Up/Dn arrows----------- y
|
||||
PgUp/Dn---------------- z
|
||||
left/right bracket----- x
|
||||
|
||||
mpg jog: rotary x/wheel -------- x
|
||||
rotary y/wheel -------- y
|
||||
rotary z/wheel -------- z
|
||||
rotary a/wheel -------- none
|
||||
|
||||
sim_pin jog jog:x-0 +/- ----------- x
|
||||
jog:y-1 +/- ----------- y
|
||||
jog:z-2 +/- ----------- z
|
||||
jog:3 +/- ----------- none
|
||||
|
||||
3) To switch to joint mode in axis gui, use '$' key
|
||||
|
||||
4) Joint mode jogging:
|
||||
|
||||
keyboard jog: Left/Right arrows------ joint_0
|
||||
Up/Dn arrows----------- joint_1
|
||||
PgUp/Dn---------------- joint_2
|
||||
left/right bracket----- joint_3
|
||||
|
||||
mpg jog: rotary x/wheel -------- joint_0
|
||||
rotary y/wheel -------- joint_1
|
||||
rotary z/wheel -------- joint_2
|
||||
rotary a/wheel -------- joint_3
|
||||
|
||||
sim_pin jog jog:x-0 +/- ----------- joint_0
|
||||
jog:y-1 +/- ----------- joint_1
|
||||
jog:z-2 +/- ----------- joint_2
|
||||
jog:3 +/- ----------- joint_3
|
||||
|
||||
Notes:
|
||||
a) For simplicity, the configs connect:
|
||||
joint.N.motor=pos-cmd => joint.0.motor-pos-fb
|
||||
and use immediate homing (no home switch logic).
|
||||
|
||||
b) The configs use [KINS]AUTOTELEOP= to automatically
|
||||
switch to teleop mode after homing.
|
||||
|
||||
c) The LIB:xhc-hb04.tcl script handles configurations
|
||||
with known kinematics -- trivkins for the configs
|
||||
provided here.
|
||||
|
||||
d) For a machine configured as xyzx, the 0,1,2 --> x,y,z
|
||||
connections are handled automatically by LIB:xhc-hb04.tcl.
|
||||
Additional hal connections to allow jogging joint_3
|
||||
are done in a postgui hal file (xhc-hb04-postgui.hal).
|
||||
|
||||
In practice, independent joint jogging of joint_0 and joint_3
|
||||
may rack a gantry or cause other problems if not used with
|
||||
extreme care.
|
||||
|
||||
19
configs/sim/axis/ja_tests/xyzx_mpg/xhc-hb04-postgui.hal
Normal file
19
configs/sim/axis/ja_tests/xyzx_mpg/xhc-hb04-postgui.hal
Normal file
@@ -0,0 +1,19 @@
|
||||
# optional postgui hal file to allow MPG wheel jog of joint_3
|
||||
# using the fourth xhc-hb04 rotary switch position (labeled 'a')
|
||||
|
||||
# connect to existing signals:
|
||||
net pendant:jog-scale => joint.3.jog-scale
|
||||
net pendant:wheel-counts => pendant_util.in3
|
||||
|
||||
# make new signals and connections for optionalj3 jogging:
|
||||
net optionalj3:enable <= xhc-hb04.jog.enable-a
|
||||
net optionalj3:enable => joint.3.jog-enable
|
||||
|
||||
net optionalj3:filtered <= pendant_util.out3
|
||||
net optionalj3:filtered => joint.3.jog-counts
|
||||
|
||||
# scale3 value is: kvalue * scale_for_rotary_switch_a
|
||||
# kvalue=100 is a constant defined in xhc-hb04.tcl
|
||||
# scale_for_rotary_switch_a=1 defined in xhc-hb04.inc
|
||||
setp pendant_util.scale3 100
|
||||
|
||||
100
configs/sim/axis/ja_tests/xyzx_mpg/xhc-hb04.inc
Normal file
100
configs/sim/axis/ja_tests/xyzx_mpg/xhc-hb04.inc
Normal file
@@ -0,0 +1,100 @@
|
||||
[XHC_HB04_CONFIG]
|
||||
# specify layout = n for LIB:xhc-hb04-layout{n}.cfg files
|
||||
layout = 2
|
||||
# coords: specify upto 4 letters from set {x y z a b c u v w}
|
||||
# coords: switch labels are xyza but any unique 4 letters
|
||||
# from the set {xyxabcuvw} can be used (if the coord exists)
|
||||
coords = x y z
|
||||
# lowpass settings:
|
||||
# coef: slows rate of change of output, range: 0 < coef < 1
|
||||
coefs = 1 1 1 1
|
||||
# scale plus or minus, rotaries may require larger scale factor:
|
||||
scales = 1 1 1 1
|
||||
# jogmode normal(default) or vnormal
|
||||
jogmode = normal
|
||||
# sequence 1: 0.001,0.010,0.100,1.000 (mm-based machine)
|
||||
# sequence 2: 0.001,0.005,0.010,0.020 (inch-based machine)
|
||||
# sequence 3: 0.001,0.010,0.100
|
||||
# sequence 4: 0.001,0.005,0.010,0.020,0.050,0.100
|
||||
# sequence 5: 0.001,0.010,0.050,0.100,1.000
|
||||
sequence = 2
|
||||
# require_pendant = no: create xhc-hb04 hal pins when pendant not
|
||||
# connected at startup
|
||||
require_pendant = no
|
||||
# inch_or_mm = in | mm
|
||||
inch_or_mm = in
|
||||
# mpg_accels: provision for reduced acceleration for manual mode jogging
|
||||
mpg_accels = 20 20 20 20
|
||||
|
||||
[XHC_HB04_BUTTONS]
|
||||
# use button names according to layout file LIB:xhc-hb04-layout{n}.cfg
|
||||
# note: "start-pause" is connected for standard behavior
|
||||
# controlling halui.pause/halui.resume/halui.run
|
||||
# these are examples, edit as required:
|
||||
|
||||
goto-zero = halui.mdi-command-00
|
||||
# synthesized per-axis buttons for goto-zero button:
|
||||
goto-zero-x = ""
|
||||
goto-zero-y = ""
|
||||
goto-zero-z = ""
|
||||
goto-zero-a = ""
|
||||
|
||||
start-pause = std_start_pause
|
||||
rewind = halui.program.step
|
||||
# probe-input for simulating a probe:
|
||||
probe-z = motion.probe-input
|
||||
macro-3 = halui.mdi-command-03
|
||||
|
||||
half = halui.spindle.0.stop
|
||||
# synthesized per-axis buttons for half button:
|
||||
half-x = ""
|
||||
half-y = ""
|
||||
half-z = ""
|
||||
half-a = ""
|
||||
|
||||
zero = ""
|
||||
# synthesized per-axis buttons for zero button:
|
||||
zero-x = halui.mdi-command-12
|
||||
zero-y = halui.mdi-command-13
|
||||
zero-z = halui.mdi-command-14
|
||||
zero-a = halui.mdi-command-15
|
||||
|
||||
safe-z = halui.mdi-command-10
|
||||
# in this sim, home-all only works first time, hold down till finished:
|
||||
home = halui.home-all
|
||||
macro-1 = halui.mdi-command-01
|
||||
macro-2 = halui.mdi-command-02
|
||||
spindle = halui.spindle.0.start
|
||||
step = xhc-hb04.stepsize-up
|
||||
mode = ""
|
||||
macro-6 = halui.mdi-command-06
|
||||
macro-7 = halui.mdi-command-07
|
||||
stop = halui.program.stop
|
||||
reset = halui.estop.activate
|
||||
|
||||
[HALUI]
|
||||
# these are examples, edit as required:
|
||||
# a halui hal pin is created for each MDI_COMMAND below
|
||||
# halui.mdi-command-00, halui.mdi-command-01,... etc
|
||||
MDI_COMMAND=G0 X0 Y0 Z0
|
||||
MDI_COMMAND=(debug, example: mdi-01)
|
||||
MDI_COMMAND=(debug, example: mdi-02)
|
||||
#03 M110: clears notifications
|
||||
MDI_COMMAND=M110
|
||||
MDI_COMMAND=(debug, example: mdi-04)
|
||||
MDI_COMMAND=(debug, example: mdi-05)
|
||||
MDI_COMMAND=(debug, example: mdi-06)
|
||||
#07 M101: example print to stdout
|
||||
MDI_COMMAND=M101
|
||||
MDI_COMMAND=(debug, example: mdi-08)
|
||||
MDI_COMMAND=(debug, example: mdi-09)
|
||||
MDI_COMMAND=(debug, example: mdi-10)
|
||||
MDI_COMMAND=(debug, example: mdi-11)
|
||||
#12
|
||||
MDI_COMMAND= G10 L20 P0 X0
|
||||
#13
|
||||
MDI_COMMAND= G10 L20 P0 Y0
|
||||
#14
|
||||
MDI_COMMAND= G10 L20 P0 Z0
|
||||
#15
|
||||
MDI_COMMAND= G10 L20 P0 C0
|
||||
13
configs/sim/axis/ja_tests/xyzx_mpg/xyzx-xhc-hb04.ini
Normal file
13
configs/sim/axis/ja_tests/xyzx_mpg/xyzx-xhc-hb04.ini
Normal file
@@ -0,0 +1,13 @@
|
||||
#INCLUDE xyzx_base.inc
|
||||
#INCLUDE xhc-hb04.inc
|
||||
|
||||
[APPLICATIONS]
|
||||
APP = halshow xyzx.halshow
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = LIB:basic_sim.tcl
|
||||
HALFILE = LIB:xhc-hb04.tcl
|
||||
|
||||
# optional, use to support jogging of joint_3:
|
||||
POSTGUI_HALFILE = ./xhc-hb04-postgui.hal
|
||||
26
configs/sim/axis/ja_tests/xyzx_mpg/xyzx.halshow
Normal file
26
configs/sim/axis/ja_tests/xyzx_mpg/xyzx.halshow
Normal file
@@ -0,0 +1,26 @@
|
||||
pin+motion.teleop-mode
|
||||
sig+pendant:wheel-counts
|
||||
|
||||
pin+joint.0.jog-enable
|
||||
pin+joint.1.jog-enable
|
||||
pin+joint.2.jog-enable
|
||||
pin+joint.3.jog-enable
|
||||
|
||||
pin+joint.0.jog-scale
|
||||
pin+joint.1.jog-scale
|
||||
pin+joint.2.jog-scale
|
||||
pin+joint.3.jog-scale
|
||||
|
||||
pin+joint.0.motor-pos-cmd
|
||||
pin+joint.1.motor-pos-cmd
|
||||
pin+joint.2.motor-pos-cmd
|
||||
pin+joint.3.motor-pos-cmd
|
||||
|
||||
pin+axis.x.jog-enable
|
||||
pin+axis.y.jog-enable
|
||||
pin+axis.z.jog-enable
|
||||
|
||||
pin+axis.x.pos-cmd
|
||||
pin+axis.y.pos-cmd
|
||||
pin+axis.z.pos-cmd
|
||||
|
||||
17
configs/sim/axis/ja_tests/xyzx_mpg/xyzx.ini
Normal file
17
configs/sim/axis/ja_tests/xyzx_mpg/xyzx.ini
Normal file
@@ -0,0 +1,17 @@
|
||||
#INCLUDE xyzx_base.inc
|
||||
|
||||
[APPLICATIONS]
|
||||
# wheel jog simulation:
|
||||
APP = sim_pin \
|
||||
jog:x-0 \
|
||||
jog:y-1 \
|
||||
jog:z-2 \
|
||||
jog:3 \
|
||||
>/dev/null
|
||||
APP = halshow xyzx.halshow
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = LIB:basic_sim.tcl
|
||||
HALFILE = ./xyzx_jog.hal
|
||||
|
||||
88
configs/sim/axis/ja_tests/xyzx_mpg/xyzx_base.inc
Normal file
88
configs/sim/axis/ja_tests/xyzx_mpg/xyzx_base.inc
Normal file
@@ -0,0 +1,88 @@
|
||||
[EMC]
|
||||
VERSION = 1.1
|
||||
MACHINE = trivkins xyzx KINEMATICS_BOTH
|
||||
DEBUG = 0
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins coordinates=xyzx kinstype=BOTH
|
||||
JOINTS = 4
|
||||
|
||||
[DISPLAY]
|
||||
JOG_AXES = XYZX
|
||||
DISPLAY = axis
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
CYCLE_TIME = 0.100
|
||||
MAX_FEED_OVERRIDE = 1.2
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = xyzx.var
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
SERVO_PERIOD = 1000000
|
||||
[TRAJ]
|
||||
NO_FORCE_HOMING = 1
|
||||
COORDINATES = X Y Z X
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 10.0
|
||||
DEFAULT_LINEAR_ACCELERATION = 200.0
|
||||
MAX_LINEAR_VELOCITY = 10.0
|
||||
MAX_LINEAR_ACCELERATION = 200.0
|
||||
|
||||
[AXIS_X]
|
||||
MAX_LIMIT = 1e10
|
||||
MIN_LIMIT = -1e10
|
||||
MAX_VELOCITY = 10
|
||||
MAX_ACCELERATION = 200
|
||||
[AXIS_Y]
|
||||
MAX_LIMIT = 1e10
|
||||
MIN_LIMIT = -1e10
|
||||
MAX_VELOCITY = 10
|
||||
MAX_ACCELERATION = 200
|
||||
[AXIS_Z]
|
||||
MAX_LIMIT = 1e10
|
||||
MIN_LIMIT = -1e10
|
||||
MAX_VELOCITY = 10
|
||||
MAX_ACCELERATION = 200
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
MAX_LIMIT = 1e10
|
||||
MIN_LIMIT = -1e10
|
||||
MAX_VELOCITY = 10
|
||||
MAX_ACCELERATION = 200.0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
MAX_LIMIT = 1e10
|
||||
MIN_LIMIT = -1e10
|
||||
MAX_VELOCITY = 10
|
||||
MAX_ACCELERATION = 200.0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
MAX_LIMIT = 1e10
|
||||
MIN_LIMIT = -1e10
|
||||
MAX_VELOCITY = 10
|
||||
MAX_ACCELERATION = 200.0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = LINEAR
|
||||
MAX_LIMIT = 1e10
|
||||
MIN_LIMIT = -1e10
|
||||
MAX_VELOCITY = 10
|
||||
MAX_ACCELERATION = 200.0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
38
configs/sim/axis/ja_tests/xyzx_mpg/xyzx_jog.hal
Normal file
38
configs/sim/axis/ja_tests/xyzx_mpg/xyzx_jog.hal
Normal file
@@ -0,0 +1,38 @@
|
||||
# connect joint and axis jog pins together for corresponding items
|
||||
net jog:x-0 axis.x.jog-counts
|
||||
net jog:x-0 joint.0.jog-counts
|
||||
|
||||
net jog:y-1 axis.y.jog-counts
|
||||
net jog:y-1 joint.1.jog-counts
|
||||
|
||||
net jog:z-2 axis.z.jog-counts
|
||||
net jog:z-2 joint.2.jog-counts
|
||||
|
||||
net jog:3 joint.3.jog-counts
|
||||
|
||||
net jog:enable joint.0.jog-enable
|
||||
net jog:enable joint.1.jog-enable
|
||||
net jog:enable joint.2.jog-enable
|
||||
net jog:enable joint.3.jog-enable
|
||||
net jog:enable axis.x.jog-enable
|
||||
net jog:enable axis.y.jog-enable
|
||||
net jog:enable axis.z.jog-enable
|
||||
sets jog:enable 1
|
||||
|
||||
net jog:scale joint.0.jog-scale
|
||||
net jog:scale joint.1.jog-scale
|
||||
net jog:scale joint.2.jog-scale
|
||||
net jog:scale joint.3.jog-scale
|
||||
net jog:scale axis.x.jog-scale
|
||||
net jog:scale axis.y.jog-scale
|
||||
net jog:scale axis.z.jog-scale
|
||||
sets jog:scale 1
|
||||
|
||||
net jog:vmode joint.0.jog-vel-mode
|
||||
net jog:vmode joint.1.jog-vel-mode
|
||||
net jog:vmode joint.2.jog-vel-mode
|
||||
net jog:vmode joint.3.jog-vel-mode
|
||||
net jog:vmode axis.x.jog-vel-mode
|
||||
net jog:vmode axis.y.jog-vel-mode
|
||||
net jog:vmode axis.z.jog-vel-mode
|
||||
sets jog:vmode 1
|
||||
21
configs/sim/axis/ja_tests/xz/README
Normal file
21
configs/sim/axis/ja_tests/xz/README
Normal file
@@ -0,0 +1,21 @@
|
||||
trivkins examples
|
||||
|
||||
xz.ini KINEMATICS_IDENTITY
|
||||
|
||||
xz_both.ini KINEMATICS_BOTH
|
||||
|
||||
xz_both_auto.ini KINEMATICS_BOTH
|
||||
(auto switch to teleop after homing)
|
||||
|
||||
NOTE:
|
||||
!!! [TRAJ]COORDINATES MUST AGREE WITH KINS:
|
||||
!!! [TRAJ]COORDINATES = xz
|
||||
|
||||
xz.ini
|
||||
[KINS]KINEMATICS=trivkins coordinates=xz
|
||||
|
||||
xz_both.ini
|
||||
KINEMATICS = trivkins coordinates=xz kinstype=BOTH
|
||||
|
||||
xz_both_auto.ini
|
||||
KINEMATICS = trivkins coordinates=xz kinstype=BOTH
|
||||
12
configs/sim/axis/ja_tests/xz/xz.ini
Normal file
12
configs/sim/axis/ja_tests/xz/xz.ini
Normal file
@@ -0,0 +1,12 @@
|
||||
#INCLUDE xzbase.inc
|
||||
|
||||
[EMC]
|
||||
VERSION = 1.1
|
||||
MACHINE = trivkins XZ KINEMATICS_IDENTITY
|
||||
DEBUG = 0
|
||||
|
||||
[KINS]
|
||||
# Note: coordinates must agree with [TRAJ]COORDINATES
|
||||
# trivkins with no kinstype defaults to KINEMATICS_IDENTITY
|
||||
KINEMATICS = trivkins coordinates=xz
|
||||
JOINTS = 2
|
||||
2
configs/sim/axis/ja_tests/xz/xz.tbl
Normal file
2
configs/sim/axis/ja_tests/xz/xz.tbl
Normal file
@@ -0,0 +1,2 @@
|
||||
T1 P1 D0.100000 X-0.333000 Z+0.100000 ;
|
||||
T2 P2 D0.200000 Z+0.200000 ;
|
||||
11
configs/sim/axis/ja_tests/xz/xz_both.ini
Normal file
11
configs/sim/axis/ja_tests/xz/xz_both.ini
Normal file
@@ -0,0 +1,11 @@
|
||||
#INCLUDE xzbase.inc
|
||||
|
||||
[EMC]
|
||||
VERSION = 1.1
|
||||
MACHINE = trivkins XZ KINEMATICS_BOTH
|
||||
DEBUG = 0
|
||||
|
||||
[KINS]
|
||||
# Note: coordinates must agree with [TRAJ]COORDINATES
|
||||
KINEMATICS = trivkins coordinates=xz kinstype=BOTH
|
||||
JOINTS = 2
|
||||
11
configs/sim/axis/ja_tests/xz/xz_both_auto.ini
Normal file
11
configs/sim/axis/ja_tests/xz/xz_both_auto.ini
Normal file
@@ -0,0 +1,11 @@
|
||||
#INCLUDE xzbase.inc
|
||||
|
||||
[EMC]
|
||||
VERSION = 1.1
|
||||
MACHINE = trivkins XZ KINEMATICS_BOTH,AUTO TELEOP
|
||||
DEBUG = 0
|
||||
|
||||
[KINS]
|
||||
# Note: coordinates must agree with [TRAJ]COORDINATES
|
||||
KINEMATICS = trivkins coordinates=xz kinstype=BOTH
|
||||
JOINTS = 2
|
||||
95
configs/sim/axis/ja_tests/xz/xzbase.inc
Normal file
95
configs/sim/axis/ja_tests/xz/xzbase.inc
Normal file
@@ -0,0 +1,95 @@
|
||||
[HAL]
|
||||
HALFILE = LIB:basic_sim.tcl
|
||||
HALUI = halui
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = XZ
|
||||
LINEAR_UNITS = inch
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 1.0
|
||||
DEFAULT_LINEAR_ACCELERATION = 20.0
|
||||
MAX_LINEAR_VELOCITY = 4.44444
|
||||
MAX_LINEAR_ACCELERATION = 22.2222
|
||||
|
||||
[DISPLAY]
|
||||
DISPLAY = axis
|
||||
LATHE = 1
|
||||
#EDITOR = geany
|
||||
TOOL_EDITOR = tooledit diam z
|
||||
PROGRAM_PREFIX = ../../nc_files/
|
||||
CYCLE_TIME = 0.100
|
||||
HELP_FILE = doc/help.txt
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
MAX_FEED_OVERRIDE = 1.2
|
||||
MAX_SPINDLE_OVERRIDE = 1.0
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
py = python3
|
||||
|
||||
[RS274NGC]
|
||||
PARAMETER_FILE = xz.var
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 50000
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
|
||||
[EMCIO]
|
||||
TOOL_TABLE = xz.tbl
|
||||
TOOL_CHANGE_POSITION = 2 0 1
|
||||
TOOL_CHANGE_WITH_SPINDLE_ON = 1
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 3.3
|
||||
MAX_ACCELERATION = 20.3
|
||||
MIN_LIMIT = -10.0
|
||||
MAX_LIMIT = 10.0
|
||||
HOME_OFFSET = 1.0
|
||||
HOME_SEARCH_VEL = 5.0
|
||||
HOME_LATCH_VEL = 1.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 3.4
|
||||
MAX_ACCELERATION = 20.4
|
||||
MIN_LIMIT = -2.0
|
||||
MAX_LIMIT = 4.0
|
||||
HOME_OFFSET = 1.0
|
||||
HOME_SEARCH_VEL = 5.0
|
||||
HOME_LATCH_VEL = 1.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -10.0
|
||||
MAX_LIMIT = 10.0
|
||||
MAX_VELOCITY = 3.1
|
||||
MAX_ACCELERATION = 20.1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -2.0
|
||||
MAX_LIMIT = 4.0
|
||||
MAX_VELOCITY = 3.2
|
||||
MAX_ACCELERATION = 20.2
|
||||
|
||||
Reference in New Issue
Block a user