New Trajectory Planner - Testers/programs wanted
- Todd Zuercher
-
- Offline
- Platinum Member
-
Less
More
- Posts: 4984
- Thank you received: 1453
11 Mar 2016 16:48 #71430
by Todd Zuercher
Replied by Todd Zuercher on topic New Trajectory Planner - Testers/programs wanted
Adding a small lead in move in the XY plane removes the pause as well.
G21 G17 G90 G64 P0.05 G40
G0 Z3.0
T1 M6
M3 S1000
G0 X556.0 Y-305.0
G1 F300.0 Z-3.0
G1 F3000.0 X556.0 Y-300.0
G3 X172.0 Y-78.2975 I-256.0 J0.0
G3 Y-521.7025 I128.0 J-221.7025
G3 X556.0 Y-300.0 I128.0 J221.7025
G0 Z3.0
M5
M30
Please Log in or Create an account to join the conversation.
- guymalpass
- Offline
- Senior Member
-
Less
More
- Posts: 75
- Thank you received: 1
12 Dec 2016 22:13 #83998
by guymalpass
Replied by guymalpass on topic New Trajectory Planner - Testers/programs wanted
Hi,
I have recently encountered a problem that is triggering a following error.
Please find a photo of my live tool plot here: https://goo.gl/photos/jyCbxXy7A5tJsKCq6 live plot
The problem occurs at the start of line 35 where it seems as though linuxcnc doesn't attempt to follow the arc. I have temporarily got this program running by setting ARC_BLEND_ENABLE to FALSE.
Please ask what additional information may be necessary and I will try to provide it.
Thanks,
Guy
I have recently encountered a problem that is triggering a following error.
Please find a photo of my live tool plot here: https://goo.gl/photos/jyCbxXy7A5tJsKCq6 live plot
The problem occurs at the start of line 35 where it seems as though linuxcnc doesn't attempt to follow the arc. I have temporarily got this program running by setting ARC_BLEND_ENABLE to FALSE.
Please ask what additional information may be necessary and I will try to provide it.
Thanks,
Guy
Please Log in or Create an account to join the conversation.
- guymalpass
- Offline
- Senior Member
-
Less
More
- Posts: 75
- Thank you received: 1
12 Dec 2016 22:16 #83999
by guymalpass
Replied by guymalpass on topic New Trajectory Planner - Testers/programs wanted
I am on the current iteration of Master and here are my ini and hal files:
# This config file was created 2015-12-01 09:00:32.737957 by the update_ini script
# The original config files may be found in the /home/guy/linuxcnc-dev/configs/Gicam/Gicam.old directory
# Generated by PNCconf at Mon Nov 30 19:55:47 2015
# If you make changes to this file, they will be
# overwritten when you run PNCconf again
[EMC]
# The version string for this INI file.
VERSION = 1.0
MACHINE = CNC JA9
DEBUG = 0
[DISPLAY]
DISPLAY = axis
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.000000
MAX_SPINDLE_OVERRIDE = 1.500000
MIN_SPINDLE_OVERRIDE = 0.500000
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/guy/linuxcnc/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 25.0000
MAX_LINEAR_VELOCITY = 200.000000
MIN_LINEAR_VELOCITY = 0.010000
DEFAULT_ANGULAR_VELOCITY = 0.250000
MAX_ANGULAR_VELOCITY = 1.000000
MIN_ANGULAR_VELOCITY = 0.010000
EDITOR = mousepad
GEOMETRY = XYZW
PROGRAM_PREFIX = /media
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python
[RS274NGC]
PARAMETER_FILE = linuxcnc.var
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
SERVO_PERIOD = 1000000
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[HAL]
HALUI = halui
HALFILE = LinuxCNCJA9.hal
[HALUI]
[TRAJ]
AXES = 4
COORDINATES = XYZW
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 2.50
MAX_LINEAR_VELOCITY = 200.00
ARC_BLEND_OPTIMIZATION_DEPTH = 150
DEFAULT_ACCELERATION = 750
MAX_ACCELERATION = 750
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
TOOL_CHANGE_QUILL_UP = 1
[KINS]
JOINTS = 5
KINEMATICS = trivkins coordinates=xyyzw
AUTO_TELEOP = 20
[AXIS_X]
HOME = 0
MIN_LIMIT = -0.01
MAX_LIMIT = 1470.0
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 750.0
[JOINT_0]
TYPE = LINEAR
HOME = 0
FERROR = 5.0
MIN_FERROR = 0.5
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 750.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 250
STEPGEN_MAXACCEL = 937.5
P = 170
I = 0
D = 0
FF0 = 0
FF1 = 0.994
FF2 = 0.000025
BIAS = 0
DEADBAND = 0.0016
MAX_OUTPUT = 0
ENCODER_SCALE = 763.9437
# these are in nanoseconds
DIRSETUP = 25000
DIRHOLD = 26600
STEPLEN = 1600
STEPSPACE = 1600
STEP_SCALE = -636.6198
MIN_LIMIT = -0.01
MAX_LIMIT = 1470.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 10
HOME_LATCH_VEL = 10
HOME_USE_INDEX = YES
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 0
[AXIS_Y]
HOME = 0.0
MIN_LIMIT = -0.01
MAX_LIMIT = 2500.0
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 750.0
[JOINT_1]
TYPE = LINEAR
HOME = 0.0
FERROR = 5.0
MIN_FERROR = 0.5
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 750.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 250
STEPGEN_MAXACCEL = 937.5
P = 170
I = 0
D = 0
FF0 = 0
FF1 = 0.994
FF2 = 0.000025
BIAS = 0
DEADBAND = 0.003
MAX_OUTPUT = 0
ENCODER_SCALE = -763.9437
# these are in nanoseconds
DIRSETUP = 25000
DIRHOLD = 26600
STEPLEN = 1600
STEPSPACE = 1600
STEP_SCALE = 636.6198
MIN_LIMIT = -0.01
MAX_LIMIT = 2500.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 10
HOME_LATCH_VEL = 10
HOME_USE_INDEX = YES
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 1
[JOINT_2]
TYPE = LINEAR
HOME = 0.0
FERROR = 5.0
MIN_FERROR = 0.5
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 750.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 250
STEPGEN_MAXACCEL = 937.5
P = 170
I = 0
D = 0
FF0 = 0
FF1 = 0.994
FF2 = 0.000025
BIAS = 0
DEADBAND = 0.003
MAX_OUTPUT = 0
ENCODER_SCALE = 763.9437
# these are in nanoseconds
DIRSETUP = 25000
DIRHOLD = 26600
STEPLEN = 1600
STEPSPACE = 1600
STEP_SCALE = -636.6198
MIN_LIMIT = -0.01
MAX_LIMIT = 2500.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 10
HOME_LATCH_VEL = 10
HOME_USE_INDEX = YES
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 1
[AXIS_Z]
HOME = 0.0
MIN_LIMIT = -335.0
MAX_LIMIT = 0.01
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 750.0
[JOINT_3]
TYPE = LINEAR
HOME = 0.0
FERROR = 2.0
MIN_FERROR = 0.2
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 750.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 125
STEPGEN_MAXACCEL = 937.5
# these are in nanoseconds
DIRSETUP = 25000
DIRHOLD = 26600
STEPLEN = 1600
STEPSPACE = 1600
STEP_SCALE = -256
MIN_LIMIT = -335.0
MAX_LIMIT = 0.01
HOME_OFFSET = 0.0
HOME_SEQUENCE = 2
[AXIS_W]
HOME = 0.0
MIN_LIMIT = -335.0
MAX_LIMIT = 0.01
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 750.0
[JOINT_4]
TYPE = LINEAR
HOME = 0.0
FERROR = 2.0
MIN_FERROR = 0.2
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 750.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 125
STEPGEN_MAXACCEL = 937.5
# these are in nanoseconds
DIRSETUP = 25000
DIRHOLD = 26600
STEPLEN = 1600
STEPSPACE = 1600
STEP_SCALE = -256
MIN_LIMIT = -335.0
MAX_LIMIT = 0.01
HOME_OFFSET = 0.0
HOME_SEQUENCE = 2
#********************
# Spindle
#********************
[HOSTMOT2]
# **** This is for info only ****
# DRIVER0=hm2_pci
# BOARD0=5i25
[SPINDLE_9]
OUTPUT_SCALE = 24000.0
OUTPUT_MIN_LIMIT = 3000.0
OUTPUT_MAX_LIMIT = 24000.0
# Generated by PNCconf at Mon Nov 30 19:55:47 2015
# If you make changes to this file, they will be
# overwritten when you run PNCconf again
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hostmot2
loadrt hm2_pci config=" num_encoders=6 num_pwmgens=0 num_stepgens=5 sserial_port_0=10000x"
setp hm2_5i25.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y1,pid.y2
loadrt classicladder_rt numPhysInputs=15 numPhysOutputs=15 numS32in=10 numS32out=10 numFloatIn=10 numFloatOut=10 numBits=50 numWords=50
loadrt axisswap count=1
loadrt conv_float_s32 count=2
loadrt mult2 count=2
loadrt sum2 count=1
addf hm2_5i25.0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf pid.x.do-pid-calcs servo-thread
addf pid.y1.do-pid-calcs servo-thread
addf pid.y2.do-pid-calcs servo-thread
addf classicladder.0.refresh servo-thread
addf hm2_5i25.0.write servo-thread
addf axisswap.0 servo-thread
addf conv-float-s32.0 servo-thread
addf conv-float-s32.1 servo-thread
addf mult2.0 servo-thread
addf mult2.1 servo-thread
addf sum2.0 servo-thread
# external output signals
# external input signals
# --- HOME-X ---
net home-x <= hm2_5i25.0.7i76.0.3.input-16
# --- HOME-Y ---
net home-y <= hm2_5i25.0.7i76.0.3.input-18
# --- SPINDLE-AT-SPEED ---
net spindle-at-speed <= hm2_5i25.0.7i76.0.3.input-15
# --- FEED OVERRIDE ---
setp halui.feed-override.count-enable TRUE
setp halui.feed-override.direct-value TRUE
setp halui.feed-override.scale 0.01
setp mult2.0.in0 8.216134
net feed-float-in mult2.0.in1 <= hm2_5i25.0.7i77.0.0.analogin1
net feed-mult-out mult2.0.out => conv-float-s32.0.in
net feed-s32-out conv-float-s32.0.out => halui.feed-override.counts
# --- RAPID OVERRIDE ---
setp halui.rapid-override.count-enable TRUE
setp halui.rapid-override.direct-value TRUE
setp halui.rapid-override.scale 0.02
net feed-s32-out => halui.rapid-override.counts
# --- SPINDLE OVERRIDE ---
setp halui.spindle-override.count-enable TRUE
setp halui.spindle-override.direct-value TRUE
setp halui.spindle-override.scale 0.01
setp mult2.1.in0 4.156682
setp sum2.0.in0 50
net spindle-pot-in mult2.1.in1 <= hm2_5i25.0.7i77.0.0.analogin0
net spindle-mult-out mult2.1.out => sum2.0.in1
net spindle-sum2-out sum2.0.out => conv-float-s32.1.in
net spindle-s32-out conv-float-s32.1.out => halui.spindle-override.counts
# --- DRIVE FAULT FEEDBACK ---
net drive-fault <= hm2_5i25.0.7i76.0.3.input-17-not
net drive-fault => joint.0.amp-fault-in
net drive-fault => joint.1.amp-fault-in
net drive-fault => joint.2.amp-fault-in
net drive-fault => joint.3.amp-fault-in
net drive-fault => joint.4.amp-fault-in
#*******************
# AXIS X
#*******************
setp pid.x.Pgain [JOINT_0]P
setp pid.x.Igain [JOINT_0]I
setp pid.x.Dgain [JOINT_0]D
setp pid.x.bias [JOINT_0]BIAS
setp pid.x.FF0 [JOINT_0]FF0
setp pid.x.FF1 [JOINT_0]FF1
setp pid.x.FF2 [JOINT_0]FF2
setp pid.x.deadband [JOINT_0]DEADBAND
setp pid.x.maxoutput [JOINT_0]MAX_OUTPUT
setp pid.x.error-previous-target true
#setp pid.x.maxerror .0005
net x-index-enable <=> pid.x.index-enable
net x-enable => pid.x.enable
net x-pos-cmd => pid.x.command
net x-vel-cmd => pid.x.command-deriv
net x-pos-fb => pid.x.feedback
net x-output => pid.x.output
# Step Gen signals/setup
setp hm2_5i25.0.stepgen.00.dirsetup [JOINT_0]DIRSETUP
setp hm2_5i25.0.stepgen.00.dirhold [JOINT_0]DIRHOLD
setp hm2_5i25.0.stepgen.00.steplen [JOINT_0]STEPLEN
setp hm2_5i25.0.stepgen.00.stepspace [JOINT_0]STEPSPACE
setp hm2_5i25.0.stepgen.00.position-scale [JOINT_0]STEP_SCALE
setp hm2_5i25.0.stepgen.00.step_type 0
setp hm2_5i25.0.stepgen.00.control-type 1
setp hm2_5i25.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net x-pos-cmd <= joint.0.motor-pos-cmd
net x-vel-cmd <= joint.0.vel-cmd
net x-output <= hm2_5i25.0.stepgen.00.velocity-cmd
net x-pos-fb => joint.0.motor-pos-fb
net x-enable <= joint.0.amp-enable-out
net x-enable => hm2_5i25.0.stepgen.00.enable
# ---Encoder feedback signals/setup---
setp hm2_5i25.0.encoder.02.counter-mode 0
setp hm2_5i25.0.encoder.02.filter 1
setp hm2_5i25.0.encoder.02.index-invert 0
setp hm2_5i25.0.encoder.02.index-mask 0
setp hm2_5i25.0.encoder.02.index-mask-invert 0
setp hm2_5i25.0.encoder.02.scale [JOINT_0]ENCODER_SCALE
net x-pos-fb <= hm2_5i25.0.encoder.02.position
net x-vel-fb <= hm2_5i25.0.encoder.02.velocity
net x-index-enable joint.0.index-enable <=> hm2_5i25.0.encoder.02.index-enable
net x-pos-rawcounts <= hm2_5i25.0.encoder.02.rawcounts
# ---setup home / limit switch signals---
net home-x => joint.0.home-sw-in
net x-neg-limit => joint.0.neg-lim-sw-in
net x-pos-limit => joint.0.pos-lim-sw-in
#*******************
# AXIS Y
#*******************
setp pid.y1.Pgain [JOINT_1]P
setp pid.y1.Igain [JOINT_1]I
setp pid.y1.Dgain [JOINT_1]D
setp pid.y1.bias [JOINT_1]BIAS
setp pid.y1.FF0 [JOINT_1]FF0
setp pid.y1.FF1 [JOINT_1]FF1
setp pid.y1.FF2 [JOINT_1]FF2
setp pid.y1.deadband [JOINT_1]DEADBAND
setp pid.y1.maxoutput [JOINT_1]MAX_OUTPUT
setp pid.y1.error-previous-target true
#setp pid.y1.maxerror .0005
net y1-index-enable <=> pid.y1.index-enable
net y1-enable => pid.y1.enable
net y1-pos-cmd => pid.y1.command
net y1-vel-cmd => pid.y1.command-deriv
net y1-pos-fb => pid.y1.feedback
net y1-output <= pid.y1.output
# Step Gen signals/setup
setp hm2_5i25.0.stepgen.02.dirsetup [JOINT_1]DIRSETUP
setp hm2_5i25.0.stepgen.02.dirhold [JOINT_1]DIRHOLD
setp hm2_5i25.0.stepgen.02.steplen [JOINT_1]STEPLEN
setp hm2_5i25.0.stepgen.02.stepspace [JOINT_1]STEPSPACE
setp hm2_5i25.0.stepgen.02.position-scale [JOINT_1]STEP_SCALE
setp hm2_5i25.0.stepgen.02.step_type 0
setp hm2_5i25.0.stepgen.02.control-type 1
setp hm2_5i25.0.stepgen.02.maxaccel [JOINT_1]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.02.maxvel [JOINT_1]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net y1-pos-cmd <= joint.1.motor-pos-cmd
net y1-vel-cmd <= joint.1.vel-cmd
net y1-output => hm2_5i25.0.stepgen.02.velocity-cmd
net y1-pos-fb => joint.1.motor-pos-fb
net y1-enable <= joint.1.amp-enable-out
net y1-enable => hm2_5i25.0.stepgen.02.enable
# ---Encoder feedback signals/setup---
setp hm2_5i25.0.encoder.01.counter-mode 0
setp hm2_5i25.0.encoder.01.filter 1
setp hm2_5i25.0.encoder.01.index-invert 0
setp hm2_5i25.0.encoder.01.index-mask 0
setp hm2_5i25.0.encoder.01.index-mask-invert 0
setp hm2_5i25.0.encoder.01.scale [JOINT_1]ENCODER_SCALE
net y1-pos-fb <= hm2_5i25.0.encoder.01.position
net y1-vel-fb <= hm2_5i25.0.encoder.01.velocity
net y1-index-enable joint.1.index-enable <=> hm2_5i25.0.encoder.01.index-enable
net y1-pos-rawcounts <= hm2_5i25.0.encoder.01.rawcounts
# ---setup home / limit switch signals---
net home-y => joint.1.home-sw-in
net y1-neg-limit => joint.1.neg-lim-sw-in
net y1-pos-limit => joint.1.pos-lim-sw-in
# ---SECOND Y JOINT---
setp pid.y2.Pgain [JOINT_2]P
setp pid.y2.Igain [JOINT_2]I
setp pid.y2.Dgain [JOINT_2]D
setp pid.y2.bias [JOINT_2]BIAS
setp pid.y2.FF0 [JOINT_2]FF0
setp pid.y2.FF1 [JOINT_2]FF1
setp pid.y2.FF2 [JOINT_2]FF2
setp pid.y2.deadband [JOINT_2]DEADBAND
setp pid.y2.maxoutput [JOINT_2]MAX_OUTPUT
setp pid.y2.error-previous-target true
#setp pid.y2.maxerror .0005
net y2-index-enable <=> pid.y2.index-enable
net y2-enable => pid.y2.enable
net y2-pos-cmd => pid.y2.command
net y2-vel-cmd => pid.y2.command-deriv
net y2-pos-fb => pid.y2.feedback
net y2-output <= pid.y2.output
# Step Gen signals/setup
setp hm2_5i25.0.stepgen.03.dirsetup [JOINT_2]DIRSETUP
setp hm2_5i25.0.stepgen.03.dirhold [JOINT_2]DIRHOLD
setp hm2_5i25.0.stepgen.03.steplen [JOINT_2]STEPLEN
setp hm2_5i25.0.stepgen.03.stepspace [JOINT_2]STEPSPACE
setp hm2_5i25.0.stepgen.03.position-scale [JOINT_2]STEP_SCALE
setp hm2_5i25.0.stepgen.03.step_type 0
setp hm2_5i25.0.stepgen.03.control-type 1
setp hm2_5i25.0.stepgen.03.maxaccel [JOINT_2]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.03.maxvel [JOINT_2]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net y2-pos-cmd <= joint.2.motor-pos-cmd
net y2-vel-cmd <= joint.2.vel-cmd
net y2-output => hm2_5i25.0.stepgen.03.velocity-cmd
net y2-pos-fb => joint.2.motor-pos-fb
net y2-enable <= joint.2.amp-enable-out
net y2-enable => hm2_5i25.0.stepgen.03.enable
# ---Encoder feedback signals/setup---
setp hm2_5i25.0.encoder.00.counter-mode 0
setp hm2_5i25.0.encoder.00.filter 1
setp hm2_5i25.0.encoder.00.index-invert 0
setp hm2_5i25.0.encoder.00.index-mask 0
setp hm2_5i25.0.encoder.00.index-mask-invert 0
setp hm2_5i25.0.encoder.00.scale [JOINT_2]ENCODER_SCALE
net y2-pos-fb <= hm2_5i25.0.encoder.00.position
net y2-vel-fb <= hm2_5i25.0.encoder.00.velocity
net y2-index-enable joint.2.index-enable <=> hm2_5i25.0.encoder.00.index-enable
net y2-pos-rawcounts <= hm2_5i25.0.encoder.00.rawcounts
# ---setup home / limit switch signals---
net home-y => joint.2.home-sw-in
net y1-neg-limit => joint.2.neg-lim-sw-in
net y1-pos-limit => joint.2.pos-lim-sw-in
#*******************
# AXIS Z
#*******************
# Step Gen signals/setup
setp hm2_5i25.0.stepgen.01.dirsetup [JOINT_3]DIRSETUP
setp hm2_5i25.0.stepgen.01.dirhold [JOINT_3]DIRHOLD
setp hm2_5i25.0.stepgen.01.steplen [JOINT_3]STEPLEN
setp hm2_5i25.0.stepgen.01.stepspace [JOINT_3]STEPSPACE
setp hm2_5i25.0.stepgen.01.position-scale [JOINT_3]STEP_SCALE
setp hm2_5i25.0.stepgen.01.step_type 0
setp hm2_5i25.0.stepgen.01.control-type 0
setp hm2_5i25.0.stepgen.01.maxaccel [JOINT_3]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.01.maxvel [JOINT_3]STEPGEN_MAXVEL
# ---stepper signals---
net z-pos-cmd-in joint.3.motor-pos-cmd => axisswap.0.inz
net z-pos-cmd-out axisswap.0.outz => hm2_5i25.0.stepgen.01.position-cmd
net z-pos-fb-in hm2_5i25.0.stepgen.01.position-fb => axisswap.0.inzfb
net z-pos-fb-out axisswap.0.outzfb => joint.3.motor-pos-fb
net z-enable <= joint.3.amp-enable-out
net z-enable => hm2_5i25.0.stepgen.01.enable
# ---setup home / limit switch signals---
net z-home-sw => joint.3.home-sw-in
net z-neg-limit => joint.3.neg-lim-sw-in
net z-pos-limit => joint.3.pos-lim-sw-in
#*******************
# AXIS W
#*******************
# Step Gen signals/setup
setp hm2_5i25.0.stepgen.04.dirsetup [JOINT_4]DIRSETUP
setp hm2_5i25.0.stepgen.04.dirhold [JOINT_4]DIRHOLD
setp hm2_5i25.0.stepgen.04.steplen [JOINT_4]STEPLEN
setp hm2_5i25.0.stepgen.04.stepspace [JOINT_4]STEPSPACE
setp hm2_5i25.0.stepgen.04.position-scale [JOINT_4]STEP_SCALE
setp hm2_5i25.0.stepgen.04.step_type 0
setp hm2_5i25.0.stepgen.04.control-type 0
setp hm2_5i25.0.stepgen.04.maxaccel [JOINT_4]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.04.maxvel [JOINT_4]STEPGEN_MAXVEL
# ---stepper signals---
net w-pos-cmd-in joint.4.motor-pos-cmd => axisswap.0.inw
net w-pos-cmd-out axisswap.0.outw => hm2_5i25.0.stepgen.04.position-cmd
net w-pos-fb-in hm2_5i25.0.stepgen.04.position-fb => axisswap.0.inwfb
net w-pos-fb-out axisswap.0.outwfb => joint.4.motor-pos-fb
net w-enable <= joint.4.amp-enable-out
net w-enable => hm2_5i25.0.stepgen.04.enable
# ---setup home / limit switch signals---
net w-home-sw => joint.4.home-sw-in
net w-neg-limit => joint.4.neg-lim-sw-in
net w-pos-limit => joint.4.pos-lim-sw-in
#*******************
# SPINDLE S
#*******************
# ---digital potentionmeter output signals/setup---
setp hm2_5i25.0.7i76.0.3.spinout-minlim [SPINDLE_9]OUTPUT_MIN_LIMIT
setp hm2_5i25.0.7i76.0.3.spinout-maxlim [SPINDLE_9]OUTPUT_MAX_LIMIT
setp hm2_5i25.0.7i76.0.3.spinout-scalemax [SPINDLE_9]OUTPUT_SCALE
net spindle-vel-cmd-rpm => hm2_5i25.0.7i76.0.3.spinout
net machine-is-enabled => hm2_5i25.0.7i76.0.3.spinena
net spindle-ccw => hm2_5i25.0.7i76.0.3.spindir
# ---setup spindle control signals---
net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps
net spindle-vel-cmd-rps-abs <= motion.spindle-speed-out-rps-abs
net spindle-vel-cmd-rpm <= motion.spindle-speed-out
net spindle-vel-cmd-rpm-abs <= motion.spindle-speed-out-abs
net spindle-enable <= motion.spindle-on
net spindle-cw <= motion.spindle-forward
net spindle-ccw <= motion.spindle-reverse
net spindle-brake <= motion.spindle-brake
net spindle-revs => motion.spindle-revs
net spindle-at-speed => motion.spindle-at-speed
net spindle-vel-fb-rps => motion.spindle-speed-in
net spindle-index-enable <=> motion.spindle-index-enable
#******************************
# connect miscellaneous signals
#******************************
# ---HALUI signals---
net joint-select-a halui.joint.0.select
net x-is-homed halui.joint.0.is-homed
#net jog-x-pos halui.jog.0.plus
#net jog-x-neg halui.jog.0.minus
#net jog-x-analog halui.jog.0.analog
net joint-select-b halui.joint.1.select
net y-is-homed halui.joint.1.is-homed
#net jog-y-pos halui.jog.1.plus
#net jog-y-neg halui.jog.1.minus
#net jog-y-analog halui.jog.1.analog
net joint-select-c halui.joint.4.select
net z-is-homed halui.joint.4.is-homed
#net jog-z-pos halui.jog.2.plus
#net jog-z-neg halui.jog.2.minus
#net jog-z-analog halui.jog.2.analog
#net jog-selected-pos halui.jog.selected.plus
#net jog-selected-neg halui.jog.selected.minus
net spindle-manual-cw halui.spindle.forward
net spindle-manual-ccw halui.spindle.reverse
net spindle-manual-stop halui.spindle.stop
net machine-is-on halui.machine.is-on
#net jog-speed halui.jog-speed
net MDI-mode halui.mode.is-mdi
# ---coolant signals---
net coolant-mist <= iocontrol.0.coolant-mist
net coolant-flood <= iocontrol.0.coolant-flood
# ---probe signal---
net probe-in => motion.probe-input
# ---motion control signals---
net in-position <= motion.in-position
net machine-is-enabled <= motion.motion-enabled
# ---digital in / out signals---
# ---estop signals---
net estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in
# ---signals for spindle control---
net tool-number iocontrol.0.tool-number => classicladder.0.s32in-00
net tool-change iocontrol.0.tool-change => classicladder.0.in-05
net tool-changed classicladder.0.out-04 => iocontrol.0.tool-changed
net tool-prepare iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
net spindle-cw => classicladder.0.in-00
net cwconfirmed classicladder.0.out-00 => hm2_5i25.0.7i76.0.3.output-00
net spindle-ccw => classicladder.0.in-01
net ccwconfirmed classicladder.0.out-01 => hm2_5i25.0.7i76.0.3.output-01
net during-run hm2_5i25.0.7i76.0.3.input-14 => classicladder.0.in-02
net c1-in hm2_5i25.0.7i76.0.3.input-04 => classicladder.0.in-03
net c2-in hm2_5i25.0.7i76.0.3.input-05 => classicladder.0.in-04
net c1-out classicladder.0.out-02 => hm2_5i25.0.7i76.0.3.output-14
net c2-out classicladder.0.out-03 => hm2_5i25.0.7i76.0.3.output-15
net swapper classicladder.0.out-05 => axisswap.0.sel
net y2-vel-cmd => classicladder.0.floatin-00
# Load Classicladder without GUI (can reload LADDER GUI in AXIS GUI
loadusr classicladder --nogui custom.clp
Please Log in or Create an account to join the conversation.
- tommylight
-
- Away
- Moderator
-
Less
More
- Posts: 20015
- Thank you received: 6801
12 Dec 2016 22:44 #84002
by tommylight
Replied by tommylight on topic New Trajectory Planner - Testers/programs wanted
That is the result of high feed speed and high acceleration. Use G64 P0.1 if you want 0.1mm tolerance
Please Log in or Create an account to join the conversation.
- guymalpass
- Offline
- Senior Member
-
Less
More
- Posts: 75
- Thank you received: 1
12 Dec 2016 22:46 #84003
by guymalpass
Replied by guymalpass on topic New Trajectory Planner - Testers/programs wanted
I do use a G64 term with P and Q tolerances. This error has only started happening since I moved to master from the JA9 branch
Please Log in or Create an account to join the conversation.
- Quadro
- Offline
- New Member
-
Less
More
- Posts: 9
- Thank you received: 0
13 Dec 2016 00:10 #84007
by Quadro
Replied by Quadro on topic New Trajectory Planner - Testers/programs wanted
I had a similar experience see picture it is as if the 'machine gets lost.
When it happen the first time we checked all the mechanical for binding in drive and checked steppers and power supplies etc. I then verified the gcode for an error all looked good, which now thinking about it white line appeared to be correct, the pink play back had veered off. i then homed all and proceeded to finish cut the same shape with 'run from here' to replicate the problem, it cut it without a problem. so we finished the rest of the sheet and i blamed it as operator error. Not happy with the defect we loaded another sheet and proceed to cut with same file and in the exact same spot it veered from the cut path. Then rechecked a what had before, reset the machine and cut out the rest of the sheet - no problems. So instead of wasting another sheet i found a piece of scrap and 4 shapes before the problem i ran the gcode to replicate issue didn't miss a beat. I then did a 'dry run' from the start of the gcode went through without an issue. I had another file to cut which is an exact mirror image so we ran that through - no issues. I still needed a flawless first sheet so i drove the machine with my finger hovering on the stop button and in the exact same spot it started to veer from the cut path but also what happens is it dramatically slows down. I was quick enough the stop it and recut the hole with 'run from here' and finish the job.
When it happen the first time we checked all the mechanical for binding in drive and checked steppers and power supplies etc. I then verified the gcode for an error all looked good, which now thinking about it white line appeared to be correct, the pink play back had veered off. i then homed all and proceeded to finish cut the same shape with 'run from here' to replicate the problem, it cut it without a problem. so we finished the rest of the sheet and i blamed it as operator error. Not happy with the defect we loaded another sheet and proceed to cut with same file and in the exact same spot it veered from the cut path. Then rechecked a what had before, reset the machine and cut out the rest of the sheet - no problems. So instead of wasting another sheet i found a piece of scrap and 4 shapes before the problem i ran the gcode to replicate issue didn't miss a beat. I then did a 'dry run' from the start of the gcode went through without an issue. I had another file to cut which is an exact mirror image so we ran that through - no issues. I still needed a flawless first sheet so i drove the machine with my finger hovering on the stop button and in the exact same spot it started to veer from the cut path but also what happens is it dramatically slows down. I was quick enough the stop it and recut the hole with 'run from here' and finish the job.
Please Log in or Create an account to join the conversation.
- skunkworks
- Offline
- Moderator
-
Less
More
- Posts: 363
- Thank you received: 154
13 Dec 2016 01:10 #84008
by skunkworks
Replied by skunkworks on topic New Trajectory Planner - Testers/programs wanted
Could you post a gcode program that exhibits the behavior?
Please Log in or Create an account to join the conversation.
- guymalpass
- Offline
- Senior Member
-
Less
More
- Posts: 75
- Thank you received: 1
13 Dec 2016 21:04 #84057
by guymalpass
Replied by guymalpass on topic New Trajectory Planner - Testers/programs wanted
Please find the gcode at this link: drive.google.com/a/gicam.ltd.uk/file/d/0...Tg/view?usp=drivesdk
Please Log in or Create an account to join the conversation.
- guymalpass
- Offline
- Senior Member
-
Less
More
- Posts: 75
- Thank you received: 1
13 Dec 2016 21:49 #84059
by guymalpass
Replied by guymalpass on topic New Trajectory Planner - Testers/programs wanted
Please Log in or Create an account to join the conversation.
- guymalpass
- Offline
- Senior Member
-
Less
More
- Posts: 75
- Thank you received: 1
13 Dec 2016 21:53 #84060
by guymalpass
Replied by guymalpass on topic New Trajectory Planner - Testers/programs wanted
The error occurs between N0330 and N0340 in the ngc file
Please Log in or Create an account to join the conversation.
Time to create page: 0.186 seconds