trouble with rapid overrides - version 2.7.8
10 Dec 2016 09:16 #83879
by Henk
trouble with rapid overrides - version 2.7.8 was created by Henk
HI
Im having trouble on my Deckel FP4NC and recently completed lathe with the rapid overrides. The rapid override is selected by BCD switch with 4 positions 0,25, 50 and 100%. In HAL, this is handled with the standard PNCconf arrengement with a MUX component.
The trouble is that although AXIS show the slider moving and the HAL pins respond as they should (i think)
Below is the section of my HAL file showing the rapid override section, and attached is a screenshot of the halui pins.
Any help would be appreciated.
thanks
setp halui.rapid-override.count-enable true
setp halui.rapid-override.direct-value true
setp halui.rapid-override.scale 0.01
net rapid-override-incr => halui.rapid-override.counts
net rapid-incr-a => rapidincr.sel0
net rapid-incr-b => rapidincr.sel1
net rapid-incr-c => rapidincr.sel2
net rapid-incr-d => rapidincr.sel3
net rapid-override-incr <= rapidincr.out-s
setp rapidincr.debounce-time 0.200000
setp rapidincr.use-graycode False
setp rapidincr.suppress-no-input False
setp rapidincr.in00 100
setp rapidincr.in01 50
setp rapidincr.in02 25
setp rapidincr.in03 0
Im having trouble on my Deckel FP4NC and recently completed lathe with the rapid overrides. The rapid override is selected by BCD switch with 4 positions 0,25, 50 and 100%. In HAL, this is handled with the standard PNCconf arrengement with a MUX component.
The trouble is that although AXIS show the slider moving and the HAL pins respond as they should (i think)
Below is the section of my HAL file showing the rapid override section, and attached is a screenshot of the halui pins.
Any help would be appreciated.
thanks
setp halui.rapid-override.count-enable true
setp halui.rapid-override.direct-value true
setp halui.rapid-override.scale 0.01
net rapid-override-incr => halui.rapid-override.counts
net rapid-incr-a => rapidincr.sel0
net rapid-incr-b => rapidincr.sel1
net rapid-incr-c => rapidincr.sel2
net rapid-incr-d => rapidincr.sel3
net rapid-override-incr <= rapidincr.out-s
setp rapidincr.debounce-time 0.200000
setp rapidincr.use-graycode False
setp rapidincr.suppress-no-input False
setp rapidincr.in00 100
setp rapidincr.in01 50
setp rapidincr.in02 25
setp rapidincr.in03 0
Please Log in or Create an account to join the conversation.
- Todd Zuercher
-
- Online
- Platinum Member
-
Less
More
- Posts: 4978
- Thank you received: 1377
10 Dec 2016 20:34 #83890
by Todd Zuercher
So what is the trouble? (It looks like you are saying the trouble is every thing is working.)
Replied by Todd Zuercher on topic trouble with rapid overrides - version 2.7.8
The trouble is that although AXIS show the slider moving and the HAL pins respond as they should (i think)
So what is the trouble? (It looks like you are saying the trouble is every thing is working.)
Please Log in or Create an account to join the conversation.
11 Dec 2016 05:07 #83896
by Henk
Replied by Henk on topic trouble with rapid overrides - version 2.7.8
Hi, Yes, it seem that i failed to add the actual problem.....
Given the above, the G0 speeds does not respond accordingly. 0% works, but 25 and 50% gives me full speed as if it is set to 100%
Henk
Given the above, the G0 speeds does not respond accordingly. 0% works, but 25 and 50% gives me full speed as if it is set to 100%
Henk
Please Log in or Create an account to join the conversation.
- Todd Zuercher
-
- Online
- Platinum Member
-
Less
More
- Posts: 4978
- Thank you received: 1377
11 Dec 2016 06:05 #83897
by Todd Zuercher
Replied by Todd Zuercher on topic trouble with rapid overrides - version 2.7.8
I don't think the halui.rapid-override.scale does quite what you thought it does. I believe that it is for setting the incremet size for changing the setting using halui.rapid-override.increase and halui.rapid-override.decrease.
Try setting it up with
setp rapidincr.in00 1.00
setp rapidincr.in01 0.50
setp rapidincr.in02 0.25
setp rapidincr.in03 0
Try setting it up with
setp rapidincr.in00 1.00
setp rapidincr.in01 0.50
setp rapidincr.in02 0.25
setp rapidincr.in03 0
Please Log in or Create an account to join the conversation.
11 Dec 2016 06:50 #83898
by Henk
Replied by Henk on topic trouble with rapid overrides - version 2.7.8
Thanks for the reply
I tried that before but confirmed it just now again. The values specified in for example "setp rapidincr.in01 0.50" is multiplied by the scale to give a value. If i use your suggestion, the rapid override slider shows 0% on all three settings except 100% in which case it shows 1%.
Thanks
Henk
I tried that before but confirmed it just now again. The values specified in for example "setp rapidincr.in01 0.50" is multiplied by the scale to give a value. If i use your suggestion, the rapid override slider shows 0% on all three settings except 100% in which case it shows 1%.
Thanks
Henk
Please Log in or Create an account to join the conversation.
- Todd Zuercher
-
- Online
- Platinum Member
-
Less
More
- Posts: 4978
- Thank you received: 1377
11 Dec 2016 13:55 #83902
by Todd Zuercher
Replied by Todd Zuercher on topic trouble with rapid overrides - version 2.7.8
Could you share the rest of your hal file?
Please Log in or Create an account to join the conversation.
11 Dec 2016 21:26 #83926
by newbynobi
Replied by newbynobi on topic trouble with rapid overrides - version 2.7.8
Set the scale to 1.0 and the values to 0.25 etc.
Imho the gui does not know about the scale!
Norbert
Imho the gui does not know about the scale!
Norbert
Please Log in or Create an account to join the conversation.
12 Dec 2016 17:22 #83954
by andypugh
Replied by andypugh on topic trouble with rapid overrides - version 2.7.8
halui.rapid-override.direct-value may need to be set to 1
Please Log in or Create an account to join the conversation.
13 Dec 2016 10:44 #84020
by Henk
Replied by Henk on topic trouble with rapid overrides - version 2.7.8
Hi
I have tried setting the scale to 1 as above with no luck. What baffles me is that I have the same setup with spindle and feed override which are working fine.
halui.rapid-override.direct-value is currently set to true.
Below is my HAL file.
Im pretty sure it is something small but I cannot seem to figure it out.
Thanks for the help.
Henk
# Generated by PNCconf at Fri Sep 16 19:08:47 2016
# 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=001xxx"
setp hm2_5i25.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.z,pid.s
loadrt classicladder_rt numPhysInputs=50 numPhysOutputs=50 numS32in=50 numS32out=50 numFloatIn=10 numFloatOut=10 numBits=50 numWords=50
loadrt mux16 names=jogincr,foincr,rapidincr,soincr
loadrt and2 names=joint-sel-and
loadrt toggle names=coolant-togg,lamp-toggle,optstop-togg,blocdel-togg,singlbloc-togg
loadrt or2 names=coolant-or
loadrt scale count=2
loadrt not count=3
loadrt abs names=abs.spindle
loadrt lowpass names=lowpass.spindle
loadrt near
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.z.do-pid-calcs servo-thread
addf pid.s.do-pid-calcs servo-thread
addf classicladder.0.refresh servo-thread
addf jogincr servo-thread
addf foincr servo-thread
addf rapidincr servo-thread
addf soincr servo-thread
addf hm2_5i25.0.write servo-thread
addf coolant-togg servo-thread
addf coolant-or servo-thread
addf scale.0 servo-thread
addf joint-sel-and servo-thread
addf not.0 servo-thread
addf abs.spindle servo-thread
addf lowpass.spindle servo-thread
addf scale.1 servo-thread
addf near.0 servo-thread
addf lamp-toggle servo-thread
addf optstop-togg servo-thread
addf blocdel-togg servo-thread
addf singlbloc-togg servo-thread
addf not.1 servo-thread
addf not.2 servo-thread
# external output signals
net lamp-on => hm2_5i25.0.7i77.0.0.output-11
# --- MACHINE ON
net hydraulic-on => hm2_5i25.0.7i77.0.0.output-08
net servo-on => hm2_5i25.0.7i77.0.0.output-10
net vsd-on => hm2_5i25.0.7i77.0.0.output-09
# --- LUBE PUMP
net lub-on => hm2_5i25.0.7i77.0.0.output-06 <= classicladder.0.out-20
# --- coolant PUMP
net coolant-but-flood => coolant-or.in0
net coolant-flood => coolant-or.in1
net coolant-on <= coolant-or.out
net coolant-on => hm2_5i25.0.7i77.0.0.output-07
# external input signals
# --- LAMP
net lamp-but <= hm2_5i25.0.7i70.0.2.input-46 => lamp-toggle.in
net lamp-on <= lamp-toggle.out
# --- MACHINE ON
net panel-on <= hm2_5i25.0.7i70.0.2.input-25 => classicladder.0.in-05
net panel-off <= hm2_5i25.0.7i70.0.2.input-24 => classicladder.0.in-06
net machine-is-on => classicladder.0.in-07
net hydraulic-on <= classicladder.0.out-10
net servo-on <= classicladder.0.out-12
net vsd-on <= classicladder.0.out-13
net machine-on <= classicladder.0.out-14
net machine-off <= classicladder.0.out-15
# --- chuck
net chuck-sel <= hm2_5i25.0.7i70.0.2.input-29 => classicladder.0.in-17
#net chuck-clmp <= hm2_5i25.0.7i70.0.2.input-22 => classicladder.0.in-18
#net chuck-unclmp <= hm2_5i25.0.7i70.0.2.input-33 => classicladder.0.in-19
net chuck-int-clamp <= classicladder.0.out-23 => hm2_5i25.0.7i77.0.0.output-04
net chuck-ext-clamp <= classicladder.0.out-24 => hm2_5i25.0.7i77.0.0.output-05
net spindle-is-on => classicladder.0.in-20
# --- LUBE PUMP
net lub-pres <= hm2_5i25.0.7i77.0.0.input-03 => classicladder.0.in-14
# --- coolant PUMP button
net coolant-man-but <= hm2_5i25.0.7i70.0.2.input-37 => coolant-togg.in
net coolant-but-flood <= coolant-togg.out
# --- ESTOP-EXT ---
net estop-ext <= hm2_5i25.0.7i77.0.0.input-00-not
# --- BOTH-Z ---
net both-z <= hm2_5i25.0.7i77.0.0.input-01-not => classicladder.0.in-15
# --- BOTH-X ---
net both-x <= hm2_5i25.0.7i77.0.0.input-02-not => classicladder.0.in-16
# ----HOME SWITCHES
net home-sw-z => classicladder.0.out-21
net home-sw-x => classicladder.0.out-22
#
jog-speed override
net jog-speed-float <= hm2_5i25.0.7i70.0.2.analog0 <= scale.0.in
setp scale.0.gain 180
setp scale.0.offset 0
net jog-speed <= scale.0.out
# --- MODE SELECT ---
net mode-sel-a <= hm2_5i25.0.7i70.0.2.input-08
net mode-sel-b <= hm2_5i25.0.7i70.0.2.input-09
net mode-sel-c <= hm2_5i25.0.7i70.0.2.input-10
net mode-sel-d <= hm2_5i25.0.7i70.0.2.input-11
# --- SO-INCR-A ---
net so-incr-a <= hm2_5i25.0.7i70.0.2.input-01
# --- SO-INCR-B ---
net so-incr-b <= hm2_5i25.0.7i70.0.2.input-02
# --- SO-INCR-C ---
net so-incr-c <= hm2_5i25.0.7i70.0.2.input-03
# --- FO-INCR-A ---
net fo-incr-a <= hm2_5i25.0.7i70.0.2.input-04
# --- FO-INCR-B ---
net fo-incr-b <= hm2_5i25.0.7i70.0.2.input-05
# --- FO-INCR-C ---
net fo-incr-c <= hm2_5i25.0.7i70.0.2.input-06
# --- FO-INCR-D ---
net fo-incr-d <= hm2_5i25.0.7i70.0.2.input-07
# --- JOINT-SELECT-B ---
net joint-select-b <= hm2_5i25.0.7i70.0.2.input-12
# --- JOINT-SELECT-A ---
net joint-select-a <= hm2_5i25.0.7i70.0.2.input-13
# --- RAPID-INCR-A ---
net rapid-incr-a <= hm2_5i25.0.7i70.0.2.input-14
# --- RAPID-INCR-B ---
net rapid-incr-b <= hm2_5i25.0.7i70.0.2.input-15
# --- JOG-Z-POS ---
net jog-z-pos <= hm2_5i25.0.7i70.0.2.input-16
# --- JOG-X-NEG ---
net jog-x-neg <= hm2_5i25.0.7i70.0.2.input-17
# --- JOG-X-POS ---
net jog-x-pos <= hm2_5i25.0.7i70.0.2.input-18
# --- SPINDLE-MANUAL-STOP ---
net spindle-manual-stop <= hm2_5i25.0.7i70.0.2.input-19
# --- SPINDLE-MANUAL-CW ---
net spindle-manual-cw <= hm2_5i25.0.7i70.0.2.input-20
# --- JOG-Z-NEG ---
net jog-z-neg <= hm2_5i25.0.7i70.0.2.input-21
# --- CYCLE-START ---
net cycle-start <= hm2_5i25.0.7i70.0.2.input-26
# --- ABORT ---
net abort <= hm2_5i25.0.7i70.0.2.input-27
# --- SPINDLE-MANUAL-CCW ---
net spindle-manual-ccw <= hm2_5i25.0.7i70.0.2.input-30
# --- SINGLE-STEP ---
net cycle-step-but <= hm2_5i25.0.7i70.0.2.input-36 => singlbloc-togg.in
net cycle-step <= singlbloc-togg.out
# --- optional stop ---
net opt-stop-but <= hm2_5i25.0.7i70.0.2.input-33 => optstop-togg.in
net opt-stop-on <= optstop-togg.out
net opt-stop-on => not.2.in
net opt-stop-off <= not.2.out
# --- block delete ---
net block-delete-but <= hm2_5i25.0.7i70.0.2.input-43 => blocdel-togg.in
net block-delete-on <= blocdel-togg.out
net block-delete-on => not.1.in
net block-delete-off <= not.1.out
#---home but----
net but-home-all <= hm2_5i25.0.7i70.0.2.input-32
#*******************
# 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 0
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
# ---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 home-sw-x => axis.0.home-sw-in
net both-x => axis.0.neg-lim-sw-in
net both-x => axis.0.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 0
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
# ---PWM Generator signals/setup---
setp hm2_5i25.0.7i77.0.1.analogout1-scalemax [AXIS_2]OUTPUT_SCALE
setp hm2_5i25.0.7i77.0.1.analogout1-minlim [AXIS_2]OUTPUT_MIN_LIMIT
setp hm2_5i25.0.7i77.0.1.analogout1-maxlim [AXIS_2]OUTPUT_MAX_LIMIT
net z-output => hm2_5i25.0.7i77.0.1.analogout1
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.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_2]ENCODER_SCALE
net z-pos-fb <= hm2_5i25.0.encoder.01.position
net z-vel-fb <= hm2_5i25.0.encoder.01.velocity
net z-pos-fb => axis.2.motor-pos-fb
net z-index-enable axis.2.index-enable <=> hm2_5i25.0.encoder.01.index-enable
net z-pos-rawcounts <= hm2_5i25.0.encoder.01.rawcounts
# ---setup home / limit switch signals---
net home-sw-z => axis.2.home-sw-in
net both-z => axis.2.neg-lim-sw-in
net both-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
# ---PWM Generator signals/setup---
setp hm2_5i25.0.7i77.0.1.analogout2-scalemax [SPINDLE_9]OUTPUT_SCALE
setp hm2_5i25.0.7i77.0.1.analogout2-minlim [SPINDLE_9]OUTPUT_MIN_LIMIT
setp hm2_5i25.0.7i77.0.1.analogout2-maxlim [SPINDLE_9]OUTPUT_MAX_LIMIT
#net spindle-vel-cmd-rpm => hm2_5i25.0.7i77.0.1.analogout2
net spindle-vel-cmd-abs => hm2_5i25.0.7i77.0.1.analogout2
# ---Encoder feedback signals/setup---
setp hm2_5i25.0.encoder.03.counter-mode 0
setp hm2_5i25.0.encoder.03.filter 1
setp hm2_5i25.0.encoder.03.index-invert 0
setp hm2_5i25.0.encoder.03.index-mask 0
setp hm2_5i25.0.encoder.03.index-mask-invert 0
setp hm2_5i25.0.encoder.03.scale [SPINDLE_9]ENCODER_SCALE
net spindle-revs <= hm2_5i25.0.encoder.03.position
net spindle-vel-fb-rps <= hm2_5i25.0.encoder.03.velocity
net spindle-index-enable <=> hm2_5i25.0.encoder.03.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-vel-cmd-abs <= motion.spindle-speed-out-abs
net spindle-enable <= motion.spindle-on => hm2_5i25.0.7i77.0.1.spinena
net spindle-cw <= motion.spindle-forward => hm2_5i25.0.7i77.0.0.output-13
net spindle-ccw <= motion.spindle-reverse => hm2_5i25.0.7i77.0.0.output-12
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---
net spindle-vel-cmd-rps => near.0.in1
net spindle-vel-fb-rps => near.0.in2
net spindle-at-speed <= near.0.out
setp near.0.scale 1.100
setp near.0.difference 0.5
#USE ACT SPINDLE VEL FROM ENC3
#FILTER TO SABILISE
#REMOVE SIGN - ABS
#SCALE TO GET RPM FROM RPS
setp scale.1.gain 60
setp lowpass.spindle.gain 1.00
net spindle-vel-fb-rps => scale.1.in
net spindle-fb-rpm <= scale.1.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-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 spindle-is-on halui.spindle.is-on
net jog-speed halui.jog-speed
net MDI-mode halui.mode.is-mdi
net panel-on <= halui.machine.on
net panel-off <= halui.machine.off
net cycle-start => halui.program.run
net abort => halui.program.stop
net cycle-step => halui.program.step
net block-delete-on => halui.program.block-delete.on
net block-delete-off => halui.program.block-delete.off
net but-home-all => halui.home-all
net opt-stop-on => halui.program.optional-stop.on
net opt-stop-off => halui.program.optional-stop.off
# ---coolant signals---
net coolant-mist <= iocontrol.0.coolant-mist
net coolant-flood <= iocontrol.0.coolant-flood
# ---probe signal---
net probe-in => motion.probe-input
# ---jogwheel signals to mesa encoder - shared MPG---
net joint-selected-count <= hm2_5i25.0.encoder.05.count
# ---- select joint----
net joint-select-a => joint-sel-and.in0
net joint-select-b => joint-sel-and.in1
net joint-select-x <= joint-sel-and.out
net joint-select-x => not.0.in
net joint-select-z <= not.0.out
# ---mpg signals---
# for axis x MPG
setp axis.0.jog-vel-mode 0
net selected-jog-incr => axis.0.jog-scale
net joint-select-x => axis.0.jog-enable
net joint-selected-count => axis.0.jog-counts
# for axis z MPG
setp axis.2.jog-vel-mode 0
net selected-jog-incr => axis.2.jog-scale
net joint-select-z => axis.2.jog-enable
net joint-selected-count => axis.2.jog-counts
# connect selectable mpg jog increments
net mode-sel-a => jogincr.sel0
net mode-sel-b => jogincr.sel1
net mode-sel-c => jogincr.sel2
net mode-sel-d => jogincr.sel3
net selected-jog-incr <= jogincr.out-f
setp jogincr.debounce-time 0.200000
setp jogincr.use-graycode False
setp jogincr.suppress-no-input False
setp jogincr.in00 0
setp jogincr.in01 0
setp jogincr.in02 0
setp jogincr.in03 0.0025
setp jogincr.in04 0
setp jogincr.in05 0.025
setp jogincr.in06 0
setp jogincr.in07 0.00025
setp jogincr.in08 0
setp jogincr.in09 0
setp jogincr.in10 0
setp jogincr.in11 0
setp jogincr.in12 0
setp jogincr.in13 0
setp jogincr.in14 0
setp jogincr.in15 0
# connect feed overide increments - switches
setp halui.feed-override.count-enable true
setp halui.feed-override.direct-value true
setp halui.feed-override.scale .01
net feedoverride-incr => halui.feed-override.counts
net fo-incr-a => foincr.sel0
net fo-incr-b => foincr.sel1
net fo-incr-c => foincr.sel2
net fo-incr-d => foincr.sel3
net feedoverride-incr <= foincr.out-s
setp foincr.debounce-time 0.200000
setp foincr.use-graycode False
setp foincr.suppress-no-input False
setp foincr.in00 150
setp foincr.in01 130
setp foincr.in02 140
setp foincr.in03 120
setp foincr.in04 110
setp foincr.in05 90
setp foincr.in06 100
setp foincr.in07 80
setp foincr.in08 70
setp foincr.in09 50
setp foincr.in10 60
setp foincr.in11 40
setp foincr.in12 30
setp foincr.in13 10
setp foincr.in14 20
setp foincr.in15 0
# connect max velocity overide increments - switches
setp halui.rapid-override.count-enable true
setp halui.rapid-override.direct-value true
setp halui.rapid-override.scale 1
net rapid-override-incr => halui.rapid-override.counts
net rapid-incr-a => rapidincr.sel0
net rapid-incr-b => rapidincr.sel1
net rapid-incr-c => rapidincr.sel2
net rapid-incr-d => rapidincr.sel3
net rapid-override-incr <= rapidincr.out-s
setp rapidincr.debounce-time 0.200000
setp rapidincr.use-graycode False
setp rapidincr.suppress-no-input False
setp rapidincr.in00 100
setp rapidincr.in01 50
setp rapidincr.in02 25
setp rapidincr.in03 0
setp rapidincr.in04 5
setp rapidincr.in05 6
setp rapidincr.in06 7
setp rapidincr.in07 8
setp rapidincr.in08 9
setp rapidincr.in09 10
setp rapidincr.in10 11
setp rapidincr.in11 12
setp rapidincr.in12 13
setp rapidincr.in13 14
setp rapidincr.in14 15
setp rapidincr.in15 16
# connect spindle overide increments
setp halui.spindle-override.count-enable true
setp halui.spindle-override.direct-value true
setp halui.spindle-override.scale .01
net spindleoverride-incr => halui.spindle-override.counts
net so-incr-a => soincr.sel0
net so-incr-b => soincr.sel1
net so-incr-c => soincr.sel2
net so-incr-d => soincr.sel3
net spindleoverride-incr <= soincr.out-s
setp soincr.debounce-time 0.200000
setp soincr.use-graycode False
setp soincr.suppress-no-input False
setp soincr.in00 120.0
setp soincr.in01 100.0
setp soincr.in02 80.0
setp soincr.in03 60.0
setp soincr.in04 110.0
setp soincr.in05 90.0
setp soincr.in06 70.0
setp soincr.in07 50.0
setp soincr.in08 1
setp soincr.in09 2
setp soincr.in10 3
setp soincr.in11 4
setp soincr.in12 5
setp soincr.in13 6
setp soincr.in14 7
setp soincr.in15 8
# ---motion control signals---
net in-position <= motion.in-position
net machine-is-enabled <= motion.motion-enabled
# ---digital in / out signals---
net din-00 => motion.digital-in-00
net din-03 => motion.digital-in-03
# ---estop signals---
net estop-out <= iocontrol.0.user-enable-out
# **** Setup for external estop ladder program -START ****
net estop-out => classicladder.0.in-00
net estop-ext => classicladder.0.in-01
net estop-strobe classicladder.0.in-02 <= iocontrol.0.user-request-enable
net estop-outcl classicladder.0.out-00 => iocontrol.0.emc-enable-in
# **** Setup for external estop ladder program -END ****
# ---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
I have tried setting the scale to 1 as above with no luck. What baffles me is that I have the same setup with spindle and feed override which are working fine.
halui.rapid-override.direct-value is currently set to true.
Below is my HAL file.
Im pretty sure it is something small but I cannot seem to figure it out.
Thanks for the help.
Henk
# Generated by PNCconf at Fri Sep 16 19:08:47 2016
# 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=001xxx"
setp hm2_5i25.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.z,pid.s
loadrt classicladder_rt numPhysInputs=50 numPhysOutputs=50 numS32in=50 numS32out=50 numFloatIn=10 numFloatOut=10 numBits=50 numWords=50
loadrt mux16 names=jogincr,foincr,rapidincr,soincr
loadrt and2 names=joint-sel-and
loadrt toggle names=coolant-togg,lamp-toggle,optstop-togg,blocdel-togg,singlbloc-togg
loadrt or2 names=coolant-or
loadrt scale count=2
loadrt not count=3
loadrt abs names=abs.spindle
loadrt lowpass names=lowpass.spindle
loadrt near
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.z.do-pid-calcs servo-thread
addf pid.s.do-pid-calcs servo-thread
addf classicladder.0.refresh servo-thread
addf jogincr servo-thread
addf foincr servo-thread
addf rapidincr servo-thread
addf soincr servo-thread
addf hm2_5i25.0.write servo-thread
addf coolant-togg servo-thread
addf coolant-or servo-thread
addf scale.0 servo-thread
addf joint-sel-and servo-thread
addf not.0 servo-thread
addf abs.spindle servo-thread
addf lowpass.spindle servo-thread
addf scale.1 servo-thread
addf near.0 servo-thread
addf lamp-toggle servo-thread
addf optstop-togg servo-thread
addf blocdel-togg servo-thread
addf singlbloc-togg servo-thread
addf not.1 servo-thread
addf not.2 servo-thread
# external output signals
net lamp-on => hm2_5i25.0.7i77.0.0.output-11
# --- MACHINE ON
net hydraulic-on => hm2_5i25.0.7i77.0.0.output-08
net servo-on => hm2_5i25.0.7i77.0.0.output-10
net vsd-on => hm2_5i25.0.7i77.0.0.output-09
# --- LUBE PUMP
net lub-on => hm2_5i25.0.7i77.0.0.output-06 <= classicladder.0.out-20
# --- coolant PUMP
net coolant-but-flood => coolant-or.in0
net coolant-flood => coolant-or.in1
net coolant-on <= coolant-or.out
net coolant-on => hm2_5i25.0.7i77.0.0.output-07
# external input signals
# --- LAMP
net lamp-but <= hm2_5i25.0.7i70.0.2.input-46 => lamp-toggle.in
net lamp-on <= lamp-toggle.out
# --- MACHINE ON
net panel-on <= hm2_5i25.0.7i70.0.2.input-25 => classicladder.0.in-05
net panel-off <= hm2_5i25.0.7i70.0.2.input-24 => classicladder.0.in-06
net machine-is-on => classicladder.0.in-07
net hydraulic-on <= classicladder.0.out-10
net servo-on <= classicladder.0.out-12
net vsd-on <= classicladder.0.out-13
net machine-on <= classicladder.0.out-14
net machine-off <= classicladder.0.out-15
# --- chuck
net chuck-sel <= hm2_5i25.0.7i70.0.2.input-29 => classicladder.0.in-17
#net chuck-clmp <= hm2_5i25.0.7i70.0.2.input-22 => classicladder.0.in-18
#net chuck-unclmp <= hm2_5i25.0.7i70.0.2.input-33 => classicladder.0.in-19
net chuck-int-clamp <= classicladder.0.out-23 => hm2_5i25.0.7i77.0.0.output-04
net chuck-ext-clamp <= classicladder.0.out-24 => hm2_5i25.0.7i77.0.0.output-05
net spindle-is-on => classicladder.0.in-20
# --- LUBE PUMP
net lub-pres <= hm2_5i25.0.7i77.0.0.input-03 => classicladder.0.in-14
# --- coolant PUMP button
net coolant-man-but <= hm2_5i25.0.7i70.0.2.input-37 => coolant-togg.in
net coolant-but-flood <= coolant-togg.out
# --- ESTOP-EXT ---
net estop-ext <= hm2_5i25.0.7i77.0.0.input-00-not
# --- BOTH-Z ---
net both-z <= hm2_5i25.0.7i77.0.0.input-01-not => classicladder.0.in-15
# --- BOTH-X ---
net both-x <= hm2_5i25.0.7i77.0.0.input-02-not => classicladder.0.in-16
# ----HOME SWITCHES
net home-sw-z => classicladder.0.out-21
net home-sw-x => classicladder.0.out-22
#
jog-speed override
net jog-speed-float <= hm2_5i25.0.7i70.0.2.analog0 <= scale.0.in
setp scale.0.gain 180
setp scale.0.offset 0
net jog-speed <= scale.0.out
# --- MODE SELECT ---
net mode-sel-a <= hm2_5i25.0.7i70.0.2.input-08
net mode-sel-b <= hm2_5i25.0.7i70.0.2.input-09
net mode-sel-c <= hm2_5i25.0.7i70.0.2.input-10
net mode-sel-d <= hm2_5i25.0.7i70.0.2.input-11
# --- SO-INCR-A ---
net so-incr-a <= hm2_5i25.0.7i70.0.2.input-01
# --- SO-INCR-B ---
net so-incr-b <= hm2_5i25.0.7i70.0.2.input-02
# --- SO-INCR-C ---
net so-incr-c <= hm2_5i25.0.7i70.0.2.input-03
# --- FO-INCR-A ---
net fo-incr-a <= hm2_5i25.0.7i70.0.2.input-04
# --- FO-INCR-B ---
net fo-incr-b <= hm2_5i25.0.7i70.0.2.input-05
# --- FO-INCR-C ---
net fo-incr-c <= hm2_5i25.0.7i70.0.2.input-06
# --- FO-INCR-D ---
net fo-incr-d <= hm2_5i25.0.7i70.0.2.input-07
# --- JOINT-SELECT-B ---
net joint-select-b <= hm2_5i25.0.7i70.0.2.input-12
# --- JOINT-SELECT-A ---
net joint-select-a <= hm2_5i25.0.7i70.0.2.input-13
# --- RAPID-INCR-A ---
net rapid-incr-a <= hm2_5i25.0.7i70.0.2.input-14
# --- RAPID-INCR-B ---
net rapid-incr-b <= hm2_5i25.0.7i70.0.2.input-15
# --- JOG-Z-POS ---
net jog-z-pos <= hm2_5i25.0.7i70.0.2.input-16
# --- JOG-X-NEG ---
net jog-x-neg <= hm2_5i25.0.7i70.0.2.input-17
# --- JOG-X-POS ---
net jog-x-pos <= hm2_5i25.0.7i70.0.2.input-18
# --- SPINDLE-MANUAL-STOP ---
net spindle-manual-stop <= hm2_5i25.0.7i70.0.2.input-19
# --- SPINDLE-MANUAL-CW ---
net spindle-manual-cw <= hm2_5i25.0.7i70.0.2.input-20
# --- JOG-Z-NEG ---
net jog-z-neg <= hm2_5i25.0.7i70.0.2.input-21
# --- CYCLE-START ---
net cycle-start <= hm2_5i25.0.7i70.0.2.input-26
# --- ABORT ---
net abort <= hm2_5i25.0.7i70.0.2.input-27
# --- SPINDLE-MANUAL-CCW ---
net spindle-manual-ccw <= hm2_5i25.0.7i70.0.2.input-30
# --- SINGLE-STEP ---
net cycle-step-but <= hm2_5i25.0.7i70.0.2.input-36 => singlbloc-togg.in
net cycle-step <= singlbloc-togg.out
# --- optional stop ---
net opt-stop-but <= hm2_5i25.0.7i70.0.2.input-33 => optstop-togg.in
net opt-stop-on <= optstop-togg.out
net opt-stop-on => not.2.in
net opt-stop-off <= not.2.out
# --- block delete ---
net block-delete-but <= hm2_5i25.0.7i70.0.2.input-43 => blocdel-togg.in
net block-delete-on <= blocdel-togg.out
net block-delete-on => not.1.in
net block-delete-off <= not.1.out
#---home but----
net but-home-all <= hm2_5i25.0.7i70.0.2.input-32
#*******************
# 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 0
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
# ---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 home-sw-x => axis.0.home-sw-in
net both-x => axis.0.neg-lim-sw-in
net both-x => axis.0.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 0
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
# ---PWM Generator signals/setup---
setp hm2_5i25.0.7i77.0.1.analogout1-scalemax [AXIS_2]OUTPUT_SCALE
setp hm2_5i25.0.7i77.0.1.analogout1-minlim [AXIS_2]OUTPUT_MIN_LIMIT
setp hm2_5i25.0.7i77.0.1.analogout1-maxlim [AXIS_2]OUTPUT_MAX_LIMIT
net z-output => hm2_5i25.0.7i77.0.1.analogout1
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.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_2]ENCODER_SCALE
net z-pos-fb <= hm2_5i25.0.encoder.01.position
net z-vel-fb <= hm2_5i25.0.encoder.01.velocity
net z-pos-fb => axis.2.motor-pos-fb
net z-index-enable axis.2.index-enable <=> hm2_5i25.0.encoder.01.index-enable
net z-pos-rawcounts <= hm2_5i25.0.encoder.01.rawcounts
# ---setup home / limit switch signals---
net home-sw-z => axis.2.home-sw-in
net both-z => axis.2.neg-lim-sw-in
net both-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
# ---PWM Generator signals/setup---
setp hm2_5i25.0.7i77.0.1.analogout2-scalemax [SPINDLE_9]OUTPUT_SCALE
setp hm2_5i25.0.7i77.0.1.analogout2-minlim [SPINDLE_9]OUTPUT_MIN_LIMIT
setp hm2_5i25.0.7i77.0.1.analogout2-maxlim [SPINDLE_9]OUTPUT_MAX_LIMIT
#net spindle-vel-cmd-rpm => hm2_5i25.0.7i77.0.1.analogout2
net spindle-vel-cmd-abs => hm2_5i25.0.7i77.0.1.analogout2
# ---Encoder feedback signals/setup---
setp hm2_5i25.0.encoder.03.counter-mode 0
setp hm2_5i25.0.encoder.03.filter 1
setp hm2_5i25.0.encoder.03.index-invert 0
setp hm2_5i25.0.encoder.03.index-mask 0
setp hm2_5i25.0.encoder.03.index-mask-invert 0
setp hm2_5i25.0.encoder.03.scale [SPINDLE_9]ENCODER_SCALE
net spindle-revs <= hm2_5i25.0.encoder.03.position
net spindle-vel-fb-rps <= hm2_5i25.0.encoder.03.velocity
net spindle-index-enable <=> hm2_5i25.0.encoder.03.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-vel-cmd-abs <= motion.spindle-speed-out-abs
net spindle-enable <= motion.spindle-on => hm2_5i25.0.7i77.0.1.spinena
net spindle-cw <= motion.spindle-forward => hm2_5i25.0.7i77.0.0.output-13
net spindle-ccw <= motion.spindle-reverse => hm2_5i25.0.7i77.0.0.output-12
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---
net spindle-vel-cmd-rps => near.0.in1
net spindle-vel-fb-rps => near.0.in2
net spindle-at-speed <= near.0.out
setp near.0.scale 1.100
setp near.0.difference 0.5
#USE ACT SPINDLE VEL FROM ENC3
#FILTER TO SABILISE
#REMOVE SIGN - ABS
#SCALE TO GET RPM FROM RPS
setp scale.1.gain 60
setp lowpass.spindle.gain 1.00
net spindle-vel-fb-rps => scale.1.in
net spindle-fb-rpm <= scale.1.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-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 spindle-is-on halui.spindle.is-on
net jog-speed halui.jog-speed
net MDI-mode halui.mode.is-mdi
net panel-on <= halui.machine.on
net panel-off <= halui.machine.off
net cycle-start => halui.program.run
net abort => halui.program.stop
net cycle-step => halui.program.step
net block-delete-on => halui.program.block-delete.on
net block-delete-off => halui.program.block-delete.off
net but-home-all => halui.home-all
net opt-stop-on => halui.program.optional-stop.on
net opt-stop-off => halui.program.optional-stop.off
# ---coolant signals---
net coolant-mist <= iocontrol.0.coolant-mist
net coolant-flood <= iocontrol.0.coolant-flood
# ---probe signal---
net probe-in => motion.probe-input
# ---jogwheel signals to mesa encoder - shared MPG---
net joint-selected-count <= hm2_5i25.0.encoder.05.count
# ---- select joint----
net joint-select-a => joint-sel-and.in0
net joint-select-b => joint-sel-and.in1
net joint-select-x <= joint-sel-and.out
net joint-select-x => not.0.in
net joint-select-z <= not.0.out
# ---mpg signals---
# for axis x MPG
setp axis.0.jog-vel-mode 0
net selected-jog-incr => axis.0.jog-scale
net joint-select-x => axis.0.jog-enable
net joint-selected-count => axis.0.jog-counts
# for axis z MPG
setp axis.2.jog-vel-mode 0
net selected-jog-incr => axis.2.jog-scale
net joint-select-z => axis.2.jog-enable
net joint-selected-count => axis.2.jog-counts
# connect selectable mpg jog increments
net mode-sel-a => jogincr.sel0
net mode-sel-b => jogincr.sel1
net mode-sel-c => jogincr.sel2
net mode-sel-d => jogincr.sel3
net selected-jog-incr <= jogincr.out-f
setp jogincr.debounce-time 0.200000
setp jogincr.use-graycode False
setp jogincr.suppress-no-input False
setp jogincr.in00 0
setp jogincr.in01 0
setp jogincr.in02 0
setp jogincr.in03 0.0025
setp jogincr.in04 0
setp jogincr.in05 0.025
setp jogincr.in06 0
setp jogincr.in07 0.00025
setp jogincr.in08 0
setp jogincr.in09 0
setp jogincr.in10 0
setp jogincr.in11 0
setp jogincr.in12 0
setp jogincr.in13 0
setp jogincr.in14 0
setp jogincr.in15 0
# connect feed overide increments - switches
setp halui.feed-override.count-enable true
setp halui.feed-override.direct-value true
setp halui.feed-override.scale .01
net feedoverride-incr => halui.feed-override.counts
net fo-incr-a => foincr.sel0
net fo-incr-b => foincr.sel1
net fo-incr-c => foincr.sel2
net fo-incr-d => foincr.sel3
net feedoverride-incr <= foincr.out-s
setp foincr.debounce-time 0.200000
setp foincr.use-graycode False
setp foincr.suppress-no-input False
setp foincr.in00 150
setp foincr.in01 130
setp foincr.in02 140
setp foincr.in03 120
setp foincr.in04 110
setp foincr.in05 90
setp foincr.in06 100
setp foincr.in07 80
setp foincr.in08 70
setp foincr.in09 50
setp foincr.in10 60
setp foincr.in11 40
setp foincr.in12 30
setp foincr.in13 10
setp foincr.in14 20
setp foincr.in15 0
# connect max velocity overide increments - switches
setp halui.rapid-override.count-enable true
setp halui.rapid-override.direct-value true
setp halui.rapid-override.scale 1
net rapid-override-incr => halui.rapid-override.counts
net rapid-incr-a => rapidincr.sel0
net rapid-incr-b => rapidincr.sel1
net rapid-incr-c => rapidincr.sel2
net rapid-incr-d => rapidincr.sel3
net rapid-override-incr <= rapidincr.out-s
setp rapidincr.debounce-time 0.200000
setp rapidincr.use-graycode False
setp rapidincr.suppress-no-input False
setp rapidincr.in00 100
setp rapidincr.in01 50
setp rapidincr.in02 25
setp rapidincr.in03 0
setp rapidincr.in04 5
setp rapidincr.in05 6
setp rapidincr.in06 7
setp rapidincr.in07 8
setp rapidincr.in08 9
setp rapidincr.in09 10
setp rapidincr.in10 11
setp rapidincr.in11 12
setp rapidincr.in12 13
setp rapidincr.in13 14
setp rapidincr.in14 15
setp rapidincr.in15 16
# connect spindle overide increments
setp halui.spindle-override.count-enable true
setp halui.spindle-override.direct-value true
setp halui.spindle-override.scale .01
net spindleoverride-incr => halui.spindle-override.counts
net so-incr-a => soincr.sel0
net so-incr-b => soincr.sel1
net so-incr-c => soincr.sel2
net so-incr-d => soincr.sel3
net spindleoverride-incr <= soincr.out-s
setp soincr.debounce-time 0.200000
setp soincr.use-graycode False
setp soincr.suppress-no-input False
setp soincr.in00 120.0
setp soincr.in01 100.0
setp soincr.in02 80.0
setp soincr.in03 60.0
setp soincr.in04 110.0
setp soincr.in05 90.0
setp soincr.in06 70.0
setp soincr.in07 50.0
setp soincr.in08 1
setp soincr.in09 2
setp soincr.in10 3
setp soincr.in11 4
setp soincr.in12 5
setp soincr.in13 6
setp soincr.in14 7
setp soincr.in15 8
# ---motion control signals---
net in-position <= motion.in-position
net machine-is-enabled <= motion.motion-enabled
# ---digital in / out signals---
net din-00 => motion.digital-in-00
net din-03 => motion.digital-in-03
# ---estop signals---
net estop-out <= iocontrol.0.user-enable-out
# **** Setup for external estop ladder program -START ****
net estop-out => classicladder.0.in-00
net estop-ext => classicladder.0.in-01
net estop-strobe classicladder.0.in-02 <= iocontrol.0.user-request-enable
net estop-outcl classicladder.0.out-00 => iocontrol.0.emc-enable-in
# **** Setup for external estop ladder program -END ****
# ---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
The following user(s) said Thank You: sinusvag
Please Log in or Create an account to join the conversation.
- Todd Zuercher
-
- Online
- Platinum Member
-
Less
More
- Posts: 4978
- Thank you received: 1377
13 Dec 2016 14:16 #84038
by Todd Zuercher
Replied by Todd Zuercher on topic trouble with rapid overrides - version 2.7.8
I don't see the pin connection to the mesa card for your net rapid-incr-c or net rapid-incr-d?
On a related note what is the logic output of your 4 position switch?
On a related note what is the logic output of your 4 position switch?
Please Log in or Create an account to join the conversation.
Time to create page: 0.144 seconds