2 seperate MPG handwheels for each axis - CNC Lathe build

More
16 May 2020 12:37 - 16 May 2020 12:38 #167965 by rodw
Whats a RS422? I Never used that!

I appreciate that this stuff take us way outside our comfort zone. But by using a digital switch that can count to 4 in binary saves pins. eg. We get 4 states out of 4 pins.... That was my big discovery, Re read my tutorial :)
Last edit: 16 May 2020 12:38 by rodw.

Please Log in or Create an account to join the conversation.

More
16 May 2020 12:42 - 16 May 2020 12:43 #167966 by rodw
oops I missed a couple f replys. Now I'm confused!

I never used any resistors.
Last edit: 16 May 2020 12:43 by rodw.

Please Log in or Create an account to join the conversation.

More
16 May 2020 13:11 #167968 by denhen89
Haha i was also confused when i have read your first post on this page :dry:

Current situation: The wiring is done as shown on this manual (page: Connection of MPG's): wiki.eusurplus.com/downloads/7i76E.pdf


Now i would like to make the setup for the MPG with the PCCONF tool: I am on the configuration page on the main Tab "7i76 I/O (SS 0)" and the daughter tab "7i76-I/O TB5". There os jabe to chose the function. I choosed "Jog X +" for Input 16 and "Jog X -" for Input 17, which is for sure wrong, because nothing happend on the AXIS GUI DRO, but the MPG gives 5v when turning the handwheel.
Attachments:

Please Log in or Create an account to join the conversation.

More
16 May 2020 13:27 #167970 by Mike_Eitel
Sorry, cant help with that, i'm a pure hal freak.

Please Log in or Create an account to join the conversation.

More
16 May 2020 13:29 #167971 by denhen89
No problem, but for me it actually does not matter how to set it up, i would just like to get it work, so if you have a idea what i have to change in the .HAL, then please let me know. Maybe i will then learn a bit and understand it to get other things done.

Please Log in or Create an account to join the conversation.

More
16 May 2020 13:38 #167972 by Mike_Eitel
In this old #130396 is a tar.
It is based on gmoccapy
In that there are a lot of hals. If i remember right one is called mpg...

Please Log in or Create an account to join the conversation.

More
16 May 2020 14:01 #167973 by tommylight
@Rod, you mean 2 pins,
@Danhen, you are not using two power supplies , so you are good and the wiring should be ok if those are +5V and gnd from the Mesa with the red and black wire.
@Rod, those are pull up resistor as the encoder has open collector outputs, so it can pull the signal to ground but not to +5V.
@Danhen, in pncconf, there is the option of using MPG, but i think it is for the spindle encoder, so you can set that and later edit the hal to point them to the actual encoders.
The following user(s) said Thank You: rodw

Please Log in or Create an account to join the conversation.

More
16 May 2020 15:31 - 16 May 2020 15:48 #167976 by denhen89
Thanks Mikel_Eitel and tommylight.

Sorry for my lathe reply, but unfortunately (as always with Linux) i had and still have problems with my wifi on the test pc. Its disconnecting from time to time when using a brower. But it does not matter right now.

To Mikel_Eitel: I cant find that post: #130396. Could you send me the link?

To tommylight: thanks, but its impossible to get it done for me, because i just dont know what i am doing or what i have to do. Its so complicated for me and i really dont know why. The CNC router with the cheap BOB was so easy to set up, but i really dont know how to do that with the mpg handwheels.

I try to check some settings from others, but the first thing which i just dont understand is, why in no lines in the HAL are the input pines pointed out.
Like for example i found this answer from Andypugh on that topic Mesa 5i25 and 7176 getting started :

Then connect the mpg to each axis:

net x-jog hm2_5i25.0.7i76.0.0.enc0.count => axis.0.jog-counts
net z-jog hm2_5i25.0.7i76.0.0.enc1.count => axis.2.jog-counts


Are there no input pins missing? I just dont get it. No even a bit. I would really wish someone would make a tutorial or something and not just give 10% info. At least i think that its impossible to know what to do for a "mesa beginner" as i am.

Here one more example of a HAL file to explain you what i dont understand (it was for a 3 axis mpg pendant i think) from this topic: 5i25 7i76 mpg help please
# Generated by PNCconf at Sun Apr  3 20:58:52 2011
# 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=1 num_pwmgens=0 num_stepgens=5 sserial_port_0=200xxxx" 
setp    hm2_5i25.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.z,pid.s
loadrt mux16 names=jogincr

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.s.do-pid-calcs       servo-thread
addf jogincr                  servo-thread
addf hm2_5i25.0.write         servo-thread

# external output signals


# --- MACHINE-IS-ENABLED ---
net machine-is-enabled hm2_5i25.0.7i76.0.0.output-07

# external input signals


# --- HOME-X ---
net home-x     <=  hm2_5i25.0.7i76.0.0.input-00

# --- HOME-Y ---
net home-y     <=  hm2_5i25.0.7i76.0.0.input-01

# --- HOME-Z ---
net home-z     <=  hm2_5i25.0.7i76.0.0.input-02

# --- JOINT-SELECT-A ---
net joint-select-a     <=  hm2_5i25.0.7i76.0.0.input-20

# --- JOINT-SELECT-B ---
net joint-select-b     <=  hm2_5i25.0.7i76.0.0.input-21

# --- JOINT-SELECT-C ---
net joint-select-c     <=  hm2_5i25.0.7i76.0.0.input-22

# --- JOG-INCR-A ---
net jog-incr-a     <=  hm2_5i25.0.7i76.0.0.input-24

# --- JOG-INCR-B ---
net jog-incr-b     <=  hm2_5i25.0.7i76.0.0.input-25

# --- JOG-INCR-C ---
net jog-incr-c     <=  hm2_5i25.0.7i76.0.0.input-26



#*******************
#  AXIS X
#*******************

setp   pid.x.Pgain     [AXIS_0]P
setp   pid.x.Igain     [AXIS_0]I
setp   pid.x.Dgain     [AXIS_0]D
setp   pid.x.bias      [AXIS_0]BIAS
setp   pid.x.FF0       [AXIS_0]FF0
setp   pid.x.FF1       [AXIS_0]FF1
setp   pid.x.FF2       [AXIS_0]FF2
setp   pid.x.deadband  [AXIS_0]DEADBAND
setp   pid.x.maxoutput [AXIS_0]MAX_OUTPUT
setp   pid.x.error-previous-target true
setp   pid.x.maxerror .0005

net x-index-enable  <=> pid.x.index-enable
net x-enable        =>  pid.x.enable
net x-pos-cmd       =>  pid.x.command
net x-vel-cmd       =>  pid.x.command-deriv
net x-pos-fb        =>  pid.x.feedback
net x-output        =>  pid.x.output

# Step Gen signals/setup

setp   hm2_5i25.0.stepgen.00.dirsetup        [AXIS_0]DIRSETUP
setp   hm2_5i25.0.stepgen.00.dirhold         [AXIS_0]DIRHOLD
setp   hm2_5i25.0.stepgen.00.steplen         [AXIS_0]STEPLEN
setp   hm2_5i25.0.stepgen.00.stepspace       [AXIS_0]STEPSPACE
setp   hm2_5i25.0.stepgen.00.position-scale  [AXIS_0]STEP_SCALE
setp   hm2_5i25.0.stepgen.00.step_type        0
setp   hm2_5i25.0.stepgen.00.control-type     1
setp   hm2_5i25.0.stepgen.00.maxaccel         [AXIS_0]STEPGEN_MAXACCEL
setp   hm2_5i25.0.stepgen.00.maxvel           [AXIS_0]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net x-pos-cmd    <= axis.0.motor-pos-cmd
net x-vel-cmd    <= axis.0.joint-vel-cmd
net x-output     => hm2_5i25.0.stepgen.00.velocity-cmd
net x-pos-fb     <= hm2_5i25.0.stepgen.00.position-fb
net x-pos-fb     => axis.0.motor-pos-fb
net x-enable     <= axis.0.amp-enable-out
net x-enable     => hm2_5i25.0.stepgen.00.enable

# ---setup home / limit switch signals---

net home-x     =>  axis.0.home-sw-in
net x-neg-limit     =>  axis.0.neg-lim-sw-in
net x-pos-limit     =>  axis.0.pos-lim-sw-in

#*******************
#  AXIS Y
#*******************

setp   pid.y.Pgain     [AXIS_1]P
setp   pid.y.Igain     [AXIS_1]I
setp   pid.y.Dgain     [AXIS_1]D
setp   pid.y.bias      [AXIS_1]BIAS
setp   pid.y.FF0       [AXIS_1]FF0
setp   pid.y.FF1       [AXIS_1]FF1
setp   pid.y.FF2       [AXIS_1]FF2
setp   pid.y.deadband  [AXIS_1]DEADBAND
setp   pid.y.maxoutput [AXIS_1]MAX_OUTPUT
setp   pid.y.error-previous-target true
setp   pid.y.maxerror .0005

net y-index-enable  <=> pid.y.index-enable
net y-enable        =>  pid.y.enable
net y-pos-cmd       =>  pid.y.command
net y-vel-cmd       =>  pid.y.command-deriv
net y-pos-fb        =>  pid.y.feedback
net y-output        =>  pid.y.output

# Step Gen signals/setup

setp   hm2_5i25.0.stepgen.01.dirsetup        [AXIS_1]DIRSETUP
setp   hm2_5i25.0.stepgen.01.dirhold         [AXIS_1]DIRHOLD
setp   hm2_5i25.0.stepgen.01.steplen         [AXIS_1]STEPLEN
setp   hm2_5i25.0.stepgen.01.stepspace       [AXIS_1]STEPSPACE
setp   hm2_5i25.0.stepgen.01.position-scale  [AXIS_1]STEP_SCALE
setp   hm2_5i25.0.stepgen.01.step_type        0
setp   hm2_5i25.0.stepgen.01.control-type     1
setp   hm2_5i25.0.stepgen.01.maxaccel         [AXIS_1]STEPGEN_MAXACCEL
setp   hm2_5i25.0.stepgen.01.maxvel           [AXIS_1]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net y-pos-cmd    <= axis.1.motor-pos-cmd
net y-vel-cmd    <= axis.1.joint-vel-cmd
net y-output     => hm2_5i25.0.stepgen.01.velocity-cmd
net y-pos-fb     <= hm2_5i25.0.stepgen.01.position-fb
net y-pos-fb     => axis.1.motor-pos-fb
net y-enable     <= axis.1.amp-enable-out
net y-enable     => hm2_5i25.0.stepgen.01.enable

# ---setup home / limit switch signals---

net home-y     =>  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
setp   pid.z.error-previous-target true
setp   pid.z.maxerror .0005

net z-index-enable  <=> pid.z.index-enable
net z-enable        =>  pid.z.enable
net z-pos-cmd       =>  pid.z.command
net z-vel-cmd       =>  pid.z.command-deriv
net z-pos-fb        =>  pid.z.feedback
net z-output        =>  pid.z.output

# Step Gen signals/setup

setp   hm2_5i25.0.stepgen.02.dirsetup        [AXIS_2]DIRSETUP
setp   hm2_5i25.0.stepgen.02.dirhold         [AXIS_2]DIRHOLD
setp   hm2_5i25.0.stepgen.02.steplen         [AXIS_2]STEPLEN
setp   hm2_5i25.0.stepgen.02.stepspace       [AXIS_2]STEPSPACE
setp   hm2_5i25.0.stepgen.02.position-scale  [AXIS_2]STEP_SCALE
setp   hm2_5i25.0.stepgen.02.step_type        0
setp   hm2_5i25.0.stepgen.02.control-type     1
setp   hm2_5i25.0.stepgen.02.maxaccel         [AXIS_2]STEPGEN_MAXACCEL
setp   hm2_5i25.0.stepgen.02.maxvel           [AXIS_2]STEPGEN_MAXVEL
setp    hm2_5i25.0.gpio.004.invert_output true

# ---closedloop stepper signals---

net z-pos-cmd    <= axis.2.motor-pos-cmd
net z-vel-cmd    <= axis.2.joint-vel-cmd
net z-output     => hm2_5i25.0.stepgen.02.velocity-cmd
net z-pos-fb     <= hm2_5i25.0.stepgen.02.position-fb
net z-pos-fb     => axis.2.motor-pos-fb
net z-enable     <= axis.2.amp-enable-out
net z-enable     => hm2_5i25.0.stepgen.02.enable

# ---setup home / limit switch signals---

net home-z     =>  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
#*******************

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

net spindle-index-enable  <=> pid.s.index-enable
net spindle-enable        =>  pid.s.enable
net spindle-vel-cmd-rpm-abs     => pid.s.command
net spindle-vel-fb-rpm-abs      => pid.s.feedback
net spindle-output        <=  pid.s.output

# ---digital potentionmeter output signals/setup---

setp   hm2_5i25.0.7i76.0.0.spinout-minlim    [SPINDLE_9]OUTPUT_MIN_LIMIT
setp   hm2_5i25.0.7i76.0.0.spinout-maxlim    [SPINDLE_9]OUTPUT_MAX_LIMIT
setp   hm2_5i25.0.7i76.0.0.spinout-scalemax  [SPINDLE_9]OUTPUT_SCALE

net spindle-output      => hm2_5i25.0.7i76.0.0.spinout
net spindle-enable      => hm2_5i25.0.7i76.0.0.spinena
net spindle-ccw         => hm2_5i25.0.7i76.0.0.spindir

# ---setup spindle control signals---

net spindle-vel-cmd-rps        <=  motion.spindle-speed-out-rps
net spindle-vel-cmd-rps-abs    <=  motion.spindle-speed-out-rps-abs
net spindle-vel-cmd-rpm        <=  motion.spindle-speed-out
net spindle-vel-cmd-rpm-abs    <=  motion.spindle-speed-out-abs
net spindle-enable             <=  motion.spindle-on
net spindle-cw                 <=  motion.spindle-forward
net spindle-ccw                <=  motion.spindle-reverse
net spindle-brake              <=  motion.spindle-brake
net spindle-revs               =>  motion.spindle-revs
net spindle-at-speed           =>  motion.spindle-at-speed
net spindle-vel-fb-rps         =>  motion.spindle-speed-in
net spindle-index-enable      <=>  motion.spindle-index-enable

# ---Setup spindle at speed signals---

sets spindle-at-speed true


#******************************
# 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

# ---jogwheel signals to mesa encoder - shared MPG---

net joint-selected-count     <=  hm2_5i25.0.encoder.00.count

#  ---mpg signals---

#       for axis x MPG
setp    axis.0.jog-vel-mode 0
net selected-jog-incr    =>  axis.0.jog-scale
net joint-select-a       =>  axis.0.jog-enable
net joint-selected-count =>  axis.0.jog-counts

#       for axis y MPG
setp    axis.1.jog-vel-mode 0
net selected-jog-incr    =>  axis.1.jog-scale
net joint-select-b       =>  axis.1.jog-enable
net joint-selected-count =>  axis.1.jog-counts

#       for axis z MPG
setp    axis.2.jog-vel-mode 0
net selected-jog-incr    =>  axis.2.jog-scale
net joint-select-c       =>  axis.2.jog-enable
net joint-selected-count =>  axis.2.jog-counts


# connect selectable mpg jog increments 

net jog-incr-a           =>  jogincr.sel0
net jog-incr-b           =>  jogincr.sel1
net jog-incr-c           =>  jogincr.sel2
net jog-incr-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.000000
    setp jogincr.in01          0.001000
    setp jogincr.in02          0.010000
    setp jogincr.in03          0.100000
    setp jogincr.in04          0.005000
    setp jogincr.in05          0.010000
    setp jogincr.in06          0.050000
    setp jogincr.in07          0.100000
    setp jogincr.in08          0.125000
    setp jogincr.in09          0.125000
    setp jogincr.in10          0.125000
    setp jogincr.in11          0.125000
    setp jogincr.in12          0.125000
    setp jogincr.in13          0.125000
    setp jogincr.in14          0.125000
    setp jogincr.in15          0.125000

#  ---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

He did connect the MPG to TB5 Pin 1 and Pin 2, as i did also for one MPG handwheel. But no where in the HAL i can find something like "input 16" and "input 17".

Guys, i dont wanna cry, but i dont get it done by my self. No chance. I know that this is not your problem and you are helping here for free, but since i have got the Mesa 7i76e i have spend about 24 hours to get things done and from the 24h a spend at least 10 hours, just to get the Handwheels connected and setup, but with no positive result. I am currently really thinking to give up and sell the 7i76e, forget about the mpg handwheels and just use a cheap BOB which i know that i will be able to setup.
Another option is that someone does the work for me and i pay for that. There are nicer things to do then trying something without any clue about it.
Last edit: 16 May 2020 15:48 by denhen89.

Please Log in or Create an account to join the conversation.

More
16 May 2020 16:44 #167978 by Mike_Eitel
Just copied my mpg.hal completely as i do not know how to make those foldable
code inserts

########################################
# 7i73 hal connections for the MPG #
# (c) Norbert Schechner #
# modified by Mike Eitel #
########################################


### DECLARATION OF USED COMPONENTS ###

loadrt ilowpass names=lowpass-x,lowpass-y,lowpass-z,lowpass-a
loadrt mux4 names=jog-scale-xy,jog-scale-z,jog-scale-a

### STARTING OF USED COMPONENTS ###
addf lowpass-x servo-thread
addf lowpass-y servo-thread
addf lowpass-z servo-thread
addf lowpass-a servo-thread
addf jog-scale-xy servo-thread
addf jog-scale-z servo-thread
addf jog-scale-a servo-thread

### DEFINITION OF CONSTANTS ###

# For velocity mode, set to 1
# In velocity mode the axis stops when the dial is stopped even if that means
# the commanded motion is not completed. For position mode (the default), set to 0
# In position mode the axis will move exactly jog-scale
# units for each count, regardless of how long that might take,
setp axis.x.jog-vel-mode 0
setp axis.y.jog-vel-mode 0
setp axis.z.jog-vel-mode 0
setp axis.a.jog-vel-mode 0
setp joint.0.jog-vel-mode 0
setp joint.1.jog-vel-mode 0
setp joint.2.jog-vel-mode 0
setp joint.3.jog-vel-mode 0


# Make the movements smother by avoiding big jumps
setp lowpass-x.scale 1
setp lowpass-x.gain 0.01
setp lowpass-y.scale 1
setp lowpass-y.gain 0.0075
setp lowpass-z.scale 1
setp lowpass-z.gain 0.0050
setp lowpass-a.scale 1
setp lowpass-a.gain 0.0025

# This sets the scale that will be used based on the input to the mux4
# The scale used here has to be multiplied by the ilowpass scale
# X an Y are using the same scale factors
setp jog-scale-xy.in0 1.000
setp jog-scale-xy.in1 0.100
setp jog-scale-xy.in2 0.010
setp jog-scale-xy.in3 0.001

#Z ist normal spindel axis
setp jog-scale-z.in0 1.000
setp jog-scale-z.in1 0.100
setp jog-scale-z.in2 0.010
setp jog-scale-z.in3 0.001

#A is a rotating axis !
setp jog-scale-a.in0 15.0
setp jog-scale-a.in1 3.6
setp jog-scale-a.in2 1.0
setp jog-scale-a.in3 0.1


### IMPLEMENTATION OF HAL CONNECTIONS ###

# X an Y are using the same scale factors

# The selector inputs of the mux4 component are connected with the hw switches
net scale-xy1 jog-scale-xy.sel0 <= hm2_7i76e.0.7i73.0.1.input-18-not
net scale-xy2 jog-scale-xy.sel1 <= hm2_7i76e.0.7i73.0.1.input-19-not
net scale-z1 jog-scale-z.sel0 <= hm2_7i76e.0.7i73.0.1.input-20-not
net scale-z2 jog-scale-z.sel1 <= hm2_7i76e.0.7i73.0.1.input-21-not
net scale-a1 jog-scale-a.sel0 <= hm2_7i76e.0.7i73.0.1.input-22-not
net scale-a2 jog-scale-a.sel1 <= hm2_7i76e.0.7i73.0.1.input-23-not

# This sets the scale that will be used based on the input of the mux4
# The output from the mux4 is sent to each axis jog scale
net mpg-scale-xy jog-scale-xy.out => axis.x.jog-scale => joint.0.jog-scale
net mpg-scale-xy => axis.y.jog-scale => joint.1.jog-scale
net mpg-scale-z jog-scale-z.out => axis.z.jog-scale => joint.2.jog-scale
net mpg-scale-a jog-scale-a.out => axis.a.jog-scale => joint.3.jog-scale


# Connecting of encoder hw outputs to hal
# The output from encoder counts is sent to ilowpass
net jog-wheel-counts-x lowpass-x.in <= hm2_7i76e.0.7i73.0.1.enc0.count
net jog-wheel-counts-y lowpass-y.in <= hm2_7i76e.0.7i73.0.1.enc1.count
net jog-wheel-counts-z lowpass-z.in <= hm2_7i76e.0.7i73.0.1.enc2.count
net jog-wheel-counts-a lowpass-a.in <= hm2_7i76e.0.7i73.0.1.enc3.count

net jog-wheel-counts-x => joint.0.jog-counts => axis.x.jog-counts
net jog-wheel-counts-y => joint.1.jog-counts => axis.y.jog-counts
net jog-wheel-counts-z => joint.2.jog-counts => axis.z.jog-counts
net jog-wheel-counts-a => joint.3.jog-counts => axis.a.jog-counts


# already connected cont_joging on jog vel mode selection
# net jog_cont gmoccapy.jog.jog-inc-0 <= hm2_7i76e.0.7i73.0.1.input-07
#net jog_1000 gmoccapy.jog.jog-inc-1 <= hm2_7i76e.0.7i73.0.1.input-06
#net jog_0100 gmoccapy.jog.jog-inc-2 <= hm2_7i76e.0.7i73.0.1.input-05
#net jog_0010 gmoccapy.jog.jog-inc-3 <= hm2_7i76e.0.7i73.0.1.input-04
#net jog_0001 gmoccapy.jog.jog-inc-4 <= hm2_7i76e.0.7i73.0.1.input-03

# loaded at estop_and_enable.hal
#loadrt and2 names=and_x,and_y,and_z
#addf and_x servo-thread
#addf and_y servo-thread
#addf and_z servo-thread
#addf and_a servo-thread

net jog-enable <= halui.machine.is-on
net jog-enable => joint.0.jog-enable => axis.x.jog-enable
net jog-enable => joint.1.jog-enable => axis.y.jog-enable
net jog-enable => joint.2.jog-enable => axis.z.jog-enable
net jog-enable => joint.3.jog-enable => axis.a.jog-enable
The following user(s) said Thank You: Clive S, tivoi

Please Log in or Create an account to join the conversation.

More
16 May 2020 16:49 #167980 by tommylight
Take a break for tonight, go out and forget about all this here.
Tomorrow is Sunday, so grab a coffee and a smoke and a chair, we'll give it a go at a slower pace.
B)

Please Log in or Create an account to join the conversation.

Time to create page: 0.210 seconds
Powered by Kunena Forum