hm2 and 7i43 x axis issue
- mattrcampbell
- Offline
- New Member
Less
More
- Posts: 11
- Thank you received: 0
09 Feb 2013 11:27 #29799
by mattrcampbell
hm2 and 7i43 x axis issue was created by mattrcampbell
Hi, I am a complete newbie here so I appreciate your patience.
I am building a mill using a Mesa 7i43 to drivesom Advanced Motion Controls PWM servo amplifiers. I am having an issue with not getting any PWM output for the xaxis and zaxis, but I DO get PWM output for the yaxis. I am attaching my .hal file, any help that you can give will be greatly appreciated!
# Generated by PNCconf at Fri Feb 8 22:09:49 2013
# If you make changes to this file, they will be
# overwritten when you run PNCconf again
loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt probe_parport
loadrt hostmot2
loadrt hm2_7i43 config="firmware=hm2/7i43/SV4_4.BIT num_encoders=4 num_pwmgens=4 num_stepgens=4"
setp hm2_7i43.0.pwmgen.pwm_frequency 100000
setp hm2_7i43.0.pwmgen.pdm_frequency 100000
setp hm2_7i43.0.watchdog.timeout_ns 10000000
loadrt near
addf hm2_7i43.0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
loadrt pid num_chan=3
addf pid.0.do-pid-calcs servo-thread
addf pid.1.do-pid-calcs servo-thread
addf pid.2.do-pid-calcs servo-thread
alias pin pid.0.Pgain pid.x.Pgain
alias pin pid.0.Igain pid.x.Igain
alias pin pid.0.Dgain pid.x.Dgain
alias pin pid.0.bias pid.x.bias
alias pin pid.0.FF0 pid.x.FF0
alias pin pid.0.FF1 pid.x.FF1
alias pin pid.0.FF2 pid.x.FF2
alias pin pid.0.deadband pid.x.deadband
alias pin pid.0.maxoutput pid.x.maxoutput
alias pin pid.0.enable pid.x.enable
alias pin pid.0.command pid.x.command
alias pin pid.0.feedback pid.x.feedback
alias pin pid.0.output pid.x.output
alias pin pid.0.index-enable pid.x.index-enable
alias pin pid.1.Pgain pid.y.Pgain
alias pin pid.1.Igain pid.y.Igain
alias pin pid.1.Dgain pid.y.Dgain
alias pin pid.1.bias pid.y.bias
alias pin pid.1.FF0 pid.y.FF0
alias pin pid.1.FF1 pid.y.FF1
alias pin pid.1.FF2 pid.y.FF2
alias pin pid.1.deadband pid.y.deadband
alias pin pid.1.maxoutput pid.y.maxoutput
alias pin pid.1.enable pid.y.enable
alias pin pid.1.command pid.y.command
alias pin pid.1.feedback pid.y.feedback
alias pin pid.1.output pid.y.output
alias pin pid.1.index-enable pid.y.index-enable
alias pin pid.2.Pgain pid.z.Pgain
alias pin pid.2.Igain pid.z.Igain
alias pin pid.2.Dgain pid.z.Dgain
alias pin pid.2.bias pid.z.bias
alias pin pid.2.FF0 pid.z.FF0
alias pin pid.2.FF1 pid.z.FF1
alias pin pid.2.FF2 pid.z.FF2
alias pin pid.2.deadband pid.z.deadband
alias pin pid.2.maxoutput pid.z.maxoutput
alias pin pid.2.enable pid.z.enable
alias pin pid.2.command pid.z.command
alias pin pid.2.feedback pid.z.feedback
alias pin pid.2.output pid.z.output
alias pin pid.2.index-enable pid.z.index-enable
addf near.0 servo-thread
addf hm2_7i43.0.write servo-thread
addf hm2_7i43.0.pet_watchdog servo-thread
# external output signals
# external input signals
#*******************
# 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
net x-index-enable <=> pid.x.index-enable
# ---PWM Generator signals/setup---
setp hm2_7i43.0.pwmgen.01.output-type 1
setp hm2_7i43.0.gpio.006.invert_output 1
setp hm2_7i43.0.pwmgen.01.scale [AXIS_0]OUTPUT_SCALE
net xenable => pid.x.enable
net xoutput pid.x.output => hm2_7i43.0.pwmgen.01.value
net xpos-cmd axis.0.motor-pos-cmd => pid.x.command
net xenable axis.0.amp-enable-out => hm2_7i43.0.pwmgen.01.enable
# ---Encoder feedback signals/setup---
setp hm2_7i43.0.encoder.01.counter-mode 0
setp hm2_7i43.0.encoder.01.filter 1
setp hm2_7i43.0.encoder.01.index-invert 0
setp hm2_7i43.0.encoder.01.index-mask 0
setp hm2_7i43.0.encoder.01.index-mask-invert 0
setp hm2_7i43.0.encoder.01.scale [AXIS_0]INPUT_SCALE
net xpos-fb <= hm2_7i43.0.encoder.01.position
net xpos-fb => pid.x.feedback
net xpos-fb => axis.0.motor-pos-fb
net x-index-enable axis.0.index-enable <=> hm2_7i43.0.encoder.01.index-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
net y-index-enable <=> pid.y.index-enable
# ---PWM Generator signals/setup---
setp hm2_7i43.0.pwmgen.00.output-type 1
setp hm2_7i43.0.gpio.007.invert_output 1
setp hm2_7i43.0.pwmgen.00.scale [AXIS_1]OUTPUT_SCALE
net yenable => pid.y.enable
net youtput pid.y.output => hm2_7i43.0.pwmgen.00.value
net ypos-cmd axis.1.motor-pos-cmd => pid.y.command
net yenable axis.1.amp-enable-out => hm2_7i43.0.pwmgen.00.enable
# ---Encoder feedback signals/setup---
setp hm2_7i43.0.encoder.00.counter-mode 0
setp hm2_7i43.0.encoder.00.filter 1
setp hm2_7i43.0.encoder.00.index-invert 0
setp hm2_7i43.0.encoder.00.index-mask 0
setp hm2_7i43.0.encoder.00.index-mask-invert 0
setp hm2_7i43.0.encoder.00.scale [AXIS_1]INPUT_SCALE
net ypos-fb <= hm2_7i43.0.encoder.00.position
net ypos-fb => pid.y.feedback
net ypos-fb => axis.1.motor-pos-fb
net y-index-enable axis.1.index-enable <=> hm2_7i43.0.encoder.00.index-enable
# ---setup home / limit switch signals---
net y-home-sw => axis.1.home-sw-in
net y-neg-limit => axis.1.neg-lim-sw-in
net y-pos-limit => 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
net z-index-enable <=> pid.z.index-enable
# ---PWM Generator signals/setup---
setp hm2_7i43.0.pwmgen.03.output-type 1
setp hm2_7i43.0.pwmgen.03.scale [AXIS_2]OUTPUT_SCALE
net zenable => pid.z.enable
net zoutput pid.z.output => hm2_7i43.0.pwmgen.03.value
net zpos-cmd axis.2.motor-pos-cmd => pid.z.command
net zenable axis.2.amp-enable-out => hm2_7i43.0.pwmgen.03.enable
# ---Encoder feedback signals/setup---
setp hm2_7i43.0.encoder.03.counter-mode 0
setp hm2_7i43.0.encoder.03.filter 1
setp hm2_7i43.0.encoder.03.index-invert 0
setp hm2_7i43.0.encoder.03.index-mask 0
setp hm2_7i43.0.encoder.03.index-mask-invert 0
setp hm2_7i43.0.encoder.03.scale [AXIS_2]INPUT_SCALE
net zpos-fb <= hm2_7i43.0.encoder.03.position
net zpos-fb => pid.z.feedback
net zpos-fb => axis.2.motor-pos-fb
net z-index-enable axis.2.index-enable <=> hm2_7i43.0.encoder.03.index-enable
# ---setup home / limit switch signals---
net z-home-sw => axis.2.home-sw-in
net z-neg-limit => axis.2.neg-lim-sw-in
net z-pos-limit => axis.2.pos-lim-sw-in
#*******************
# SPINDLE S
#*******************
# ---setup spindle control signals---
net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps
net spindle-vel-cmd <= motion.spindle-speed-out
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 => motion.spindle-speed-in
net spindle-index-enable <=> motion.spindle-index-enable
#******************************
# connect miscellaneous signals
#******************************
# ---coolant signals---
net coolant-mist <= iocontrol.0.coolant-mist
net coolant-flood <= iocontrol.0.coolant-flood
# ---probe signal---
net probe-in => motion.probe-input
# ---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---
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
I am building a mill using a Mesa 7i43 to drivesom Advanced Motion Controls PWM servo amplifiers. I am having an issue with not getting any PWM output for the xaxis and zaxis, but I DO get PWM output for the yaxis. I am attaching my .hal file, any help that you can give will be greatly appreciated!
# Generated by PNCconf at Fri Feb 8 22:09:49 2013
# If you make changes to this file, they will be
# overwritten when you run PNCconf again
loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt probe_parport
loadrt hostmot2
loadrt hm2_7i43 config="firmware=hm2/7i43/SV4_4.BIT num_encoders=4 num_pwmgens=4 num_stepgens=4"
setp hm2_7i43.0.pwmgen.pwm_frequency 100000
setp hm2_7i43.0.pwmgen.pdm_frequency 100000
setp hm2_7i43.0.watchdog.timeout_ns 10000000
loadrt near
addf hm2_7i43.0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
loadrt pid num_chan=3
addf pid.0.do-pid-calcs servo-thread
addf pid.1.do-pid-calcs servo-thread
addf pid.2.do-pid-calcs servo-thread
alias pin pid.0.Pgain pid.x.Pgain
alias pin pid.0.Igain pid.x.Igain
alias pin pid.0.Dgain pid.x.Dgain
alias pin pid.0.bias pid.x.bias
alias pin pid.0.FF0 pid.x.FF0
alias pin pid.0.FF1 pid.x.FF1
alias pin pid.0.FF2 pid.x.FF2
alias pin pid.0.deadband pid.x.deadband
alias pin pid.0.maxoutput pid.x.maxoutput
alias pin pid.0.enable pid.x.enable
alias pin pid.0.command pid.x.command
alias pin pid.0.feedback pid.x.feedback
alias pin pid.0.output pid.x.output
alias pin pid.0.index-enable pid.x.index-enable
alias pin pid.1.Pgain pid.y.Pgain
alias pin pid.1.Igain pid.y.Igain
alias pin pid.1.Dgain pid.y.Dgain
alias pin pid.1.bias pid.y.bias
alias pin pid.1.FF0 pid.y.FF0
alias pin pid.1.FF1 pid.y.FF1
alias pin pid.1.FF2 pid.y.FF2
alias pin pid.1.deadband pid.y.deadband
alias pin pid.1.maxoutput pid.y.maxoutput
alias pin pid.1.enable pid.y.enable
alias pin pid.1.command pid.y.command
alias pin pid.1.feedback pid.y.feedback
alias pin pid.1.output pid.y.output
alias pin pid.1.index-enable pid.y.index-enable
alias pin pid.2.Pgain pid.z.Pgain
alias pin pid.2.Igain pid.z.Igain
alias pin pid.2.Dgain pid.z.Dgain
alias pin pid.2.bias pid.z.bias
alias pin pid.2.FF0 pid.z.FF0
alias pin pid.2.FF1 pid.z.FF1
alias pin pid.2.FF2 pid.z.FF2
alias pin pid.2.deadband pid.z.deadband
alias pin pid.2.maxoutput pid.z.maxoutput
alias pin pid.2.enable pid.z.enable
alias pin pid.2.command pid.z.command
alias pin pid.2.feedback pid.z.feedback
alias pin pid.2.output pid.z.output
alias pin pid.2.index-enable pid.z.index-enable
addf near.0 servo-thread
addf hm2_7i43.0.write servo-thread
addf hm2_7i43.0.pet_watchdog servo-thread
# external output signals
# external input signals
#*******************
# 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
net x-index-enable <=> pid.x.index-enable
# ---PWM Generator signals/setup---
setp hm2_7i43.0.pwmgen.01.output-type 1
setp hm2_7i43.0.gpio.006.invert_output 1
setp hm2_7i43.0.pwmgen.01.scale [AXIS_0]OUTPUT_SCALE
net xenable => pid.x.enable
net xoutput pid.x.output => hm2_7i43.0.pwmgen.01.value
net xpos-cmd axis.0.motor-pos-cmd => pid.x.command
net xenable axis.0.amp-enable-out => hm2_7i43.0.pwmgen.01.enable
# ---Encoder feedback signals/setup---
setp hm2_7i43.0.encoder.01.counter-mode 0
setp hm2_7i43.0.encoder.01.filter 1
setp hm2_7i43.0.encoder.01.index-invert 0
setp hm2_7i43.0.encoder.01.index-mask 0
setp hm2_7i43.0.encoder.01.index-mask-invert 0
setp hm2_7i43.0.encoder.01.scale [AXIS_0]INPUT_SCALE
net xpos-fb <= hm2_7i43.0.encoder.01.position
net xpos-fb => pid.x.feedback
net xpos-fb => axis.0.motor-pos-fb
net x-index-enable axis.0.index-enable <=> hm2_7i43.0.encoder.01.index-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
net y-index-enable <=> pid.y.index-enable
# ---PWM Generator signals/setup---
setp hm2_7i43.0.pwmgen.00.output-type 1
setp hm2_7i43.0.gpio.007.invert_output 1
setp hm2_7i43.0.pwmgen.00.scale [AXIS_1]OUTPUT_SCALE
net yenable => pid.y.enable
net youtput pid.y.output => hm2_7i43.0.pwmgen.00.value
net ypos-cmd axis.1.motor-pos-cmd => pid.y.command
net yenable axis.1.amp-enable-out => hm2_7i43.0.pwmgen.00.enable
# ---Encoder feedback signals/setup---
setp hm2_7i43.0.encoder.00.counter-mode 0
setp hm2_7i43.0.encoder.00.filter 1
setp hm2_7i43.0.encoder.00.index-invert 0
setp hm2_7i43.0.encoder.00.index-mask 0
setp hm2_7i43.0.encoder.00.index-mask-invert 0
setp hm2_7i43.0.encoder.00.scale [AXIS_1]INPUT_SCALE
net ypos-fb <= hm2_7i43.0.encoder.00.position
net ypos-fb => pid.y.feedback
net ypos-fb => axis.1.motor-pos-fb
net y-index-enable axis.1.index-enable <=> hm2_7i43.0.encoder.00.index-enable
# ---setup home / limit switch signals---
net y-home-sw => axis.1.home-sw-in
net y-neg-limit => axis.1.neg-lim-sw-in
net y-pos-limit => 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
net z-index-enable <=> pid.z.index-enable
# ---PWM Generator signals/setup---
setp hm2_7i43.0.pwmgen.03.output-type 1
setp hm2_7i43.0.pwmgen.03.scale [AXIS_2]OUTPUT_SCALE
net zenable => pid.z.enable
net zoutput pid.z.output => hm2_7i43.0.pwmgen.03.value
net zpos-cmd axis.2.motor-pos-cmd => pid.z.command
net zenable axis.2.amp-enable-out => hm2_7i43.0.pwmgen.03.enable
# ---Encoder feedback signals/setup---
setp hm2_7i43.0.encoder.03.counter-mode 0
setp hm2_7i43.0.encoder.03.filter 1
setp hm2_7i43.0.encoder.03.index-invert 0
setp hm2_7i43.0.encoder.03.index-mask 0
setp hm2_7i43.0.encoder.03.index-mask-invert 0
setp hm2_7i43.0.encoder.03.scale [AXIS_2]INPUT_SCALE
net zpos-fb <= hm2_7i43.0.encoder.03.position
net zpos-fb => pid.z.feedback
net zpos-fb => axis.2.motor-pos-fb
net z-index-enable axis.2.index-enable <=> hm2_7i43.0.encoder.03.index-enable
# ---setup home / limit switch signals---
net z-home-sw => axis.2.home-sw-in
net z-neg-limit => axis.2.neg-lim-sw-in
net z-pos-limit => axis.2.pos-lim-sw-in
#*******************
# SPINDLE S
#*******************
# ---setup spindle control signals---
net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps
net spindle-vel-cmd <= motion.spindle-speed-out
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 => motion.spindle-speed-in
net spindle-index-enable <=> motion.spindle-index-enable
#******************************
# connect miscellaneous signals
#******************************
# ---coolant signals---
net coolant-mist <= iocontrol.0.coolant-mist
net coolant-flood <= iocontrol.0.coolant-flood
# ---probe signal---
net probe-in => motion.probe-input
# ---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---
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.
09 Feb 2013 23:50 #29813
by PCW
Replied by PCW on topic hm2 and 7i43 x axis issue
A couple of things
1.
loadrt hm2_7i43 config="firmware=hm2/7i43/SV4_4.BIT num_encoders=4 num_pwmgens=4 num_stepgens=4"
looks very strange as there's no SV4_4 config as far as I know
2.
If you are using a custom bit file for a servo config, starting with the 7I43 demo servo (hm2-servo)
config is going to make hal debugging a lot easier
1.
loadrt hm2_7i43 config="firmware=hm2/7i43/SV4_4.BIT num_encoders=4 num_pwmgens=4 num_stepgens=4"
looks very strange as there's no SV4_4 config as far as I know
2.
If you are using a custom bit file for a servo config, starting with the 7I43 demo servo (hm2-servo)
config is going to make hal debugging a lot easier
Please Log in or Create an account to join the conversation.
10 Feb 2013 02:23 #29823
by cncbasher
Replied by cncbasher on topic hm2 and 7i43 x axis issue
you seem as PCW has commented to be using the incorrect bit file for a 7i43 try selecting SVST4_4
for the 7i43 you need 48 pin bit files and not the 72 or 96 pin variants
for the 7i43 you need 48 pin bit files and not the 72 or 96 pin variants
Please Log in or Create an account to join the conversation.
10 Feb 2013 03:18 #29825
by cmorley
Replied by cmorley on topic hm2 and 7i43 x axis issue
Your also using a very old version of pncconf - which surely means your using a old version of linuxcnc, probably it's called EMC.
I would suggest updating to linuxcnc 2.5.1
Chris M
I would suggest updating to linuxcnc 2.5.1
Chris M
Please Log in or Create an account to join the conversation.
- mattrcampbell
- Offline
- New Member
Less
More
- Posts: 11
- Thank you received: 0
10 Feb 2013 06:39 #29830
by mattrcampbell
Replied by mattrcampbell on topic hm2 and 7i43 x axis issue
Thanks for the hints guys. I am actually using the right files, I created a symbolic link:
SV4_4.BIT -> SVST4_4.BIT
SV4_4.xml -> SVST4_4.xml
I did this because pncconf insisted on using the wrong file names when it wrote the file. Somehow, I missed the fact that I am on emc2-2.4.5 and there is a newer version! I will give an upgrade a try tonight and let you know how it goes!
--m
SV4_4.BIT -> SVST4_4.BIT
SV4_4.xml -> SVST4_4.xml
I did this because pncconf insisted on using the wrong file names when it wrote the file. Somehow, I missed the fact that I am on emc2-2.4.5 and there is a newer version! I will give an upgrade a try tonight and let you know how it goes!
--m
Please Log in or Create an account to join the conversation.
- mattrcampbell
- Offline
- New Member
Less
More
- Posts: 11
- Thank you received: 0
10 Feb 2013 08:47 #29832
by mattrcampbell
Replied by mattrcampbell on topic hm2 and 7i43 x axis issue
Ahhh, alas I can not use the default kernel the the packages support with my Atom board. I need to use 2.6.38, looks like I will be spending the night compiling!
Please Log in or Create an account to join the conversation.
10 Feb 2013 09:38 #29833
by PCW
Replied by PCW on topic hm2 and 7i43 x axis issue
Which atom board is that?
I wasn't aware that there were Atom boards that would not run with Ubuntu 10.04
well +- the video issues in the D25XX,D26XX, and D27XX boards
I wasn't aware that there were Atom boards that would not run with Ubuntu 10.04
well +- the video issues in the D25XX,D26XX, and D27XX boards
Please Log in or Create an account to join the conversation.
- mattrcampbell
- Offline
- New Member
Less
More
- Posts: 11
- Thank you received: 0
10 Feb 2013 11:03 #29836
by mattrcampbell
Replied by mattrcampbell on topic hm2 and 7i43 x axis issue
It is an Intel Embedded Development Board 1-N450. Getting an RTAI kernel to run on it was..... challenging.
Please Log in or Create an account to join the conversation.
- mattrcampbell
- Offline
- New Member
Less
More
- Posts: 11
- Thank you received: 0
10 Feb 2013 12:49 #29840
by mattrcampbell
Replied by mattrcampbell on topic hm2 and 7i43 x axis issue
Recompile seemed to go ok, but I'm now getting this error:
Machine configuration directory is '/home/soup/linuxcnc/configs/campbellcnc'
Machine configuration file is 'campbellcnc.ini'
Starting LinuxCNC...
RTAPI: ERROR: version mismatch 1 vs 0
HAL: ERROR: rtapi init failed
Traceback (most recent call last):
File "/usr/bin/hal_manualtoolchange", line 45, in <module>
h = hal.component("hal_manualtoolchange")
hal.error: Invalid argument
campbellcnc.hal:256: hal_manualtoolchange exited without becoming ready
Shutting down and cleaning up LinuxCNC...
Running HAL shutdown script
Cleanup done
LinuxCNC terminated with an error. You can find more information in the log:
/home/soup/linuxcnc_debug.txt
and
/home/soup/linuxcnc_print.txt
as well as in the output of the shell command 'dmesg' and in the terminal
Debug was not much help:
Can not find -sec MOT -var MOT -num 1
Can not find -sec IO -var IO -num 1
Can not find -sec LINUXCNC -var NML_FILE -num 1
Can not find -sec EMC -var NML_FILE -num 1
17292
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components
configured with: ./configure --prefix=/usr --with-realtime=/usr/realtime --with-kernel-headers=/usr/src/linux-source-2.6.38.8-rtai
Any new thoughts? Should I start a new thread since the topic has so drastically changed?
Machine configuration directory is '/home/soup/linuxcnc/configs/campbellcnc'
Machine configuration file is 'campbellcnc.ini'
Starting LinuxCNC...
RTAPI: ERROR: version mismatch 1 vs 0
HAL: ERROR: rtapi init failed
Traceback (most recent call last):
File "/usr/bin/hal_manualtoolchange", line 45, in <module>
h = hal.component("hal_manualtoolchange")
hal.error: Invalid argument
campbellcnc.hal:256: hal_manualtoolchange exited without becoming ready
Shutting down and cleaning up LinuxCNC...
Running HAL shutdown script
Cleanup done
LinuxCNC terminated with an error. You can find more information in the log:
/home/soup/linuxcnc_debug.txt
and
/home/soup/linuxcnc_print.txt
as well as in the output of the shell command 'dmesg' and in the terminal
Debug was not much help:
Can not find -sec MOT -var MOT -num 1
Can not find -sec IO -var IO -num 1
Can not find -sec LINUXCNC -var NML_FILE -num 1
Can not find -sec EMC -var NML_FILE -num 1
17292
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components
configured with: ./configure --prefix=/usr --with-realtime=/usr/realtime --with-kernel-headers=/usr/src/linux-source-2.6.38.8-rtai
Any new thoughts? Should I start a new thread since the topic has so drastically changed?
Please Log in or Create an account to join the conversation.
- mattrcampbell
- Offline
- New Member
Less
More
- Posts: 11
- Thank you received: 0
11 Feb 2013 11:39 #29884
by mattrcampbell
Replied by mattrcampbell on topic hm2 and 7i43 x axis issue
Progress, sort of.
I have upgraded to 2.5.1, but I am having similar results. I see the x,y,zenable pins toggle and I see the direction pins toggle. I do not see PWM output when I try to jog the axis. I am attaching my new hal file and dmesg output.
# Generated by PNCconf at Sun Feb 10 21:53:33 2013
# If you make changes to this file, they will be
# overwritten when you run PNCconf again
loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt probe_parport
loadrt hostmot2
loadrt hm2_7i43 config="firmware=hm2/7i43-4/SVST4_4.BIT num_encoders=4 num_pwmgens=4 num_3pwmgens=0 num_stepgens=0 "
setp hm2_7i43.0.pwmgen.pwm_frequency 100000
setp hm2_7i43.0.pwmgen.pdm_frequency 6000000
setp hm2_7i43.0.watchdog.timeout_ns 10000000
loadrt pid names=pid.x,pid.y,pid.z
addf hm2_7i43.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 hm2_7i43.0.write servo-thread
addf hm2_7i43.0.pet_watchdog servo-thread
# external output signals
# external input signals
#*******************
# 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
net x-index-enable <=> pid.x.index-enable
net x-enable => pid.x.enable
net x-output => pid.x.output
net x-pos-cmd => pid.x.command
net x-vel-fb => pid.x.command-deriv
net x-pos-fb => pid.x.feedback
# ---PWM Generator signals/setup---
setp hm2_7i43.0.pwmgen.01.output-type 1
setp hm2_7i43.0.gpio.006.invert_output 1
setp hm2_7i43.0.pwmgen.01.scale [AXIS_0]OUTPUT_SCALE
net x-output => hm2_7i43.0.pwmgen.01.value
net x-pos-cmd axis.0.motor-pos-cmd
net x-enable axis.0.amp-enable-out => hm2_7i43.0.pwmgen.01.enable
# ---Encoder feedback signals/setup---
setp hm2_7i43.0.encoder.01.counter-mode 0
setp hm2_7i43.0.encoder.01.filter 1
setp hm2_7i43.0.encoder.01.index-invert 0
setp hm2_7i43.0.encoder.01.index-mask 0
setp hm2_7i43.0.encoder.01.index-mask-invert 0
setp hm2_7i43.0.encoder.01.scale [AXIS_0]ENCODER_SCALE
net x-pos-fb <= hm2_7i43.0.encoder.01.position
net x-vel-fb <= hm2_7i43.0.encoder.01.velocity
net x-pos-fb => axis.0.motor-pos-fb
net x-index-enable axis.0.index-enable <=> hm2_7i43.0.encoder.01.index-enable
net x-pos-rawcounts <= hm2_7i43.0.encoder.01.rawcounts
# ---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
net y-index-enable <=> pid.y.index-enable
net y-enable => pid.y.enable
net y-output => pid.y.output
net y-pos-cmd => pid.y.command
net y-vel-fb => pid.y.command-deriv
net y-pos-fb => pid.y.feedback
# ---PWM Generator signals/setup---
setp hm2_7i43.0.pwmgen.00.output-type 1
setp hm2_7i43.0.pwmgen.00.scale [AXIS_1]OUTPUT_SCALE
net y-output => hm2_7i43.0.pwmgen.00.value
net y-pos-cmd axis.1.motor-pos-cmd
net y-enable axis.1.amp-enable-out => hm2_7i43.0.pwmgen.00.enable
# ---Encoder feedback signals/setup---
setp hm2_7i43.0.encoder.00.counter-mode 0
setp hm2_7i43.0.encoder.00.filter 1
setp hm2_7i43.0.encoder.00.index-invert 0
setp hm2_7i43.0.encoder.00.index-mask 0
setp hm2_7i43.0.encoder.00.index-mask-invert 0
setp hm2_7i43.0.encoder.00.scale [AXIS_1]ENCODER_SCALE
net y-pos-fb <= hm2_7i43.0.encoder.00.position
net y-vel-fb <= hm2_7i43.0.encoder.00.velocity
net y-pos-fb => axis.1.motor-pos-fb
net y-index-enable axis.1.index-enable <=> hm2_7i43.0.encoder.00.index-enable
net y-pos-rawcounts <= hm2_7i43.0.encoder.00.rawcounts
# ---setup home / limit switch signals---
net y-home-sw => axis.1.home-sw-in
net y-neg-limit => axis.1.neg-lim-sw-in
net y-pos-limit => 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
net z-index-enable <=> pid.z.index-enable
net z-enable => pid.z.enable
net z-output => pid.z.output
net z-pos-cmd => pid.z.command
net z-vel-fb => pid.z.command-deriv
net z-pos-fb => pid.z.feedback
# ---PWM Generator signals/setup---
setp hm2_7i43.0.pwmgen.03.output-type 1
setp hm2_7i43.0.pwmgen.03.scale [AXIS_2]OUTPUT_SCALE
net z-output => hm2_7i43.0.pwmgen.03.value
net z-pos-cmd axis.2.motor-pos-cmd
net z-enable axis.2.amp-enable-out => hm2_7i43.0.pwmgen.03.enable
# ---Encoder feedback signals/setup---
setp hm2_7i43.0.encoder.03.counter-mode 0
setp hm2_7i43.0.encoder.03.filter 1
setp hm2_7i43.0.encoder.03.index-invert 0
setp hm2_7i43.0.encoder.03.index-mask 0
setp hm2_7i43.0.encoder.03.index-mask-invert 0
setp hm2_7i43.0.encoder.03.scale [AXIS_2]ENCODER_SCALE
net z-pos-fb <= hm2_7i43.0.encoder.03.position
net z-vel-fb <= hm2_7i43.0.encoder.03.velocity
net z-pos-fb => axis.2.motor-pos-fb
net z-index-enable axis.2.index-enable <=> hm2_7i43.0.encoder.03.index-enable
net z-pos-rawcounts <= hm2_7i43.0.encoder.03.rawcounts
# ---setup home / limit switch signals---
net z-home-sw => axis.2.home-sw-in
net z-neg-limit => axis.2.neg-lim-sw-in
net z-pos-limit => axis.2.pos-lim-sw-in
#*******************
# SPINDLE S
#*******************
# ---setup spindle control signals---
net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps
net spindle-vel-cmd <= motion.spindle-speed-out
net spindle-on <= 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 => motion.spindle-speed-in
net spindle-index-enable <=> motion.spindle-index-enable
# ---Setup spindle at speed signals---
sets spindle-at-speed true
#******************************
# 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-out => 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
[171370.201722] I-pipe: Domain RTAI registered.
[171370.201753] RTAI[hal]: <3.9> mounted over IPIPE-NOTHREADS 2.11-02.
[171370.201767] RTAI[hal]: compiled with gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1) .
[171370.201861] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs VECTORED), ISOL_CPUS_MASK: 0).
[171370.201874] PIPELINE layers:
[171370.201888] fb5cb9c0 9ac15d93 RTAI 2147483647
[171370.201900] c08a3600 0 Linux 100
[171370.321765] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[171370.332149] RTAI[sched]: IMMEDIATE, MP, USER/KERNEL SPACE: <with RTAI OWN KTASKs>, <uses LINUX SYSCALLs>, kstacks pool size = 524288 bytes.
[171370.332183] RTAI[sched]: hard timer type/freq = APIC/10415468(Hz); default timing: periodic; linear timed lists.
[171370.332202] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq = 1666223000 hz.
[171370.332215] RTAI[sched]: timer setup = 999 ns, resched latency = 2943 ns.
[171370.642694] RTAI[math]: loaded.
[171370.962402] hm2: loading Mesa HostMot2 driver version 0.15
[171370.983953] hm2_7i43: loading HostMot2 Mesa 7i43 driver version 0.3
[171371.529056] hm2/hm2_7i43.0: 48 I/O Pins used:
[171371.529084] hm2/hm2_7i43.0: IO Pin 000 (P4-01): Encoder #1, pin B (Input)
[171371.529106] hm2/hm2_7i43.0: IO Pin 001 (P4-03): Encoder #1, pin A (Input)
[171371.529126] hm2/hm2_7i43.0: IO Pin 002 (P4-05): Encoder #0, pin B (Input)
[171371.529146] hm2/hm2_7i43.0: IO Pin 003 (P4-07): Encoder #0, pin A (Input)
[171371.529166] hm2/hm2_7i43.0: IO Pin 004 (P4-09): Encoder #1, pin Index (Input)
[171371.529185] hm2/hm2_7i43.0: IO Pin 005 (P4-11): Encoder #0, pin Index (Input)
[171371.529206] hm2/hm2_7i43.0: IO Pin 006 (P4-13): PWMGen #1, pin Out0 (PWM or Up) (Output)
[171371.529228] hm2/hm2_7i43.0: IO Pin 007 (P4-15): PWMGen #0, pin Out0 (PWM or Up) (Output)
[171371.529250] hm2/hm2_7i43.0: IO Pin 008 (P4-17): PWMGen #1, pin Out1 (Dir or Down) (Output)
[171371.529272] hm2/hm2_7i43.0: IO Pin 009 (P4-19): PWMGen #0, pin Out1 (Dir or Down) (Output)
[171371.529293] hm2/hm2_7i43.0: IO Pin 010 (P4-21): PWMGen #1, pin Not-Enable (Output)
[171371.529314] hm2/hm2_7i43.0: IO Pin 011 (P4-23): PWMGen #0, pin Not-Enable (Output)
[171371.529334] hm2/hm2_7i43.0: IO Pin 012 (P4-25): Encoder #3, pin B (Input)
[171371.529353] hm2/hm2_7i43.0: IO Pin 013 (P4-27): Encoder #3, pin A (Input)
[171371.529372] hm2/hm2_7i43.0: IO Pin 014 (P4-29): Encoder #2, pin B (Input)
[171371.529392] hm2/hm2_7i43.0: IO Pin 015 (P4-31): Encoder #2, pin A (Input)
[171371.529412] hm2/hm2_7i43.0: IO Pin 016 (P4-33): Encoder #3, pin Index (Input)
[171371.529431] hm2/hm2_7i43.0: IO Pin 017 (P4-35): Encoder #2, pin Index (Input)
[171371.529461] hm2/hm2_7i43.0: IO Pin 018 (P4-37): PWMGen #3, pin Out0 (PWM or Up) (Output)
[171371.529483] hm2/hm2_7i43.0: IO Pin 019 (P4-39): PWMGen #2, pin Out0 (PWM or Up) (Output)
[171371.529505] hm2/hm2_7i43.0: IO Pin 020 (P4-41): PWMGen #3, pin Out1 (Dir or Down) (Output)
[171371.529527] hm2/hm2_7i43.0: IO Pin 021 (P4-43): PWMGen #2, pin Out1 (Dir or Down) (Output)
[171371.529548] hm2/hm2_7i43.0: IO Pin 022 (P4-45): PWMGen #3, pin Not-Enable (Output)
[171371.529569] hm2/hm2_7i43.0: IO Pin 023 (P4-47): PWMGen #2, pin Not-Enable (Output)
[171371.529587] hm2/hm2_7i43.0: IO Pin 024 (P3-01): IOPort
[171371.529603] hm2/hm2_7i43.0: IO Pin 025 (P3-03): IOPort
[171371.529619] hm2/hm2_7i43.0: IO Pin 026 (P3-05): IOPort
[171371.529635] hm2/hm2_7i43.0: IO Pin 027 (P3-07): IOPort
[171371.529651] hm2/hm2_7i43.0: IO Pin 028 (P3-09): IOPort
[171371.529667] hm2/hm2_7i43.0: IO Pin 029 (P3-11): IOPort
[171371.529684] hm2/hm2_7i43.0: IO Pin 030 (P3-13): IOPort
[171371.529700] hm2/hm2_7i43.0: IO Pin 031 (P3-15): IOPort
[171371.529716] hm2/hm2_7i43.0: IO Pin 032 (P3-17): IOPort
[171371.529733] hm2/hm2_7i43.0: IO Pin 033 (P3-19): IOPort
[171371.529749] hm2/hm2_7i43.0: IO Pin 034 (P3-21): IOPort
[171371.529765] hm2/hm2_7i43.0: IO Pin 035 (P3-23): IOPort
[171371.529782] hm2/hm2_7i43.0: IO Pin 036 (P3-25): IOPort
[171371.529798] hm2/hm2_7i43.0: IO Pin 037 (P3-27): IOPort
[171371.529814] hm2/hm2_7i43.0: IO Pin 038 (P3-29): IOPort
[171371.529830] hm2/hm2_7i43.0: IO Pin 039 (P3-31): IOPort
[171371.529846] hm2/hm2_7i43.0: IO Pin 040 (P3-33): IOPort
[171371.529863] hm2/hm2_7i43.0: IO Pin 041 (P3-35): IOPort
[171371.529879] hm2/hm2_7i43.0: IO Pin 042 (P3-37): IOPort
[171371.529896] hm2/hm2_7i43.0: IO Pin 043 (P3-39): IOPort
[171371.529912] hm2/hm2_7i43.0: IO Pin 044 (P3-41): IOPort
[171371.529928] hm2/hm2_7i43.0: IO Pin 045 (P3-43): IOPort
[171371.529945] hm2/hm2_7i43.0: IO Pin 046 (P3-45): IOPort
[171371.529962] hm2/hm2_7i43.0: IO Pin 047 (P3-47): IOPort
[171371.530164] hm2/hm2_7i43.0: registered
[171371.530185] hm2_7i43.0: board at (ioaddr=0x0378, ioaddr_hi=0x0778, epp_wide ON) found
I have upgraded to 2.5.1, but I am having similar results. I see the x,y,zenable pins toggle and I see the direction pins toggle. I do not see PWM output when I try to jog the axis. I am attaching my new hal file and dmesg output.
# Generated by PNCconf at Sun Feb 10 21:53:33 2013
# If you make changes to this file, they will be
# overwritten when you run PNCconf again
loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt probe_parport
loadrt hostmot2
loadrt hm2_7i43 config="firmware=hm2/7i43-4/SVST4_4.BIT num_encoders=4 num_pwmgens=4 num_3pwmgens=0 num_stepgens=0 "
setp hm2_7i43.0.pwmgen.pwm_frequency 100000
setp hm2_7i43.0.pwmgen.pdm_frequency 6000000
setp hm2_7i43.0.watchdog.timeout_ns 10000000
loadrt pid names=pid.x,pid.y,pid.z
addf hm2_7i43.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 hm2_7i43.0.write servo-thread
addf hm2_7i43.0.pet_watchdog servo-thread
# external output signals
# external input signals
#*******************
# 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
net x-index-enable <=> pid.x.index-enable
net x-enable => pid.x.enable
net x-output => pid.x.output
net x-pos-cmd => pid.x.command
net x-vel-fb => pid.x.command-deriv
net x-pos-fb => pid.x.feedback
# ---PWM Generator signals/setup---
setp hm2_7i43.0.pwmgen.01.output-type 1
setp hm2_7i43.0.gpio.006.invert_output 1
setp hm2_7i43.0.pwmgen.01.scale [AXIS_0]OUTPUT_SCALE
net x-output => hm2_7i43.0.pwmgen.01.value
net x-pos-cmd axis.0.motor-pos-cmd
net x-enable axis.0.amp-enable-out => hm2_7i43.0.pwmgen.01.enable
# ---Encoder feedback signals/setup---
setp hm2_7i43.0.encoder.01.counter-mode 0
setp hm2_7i43.0.encoder.01.filter 1
setp hm2_7i43.0.encoder.01.index-invert 0
setp hm2_7i43.0.encoder.01.index-mask 0
setp hm2_7i43.0.encoder.01.index-mask-invert 0
setp hm2_7i43.0.encoder.01.scale [AXIS_0]ENCODER_SCALE
net x-pos-fb <= hm2_7i43.0.encoder.01.position
net x-vel-fb <= hm2_7i43.0.encoder.01.velocity
net x-pos-fb => axis.0.motor-pos-fb
net x-index-enable axis.0.index-enable <=> hm2_7i43.0.encoder.01.index-enable
net x-pos-rawcounts <= hm2_7i43.0.encoder.01.rawcounts
# ---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
net y-index-enable <=> pid.y.index-enable
net y-enable => pid.y.enable
net y-output => pid.y.output
net y-pos-cmd => pid.y.command
net y-vel-fb => pid.y.command-deriv
net y-pos-fb => pid.y.feedback
# ---PWM Generator signals/setup---
setp hm2_7i43.0.pwmgen.00.output-type 1
setp hm2_7i43.0.pwmgen.00.scale [AXIS_1]OUTPUT_SCALE
net y-output => hm2_7i43.0.pwmgen.00.value
net y-pos-cmd axis.1.motor-pos-cmd
net y-enable axis.1.amp-enable-out => hm2_7i43.0.pwmgen.00.enable
# ---Encoder feedback signals/setup---
setp hm2_7i43.0.encoder.00.counter-mode 0
setp hm2_7i43.0.encoder.00.filter 1
setp hm2_7i43.0.encoder.00.index-invert 0
setp hm2_7i43.0.encoder.00.index-mask 0
setp hm2_7i43.0.encoder.00.index-mask-invert 0
setp hm2_7i43.0.encoder.00.scale [AXIS_1]ENCODER_SCALE
net y-pos-fb <= hm2_7i43.0.encoder.00.position
net y-vel-fb <= hm2_7i43.0.encoder.00.velocity
net y-pos-fb => axis.1.motor-pos-fb
net y-index-enable axis.1.index-enable <=> hm2_7i43.0.encoder.00.index-enable
net y-pos-rawcounts <= hm2_7i43.0.encoder.00.rawcounts
# ---setup home / limit switch signals---
net y-home-sw => axis.1.home-sw-in
net y-neg-limit => axis.1.neg-lim-sw-in
net y-pos-limit => 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
net z-index-enable <=> pid.z.index-enable
net z-enable => pid.z.enable
net z-output => pid.z.output
net z-pos-cmd => pid.z.command
net z-vel-fb => pid.z.command-deriv
net z-pos-fb => pid.z.feedback
# ---PWM Generator signals/setup---
setp hm2_7i43.0.pwmgen.03.output-type 1
setp hm2_7i43.0.pwmgen.03.scale [AXIS_2]OUTPUT_SCALE
net z-output => hm2_7i43.0.pwmgen.03.value
net z-pos-cmd axis.2.motor-pos-cmd
net z-enable axis.2.amp-enable-out => hm2_7i43.0.pwmgen.03.enable
# ---Encoder feedback signals/setup---
setp hm2_7i43.0.encoder.03.counter-mode 0
setp hm2_7i43.0.encoder.03.filter 1
setp hm2_7i43.0.encoder.03.index-invert 0
setp hm2_7i43.0.encoder.03.index-mask 0
setp hm2_7i43.0.encoder.03.index-mask-invert 0
setp hm2_7i43.0.encoder.03.scale [AXIS_2]ENCODER_SCALE
net z-pos-fb <= hm2_7i43.0.encoder.03.position
net z-vel-fb <= hm2_7i43.0.encoder.03.velocity
net z-pos-fb => axis.2.motor-pos-fb
net z-index-enable axis.2.index-enable <=> hm2_7i43.0.encoder.03.index-enable
net z-pos-rawcounts <= hm2_7i43.0.encoder.03.rawcounts
# ---setup home / limit switch signals---
net z-home-sw => axis.2.home-sw-in
net z-neg-limit => axis.2.neg-lim-sw-in
net z-pos-limit => axis.2.pos-lim-sw-in
#*******************
# SPINDLE S
#*******************
# ---setup spindle control signals---
net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps
net spindle-vel-cmd <= motion.spindle-speed-out
net spindle-on <= 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 => motion.spindle-speed-in
net spindle-index-enable <=> motion.spindle-index-enable
# ---Setup spindle at speed signals---
sets spindle-at-speed true
#******************************
# 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-out => 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
[171370.201722] I-pipe: Domain RTAI registered.
[171370.201753] RTAI[hal]: <3.9> mounted over IPIPE-NOTHREADS 2.11-02.
[171370.201767] RTAI[hal]: compiled with gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1) .
[171370.201861] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs VECTORED), ISOL_CPUS_MASK: 0).
[171370.201874] PIPELINE layers:
[171370.201888] fb5cb9c0 9ac15d93 RTAI 2147483647
[171370.201900] c08a3600 0 Linux 100
[171370.321765] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[171370.332149] RTAI[sched]: IMMEDIATE, MP, USER/KERNEL SPACE: <with RTAI OWN KTASKs>, <uses LINUX SYSCALLs>, kstacks pool size = 524288 bytes.
[171370.332183] RTAI[sched]: hard timer type/freq = APIC/10415468(Hz); default timing: periodic; linear timed lists.
[171370.332202] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq = 1666223000 hz.
[171370.332215] RTAI[sched]: timer setup = 999 ns, resched latency = 2943 ns.
[171370.642694] RTAI[math]: loaded.
[171370.962402] hm2: loading Mesa HostMot2 driver version 0.15
[171370.983953] hm2_7i43: loading HostMot2 Mesa 7i43 driver version 0.3
[171371.529056] hm2/hm2_7i43.0: 48 I/O Pins used:
[171371.529084] hm2/hm2_7i43.0: IO Pin 000 (P4-01): Encoder #1, pin B (Input)
[171371.529106] hm2/hm2_7i43.0: IO Pin 001 (P4-03): Encoder #1, pin A (Input)
[171371.529126] hm2/hm2_7i43.0: IO Pin 002 (P4-05): Encoder #0, pin B (Input)
[171371.529146] hm2/hm2_7i43.0: IO Pin 003 (P4-07): Encoder #0, pin A (Input)
[171371.529166] hm2/hm2_7i43.0: IO Pin 004 (P4-09): Encoder #1, pin Index (Input)
[171371.529185] hm2/hm2_7i43.0: IO Pin 005 (P4-11): Encoder #0, pin Index (Input)
[171371.529206] hm2/hm2_7i43.0: IO Pin 006 (P4-13): PWMGen #1, pin Out0 (PWM or Up) (Output)
[171371.529228] hm2/hm2_7i43.0: IO Pin 007 (P4-15): PWMGen #0, pin Out0 (PWM or Up) (Output)
[171371.529250] hm2/hm2_7i43.0: IO Pin 008 (P4-17): PWMGen #1, pin Out1 (Dir or Down) (Output)
[171371.529272] hm2/hm2_7i43.0: IO Pin 009 (P4-19): PWMGen #0, pin Out1 (Dir or Down) (Output)
[171371.529293] hm2/hm2_7i43.0: IO Pin 010 (P4-21): PWMGen #1, pin Not-Enable (Output)
[171371.529314] hm2/hm2_7i43.0: IO Pin 011 (P4-23): PWMGen #0, pin Not-Enable (Output)
[171371.529334] hm2/hm2_7i43.0: IO Pin 012 (P4-25): Encoder #3, pin B (Input)
[171371.529353] hm2/hm2_7i43.0: IO Pin 013 (P4-27): Encoder #3, pin A (Input)
[171371.529372] hm2/hm2_7i43.0: IO Pin 014 (P4-29): Encoder #2, pin B (Input)
[171371.529392] hm2/hm2_7i43.0: IO Pin 015 (P4-31): Encoder #2, pin A (Input)
[171371.529412] hm2/hm2_7i43.0: IO Pin 016 (P4-33): Encoder #3, pin Index (Input)
[171371.529431] hm2/hm2_7i43.0: IO Pin 017 (P4-35): Encoder #2, pin Index (Input)
[171371.529461] hm2/hm2_7i43.0: IO Pin 018 (P4-37): PWMGen #3, pin Out0 (PWM or Up) (Output)
[171371.529483] hm2/hm2_7i43.0: IO Pin 019 (P4-39): PWMGen #2, pin Out0 (PWM or Up) (Output)
[171371.529505] hm2/hm2_7i43.0: IO Pin 020 (P4-41): PWMGen #3, pin Out1 (Dir or Down) (Output)
[171371.529527] hm2/hm2_7i43.0: IO Pin 021 (P4-43): PWMGen #2, pin Out1 (Dir or Down) (Output)
[171371.529548] hm2/hm2_7i43.0: IO Pin 022 (P4-45): PWMGen #3, pin Not-Enable (Output)
[171371.529569] hm2/hm2_7i43.0: IO Pin 023 (P4-47): PWMGen #2, pin Not-Enable (Output)
[171371.529587] hm2/hm2_7i43.0: IO Pin 024 (P3-01): IOPort
[171371.529603] hm2/hm2_7i43.0: IO Pin 025 (P3-03): IOPort
[171371.529619] hm2/hm2_7i43.0: IO Pin 026 (P3-05): IOPort
[171371.529635] hm2/hm2_7i43.0: IO Pin 027 (P3-07): IOPort
[171371.529651] hm2/hm2_7i43.0: IO Pin 028 (P3-09): IOPort
[171371.529667] hm2/hm2_7i43.0: IO Pin 029 (P3-11): IOPort
[171371.529684] hm2/hm2_7i43.0: IO Pin 030 (P3-13): IOPort
[171371.529700] hm2/hm2_7i43.0: IO Pin 031 (P3-15): IOPort
[171371.529716] hm2/hm2_7i43.0: IO Pin 032 (P3-17): IOPort
[171371.529733] hm2/hm2_7i43.0: IO Pin 033 (P3-19): IOPort
[171371.529749] hm2/hm2_7i43.0: IO Pin 034 (P3-21): IOPort
[171371.529765] hm2/hm2_7i43.0: IO Pin 035 (P3-23): IOPort
[171371.529782] hm2/hm2_7i43.0: IO Pin 036 (P3-25): IOPort
[171371.529798] hm2/hm2_7i43.0: IO Pin 037 (P3-27): IOPort
[171371.529814] hm2/hm2_7i43.0: IO Pin 038 (P3-29): IOPort
[171371.529830] hm2/hm2_7i43.0: IO Pin 039 (P3-31): IOPort
[171371.529846] hm2/hm2_7i43.0: IO Pin 040 (P3-33): IOPort
[171371.529863] hm2/hm2_7i43.0: IO Pin 041 (P3-35): IOPort
[171371.529879] hm2/hm2_7i43.0: IO Pin 042 (P3-37): IOPort
[171371.529896] hm2/hm2_7i43.0: IO Pin 043 (P3-39): IOPort
[171371.529912] hm2/hm2_7i43.0: IO Pin 044 (P3-41): IOPort
[171371.529928] hm2/hm2_7i43.0: IO Pin 045 (P3-43): IOPort
[171371.529945] hm2/hm2_7i43.0: IO Pin 046 (P3-45): IOPort
[171371.529962] hm2/hm2_7i43.0: IO Pin 047 (P3-47): IOPort
[171371.530164] hm2/hm2_7i43.0: registered
[171371.530185] hm2_7i43.0: board at (ioaddr=0x0378, ioaddr_hi=0x0778, epp_wide ON) found
Please Log in or Create an account to join the conversation.
Moderators: cmorley
Time to create page: 0.159 seconds