Cannot get M6 ngc remap working
- bevins
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 1937
- Thank you received: 335
06 Aug 2020 12:18 - 06 Aug 2020 12:23 #177501
by bevins
Cannot get M6 ngc remap working was created by bevins
I am still trying to get M6 remap to work on this machine. I have it close but it doesnt want to move at all. It runs through the preview no problem, but when I run the program with M6 in it, it doesn't move. If I run a program without a tool change like the linuxcnc file default, it will run.
Pretty much the rack_toolchange from the sim.
HAL file
INI file
rack_toolchange,ngc
tool_getput_move.ngc
Too_holder_clear_move.ngc
Pretty much the rack_toolchange from the sim.
HAL file
Warning: Spoiler!
# Generated by PNCconf at Wed Aug 5 16:11:36 2020
# Using LinuxCNC version: UNAVAILABLE
# 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_eth board_ip="192.168.1.121" config=" num_encoders=1 num_pwmgens=0 num_stepgens=3 sserial_port_0=0000xx"
setp hm2_7i92.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.z,pid.s
addf hm2_7i92.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.y.do-pid-calcs servo-thread
addf pid.z.do-pid-calcs servo-thread
addf pid.s.do-pid-calcs servo-thread
addf hm2_7i92.0.write servo-thread
setp hm2_7i92.0.dpll.01.timer-us -50
setp hm2_7i92.0.stepgen.timer-number 1
# external output signals
# external input signals
#*******************
# AXIS X JOINT 0
#*******************
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
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp pid.x.maxerror 0.000500
net x-index-enable <=> pid.x.index-enable
net x-enable => pid.x.enable
net x-pos-cmd => pid.x.command
net x-pos-fb => pid.x.feedback
net x-output <= pid.x.output
# Step Gen signals/setup
setp hm2_7i92.0.stepgen.00.dirsetup [JOINT_0]DIRSETUP
setp hm2_7i92.0.stepgen.00.dirhold [JOINT_0]DIRHOLD
setp hm2_7i92.0.stepgen.00.steplen [JOINT_0]STEPLEN
setp hm2_7i92.0.stepgen.00.stepspace [JOINT_0]STEPSPACE
setp hm2_7i92.0.stepgen.00.position-scale [JOINT_0]STEP_SCALE
setp hm2_7i92.0.stepgen.00.step_type 0
setp hm2_7i92.0.stepgen.00.control-type 1
setp hm2_7i92.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
setp hm2_7i92.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_7i92.0.stepgen.00.velocity-cmd
net x-pos-fb <= hm2_7i92.0.stepgen.00.position-fb
net x-pos-fb => joint.0.motor-pos-fb
net x-enable <= joint.0.amp-enable-out
net x-enable => hm2_7i92.0.stepgen.00.enable
# ---setup home / limit switch signals---
net x-home-sw => 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 JOINT 1
#*******************
setp pid.y.Pgain [JOINT_1]P
setp pid.y.Igain [JOINT_1]I
setp pid.y.Dgain [JOINT_1]D
setp pid.y.bias [JOINT_1]BIAS
setp pid.y.FF0 [JOINT_1]FF0
setp pid.y.FF1 [JOINT_1]FF1
setp pid.y.FF2 [JOINT_1]FF2
setp pid.y.deadband [JOINT_1]DEADBAND
setp pid.y.maxoutput [JOINT_1]MAX_OUTPUT
setp pid.y.error-previous-target true
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp pid.y.maxerror 0.000500
net y-index-enable <=> pid.y.index-enable
net y-enable => pid.y.enable
net y-pos-cmd => pid.y.command
net y-pos-fb => pid.y.feedback
net y-output <= pid.y.output
# Step Gen signals/setup
setp hm2_7i92.0.stepgen.01.dirsetup [JOINT_1]DIRSETUP
setp hm2_7i92.0.stepgen.01.dirhold [JOINT_1]DIRHOLD
setp hm2_7i92.0.stepgen.01.steplen [JOINT_1]STEPLEN
setp hm2_7i92.0.stepgen.01.stepspace [JOINT_1]STEPSPACE
setp hm2_7i92.0.stepgen.01.position-scale [JOINT_1]STEP_SCALE
setp hm2_7i92.0.stepgen.01.step_type 0
setp hm2_7i92.0.stepgen.01.control-type 1
setp hm2_7i92.0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAXACCEL
setp hm2_7i92.0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net y-pos-cmd <= joint.1.motor-pos-cmd
net y-vel-cmd <= joint.1.vel-cmd
net y-output <= hm2_7i92.0.stepgen.01.velocity-cmd
net y-pos-fb <= hm2_7i92.0.stepgen.01.position-fb
net y-pos-fb => joint.1.motor-pos-fb
net y-enable <= joint.1.amp-enable-out
net y-enable => hm2_7i92.0.stepgen.01.enable
# ---setup home / limit switch signals---
net y-home-sw => joint.1.home-sw-in
net y-neg-limit => joint.1.neg-lim-sw-in
net y-pos-limit => joint.1.pos-lim-sw-in
#*******************
# AXIS Z JOINT 2
#*******************
setp pid.z.Pgain [JOINT_2]P
setp pid.z.Igain [JOINT_2]I
setp pid.z.Dgain [JOINT_2]D
setp pid.z.bias [JOINT_2]BIAS
setp pid.z.FF0 [JOINT_2]FF0
setp pid.z.FF1 [JOINT_2]FF1
setp pid.z.FF2 [JOINT_2]FF2
setp pid.z.deadband [JOINT_2]DEADBAND
setp pid.z.maxoutput [JOINT_2]MAX_OUTPUT
setp pid.z.error-previous-target true
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp pid.z.maxerror 0.000500
net z-index-enable <=> pid.z.index-enable
net z-enable => pid.z.enable
net z-pos-cmd => pid.z.command
net z-pos-fb => pid.z.feedback
net z-output <= pid.z.output
# Step Gen signals/setup
setp hm2_7i92.0.stepgen.02.dirsetup [JOINT_2]DIRSETUP
setp hm2_7i92.0.stepgen.02.dirhold [JOINT_2]DIRHOLD
setp hm2_7i92.0.stepgen.02.steplen [JOINT_2]STEPLEN
setp hm2_7i92.0.stepgen.02.stepspace [JOINT_2]STEPSPACE
setp hm2_7i92.0.stepgen.02.position-scale [JOINT_2]STEP_SCALE
setp hm2_7i92.0.stepgen.02.step_type 0
setp hm2_7i92.0.stepgen.02.control-type 1
setp hm2_7i92.0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAXACCEL
setp hm2_7i92.0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net z-pos-cmd <= joint.2.motor-pos-cmd
net z-vel-cmd <= joint.2.vel-cmd
net z-output <= hm2_7i92.0.stepgen.02.velocity-cmd
net z-pos-fb <= hm2_7i92.0.stepgen.02.position-fb
net z-pos-fb => joint.2.motor-pos-fb
net z-enable <= joint.2.amp-enable-out
net z-enable => hm2_7i92.0.stepgen.02.enable
# ---setup home / limit switch signals---
net z-home-sw => joint.2.home-sw-in
net z-neg-limit => joint.2.neg-lim-sw-in
net z-pos-limit => joint.2.pos-lim-sw-in
#*******************
# SPINDLE
#*******************
setp pid.s.Pgain [SPINDLE_0]P
setp pid.s.Igain [SPINDLE_0]I
setp pid.s.Dgain [SPINDLE_0]D
setp pid.s.bias [SPINDLE_0]BIAS
setp pid.s.FF0 [SPINDLE_0]FF0
setp pid.s.FF1 [SPINDLE_0]FF1
setp pid.s.FF2 [SPINDLE_0]FF2
setp pid.s.deadband [SPINDLE_0]DEADBAND
setp pid.s.maxoutput [SPINDLE_0]MAX_OUTPUT
setp pid.s.error-previous-target true
net spindle-index-enable <=> pid.s.index-enable
net spindle-enable => pid.s.enable
net spindle-vel-cmd-rpm => pid.s.command
net spindle-vel-fb-rpm => pid.s.feedback
net spindle-output <= pid.s.output
# ---setup spindle control signals---
net spindle-vel-cmd-rps <= spindle.0.speed-out-rps
net spindle-vel-cmd-rps-abs <= spindle.0.speed-out-rps-abs
net spindle-vel-cmd-rpm <= spindle.0.speed-out
net spindle-vel-cmd-rpm-abs <= spindle.0.speed-out-abs
net spindle-enable <= spindle.0.on
net spindle-cw <= spindle.0.forward
net spindle-ccw <= spindle.0.reverse
net spindle-brake <= spindle.0.brake
net spindle-revs => spindle.0.revs
net spindle-at-speed => spindle.0.at-speed
net spindle-vel-fb-rps => spindle.0.speed-in
net spindle-index-enable <=> spindle.0.index-enable
# ---Setup spindle at speed signals---
sets spindle-at-speed true
#******************************
# connect miscellaneous signals
#******************************
# ---HALUI signals---
net axis-select-x halui.axis.x.select
net jog-x-pos halui.axis.x.plus
net jog-x-neg halui.axis.x.minus
net jog-x-analog halui.axis.x.analog
net x-is-homed halui.joint.0.is-homed
net axis-select-y halui.axis.y.select
net jog-y-pos halui.axis.y.plus
net jog-y-neg halui.axis.y.minus
net jog-y-analog halui.axis.y.analog
net y-is-homed halui.joint.1.is-homed
net axis-select-z halui.axis.z.select
net jog-z-pos halui.axis.z.plus
net jog-z-neg halui.axis.z.minus
net jog-z-analog halui.axis.z.analog
net z-is-homed halui.joint.2.is-homed
net jog-selected-pos halui.axis.selected.plus
net jog-selected-neg halui.axis.selected.minus
net spindle-manual-cw halui.spindle.0.forward
net spindle-manual-ccw halui.spindle.0.reverse
net spindle-manual-stop halui.spindle.0.stop
net machine-is-on halui.machine.is-on
net jog-speed halui.axis.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
# ---manual tool change signals---
unlinkp iocontrol.0.tool-change
unlinkp iocontrol.0.tool-changed
net tool-change iocontrol.0.tool-change iocontrol.0.tool-changed
#loadusr -W hal_manualtoolchange
#net tool-change-request iocontrol.0.tool-change => hal_manualtoolchange.change
#net tool-change-confirmed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
#net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
#net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
INI file
Warning: Spoiler!
# Generated by PNCconf at Wed Aug 5 16:11:36 2020
# Using LinuxCNC version: UNAVAILABLE
# If you make changes to this file, they will be
# overwritten when you run PNCconf again
[EMC]
MACHINE = cnct
DEBUG = 0
VERSION = 1.1
[DISPLAY]
DISPLAY = axis
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.000000
MAX_SPINDLE_OVERRIDE = 1.000000
MIN_SPINDLE_OVERRIDE = 0.500000
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/bob/linuxcnc/nc_files
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 3.250000
MAX_LINEAR_VELOCITY =5.000000
MIN_LINEAR_VELOCITY = 0.016670
DEFAULT_ANGULAR_VELOCITY = 12.000000
MAX_ANGULAR_VELOCITY = 180.000000
MIN_ANGULAR_VELOCITY = 1.666667
EDITOR = geany
GEOMETRY = xyz
[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
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[RS274NGC]
PARAMETER_FILE = linuxcnc.var
#SUBROUTINE_PATH = nc_subroutines:../../nc_files/remap_lib/common_nc_subs
SUBROUTINE_PATH = nc_subroutines
LOG_LEVEL = 9
FEATURES= 30
ON_ABORT_COMMAND= O <on_abort> call
REMAP= M6 modalgroup=6 prolog=change_prolog ngc=rack_change epilog=change_epilog
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
SERVO_PERIOD = 1000000
[HMOT]
# **** This is for info only ****
CARD0=hm2_7i92.0
[HAL]
HALUI = halui
HALFILE = cnct.hal
HALFILE = custom.hal
POSTGUI_HALFILE = postgui_call_list.hal
SHUTDOWN = shutdown.hal
[HALUI]
[KINS]
JOINTS = 3
KINEMATICS = trivkins coordinates=XYZ
[TRAJ]
COORDINATES = XYZ
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 0.10
MAX_LINEAR_VELOCITY = 1.00
NO_FORCE_HOMING = 1
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
#******************************************
[AXIS_X]
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
MIN_LIMIT = -0.001
MAX_LIMIT = 48.0
[JOINT_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.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 = 1.25
STEPGEN_MAXACCEL = 37.50
P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP = 10000
DIRHOLD = 10000
STEPLEN = 5000
STEPSPACE = 5000
STEP_SCALE = 200.0
MIN_LIMIT = -0.001
MAX_LIMIT = 48.0
HOME_OFFSET = 0.0
#******************************************
#******************************************
[AXIS_Y]
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
MIN_LIMIT = -0.001
MAX_LIMIT = 96.0
[JOINT_1]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.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 = 1.25
STEPGEN_MAXACCEL = 37.50
P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP = 10000
DIRHOLD = 10000
STEPLEN = 5000
STEPSPACE = 5000
STEP_SCALE = 200.0
MIN_LIMIT = -0.001
MAX_LIMIT = 96.0
HOME_OFFSET = 0.0
#******************************************
#******************************************
[AXIS_Z]
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
MIN_LIMIT = -8.0
MAX_LIMIT = 11.001
[JOINT_2]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.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 = 1.25
STEPGEN_MAXACCEL = 37.50
P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP = 10000
DIRHOLD = 10000
STEPLEN = 5000
STEPSPACE = 5000
STEP_SCALE = 200.0
MIN_LIMIT = -8.0
MAX_LIMIT = 11.001
HOME_OFFSET = 0.0
#******************************************
[SPINDLE_0]
P = 0.0
I = 0.0
D = 0.0
FF0 = 1.0
FF1 = 0.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 2000.0
[PYTHON]
# where to find Python code
# code specific for this configuration
PATH_PREPEND= ./python
# generic support code
#PATH_APPEND= ../../nc_files/remap_lib/python-stdglue
PATH_APPEND= ./python
# import the following Python module
TOPLEVEL= python/toplevel.py
# the higher the more verbose tracing of the Python plugin
LOG_LEVEL = 0
# Part program interpreter section --------------------------------------------
[TOOL_HOLDER_CLEAR]
X = 10
Y = 30
Z = 10
[TOOL_SLOT_DELTA]
X = 0
Y = 10
Z = 0
# this is not named TOOL_CHANGE_POSITION on purpose - canon uses it and will
# interfere
[CHANGE_POSITION]
X = 10
Y = 10
Z = 10
[DWELL]
LOCK_TIME = 0.5
MYSTERY = 0
NEW_TOOL = 1.0
POST_UNLOCK = 0.5
# motion.digital-out-NN pins
[PINS]
LOCK = 0
FLUSH = 1
rack_toolchange,ngc
Warning: Spoiler!
o<rack_change> sub
M73 (auto-restore modal settings on return)
;(print, rack_change: loaded tool=#<_current_tool> current pocket: #<_current_pocket>)
(print, rack_change: selected tool=#<_selected_tool> selected pocket: #<_selected_pocket>)
; unload previous tool
o300 if [#<_current_pocket> GT 0]
o<tool_getput_move> call [#<_current_pocket>]
M62 P #<_ini[pins]lock> ; set lock pin
G4 P #<_ini[dwell]lock_time>
o<tool_holder_clear_move> call
G4 P #<_ini[dwell]mystery> ; unsure what this is for
o300 endif
; go to new tool
o<tool_getput_move> call [#<_selected_pocket>]
M64 P #<_ini[pins]lock> ; set lock pin
M64 P #<_ini[pins]flush> ; set flush pin
G4 P #<_ini[dwell]new_tool>
M65 P #<_ini[pins]flush> ; drop flush pin
; the purpose of this move is unclear to me
; micges - please explain!
o400 if [#<_absolute>]
G91
G0 Z-6
G90
o400 else
G0 Z-6
o400 endif
M65 P #<_ini[pins]lock> ; drop lock pin
G4 P #<_ini[dwell]post_unlock>
; NB: this is reordered wrt micges patch:
; tool_holder_clear_move came after load_tool_msg
o<tool_holder_clear_move> call
; succeed by returning a positive value
o<rack_change> endsub [1]
m2
tool_getput_move.ngc
Warning: Spoiler!
; parameter: last_slot
(print, rack_change: selected tool=#<_selected_tool> selected pocket: #<_selected_pocket>)
o<tool_getput_move> sub
o100 if [EXISTS[#<_ini[change_position]x>]]
g53 g0 X #<_ini[change_position]x>
g53 g0 Y [#<_ini[change_position]y> + #1 * #<_ini[tool_slot_delta]y>]
g53 g0 Z #<_ini[change_position]z>
o100 endif
o<tool_getput_move> endsub
m2
Too_holder_clear_move.ngc
Warning: Spoiler!
; no parameters
o<tool_holder_clear_move> sub
o200 if [EXISTS[#<_ini[tool_holder_clear]x>]]
g53 g0 Z #<_ini[tool_holder_clear]z>
g53 g0 X #<_ini[tool_holder_clear]x>
g53 g0 Y #<_ini[tool_holder_clear]y>
o200 endif
o<tool_holder_clear_move> endsub
m2
Last edit: 06 Aug 2020 12:23 by bevins.
Please Log in or Create an account to join the conversation.
- tommylight
- Online
- Moderator
Less
More
- Posts: 19504
- Thank you received: 6540
06 Aug 2020 15:29 - 06 Aug 2020 17:19 #177523
by tommylight
Replied by tommylight on topic Cannot get M6 ngc remap working
Had a run at this and it does work for me:
-Calling the sim_racktoolchange folder just changer folder from now on, and the real machine folder as machine folder
-edit the ini file from the changer folder as follows:
--delete the halfile = something sim.tcl line
--insert the halfile = machine.hal and copy that same file from the machine folder to the changer folder
--open the machine.ini from the machine folder and copy stuff from axis/joint sections over to changer.ini replacing the existing ones, same for kins and traj and display sections if there are differences
-save and start the changer.ini file
Everything works, from gcode or MDI.
Here is a quick video of it running on a plasma cutter:
-Calling the sim_racktoolchange folder just changer folder from now on, and the real machine folder as machine folder
-edit the ini file from the changer folder as follows:
--delete the halfile = something sim.tcl line
--insert the halfile = machine.hal and copy that same file from the machine folder to the changer folder
--open the machine.ini from the machine folder and copy stuff from axis/joint sections over to changer.ini replacing the existing ones, same for kins and traj and display sections if there are differences
-save and start the changer.ini file
Everything works, from gcode or MDI.
Here is a quick video of it running on a plasma cutter:
Last edit: 06 Aug 2020 17:19 by tommylight. Reason: typo
Please Log in or Create an account to join the conversation.
- bevins
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 1937
- Thank you received: 335
06 Aug 2020 16:46 - 06 Aug 2020 16:49 #177531
by bevins
Replied by bevins on topic Cannot get M6 ngc remap working
You mean use the sim folder created by the sim? and change everything in the ini to fit?
It uses sim library. The hal file is racktoolchange.hal and LIB:basic_sim.tcl
I dont think I follow you.
It uses sim library. The hal file is racktoolchange.hal and LIB:basic_sim.tcl
I dont think I follow you.
Last edit: 06 Aug 2020 16:49 by bevins.
Please Log in or Create an account to join the conversation.
- tommylight
- Online
- Moderator
Less
More
- Posts: 19504
- Thank you received: 6540
06 Aug 2020 17:19 #177532
by tommylight
Replied by tommylight on topic Cannot get M6 ngc remap working
Yes and yes and sorry, that sim tcl not hal.
I will edit the post.
I will edit the post.
Please Log in or Create an account to join the conversation.
- bevins
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 1937
- Thank you received: 335
06 Aug 2020 17:54 #177534
by bevins
Weird, its doing the same thing. Wont move. and no errors on the console.
Replied by bevins on topic Cannot get M6 ngc remap working
Yes and yes and sorry, that sim tcl not hal.
I will edit the post.
Weird, its doing the same thing. Wont move. and no errors on the console.
Please Log in or Create an account to join the conversation.
- tommylight
- Online
- Moderator
Less
More
- Posts: 19504
- Thank you received: 6540
06 Aug 2020 18:25 #177537
by tommylight
Replied by tommylight on topic Cannot get M6 ngc remap working
I get nothing related to tools in the console, while you are getting tool 0 and pocket -1, i do not think that is right.
Please Log in or Create an account to join the conversation.
- bevins
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 1937
- Thank you received: 335
06 Aug 2020 18:27 #177538
by bevins
Replied by bevins on topic Cannot get M6 ngc remap working
Tommy: What version Linuxcnc are you running?
Please Log in or Create an account to join the conversation.
- tommylight
- Online
- Moderator
Less
More
- Posts: 19504
- Thank you received: 6540
06 Aug 2020 18:29 #177539
by tommylight
Replied by tommylight on topic Cannot get M6 ngc remap working
Latest build of master on Mint 19.3.
Check the tool table, see if there are negative or 0 values there and remove them.
Check the tool table, see if there are negative or 0 values there and remove them.
Please Log in or Create an account to join the conversation.
- bevins
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 1937
- Thank you received: 335
06 Aug 2020 18:41 - 06 Aug 2020 18:46 #177542
by bevins
There was a 0 tool in pocket 0. I removed them.
same thing.
Replied by bevins on topic Cannot get M6 ngc remap working
Latest build of master on Mint 19.3.
Check the tool table, see if there are negative or 0 values there and remove them.
There was a 0 tool in pocket 0. I removed them.
same thing.
Last edit: 06 Aug 2020 18:46 by bevins.
Please Log in or Create an account to join the conversation.
- tommylight
- Online
- Moderator
Less
More
- Posts: 19504
- Thank you received: 6540
06 Aug 2020 19:20 #177543
by tommylight
Replied by tommylight on topic Cannot get M6 ngc remap working
This is the complete log of console for a full run including homing a dual Y gantry, changing tools from gcode and from a quick gcode test with nothing but toll changes and a 2 second pause between changes:
Warning: Spoiler!
cnc@shop:~/linuxcnc/configs/sim.axis.remap.rack-toolchange$ linuxcnc racktoolchange.ini
LINUXCNC - 2.9.0-pre0-2482-g23060c9ea
Machine configuration directory is '/home/cnc/linuxcnc/configs/sim.axis.remap.rack-toolchange'
Machine configuration file is 'racktoolchange.ini'
Starting LinuxCNC...
Found file(REL): ./T1525.hal
Note: Using POSIX realtime
trivkins: coordinates:XYYZ
Joint 0 ==> Axis X
Joint 1 ==> Axis Y
Joint 2 ==> Axis Y
Joint 3 ==> Axis Z
config string '0 out'
Found file(REL): ./racktoolchange.hal
note: MAXV max: 300.000 units/sec 18000.000 units/min
note: LJOG max: 300.000 units/sec 18000.000 units/min
note: LJOG default: 30.000 units/sec 1800.000 units/min
Warning: Forward kinematics must handle duplicate coordinate letters:yy
note: jog_order='XYZ'
note: jog_invert=set([])
task: main loop took 0.037440 seconds
task: main loop took 0.011134 seconds
90177539
task: main loop took 0.012946 seconds
on_abort executing
task: main loop took 0.103672 seconds
task: main loop took 0.028644 seconds
task: main loop took 0.013755 seconds
task: main loop took 0.014211 seconds
on_abort executing
on_abort executing
task: main loop took 0.172909 seconds
task: main loop took 0.033786 seconds
task: main loop took 0.010267 seconds
on_abort executing
on_abort executing
on_abort executing
Shutting down and cleaning up LinuxCNC...
task: 605003 cycles, min=0.000049, max=0.186179, avg=0.001097, 114 latency excursions (> 10x expected cycle time of 0.001000s)
Note: Using POSIX realtime
LINUXCNC - 2.9.0-pre0-2482-g23060c9ea
Machine configuration directory is '/home/cnc/linuxcnc/configs/sim.axis.remap.rack-toolchange'
Machine configuration file is 'racktoolchange.ini'
Starting LinuxCNC...
Found file(REL): ./T1525.hal
Note: Using POSIX realtime
trivkins: coordinates:XYYZ
Joint 0 ==> Axis X
Joint 1 ==> Axis Y
Joint 2 ==> Axis Y
Joint 3 ==> Axis Z
config string '0 out'
Found file(REL): ./racktoolchange.hal
note: MAXV max: 300.000 units/sec 18000.000 units/min
note: LJOG max: 300.000 units/sec 18000.000 units/min
note: LJOG default: 30.000 units/sec 1800.000 units/min
Warning: Forward kinematics must handle duplicate coordinate letters:yy
note: jog_order='XYZ'
note: jog_invert=set([])
task: main loop took 0.037440 seconds
task: main loop took 0.011134 seconds
90177539
task: main loop took 0.012946 seconds
on_abort executing
task: main loop took 0.103672 seconds
task: main loop took 0.028644 seconds
task: main loop took 0.013755 seconds
task: main loop took 0.014211 seconds
on_abort executing
on_abort executing
task: main loop took 0.172909 seconds
task: main loop took 0.033786 seconds
task: main loop took 0.010267 seconds
on_abort executing
on_abort executing
on_abort executing
Shutting down and cleaning up LinuxCNC...
task: 605003 cycles, min=0.000049, max=0.186179, avg=0.001097, 114 latency excursions (> 10x expected cycle time of 0.001000s)
Note: Using POSIX realtime
Please Log in or Create an account to join the conversation.
Time to create page: 0.071 seconds