PNCCONF Spindle Issue - Linuxcnc 2.7
- MacGalempsy
- Offline
- Senior Member
Less
More
- Posts: 70
- Thank you received: 2
28 Sep 2015 08:36 #63103
by MacGalempsy
PNCCONF Spindle Issue - Linuxcnc 2.7 was created by MacGalempsy
I am curious if anyone else is having issues with PNCCONF not putting out a correct HAL file when dealing with a PWM spindle?
When using PNCCONF, I can get the spindle to operate perfectly correct when doing the live test on the Spindle page. However, after finalizing the settings and exporting the files, the spindle does not get above 0.024V when the spindle is enabled. It will not increase speed when manually increasing the speed with the + button in AXIS. Noticeably, the settings for the GS2 vfd needed to be deactivated after the first attempt to run the configured HAL file, even though those selections were skipped in the setup phase... After about a week of trying to figure this one out, I need some help getting it going. This is the last thing needed to make first cuts on the machine. Any chance anyone else has had this problem? Can I get some help figuring out what PNCCONF is not putting in the output file?
The link has the basic HAL and INI files. Any help will be much appreciated.
When using PNCCONF, I can get the spindle to operate perfectly correct when doing the live test on the Spindle page. However, after finalizing the settings and exporting the files, the spindle does not get above 0.024V when the spindle is enabled. It will not increase speed when manually increasing the speed with the + button in AXIS. Noticeably, the settings for the GS2 vfd needed to be deactivated after the first attempt to run the configured HAL file, even though those selections were skipped in the setup phase... After about a week of trying to figure this one out, I need some help getting it going. This is the last thing needed to make first cuts on the machine. Any chance anyone else has had this problem? Can I get some help figuring out what PNCCONF is not putting in the output file?
The link has the basic HAL and INI files. Any help will be much appreciated.
Please Log in or Create an account to join the conversation.
28 Sep 2015 11:23 - 28 Sep 2015 11:38 #63108
by PCW
Replied by PCW on topic PNCCONF Spindle Issue - Linuxcnc 2.7
pncconf has a couple errors with spindle setup
one is connecting the hardware spindle enable to machine on instead of spindle on
and the other is that the spindle speed from motion is not connected to the correct signal
one is connecting the hardware spindle enable to machine on instead of spindle on
and the other is that the spindle speed from motion is not connected to the correct signal
Last edit: 28 Sep 2015 11:38 by PCW.
Please Log in or Create an account to join the conversation.
28 Sep 2015 11:29 #63111
by cmorley
Replied by cmorley on topic PNCCONF Spindle Issue - Linuxcnc 2.7
Does this cover it?
sourceforge.net/p/emc/bugs/433/
sourceforge.net/p/emc/bugs/433/
Please Log in or Create an account to join the conversation.
28 Sep 2015 11:38 #63112
by PCW
Replied by PCW on topic PNCCONF Spindle Issue - Linuxcnc 2.7
Yes those are the errors that I (sort of) recall
Please Log in or Create an account to join the conversation.
- MacGalempsy
- Offline
- Senior Member
Less
More
- Posts: 70
- Thank you received: 2
28 Sep 2015 18:36 #63131
by MacGalempsy
Replied by MacGalempsy on topic PNCCONF Spindle Issue - Linuxcnc 2.7
Those corrections still did not fix the problem. I tried setting up a new basic xyz & s, but now the open-loop test errors for the spindle when it is attempted to be opened.
Please Log in or Create an account to join the conversation.
28 Sep 2015 21:03 #63145
by cncbasher
Replied by cncbasher on topic PNCCONF Spindle Issue - Linuxcnc 2.7
could you post your configuration files as a archive to your post
have you set the max and min spindle voltages in your ini file under [spindle]?
have you set the max and min spindle voltages in your ini file under [spindle]?
Please Log in or Create an account to join the conversation.
28 Sep 2015 21:58 #63151
by PCW
Replied by PCW on topic PNCCONF Spindle Issue - Linuxcnc 2.7
Whats was the error message? (and hal line with the error)
Most likely there is a typo somewhere
Most likely there is a typo somewhere
Please Log in or Create an account to join the conversation.
- MacGalempsy
- Offline
- Senior Member
Less
More
- Posts: 70
- Thank you received: 2
29 Sep 2015 05:30 - 29 Sep 2015 05:32 #63168
by MacGalempsy
Replied by MacGalempsy on topic PNCCONF Spindle Issue - Linuxcnc 2.7
# Generated by PNCconf at Mon Sep 14 12:03:23 2015
# Edited by Aaron Laubhan
# 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 hostmot2
loadrt hm2_pci config=" num_encoders=6 num_pwmgens=0 num_stepgens=0 sserial_port_0=200xxx"
setp hm2_5i25.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.z,pid.a,pid.s
loadrt abs names=abs.spindle
loadrt lowpass names=lowpass.spindle
loadrt scale names=scale.spindle
loadrt classicladder_rt numPhysInputs=15 numPhysOutputs=15 numS32in=10 numS32out=10 numFloatIn=10 numFloatOut=10 numBits=50 numWords=50
loadrt toggle2nist count=2
addf hm2_5i25.0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf pid.x.do-pid-calcs servo-thread
addf pid.y.do-pid-calcs servo-thread
addf pid.z.do-pid-calcs servo-thread
addf pid.a.do-pid-calcs servo-thread
addf pid.s.do-pid-calcs servo-thread
addf classicladder.0.refresh servo-thread
addf scale.spindle servo-thread
addf abs.spindle servo-thread
addf lowpass.spindle servo-thread
addf hm2_5i25.0.write servo-thread
addf toggle2nist.0 servo-thread
addf toggle2nist.1 servo-thread
#*******************
# 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
# ---Amplifier Signals---
net x-reset => hm2_5i25.0.7i77.0.0.output-00
net x-enable => hm2_5i25.0.7i77.0.0.output-04
net x-fault-indicator <= hm2_5i25.0.7i77.0.0.input-24
# ---PWM Generator signals/setup---
setp hm2_5i25.0.7i77.0.1.analogout0-scalemax [AXIS_0]OUTPUT_SCALE
setp hm2_5i25.0.7i77.0.1.analogout0-minlim [AXIS_0]OUTPUT_MIN_LIMIT
setp hm2_5i25.0.7i77.0.1.analogout0-maxlim [AXIS_0]OUTPUT_MAX_LIMIT
net x-output => hm2_5i25.0.7i77.0.1.analogout0
net x-pos-cmd axis.0.motor-pos-cmd
net x-enable axis.0.amp-enable-out
# enable _all_ sserial pwmgens
net x-enable hm2_5i25.0.7i77.0.1.analogena
# ---Encoder feedback signals/setup---
setp hm2_5i25.0.encoder.00.counter-mode 0
setp hm2_5i25.0.encoder.00.filter 1
setp hm2_5i25.0.encoder.00.index-invert 0
setp hm2_5i25.0.encoder.00.index-mask 0
setp hm2_5i25.0.encoder.00.index-mask-invert 0
setp hm2_5i25.0.encoder.00.scale [AXIS_0]ENCODER_SCALE
net x-pos-fb <= hm2_5i25.0.encoder.00.position
net x-vel-fb <= hm2_5i25.0.encoder.00.velocity
net x-pos-fb => axis.0.motor-pos-fb
net x-index-enable axis.0.index-enable <=> hm2_5i25.0.encoder.00.index-enable
net x-pos-rawcounts <= hm2_5i25.0.encoder.00.rawcounts
# ---setup home / limit switch signals---
net x-home-sw => axis.0.home-sw-in
net min-x => 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
# ---Amplifier Signals---
net y-reset => hm2_5i25.0.7i77.0.0.output-01
net y-enable => hm2_5i25.0.7i77.0.0.output-05
net y-fault-indicator <= hm2_5i25.0.7i77.0.0.input-25
# ---PWM Generator signals/setup---
setp hm2_5i25.0.7i77.0.1.analogout1-scalemax [AXIS_1]OUTPUT_SCALE
setp hm2_5i25.0.7i77.0.1.analogout1-minlim [AXIS_1]OUTPUT_MIN_LIMIT
setp hm2_5i25.0.7i77.0.1.analogout1-maxlim [AXIS_1]OUTPUT_MAX_LIMIT
net y-output => hm2_5i25.0.7i77.0.1.analogout1
net y-pos-cmd axis.1.motor-pos-cmd
net y-enable axis.1.amp-enable-out
# ---Encoder feedback signals/setup---
setp hm2_5i25.0.encoder.01.counter-mode 0
setp hm2_5i25.0.encoder.01.filter 1
setp hm2_5i25.0.encoder.01.index-invert 0
setp hm2_5i25.0.encoder.01.index-mask 0
setp hm2_5i25.0.encoder.01.index-mask-invert 0
setp hm2_5i25.0.encoder.01.scale [AXIS_1]ENCODER_SCALE
net y-pos-fb <= hm2_5i25.0.encoder.01.position
net y-vel-fb <= hm2_5i25.0.encoder.01.velocity
net y-pos-fb => axis.1.motor-pos-fb
net y-index-enable axis.1.index-enable <=> hm2_5i25.0.encoder.01.index-enable
net y-pos-rawcounts <= hm2_5i25.0.encoder.01.rawcounts
# ---setup home / limit switch signals---
net max-home-y => axis.1.home-sw-in
net min-y => axis.1.neg-lim-sw-in
net max-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
# ---Amplifier Signals---
net z-reset => hm2_5i25.0.7i77.0.0.output-02
net z-enable => hm2_5i25.0.7i77.0.0.output-06
net z-fault-indicator <= hm2_5i25.0.7i77.0.0.input-26
# ---PWM Generator signals/setup---
setp hm2_5i25.0.7i77.0.1.analogout2-scalemax [AXIS_2]OUTPUT_SCALE
setp hm2_5i25.0.7i77.0.1.analogout2-minlim [AXIS_2]OUTPUT_MIN_LIMIT
setp hm2_5i25.0.7i77.0.1.analogout2-maxlim [AXIS_2]OUTPUT_MAX_LIMIT
net z-output => hm2_5i25.0.7i77.0.1.analogout2
net z-pos-cmd axis.2.motor-pos-cmd
net z-enable axis.2.amp-enable-out
# ---Encoder feedback signals/setup---
setp hm2_5i25.0.encoder.02.counter-mode 0
setp hm2_5i25.0.encoder.02.filter 1
setp hm2_5i25.0.encoder.02.index-invert 0
setp hm2_5i25.0.encoder.02.index-mask 0
setp hm2_5i25.0.encoder.02.index-mask-invert 0
setp hm2_5i25.0.encoder.02.scale [AXIS_2]ENCODER_SCALE
net z-pos-fb <= hm2_5i25.0.encoder.02.position
net z-vel-fb <= hm2_5i25.0.encoder.02.velocity
net z-pos-fb => axis.2.motor-pos-fb
net z-index-enable axis.2.index-enable <=> hm2_5i25.0.encoder.02.index-enable
net z-pos-rawcounts <= hm2_5i25.0.encoder.02.rawcounts
# ---setup home / limit switch signals---
net max-home-z => axis.2.home-sw-in
net min-z => axis.2.neg-lim-sw-in
net max-home-z => axis.2.pos-lim-sw-in
#*******************
# AXIS A
#*******************
setp pid.a.Pgain [AXIS_3]P
setp pid.a.Igain [AXIS_3]I
setp pid.a.Dgain [AXIS_3]D
setp pid.a.bias [AXIS_3]BIAS
setp pid.a.FF0 [AXIS_3]FF0
setp pid.a.FF1 [AXIS_3]FF1
setp pid.a.FF2 [AXIS_3]FF2
setp pid.a.deadband [AXIS_3]DEADBAND
setp pid.a.maxoutput [AXIS_3]MAX_OUTPUT
setp pid.a.error-previous-target true
setp pid.a.maxerror .0005
net a-index-enable <=> pid.a.index-enable
net a-enable => pid.a.enable
net a-pos-cmd => pid.a.command
net a-vel-cmd => pid.a.command-deriv
net a-pos-fb => pid.a.feedback
net a-output => pid.a.output
# ---A-AXIS Install Loop---
net a-axis-installed <= hm2_5i25.0.7i77.0.0.input-29
# ---Amplifier Signals---
net a-reset => hm2_5i25.0.7i77.0.0.output-03
net a-enable => hm2_5i25.0.7i77.0.0.output-07
net a-fault-indicator <= hm2_5i25.0.7i77.0.0.input-27
# ---PWM Generator signals/setup---
setp hm2_5i25.0.7i77.0.1.analogout3-scalemax [AXIS_3]OUTPUT_SCALE
setp hm2_5i25.0.7i77.0.1.analogout3-minlim [AXIS_3]OUTPUT_MIN_LIMIT
setp hm2_5i25.0.7i77.0.1.analogout3-maxlim [AXIS_3]OUTPUT_MAX_LIMIT
net a-output => hm2_5i25.0.7i77.0.1.analogout3
net a-pos-cmd axis.3.motor-pos-cmd
net a-enable axis.3.amp-enable-out
# ---Encoder feedback signals/setup---
setp hm2_5i25.0.encoder.04.counter-mode 0
setp hm2_5i25.0.encoder.04.filter 1
setp hm2_5i25.0.encoder.04.index-invert 0
setp hm2_5i25.0.encoder.04.index-mask 0
setp hm2_5i25.0.encoder.04.index-mask-invert 0
setp hm2_5i25.0.encoder.04.scale [AXIS_3]ENCODER_SCALE
net a-pos-fb <= hm2_5i25.0.encoder.04.position
net a-vel-fb <= hm2_5i25.0.encoder.04.velocity
net a-pos-fb => axis.3.motor-pos-fb
net a-index-enable axis.3.index-enable <=> hm2_5i25.0.encoder.04.index-enable
net a-pos-rawcounts <= hm2_5i25.0.encoder.04.rawcounts
# ---setup home / limit switch signals---
net max-home-a => axis.3.home-sw-in
net a-neg-limit => axis.3.neg-lim-sw-in
net max-home-a => axis.3.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
setp pid.s.index-enable 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
# ---VFD Signals---
# net spindle_current <= hm2_5i25.0.7i77.0.0.analogin0
net spindle-fault-indicator <= hm2_5i25.0.7i77.0.0.input-28
net spindle-enable => hm2_5i25.0.7i77.0.0.output-08
net spindle-reset => hm2_5i25.0.7i77.0.0.output-09
# net <CONNECTED-NOT-SET-VFD-IN1> => hm2_5i25.0.7i77.0.0.output-10
# net <CONNECTED-NOT-SET-VFD-IN3> => hm2_5i25.0.7i77.0.0.output-12
# ---PWM Generator signals/setup---
setp hm2_5i25.0.7i77.0.1.analogout5-scalemax [SPINDLE_9]OUTPUT_SCALE
setp hm2_5i25.0.7i77.0.1.analogout5-minlim [SPINDLE_9]OUTPUT_MIN_LIMIT
setp hm2_5i25.0.7i77.0.1.analogout5-maxlim [SPINDLE_9]OUTPUT_MAX_LIMIT
net spindle-vel-cmd-rpm-abs => hm2_5i25.0.7i77.0.1.analogout5
net spindle-enable <= motion.spindle-on
# ---Encoder feedback signals/setup---
setp hm2_5i25.0.encoder.05.counter-mode 0
setp hm2_5i25.0.encoder.05.filter 1
setp hm2_5i25.0.encoder.05.index-invert 0
setp hm2_5i25.0.encoder.05.index-mask 0
setp hm2_5i25.0.encoder.05.index-mask-invert 0
setp hm2_5i25.0.encoder.05.scale [SPINDLE_9]ENCODER_SCALE
net spindle-revs <= hm2_5i25.0.encoder.05.position
net spindle-vel-fb-rps <= hm2_5i25.0.encoder.05.velocity
net spindle-index-enable <=> hm2_5i25.0.encoder.05.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-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 joint-select-d halui.joint.3.select
net a-is-homed halui.joint.3.is-homed
net jog-a-pos halui.jog.3.plus
net jog-a-neg halui.jog.3.minus
net jog-a-analog halui.jog.3.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 jog-speed halui.jog-speed
net MDI-mode halui.mode.is-mdi
#******************************
# connect Control Panel signals
#******************************
net sso <= hm2_5i25.0.7i77.0.0.analogin1
# Poteniometer- 0-24V; 50-150%
net fro-raw halui.feed-override.scale <= hm2_5i25.0.7i77.0.0.analogin2
setp halui.feed-override.counts 200
# Potentiometer- 0-24V; 0-200%
net on-button toggle2nist.0.in <= hm2_5i25.0.7i77.0.0.input-04-not
net on-button-is-on toggle2nist.0.is-on <= halui.machine.is-on
net on-button-on halui.machine.on <= toggle2nist.0.on
# On = +24V, Off = +0V
# 06 Signal Source- Toggle Button on the physical machine panel, shared with Off,
net off-button toggle2nist.1.in <= hm2_5i25.0.7i77.0.0.input-05
# net off-button-is-on toggle2nist.1.is-on <= halui.machine.is-on
# net off-button-on halui.machine.off <=toggle2nist.1.on
# On = +0V, Off = +24V
net estop-ext <= hm2_5i25.0.7i77.0.0.input-06
net pv1 <= hm2_5i25.0.7i77.0.0.input-07-not
# "Platter Up/Down" toggle button opens PV1, Button Out = +24v, Button In = +0v
net atc-index <= hm2_5i25.0.7i77.0.0.input-08-not
# "Index Platter" momentary button, rotate ATC 1 tool, Button Out = +24v, Button In = +0v
net open-drawbar <= hm2_5i25.0.7i77.0.0.input-09-not
# "Drawbar Clamp/Unclamp" toggle button, Button Out = +24v, Button In = +0v
net cycle-start halui.program.run <= hm2_5i25.0.7i77.0.0.input-12
# "Cycle Start" Momentary button, Button Out = +0v, Button In = +24v
net abort halui.abort <= hm2_5i25.0.7i77.0.0.input-13-not
# "Cycle Stop" momentary button, Button Out = +24v, Button In = +0v
#**************************************
# connect Electronic Door Lock signals
#**************************************
net door-locked-indicator <= hm2_5i25.0.7i77.0.0.input-14
# Door Locked = +24V, Door Unlocked = +0v, PYVCP, LOCKED = GREEN, UNLOCKED = RED <DOOR HAS TO BE CLOSED TO WORK>
net door-closed-indicator hm2_5i25.0.7i77.0.0.input-15
# Door Closed = +24V, Door Open = +0V, PYVCP, DOOR CLOSED = GREEN, OPEN = RED
net door-locked => hm2_5i25.0.7i77.0.0.output-11
# TRUE = DOOR LOCKED
# --- ENDSTOPS ---
net x-min-home <= hm2_5i25.0.7i77.0.0.input-16-not
net x-max <= hm2_5i25.0.7i77.0.0.input-17-not
net y-min-home <= hm2_5i25.0.7i77.0.0.input-18-not
net y-max <= hm2_5i25.0.7i77.0.0.input-19-not
net z-max-home <= hm2_5i25.0.7i77.0.0.input-20-not
net z-min <= hm2_5i25.0.7i77.0.0.input-21-not
#**************************************
# connect ATC signals
#**************************************
net act1-a <= hm2_5i25.0.7i84.0.2.input-03
# Endstop 1 - Pneumatic Actuator 1 (CARRIAGE HOME/UP, PV1 = FALSE)
net act1-b <= hm2_5i25.0.7i84.0.2.input-04
# Endstop 2 - Pneumatic Actuator 1 (CARRIAGE DOWN; PV1 = TRUE)
net act2-a <= hm2_5i25.0.7i84.0.2.input-05
# Endstop 1 - Pneumatic Actuator 2 (CARRIAGE HOME/IN, PV2 = FALSE)
net act2-b <= hm2_5i25.0.7i84.0.2.input-06
# Endstop 2 - Pneumatic Actuator 2 (CARRIAGE OUT = UNDER SPINDLE, PV2 = TRUE)
net act3-a <= hm2_5i25.0.7i84.0.2.input-07
# Endstop 1 - Pneumatic Actuator 3 (TOOL HOLDER HOME/DOWN; PV3 = FALSE)
net act3-b <= hm2_5i25.0.7i84.0.2.input-08
# Endstop 2 - Pneumatic Actuator 3 (TOOL HOLDER UP = LOAD TOOL; PV3 = TRUE)
net PDB-hall-sensor <= hm2_5i25.0.7i84.0.2.input-09
# Hall Effect Sensor 1 - +24V = POWER DRAWBAR OPEN
net spindle-hall-sensor <= hm2_5i25.0.7i84.0.2.input-10
# Hall Effect Sensor 2 - +24v = Spindle is in position for tool change
#net low-air <= hm2_5i25.0.7i84.0.2.input-11
# LOW AIR PRESSURE SENSOR - LOW AIR = +24v
net atc_motor => hm2_5i25.0.7i84.0.2.output-00
# Active rotates ATC CW
net pv1 => hm2_5i25.0.7i84.0.2.output-01
# TRUE = ATC DOWN
net pv2 => hm2_5i25.0.7i84.0.2.output-02
# TRUE = ATC UNDER SPINDLE
net pv3 => hm2_5i25.0.7i84.0.2.output-03
# TRUE = TOOL HOLDER UP
net open-drawbar => hm2_5i25.0.7i84.0.2.output-04
# TRUE = POWER DRAWBAR OPEN
#**************************************
# connect Extra signals
#**************************************
net light => hm2_5i25.0.7i84.0.2.output-05
net flood-coolant => hm2_5i25.0.7i84.0.2.output-06
net coolant-flood <= iocontrol.0.coolant-flood
net zbrake => hm2_5i25.0.7i84.0.2.output-07
# TRUE = zbrake off
# net probe-in <= hm2_5i25.0.7177.0.0.input-30
# ---motion control signals---
net in-position <= motion.in-position
net machine-is-enabled <= motion.motion-enabled
# ---estop signals---
net estop-out <= iocontrol.0.user-enable-out
net estop-ext => iocontrol.0.emc-enable-in
# ---toolchange signals for custom tool changer---
net tool-number <= iocontrol.0.tool-prep-number
net tool-change-request <= iocontrol.0.tool-change
net tool-change-confirmed => iocontrol.0.tool-changed
net tool-prepare-request <= iocontrol.0.tool-prepare
net tool-prepare-confirmed => iocontrol.0.tool-prepared
# Load Classicladder without GUI (can reload LADDER GUI in AXIS GUI
loadusr classicladder --nogui custom.clp
# Generated by PNCconf at Mon Sep 14 12:03:23 2015
# If you make changes to this file, they will be
# overwritten when you run PNCconf again
[EMC]
MACHINE = BenchmanXTr_4axis
DEBUG = 0
[DISPLAY]
DISPLAY = axis
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.000000
MAX_SPINDLE_OVERRIDE = 1.500000
MIN_SPINDLE_OVERRIDE = 0.500000
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/aaron/linuxcnc/nc_files
PYVCP = pyvcp-panel.xml
INCREMENTS = 10in 5in 2in 1in .5in .1in .05in .01in .005in .001in .0005in .0001in
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 0.41666675
MAX_LINEAR_VELOCITY = 3.333334
MIN_LINEAR_VELOCITY = 0.010000
DEFAULT_ANGULAR_VELOCITY = 6.0000012
MAX_ANGULAR_VELOCITY = 12.0000024
MIN_ANGULAR_VELOCITY = 0.010000
EDITOR = gedit
GEOMETRY = xyza
[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 = BenchmanXTr_4axis.hal
HALFILE = custom.hal
POSTGUI_HALFILE = postgui_call_list.hal
SHUTDOWN = shutdown.hal
[HALUI]
[TRAJ]
AXES = 4
COORDINATES = X Y Z A
MAX_ANGULAR_VELOCITY = 360.00
DEFAULT_ANGULAR_VELOCITY = 36.00
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 0.17
MAX_LINEAR_VELOCITY = 1.67
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
TOOL_CHANGE_QUILL_UP = 1
#********************
# Axis X
#********************
[AXIS_0]
TYPE = LINEAR
HOME = 0
FERROR = 12
MIN_FERROR = -12
MAX_VELOCITY = 3.333334
MAX_ACCELERATION = 4
P = 25
I = 0
D = 0.04
FF0 = 0
FF1 = 0.42
FF2 = 2e-05
BIAS = 0
DEADBAND = 0.000015
MAX_OUTPUT = 0.09215
ENCODER_SCALE = 50000
OUTPUT_SCALE = 0.097
OUTPUT_MIN_LIMIT = -0.097
OUTPUT_MAX_LIMIT = 0.097
MIN_LIMIT = -0.0
MAX_LIMIT = 12.0
HOME_OFFSET = 6.0
HOME_SEARCH_VEL = 3
HOME_LATCH_VEL = 1
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = YES
#********************
# Axis Y
#********************
[AXIS_1]
TYPE = LINEAR
HOME = 0.0
FERROR = 12
MIN_FERROR = -12
MAX_VELOCITY = 3.333334
MAX_ACCELERATION = 10
P = 30
I = 0
D = 0.04
FF0 = 0
FF1 = 0.042
FF2 = 2e-05
BIAS = 0
DEADBAND = 0.000015
MAX_OUTPUT = 0.09215
ENCODER_SCALE = 50000
OUTPUT_SCALE = 0.097
OUTPUT_MIN_LIMIT = -0.097
OUTPUT_MAX_LIMIT = 0.097
MIN_LIMIT = -0.001
MAX_LIMIT = 7.5
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -0.050000
HOME_LATCH_VEL = -0.016667
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = YES
#********************
# Axis Z
#********************
[AXIS_2]
TYPE = LINEAR
HOME = 0.2
FERROR = 12
MIN_FERROR = -12
MAX_VELOCITY = 3.333334
MAX_ACCELERATION = 10
P = 35
I = 0
D = 0.04
FF0 = 0
FF1 = 0.042
FF2 = 2e-05
BIAS = 0
DEADBAND = 1e-05
MAX_OUTPUT = 0.09215
ENCODER_SCALE = 50000
OUTPUT_SCALE = 0.097
OUTPUT_MIN_LIMIT = -0.097
OUTPUT_MAX_LIMIT = 0.097
MIN_LIMIT = -9.5
MAX_LIMIT = 0.201
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -0.050000
HOME_LATCH_VEL = -0.016667
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = YES
#********************
# Axis A
#********************
[AXIS_3]
TYPE = ANGULAR
HOME = 0.0
FERROR = 360
MIN_FERROR = -360
MAX_VELOCITY = 60
MAX_ACCELERATION = 240
P = 22
I = 0
D = 0
FF0 = 0
FF1 = 0.001
FF2 = 0.0003
BIAS = 0
DEADBAND = 0.000015
MAX_OUTPUT = 0.09215
ENCODER_SCALE = 2000
OUTPUT_SCALE = 0.097
OUTPUT_MIN_LIMIT = -0.097
OUTPUT_MAX_LIMIT = 0.097
MIN_LIMIT = -9999.0
MAX_LIMIT = 9999.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -2.000000
HOME_LATCH_VEL = -0.500000
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = YES
#********************
# Spindle
#********************
[SPINDLE_9]
P = 200
I = 0.0
D = 0.0
FF0 = 0
FF1 = 0.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.000015
MAX_OUTPUT = 4900
ENCODER_SCALE = 8000.0
OUTPUT_SCALE = 5000
OUTPUT_MIN_LIMIT = -5000
OUTPUT_MAX_LIMIT = 5000
Last edit: 29 Sep 2015 05:32 by MacGalempsy. Reason: Added Code
Please Log in or Create an account to join the conversation.
- MacGalempsy
- Offline
- Senior Member
Less
More
- Posts: 70
- Thank you received: 2
18 Oct 2015 08:02 #63890
by MacGalempsy
Replied by MacGalempsy on topic PNCCONF Spindle Issue - Linuxcnc 2.7
In the end, the HAL file needed a line added:
net spindle-enable => hm2_5i25.0.7i77.0.1.spinena
That problem is solved! On to the next issue.
Thanks again guys!
net spindle-enable => hm2_5i25.0.7i77.0.1.spinena
That problem is solved! On to the next issue.
Thanks again guys!
Please Log in or Create an account to join the conversation.
Moderators: cmorley
Time to create page: 0.081 seconds