7i80-DB + 7I76 - Example to edit or method to create config
- mjoconr
- Offline
- Senior Member
Less
More
- Posts: 44
- Thank you received: 0
08 Jul 2019 04:36 #138838
by mjoconr
7i80-DB + 7I76 - Example to edit or method to create config was created by mjoconr
Hi All
I'm looking to create a config for a MESA combination of 7i80-DB + 7I76 with XYZ stepper, touch probe, tool probe, X+Y+Z limits on both directions, 0-10 volt spindle and a spindle encoder.
The encoder might be a single pulse per rev or a proper quadrature 4000 pulse.
I'm looking for help to create this config, I just can not seem to work out how to start the process.
Thanks
Mike
I'm looking to create a config for a MESA combination of 7i80-DB + 7I76 with XYZ stepper, touch probe, tool probe, X+Y+Z limits on both directions, 0-10 volt spindle and a spindle encoder.
The encoder might be a single pulse per rev or a proper quadrature 4000 pulse.
I'm looking for help to create this config, I just can not seem to work out how to start the process.
Thanks
Mike
Please Log in or Create an account to join the conversation.
- pl7i92
- Offline
- Platinum Member
Less
More
- Posts: 1875
- Thank you received: 354
08 Jul 2019 07:48 #138842
by pl7i92
Replied by pl7i92 on topic 7i80-DB + 7I76 - Example to edit or method to create config
you shoudt have better gone with the 7i96
or the 7i92 +7i76 combination
there are realy many configs on the forum
or the 7i92 +7i76 combination
there are realy many configs on the forum
Please Log in or Create an account to join the conversation.
- mjoconr
- Offline
- Senior Member
Less
More
- Posts: 44
- Thank you received: 0
08 Jul 2019 09:30 #138849
by mjoconr
Replied by mjoconr on topic 7i80-DB + 7I76 - Example to edit or method to create config
I know that now, but this is what I have. I had planned to use the cards on a different project which was going to need more step and direction ports.
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
Less
More
- Posts: 17997
- Thank you received: 4842
08 Jul 2019 13:33 - 08 Jul 2019 13:34 #138860
by PCW
Replied by PCW on topic 7i80-DB + 7I76 - Example to edit or method to create config
You should be able to use a 7I76E configuration created by pncconf and
just globally change the "7i76e" text in the hal file to "7i80db-16" or "7i80db-25"
just globally change the "7i76e" text in the hal file to "7i80db-16" or "7i80db-25"
Last edit: 08 Jul 2019 13:34 by PCW.
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19529
- Thank you received: 6554
08 Jul 2019 13:33 #138861
by tommylight
Replied by tommylight on topic 7i80-DB + 7I76 - Example to edit or method to create config
Use pncconfig to create a config for 5i25/7i76 or 7i76E with the stepgens and I/O you need, then edit it with a text editor to point to 7i80.
Use the "search and replace" function so it takes about 1 minute to edit.
Use the "search and replace" function so it takes about 1 minute to edit.
Please Log in or Create an account to join the conversation.
- mjoconr
- Offline
- Senior Member
Less
More
- Posts: 44
- Thank you received: 0
10 Jul 2019 00:57 #138983
by mjoconr
Replied by mjoconr on topic 7i80-DB + 7I76 - Example to edit or method to create config
Does this look correct, I'm not near the machine today and wanted to move forward.
It was generated with the pncconfig and 5i25/7i76
I assume I need something to indicate the ip address of the control board ?
HM-135.ini
HM-135.hal
It was generated with the pncconfig and 5i25/7i76
I assume I need something to indicate the ip address of the control board ?
HM-135.ini
[EMC]
MACHINE = my_LinuxCNC_step
DEBUG = 0
[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/cnc/linuxcnc/
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 0.250000
MAX_LINEAR_VELOCITY = 1.000000
MIN_LINEAR_VELOCITY = 0.010000
DEFAULT_ANGULAR_VELOCITY = 0.250000
MAX_ANGULAR_VELOCITY = 1.000000
MIN_ANGULAR_VELOCITY = 0.010000
EDITOR = gedit
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
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
SERVO_PERIOD = 1000000
[HOSTMOT2]
# **** This is for info only ****
# DRIVER0=hm2_pci
# BOARD0=5i25
[HAL]
HALUI = halui
HALFILE = my_LinuxCNC_step.hal
HALFILE = custom.hal
POSTGUI_HALFILE = postgui_call_list.hal
SHUTDOWN = shutdown.hal
[HALUI]
[TRAJ]
AXES = 3
COORDINATES = X Y Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 2.25
MAX_LINEAR_VELOCITY = 22.50
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
#********************
# Axis X
#********************
[AXIS_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 1.0
MIN_FERROR = 0.01
MAX_VELOCITY = 22.5
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 = 28.12
STEPGEN_MAXACCEL = 937.50
P = 50.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 28.125
# these are in nanoseconds
DIRSETUP = 200
DIRHOLD = 200
STEPLEN = 1000
STEPSPACE = 2000
STEP_SCALE = 500.0
MIN_LIMIT = -0.01
MAX_LIMIT = 200.0
HOME_OFFSET = 0.0
#********************
# Axis Y
#********************
[AXIS_1]
TYPE = LINEAR
HOME = 0.0
FERROR = 1.0
MIN_FERROR = 0.01
MAX_VELOCITY = 22.5
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 = 28.12
STEPGEN_MAXACCEL = 937.50
P = 50.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 28.125
# these are in nanoseconds
DIRSETUP = 200
DIRHOLD = 200
STEPLEN = 1000
STEPSPACE = 2000
STEP_SCALE = 500.0
MIN_LIMIT = -0.01
MAX_LIMIT = 150.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -1.000000
HOME_LATCH_VEL = -0.500000
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = YES
#********************
# Axis Z
#********************
[AXIS_2]
TYPE = LINEAR
HOME = 0.0
FERROR = 1.0
MIN_FERROR = 0.01
MAX_VELOCITY = 16.6666666667
MAX_ACCELERATION = 100.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 = 20.83
STEPGEN_MAXACCEL = 125.00
P = 50.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 20.8333333333
# these are in nanoseconds
DIRSETUP = 200
DIRHOLD = 200
STEPLEN = 1000
STEPSPACE = 2000
STEP_SCALE = 2000.0
MIN_LIMIT = -270.0
MAX_LIMIT = 0.01
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 1.000000
HOME_LATCH_VEL = 0.500000
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = YES
#********************
# Spindle
#********************
[SPINDLE_9]
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 = 5000.0
ENCODER_SCALE = 1.0
OUTPUT_SCALE = 10000.0
OUTPUT_MIN_LIMIT = 0.0
OUTPUT_MAX_LIMIT = 5000.0
HM-135.hal
loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt hostmot2
loadrt hm2_pci config=" num_encoders=1 num_pwmgens=0 num_stepgens=5 sserial_port_0=00xxxx"
setp hm2_7i80db-16.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.z,pid.s
addf hm2_7i80db-16.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_7i80db-16.0.write servo-thread
# external output signals
# --- ESTOP-OUT ---
net estop-out hm2_7i80db-16.0.7i76.0.0.output-00
# --- COOLANT-MIST ---
net coolant-mist hm2_7i80db-16.0.7i76.0.0.output-01
# --- COOLANT-FLOOD ---
net coolant-flood hm2_7i80db-16.0.7i76.0.0.output-02
# --- MACHINE-IS-ENABLED ---
net machine-is-enabled hm2_7i80db-16.0.7i76.0.0.output-03
# external input signals
# --- BOTH-HOME-Y ---
net both-home-y <= hm2_7i80db-16.0.7i76.0.0.input-04
# --- BOTH-HOME-Z ---
net both-home-z <= hm2_7i80db-16.0.7i76.0.0.input-05
# --- BOTH-HOME-A ---
net both-home-a <= hm2_7i80db-16.0.7i76.0.0.input-06
# --- ESTOP-EXT ---
net estop-ext <= hm2_7i80db-16.0.7i76.0.0.input-08
# --- PROBE-IN ---
net probe-in <= hm2_7i80db-16.0.7i76.0.0.input-09-not
# --- PROBE_IN_UP ---
net Probe_In_Up <= hm2_7i80db-16.0.7i76.0.0.input-10
#*******************
# AXIS X
#*******************
setp pid.x.Pgain [AXIS_0]P
setp pid.x.Igain [AXIS_0]I
setp pid.x.Dgain [AXIS_0]D
setp pid.x.bias [AXIS_0]BIAS
setp pid.x.FF0 [AXIS_0]FF0
setp pid.x.FF1 [AXIS_0]FF1
setp pid.x.FF2 [AXIS_0]FF2
setp pid.x.deadband [AXIS_0]DEADBAND
setp pid.x.maxoutput [AXIS_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_7i80db-16.0.stepgen.00.dirsetup [AXIS_0]DIRSETUP
setp hm2_7i80db-16.0.stepgen.00.dirhold [AXIS_0]DIRHOLD
setp hm2_7i80db-16.0.stepgen.00.steplen [AXIS_0]STEPLEN
setp hm2_7i80db-16.0.stepgen.00.stepspace [AXIS_0]STEPSPACE
setp hm2_7i80db-16.0.stepgen.00.position-scale [AXIS_0]STEP_SCALE
setp hm2_7i80db-16.0.stepgen.00.step_type 0
setp hm2_7i80db-16.0.stepgen.00.control-type 1
setp hm2_7i80db-16.0.stepgen.00.maxaccel [AXIS_0]STEPGEN_MAXACCEL
setp hm2_7i80db-16.0.stepgen.00.maxvel [AXIS_0]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net x-pos-cmd <= axis.0.motor-pos-cmd
net x-vel-cmd <= axis.0.joint-vel-cmd
net x-output <= hm2_7i80db-16.0.stepgen.00.velocity-cmd
net x-pos-fb <= hm2_7i80db-16.0.stepgen.00.position-fb
net x-pos-fb => axis.0.motor-pos-fb
net x-enable <= axis.0.amp-enable-out
net x-enable => hm2_7i80db-16.0.stepgen.00.enable
# ---setup home / limit switch signals---
net x-home-sw => axis.0.home-sw-in
net x-neg-limit => axis.0.neg-lim-sw-in
net x-pos-limit => axis.0.pos-lim-sw-in
#*******************
# AXIS Y
#*******************
setp pid.y.Pgain [AXIS_1]P
setp pid.y.Igain [AXIS_1]I
setp pid.y.Dgain [AXIS_1]D
setp pid.y.bias [AXIS_1]BIAS
setp pid.y.FF0 [AXIS_1]FF0
setp pid.y.FF1 [AXIS_1]FF1
setp pid.y.FF2 [AXIS_1]FF2
setp pid.y.deadband [AXIS_1]DEADBAND
setp pid.y.maxoutput [AXIS_1]MAX_OUTPUT
setp pid.y.error-previous-target true
setp pid.y.maxerror .0005
net y-index-enable <=> pid.y.index-enable
net y-enable => pid.y.enable
net y-pos-cmd => pid.y.command
net y-vel-cmd => pid.y.command-deriv
net y-pos-fb => pid.y.feedback
net y-output => pid.y.output
# Step Gen signals/setup
setp hm2_7i80db-16.0.stepgen.01.dirsetup [AXIS_1]DIRSETUP
setp hm2_7i80db-16.0.stepgen.01.dirhold [AXIS_1]DIRHOLD
setp hm2_7i80db-16.0.stepgen.01.steplen [AXIS_1]STEPLEN
setp hm2_7i80db-16.0.stepgen.01.stepspace [AXIS_1]STEPSPACE
setp hm2_7i80db-16.0.stepgen.01.position-scale [AXIS_1]STEP_SCALE
setp hm2_7i80db-16.0.stepgen.01.step_type 0
setp hm2_7i80db-16.0.stepgen.01.control-type 1
setp hm2_7i80db-16.0.stepgen.01.maxaccel [AXIS_1]STEPGEN_MAXACCEL
setp hm2_7i80db-16.0.stepgen.01.maxvel [AXIS_1]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net y-pos-cmd <= axis.1.motor-pos-cmd
net y-vel-cmd <= axis.1.joint-vel-cmd
net y-output <= hm2_7i80db-16.0.stepgen.01.velocity-cmd
net y-pos-fb <= hm2_7i80db-16.0.stepgen.01.position-fb
net y-pos-fb => axis.1.motor-pos-fb
net y-enable <= axis.1.amp-enable-out
net y-enable => hm2_7i80db-16.0.stepgen.01.enable
# ---setup home / limit switch signals---
net both-home-y => axis.1.home-sw-in
net both-home-y => axis.1.neg-lim-sw-in
net both-home-y => axis.1.pos-lim-sw-in
#*******************
# AXIS Z
#*******************
setp pid.z.Pgain [AXIS_2]P
setp pid.z.Igain [AXIS_2]I
setp pid.z.Dgain [AXIS_2]D
setp pid.z.bias [AXIS_2]BIAS
setp pid.z.FF0 [AXIS_2]FF0
setp pid.z.FF1 [AXIS_2]FF1
setp pid.z.FF2 [AXIS_2]FF2
setp pid.z.deadband [AXIS_2]DEADBAND
setp pid.z.maxoutput [AXIS_2]MAX_OUTPUT
setp pid.z.error-previous-target true
setp pid.z.maxerror .0005
net z-index-enable <=> pid.z.index-enable
net z-enable => pid.z.enable
net z-pos-cmd => pid.z.command
net z-vel-cmd => pid.z.command-deriv
net z-pos-fb => pid.z.feedback
net z-output => pid.z.output
# Step Gen signals/setup
setp hm2_7i80db-16.0.stepgen.02.dirsetup [AXIS_2]DIRSETUP
setp hm2_7i80db-16.0.stepgen.02.dirhold [AXIS_2]DIRHOLD
setp hm2_7i80db-16.0.stepgen.02.steplen [AXIS_2]STEPLEN
setp hm2_7i80db-16.0.stepgen.02.stepspace [AXIS_2]STEPSPACE
setp hm2_7i80db-16.0.stepgen.02.position-scale [AXIS_2]STEP_SCALE
setp hm2_7i80db-16.0.stepgen.02.step_type 0
setp hm2_7i80db-16.0.stepgen.02.control-type 1
setp hm2_7i80db-16.0.stepgen.02.maxaccel [AXIS_2]STEPGEN_MAXACCEL
setp hm2_7i80db-16.0.stepgen.02.maxvel [AXIS_2]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net z-pos-cmd <= axis.2.motor-pos-cmd
net z-vel-cmd <= axis.2.joint-vel-cmd
net z-output <= hm2_7i80db-16.0.stepgen.02.velocity-cmd
net z-pos-fb <= hm2_7i80db-16.0.stepgen.02.position-fb
net z-pos-fb => axis.2.motor-pos-fb
net z-enable <= axis.2.amp-enable-out
net z-enable => hm2_7i80db-16.0.stepgen.02.enable
# ---setup home / limit switch signals---
net both-home-z => axis.2.home-sw-in
net both-home-z => axis.2.neg-lim-sw-in
net both-home-z => axis.2.pos-lim-sw-in
#*******************
# SPINDLE S
#*******************
setp pid.s.Pgain [SPINDLE_9]P
setp pid.s.Igain [SPINDLE_9]I
setp pid.s.Dgain [SPINDLE_9]D
setp pid.s.bias [SPINDLE_9]BIAS
setp pid.s.FF0 [SPINDLE_9]FF0
setp pid.s.FF1 [SPINDLE_9]FF1
setp pid.s.FF2 [SPINDLE_9]FF2
setp pid.s.deadband [SPINDLE_9]DEADBAND
setp pid.s.maxoutput [SPINDLE_9]MAX_OUTPUT
setp pid.s.error-previous-target true
setp pid.s.maxerror .0005
net spindle-index-enable <=> pid.s.index-enable
net spindle-enable => pid.s.enable
net spindle-vel-cmd-rpm-abs => pid.s.command
net spindle-vel-fb-rpm-abs => pid.s.feedback
net spindle-output <= pid.s.output
# ---digital potentionmeter output signals/setup---
setp hm2_7i80db-16.0.7i76.0.0.spinout-minlim [SPINDLE_9]OUTPUT_MIN_LIMIT
setp hm2_7i80db-16.0.7i76.0.0.spinout-maxlim [SPINDLE_9]OUTPUT_MAX_LIMIT
setp hm2_7i80db-16.0.7i76.0.0.spinout-scalemax [SPINDLE_9]OUTPUT_SCALE
net spindle-vel-cmd-abs => hm2_7i80db-16.0.7i76.0.0.spinout
net machine-is-enabled => hm2_7i80db-16.0.7i76.0.0.spinena
net spindle-ccw => hm2_7i80db-16.0.7i76.0.0.spindir
# ---Encoder feedback signals/setup---
setp hm2_7i80db-16.0.encoder.00.counter-mode 1
setp hm2_7i80db-16.0.encoder.00.filter 1
setp hm2_7i80db-16.0.encoder.00.index-invert 0
setp hm2_7i80db-16.0.encoder.00.index-mask 0
setp hm2_7i80db-16.0.encoder.00.index-mask-invert 0
setp hm2_7i80db-16.0.encoder.00.scale [SPINDLE_9]ENCODER_SCALE
net spindle-revs <= hm2_7i80db-16.0.encoder.00.position
net spindle-vel-fb-rps <= hm2_7i80db-16.0.encoder.00.velocity
net spindle-index-enable <=> hm2_7i80db-16.0.encoder.00.index-enable
# ---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
# ---Setup spindle at speed signals---
sets spindle-at-speed true
# Use ACTUAL spindle velocity from spindle encoder
# spindle-velocity bounces around so we filter it with lowpass
# spindle-velocity is signed so we use absolute component to remove sign
# ACTUAL velocity is in RPS not RPM so we scale it.
setp scale.spindle.gain 60
setp lowpass.spindle.gain 1.000000
net spindle-vel-fb-rps => scale.spindle.in
net spindle-fb-rpm scale.spindle.out => abs.spindle.in
net spindle-fb-rpm-abs abs.spindle.out => lowpass.spindle.in
net spindle-fb-rpm-abs-filtered lowpass.spindle.out
#******************************
# 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.2.select
net z-is-homed halui.joint.2.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-ext => iocontrol.0.emc-enable-in
# ---manual tool change signals---
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
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
Less
More
- Posts: 17997
- Thank you received: 4842
10 Jul 2019 04:25 #138988
by PCW
Replied by PCW on topic 7i80-DB + 7I76 - Example to edit or method to create config
You would need to change:
loadrt hm2_pci config=" num_encoders=1 num_pwmgens=0 num_stepgens=5 sserial_port_0=00xxxx"
to
loadrt hm2_eth board_ip="10.10.10.10" config=" num_encoders=1 num_pwmgens=0 num_stepgens=5 sserial_port_0=00xxxx"
Assuming you are using the 10.10.10.10 IP address option on the 7I80
Also I think I was wrong on the card name, I think it is always "7i80" regardless of the FPGA size/connector options
loadrt hm2_pci config=" num_encoders=1 num_pwmgens=0 num_stepgens=5 sserial_port_0=00xxxx"
to
loadrt hm2_eth board_ip="10.10.10.10" config=" num_encoders=1 num_pwmgens=0 num_stepgens=5 sserial_port_0=00xxxx"
Assuming you are using the 10.10.10.10 IP address option on the 7I80
Also I think I was wrong on the card name, I think it is always "7i80" regardless of the FPGA size/connector options
Please Log in or Create an account to join the conversation.
- mjoconr
- Offline
- Senior Member
Less
More
- Posts: 44
- Thank you received: 0
11 Jul 2019 01:48 #139044
by mjoconr
Replied by mjoconr on topic 7i80-DB + 7I76 - Example to edit or method to create config
Hi All
Still not working but have progress.
So I had to comment out a section for the spindle, I'll need help to get this config adjusted once the other issues are fixed.
But I'm also getting an error 'error finishing read! iter=7'
I wonder if the issue is the firmware in the card (does this need to be loaded each time ?)
Current config below
Still not working but have progress.
So I had to comment out a section for the spindle, I'll need help to get this config adjusted once the other issues are fixed.
#setp scale.spindle.gain 60
#setp lowpass.spindle.gain 1.000000
#net spindle-vel-fb-rps => scale.spindle.in
#net spindle-fb-rpm scale.spindle.out => abs.spindle.in
#net spindle-fb-rpm-abs abs.spindle.out => lowpass.spindle.in
#net spindle-fb-rpm-abs-filtered lowpass.spindle.out
But I'm also getting an error 'error finishing read! iter=7'
cnc@minimill:~/src/linuxcnc-dev$ linuxcnc ~/linuxcnc/configs/HM-135.ini
LINUXCNC - 2.7.9
Machine configuration directory is '/home/cnc/linuxcnc/configs'
Machine configuration file is 'HM-135.ini'
Starting LinuxCNC...
Found file(REL): ./HM-135.hal
Note: Using POSIX realtime
hm2: loading Mesa HostMot2 driver version 0.15
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.
hm2_eth: ERROR: Failed to create iptables chain hm2-eth-rules-outputhm2_eth: WARNING: Unable to restrict other access to the hm2-eth device.
This means that other software using the same network interface can violate
realtime guarantees. See hm2_eth(9) for more information.
hm2_eth: 10.10.10.10: Hardware address: 00:60:1b:10:00:50
hm2_eth: discovered 7I80DB-16
hm2/hm2_7i80.0: Smart Serial Firmware Version 43
Board hm2_7i80.0.7i76.0.0 Hardware Mode 0 = standard
Board hm2_7i80.0.7i76.0.0 Software Mode 0 = io_spin
Board hm2_7i80.0.7i76.0.0 Software Mode 1 = io_ana_spin
Board hm2_7i80.0.7i76.0.0 Software Mode 2 = io_enc_ana_spin_fv
hm2/hm2_7i80.0: 68 I/O Pins used:
hm2/hm2_7i80.0: IO Pin 000 (J2-01): StepGen #0, pin Direction (Output)
hm2/hm2_7i80.0: IO Pin 001 (J2-14): StepGen #0, pin Step (Output)
hm2/hm2_7i80.0: IO Pin 002 (J2-02): StepGen #1, pin Direction (Output)
hm2/hm2_7i80.0: IO Pin 003 (J2-15): StepGen #1, pin Step (Output)
hm2/hm2_7i80.0: IO Pin 004 (J2-03): StepGen #2, pin Direction (Output)
hm2/hm2_7i80.0: IO Pin 005 (J2-16): StepGen #2, pin Step (Output)
hm2/hm2_7i80.0: IO Pin 006 (J2-04): StepGen #3, pin Direction (Output)
hm2/hm2_7i80.0: IO Pin 007 (J2-17): StepGen #3, pin Step (Output)
hm2/hm2_7i80.0: IO Pin 008 (J2-05): StepGen #4, pin Direction (Output)
hm2/hm2_7i80.0: IO Pin 009 (J2-06): StepGen #4, pin Step (Output)
hm2/hm2_7i80.0: IO Pin 010 (J2-07): Smart Serial Interface #0, pin TxData0 (Output)
hm2/hm2_7i80.0: IO Pin 011 (J2-08): Smart Serial Interface #0, pin RxData0 (Input)
hm2/hm2_7i80.0: IO Pin 012 (J2-09): IOPort
hm2/hm2_7i80.0: IO Pin 013 (J2-10): IOPort
hm2/hm2_7i80.0: IO Pin 014 (J2-11): Encoder #0, pin Index (Input)
hm2/hm2_7i80.0: IO Pin 015 (J2-12): Encoder #0, pin B (Input)
hm2/hm2_7i80.0: IO Pin 016 (J2-13): Encoder #0, pin A (Input)
hm2/hm2_7i80.0: IO Pin 017 (J3-01): IOPort
hm2/hm2_7i80.0: IO Pin 018 (J3-14): IOPort
hm2/hm2_7i80.0: IO Pin 019 (J3-02): IOPort
hm2/hm2_7i80.0: IO Pin 020 (J3-15): IOPort
hm2/hm2_7i80.0: IO Pin 021 (J3-03): IOPort
hm2/hm2_7i80.0: IO Pin 022 (J3-16): IOPort
hm2/hm2_7i80.0: IO Pin 023 (J3-04): IOPort
hm2/hm2_7i80.0: IO Pin 024 (J3-17): IOPort
hm2/hm2_7i80.0: IO Pin 025 (J3-05): IOPort
hm2/hm2_7i80.0: IO Pin 026 (J3-06): IOPort
hm2/hm2_7i80.0: IO Pin 027 (J3-07): IOPort
hm2/hm2_7i80.0: IO Pin 028 (J3-08): IOPort
hm2/hm2_7i80.0: IO Pin 029 (J3-09): IOPort
hm2/hm2_7i80.0: IO Pin 030 (J3-10): IOPort
hm2/hm2_7i80.0: IO Pin 031 (J3-11): IOPort
hm2/hm2_7i80.0: IO Pin 032 (J3-12): IOPort
hm2/hm2_7i80.0: IO Pin 033 (J3-13): IOPort
hm2/hm2_7i80.0: IO Pin 034 (J4-01): IOPort
hm2/hm2_7i80.0: IO Pin 035 (J4-14): IOPort
hm2/hm2_7i80.0: IO Pin 036 (J4-02): IOPort
hm2/hm2_7i80.0: IO Pin 037 (J4-15): IOPort
hm2/hm2_7i80.0: IO Pin 038 (J4-03): IOPort
hm2/hm2_7i80.0: IO Pin 039 (J4-16): IOPort
hm2/hm2_7i80.0: IO Pin 040 (J4-04): IOPort
hm2/hm2_7i80.0: IO Pin 041 (J4-17): IOPort
hm2/hm2_7i80.0: IO Pin 042 (J4-05): IOPort
hm2/hm2_7i80.0: IO Pin 043 (J4-06): IOPort
hm2/hm2_7i80.0: IO Pin 044 (J4-07): IOPort
hm2/hm2_7i80.0: IO Pin 045 (J4-08): IOPort
hm2/hm2_7i80.0: IO Pin 046 (J4-09): IOPort
hm2/hm2_7i80.0: IO Pin 047 (J4-10): IOPort
hm2/hm2_7i80.0: IO Pin 048 (J4-11): IOPort
hm2/hm2_7i80.0: IO Pin 049 (J4-12): IOPort
hm2/hm2_7i80.0: IO Pin 050 (J4-13): IOPort
hm2/hm2_7i80.0: IO Pin 051 (J5-01): IOPort
hm2/hm2_7i80.0: IO Pin 052 (J5-14): IOPort
hm2/hm2_7i80.0: IO Pin 053 (J5-02): IOPort
hm2/hm2_7i80.0: IO Pin 054 (J5-15): IOPort
hm2/hm2_7i80.0: IO Pin 055 (J5-03): IOPort
hm2/hm2_7i80.0: IO Pin 056 (J5-16): IOPort
hm2/hm2_7i80.0: IO Pin 057 (J5-04): IOPort
hm2/hm2_7i80.0: IO Pin 058 (J5-17): IOPort
hm2/hm2_7i80.0: IO Pin 059 (J5-05): IOPort
hm2/hm2_7i80.0: IO Pin 060 (J5-06): IOPort
hm2/hm2_7i80.0: IO Pin 061 (J5-07): IOPort
hm2/hm2_7i80.0: IO Pin 062 (J5-08): IOPort
hm2/hm2_7i80.0: IO Pin 063 (J5-09): IOPort
hm2/hm2_7i80.0: IO Pin 064 (J5-10): IOPort
hm2/hm2_7i80.0: IO Pin 065 (J5-11): IOPort
hm2/hm2_7i80.0: IO Pin 066 (J5-12): IOPort
hm2/hm2_7i80.0: IO Pin 067 (J5-13): IOPort
hm2/hm2_7i80.0: registered
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.
hm2_eth: ERROR: Failed to execute '/sbin/iptables -A hm2-eth-rules-output -o enp2s0 -p icmp -j DROP'
hm2/hm2_7i80.0: error finishing read! iter=7
hm2/hm2_7i80.0: error finishing read! iter=7
I wonder if the issue is the firmware in the card (does this need to be loaded each time ?)
Current config below
loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt hostmot2
loadrt hm2_eth board_ip="10.10.10.10" config=" num_encoders=1 num_pwmgens=0 num_stepgens=5 sserial_port_0=00xxxx"
setp hm2_7i80.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.z,pid.s
addf hm2_7i80.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_7i80.0.write servo-thread
# external output signals
# --- ESTOP-OUT ---
net estop-out hm2_7i80.0.7i76.0.0.output-00
# --- COOLANT-MIST ---
net coolant-mist hm2_7i80.0.7i76.0.0.output-01
# --- COOLANT-FLOOD ---
net coolant-flood hm2_7i80.0.7i76.0.0.output-02
# --- MACHINE-IS-ENABLED ---
net machine-is-enabled hm2_7i80.0.7i76.0.0.output-03
# external input signals
# --- BOTH-HOME-Y ---
net both-home-y <= hm2_7i80.0.7i76.0.0.input-04
# --- BOTH-HOME-Z ---
net both-home-z <= hm2_7i80.0.7i76.0.0.input-05
# --- BOTH-HOME-A ---
net both-home-a <= hm2_7i80.0.7i76.0.0.input-06
# --- ESTOP-EXT ---
net estop-ext <= hm2_7i80.0.7i76.0.0.input-08
# --- PROBE-IN ---
net probe-in <= hm2_7i80.0.7i76.0.0.input-09-not
# --- PROBE_IN_UP ---
net Probe_In_Up <= hm2_7i80.0.7i76.0.0.input-10
#*******************
# AXIS X
#*******************
setp pid.x.Pgain [AXIS_0]P
setp pid.x.Igain [AXIS_0]I
setp pid.x.Dgain [AXIS_0]D
setp pid.x.bias [AXIS_0]BIAS
setp pid.x.FF0 [AXIS_0]FF0
setp pid.x.FF1 [AXIS_0]FF1
setp pid.x.FF2 [AXIS_0]FF2
setp pid.x.deadband [AXIS_0]DEADBAND
setp pid.x.maxoutput [AXIS_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_7i80.0.stepgen.00.dirsetup [AXIS_0]DIRSETUP
setp hm2_7i80.0.stepgen.00.dirhold [AXIS_0]DIRHOLD
setp hm2_7i80.0.stepgen.00.steplen [AXIS_0]STEPLEN
setp hm2_7i80.0.stepgen.00.stepspace [AXIS_0]STEPSPACE
setp hm2_7i80.0.stepgen.00.position-scale [AXIS_0]STEP_SCALE
setp hm2_7i80.0.stepgen.00.step_type 0
setp hm2_7i80.0.stepgen.00.control-type 1
setp hm2_7i80.0.stepgen.00.maxaccel [AXIS_0]STEPGEN_MAXACCEL
setp hm2_7i80.0.stepgen.00.maxvel [AXIS_0]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net x-pos-cmd <= axis.0.motor-pos-cmd
net x-vel-cmd <= axis.0.joint-vel-cmd
net x-output <= hm2_7i80.0.stepgen.00.velocity-cmd
net x-pos-fb <= hm2_7i80.0.stepgen.00.position-fb
net x-pos-fb => axis.0.motor-pos-fb
net x-enable <= axis.0.amp-enable-out
net x-enable => hm2_7i80.0.stepgen.00.enable
# ---setup home / limit switch signals---
net x-home-sw => axis.0.home-sw-in
net x-neg-limit => axis.0.neg-lim-sw-in
net x-pos-limit => axis.0.pos-lim-sw-in
#*******************
# AXIS Y
#*******************
setp pid.y.Pgain [AXIS_1]P
setp pid.y.Igain [AXIS_1]I
setp pid.y.Dgain [AXIS_1]D
setp pid.y.bias [AXIS_1]BIAS
setp pid.y.FF0 [AXIS_1]FF0
setp pid.y.FF1 [AXIS_1]FF1
setp pid.y.FF2 [AXIS_1]FF2
setp pid.y.deadband [AXIS_1]DEADBAND
setp pid.y.maxoutput [AXIS_1]MAX_OUTPUT
setp pid.y.error-previous-target true
setp pid.y.maxerror .0005
net y-index-enable <=> pid.y.index-enable
net y-enable => pid.y.enable
net y-pos-cmd => pid.y.command
net y-vel-cmd => pid.y.command-deriv
net y-pos-fb => pid.y.feedback
net y-output => pid.y.output
# Step Gen signals/setup
setp hm2_7i80.0.stepgen.01.dirsetup [AXIS_1]DIRSETUP
setp hm2_7i80.0.stepgen.01.dirhold [AXIS_1]DIRHOLD
setp hm2_7i80.0.stepgen.01.steplen [AXIS_1]STEPLEN
setp hm2_7i80.0.stepgen.01.stepspace [AXIS_1]STEPSPACE
setp hm2_7i80.0.stepgen.01.position-scale [AXIS_1]STEP_SCALE
setp hm2_7i80.0.stepgen.01.step_type 0
setp hm2_7i80.0.stepgen.01.control-type 1
setp hm2_7i80.0.stepgen.01.maxaccel [AXIS_1]STEPGEN_MAXACCEL
setp hm2_7i80.0.stepgen.01.maxvel [AXIS_1]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net y-pos-cmd <= axis.1.motor-pos-cmd
net y-vel-cmd <= axis.1.joint-vel-cmd
net y-output <= hm2_7i80.0.stepgen.01.velocity-cmd
net y-pos-fb <= hm2_7i80.0.stepgen.01.position-fb
net y-pos-fb => axis.1.motor-pos-fb
net y-enable <= axis.1.amp-enable-out
net y-enable => hm2_7i80.0.stepgen.01.enable
# ---setup home / limit switch signals---
net both-home-y => axis.1.home-sw-in
net both-home-y => axis.1.neg-lim-sw-in
net both-home-y => axis.1.pos-lim-sw-in
#*******************
# AXIS Z
#*******************
setp pid.z.Pgain [AXIS_2]P
setp pid.z.Igain [AXIS_2]I
setp pid.z.Dgain [AXIS_2]D
setp pid.z.bias [AXIS_2]BIAS
setp pid.z.FF0 [AXIS_2]FF0
setp pid.z.FF1 [AXIS_2]FF1
setp pid.z.FF2 [AXIS_2]FF2
setp pid.z.deadband [AXIS_2]DEADBAND
setp pid.z.maxoutput [AXIS_2]MAX_OUTPUT
setp pid.z.error-previous-target true
setp pid.z.maxerror .0005
net z-index-enable <=> pid.z.index-enable
net z-enable => pid.z.enable
net z-pos-cmd => pid.z.command
net z-vel-cmd => pid.z.command-deriv
net z-pos-fb => pid.z.feedback
net z-output => pid.z.output
# Step Gen signals/setup
setp hm2_7i80.0.stepgen.02.dirsetup [AXIS_2]DIRSETUP
setp hm2_7i80.0.stepgen.02.dirhold [AXIS_2]DIRHOLD
setp hm2_7i80.0.stepgen.02.steplen [AXIS_2]STEPLEN
setp hm2_7i80.0.stepgen.02.stepspace [AXIS_2]STEPSPACE
setp hm2_7i80.0.stepgen.02.position-scale [AXIS_2]STEP_SCALE
setp hm2_7i80.0.stepgen.02.step_type 0
setp hm2_7i80.0.stepgen.02.control-type 1
setp hm2_7i80.0.stepgen.02.maxaccel [AXIS_2]STEPGEN_MAXACCEL
setp hm2_7i80.0.stepgen.02.maxvel [AXIS_2]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net z-pos-cmd <= axis.2.motor-pos-cmd
net z-vel-cmd <= axis.2.joint-vel-cmd
net z-output <= hm2_7i80.0.stepgen.02.velocity-cmd
net z-pos-fb <= hm2_7i80.0.stepgen.02.position-fb
net z-pos-fb => axis.2.motor-pos-fb
net z-enable <= axis.2.amp-enable-out
net z-enable => hm2_7i80.0.stepgen.02.enable
# ---setup home / limit switch signals---
net both-home-z => axis.2.home-sw-in
net both-home-z => axis.2.neg-lim-sw-in
net both-home-z => axis.2.pos-lim-sw-in
#*******************
# SPINDLE S
#*******************
setp pid.s.Pgain [SPINDLE_9]P
setp pid.s.Igain [SPINDLE_9]I
setp pid.s.Dgain [SPINDLE_9]D
setp pid.s.bias [SPINDLE_9]BIAS
setp pid.s.FF0 [SPINDLE_9]FF0
setp pid.s.FF1 [SPINDLE_9]FF1
setp pid.s.FF2 [SPINDLE_9]FF2
setp pid.s.deadband [SPINDLE_9]DEADBAND
setp pid.s.maxoutput [SPINDLE_9]MAX_OUTPUT
setp pid.s.error-previous-target true
setp pid.s.maxerror .0005
net spindle-index-enable <=> pid.s.index-enable
net spindle-enable => pid.s.enable
net spindle-vel-cmd-rpm-abs => pid.s.command
net spindle-vel-fb-rpm-abs => pid.s.feedback
net spindle-output <= pid.s.output
# ---digital potentionmeter output signals/setup---
setp hm2_7i80.0.7i76.0.0.spinout-minlim [SPINDLE_9]OUTPUT_MIN_LIMIT
setp hm2_7i80.0.7i76.0.0.spinout-maxlim [SPINDLE_9]OUTPUT_MAX_LIMIT
setp hm2_7i80.0.7i76.0.0.spinout-scalemax [SPINDLE_9]OUTPUT_SCALE
net spindle-vel-cmd-abs => hm2_7i80.0.7i76.0.0.spinout
net machine-is-enabled => hm2_7i80.0.7i76.0.0.spinena
net spindle-ccw => hm2_7i80.0.7i76.0.0.spindir
# ---Encoder feedback signals/setup---
setp hm2_7i80.0.encoder.00.counter-mode 1
setp hm2_7i80.0.encoder.00.filter 1
setp hm2_7i80.0.encoder.00.index-invert 0
setp hm2_7i80.0.encoder.00.index-mask 0
setp hm2_7i80.0.encoder.00.index-mask-invert 0
setp hm2_7i80.0.encoder.00.scale [SPINDLE_9]ENCODER_SCALE
net spindle-revs <= hm2_7i80.0.encoder.00.position
net spindle-vel-fb-rps <= hm2_7i80.0.encoder.00.velocity
net spindle-index-enable <=> hm2_7i80.0.encoder.00.index-enable
# ---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
# ---Setup spindle at speed signals---
sets spindle-at-speed true
# Use ACTUAL spindle velocity from spindle encoder
# spindle-velocity bounces around so we filter it with lowpass
# spindle-velocity is signed so we use absolute component to remove sign
# ACTUAL velocity is in RPS not RPM so we scale it.
#setp scale.spindle.gain 60
#setp lowpass.spindle.gain 1.000000
#net spindle-vel-fb-rps => scale.spindle.in
#net spindle-fb-rpm scale.spindle.out => abs.spindle.in
#net spindle-fb-rpm-abs abs.spindle.out => lowpass.spindle.in
#net spindle-fb-rpm-abs-filtered lowpass.spindle.out
#******************************
# 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.2.select
net z-is-homed halui.joint.2.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-ext => iocontrol.0.emc-enable-in
# ---manual tool change signals---
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
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
Less
More
- Posts: 17997
- Thank you received: 4842
11 Jul 2019 02:12 #139045
by PCW
Replied by PCW on topic 7i80-DB + 7I76 - Example to edit or method to create config
"error finishing read!"
means that you have lost contact with the 7I80
Common reasons are:
Servo thread to fast (suggest 1000000 ns = 1 ms to start)
Not running real time OS
Intel MAC on host and RX IRQ coalesce enabled
Power issues on FPGA card (marginal power so card resets)
means that you have lost contact with the 7I80
Common reasons are:
Servo thread to fast (suggest 1000000 ns = 1 ms to start)
Not running real time OS
Intel MAC on host and RX IRQ coalesce enabled
Power issues on FPGA card (marginal power so card resets)
Please Log in or Create an account to join the conversation.
- mjoconr
- Offline
- Senior Member
Less
More
- Posts: 44
- Thank you received: 0
11 Jul 2019 02:48 - 11 Jul 2019 02:49 #139047
by mjoconr
Replied by mjoconr on topic 7i80-DB + 7I76 - Example to edit or method to create config
Servo thread was 1000000 ns changed to 2000000 ns
Kernel is 4.19.31-rt18
Its using realtek chips for the ethernet, ran ethtool -c rx-usecs=0 enp2s0
Card is being powered by a 5v 5Amp power supply and voltage at the connect on the board is 5.05V
Image of the latency test attached.
What next ?
Thanks by the way
Kernel is 4.19.31-rt18
Its using realtek chips for the ethernet, ran ethtool -c rx-usecs=0 enp2s0
Card is being powered by a 5v 5Amp power supply and voltage at the connect on the board is 5.05V
Image of the latency test attached.
What next ?
Thanks by the way
Last edit: 11 Jul 2019 02:49 by mjoconr.
Please Log in or Create an account to join the conversation.
Time to create page: 0.287 seconds