G97 and encoder feedback

More
13 Nov 2021 13:56 - 13 Nov 2021 14:05 #226320 by PaulQUE
G97 and encoder feedback was created by PaulQUE
Hi,

After finally getting the toolchanger to work on my emco compact 5 PC, I'm trying some first cuts. I use Fusion 360 for CAM. The post processor uses spindle control mode with G97. the lathe is equipped with a fixed speed single phase motor, and speed change is done with belt ratios. There is a physical switch to turn it on, and a 100ppr sensor for rpm feedback. 

here are the first few commands 

G7
G18 
G90
G21
G53 X0 
G53 Z0

T1 M6
G54
G97 S2000 M3
G95 
G90 G0 X27.89 Z0
G1 Z-1.129 F0.01

after setting the first tool, the lathes freezes up at the feed command "G1 Z-1 F0.01"
I suspect linux cnc is just waiting for the spindle to turn but does not see it. Or can't I use G97 because M3 won't do anything since I do not have the motor hooked up to linuxcnc?

In the halshow, velocity and velocity-rpm are properly displaying the spindle speed
here is my setup for the encoder:

# Généré par PNCconf le Wed Oct 20 22:33:22 2021
# Using LinuxCNC version:  2.8
# Si vous modifiez ce fichier, il sera
# écrasé quand vous relancerez PNCconf

loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hostmot2
loadrt hm2_eth board_ip="10.10.10.10" config=" num_encoders=1 num_pwmgens=0 num_stepgens=3 sserial_port_0=0xxxxx" 
setp    [HMOT](CARD0).watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.z,
loadrt toolchanger

addf [HMOT](CARD0).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 [HMOT](CARD0).write         servo-thread
addf toolchanger servo-thread


# external input signals

setp hm2_7i96.0.encoder.00.counter-mode TRUE
setp hm2_7i96.0.encoder.00.scale 100
setp hm2_7i96.0.encoder.00.filter TRUE
setp hm2_7i96.0.encoder.00.index-invert 0
setp hm2_7i96.0.encoder.00.index-mask 0
setp hm2_7i96.0.encoder.00.index-mask-invert 0

net spindle-revs [HMOT](CARD0).encoder.00.position
net spindle-vel-fb-rps [HMOT](CARD0).encoder.00.velocity
net spindle-index-enable [HMOT](CARD0).encoder.00.index-enable




#*******************
#  AXIS X JOINT 0
#*******************

setp   pid.x.Pgain     [JOINT_0]P
setp   pid.x.Igain     [JOINT_0]I
setp   pid.x.Dgain     [JOINT_0]D
setp   pid.x.bias      [JOINT_0]BIAS
setp   pid.x.FF0       [JOINT_0]FF0
setp   pid.x.FF1       [JOINT_0]FF1
setp   pid.x.FF2       [JOINT_0]FF2
setp   pid.x.deadband  [JOINT_0]DEADBAND
setp   pid.x.maxoutput [JOINT_0]MAX_OUTPUT
setp   pid.x.error-previous-target true
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp   pid.x.maxerror 0.012700

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

# Step Gen signals/setup

setp   [HMOT](CARD0).stepgen.00.dirsetup        [JOINT_0]DIRSETUP
setp   [HMOT](CARD0).stepgen.00.dirhold         [JOINT_0]DIRHOLD
setp   [HMOT](CARD0).stepgen.00.steplen         [JOINT_0]STEPLEN
setp   [HMOT](CARD0).stepgen.00.stepspace       [JOINT_0]STEPSPACE
setp   [HMOT](CARD0).stepgen.00.position-scale  [JOINT_0]STEP_SCALE
setp   [HMOT](CARD0).stepgen.00.step_type        0
setp   [HMOT](CARD0).stepgen.00.control-type     1
setp   [HMOT](CARD0).stepgen.00.maxaccel         [JOINT_0]STEPGEN_MAXACCEL
setp   [HMOT](CARD0).stepgen.00.maxvel           [JOINT_0]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net x-pos-cmd    <= joint.0.motor-pos-cmd
net x-vel-cmd    <= joint.0.vel-cmd
net x-output     <= [HMOT](CARD0).stepgen.00.velocity-cmd
net x-pos-fb     <= [HMOT](CARD0).stepgen.00.position-fb
net x-pos-fb     => joint.0.motor-pos-fb
net x-enable     <= joint.0.amp-enable-out
net x-enable     => [HMOT](CARD0).stepgen.00.enable

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

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

#*******************
#  AXIS Z JOINT 1
#*******************

setp   pid.z.Pgain     [JOINT_1]P
setp   pid.z.Igain     [JOINT_1]I
setp   pid.z.Dgain     [JOINT_1]D
setp   pid.z.bias      [JOINT_1]BIAS
setp   pid.z.FF0       [JOINT_1]FF0
setp   pid.z.FF1       [JOINT_1]FF1
setp   pid.z.FF2       [JOINT_1]FF2
setp   pid.z.deadband  [JOINT_1]DEADBAND
setp   pid.z.maxoutput [JOINT_1]MAX_OUTPUT
setp   pid.z.error-previous-target true
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp   pid.z.maxerror 0.012700

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

# Step Gen signals/setup

setp   [HMOT](CARD0).stepgen.01.dirsetup        [JOINT_1]DIRSETUP
setp   [HMOT](CARD0).stepgen.01.dirhold         [JOINT_1]DIRHOLD
setp   [HMOT](CARD0).stepgen.01.steplen         [JOINT_1]STEPLEN
setp   [HMOT](CARD0).stepgen.01.stepspace       [JOINT_1]STEPSPACE
setp   [HMOT](CARD0).stepgen.01.position-scale  [JOINT_1]STEP_SCALE
setp   [HMOT](CARD0).stepgen.01.step_type        0
setp   [HMOT](CARD0).stepgen.01.control-type     1
setp   [HMOT](CARD0).stepgen.01.maxaccel         [JOINT_1]STEPGEN_MAXACCEL
setp   [HMOT](CARD0).stepgen.01.maxvel           [JOINT_1]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net z-pos-cmd    <= joint.1.motor-pos-cmd
net z-vel-cmd    <= joint.1.vel-cmd
net z-output     <= [HMOT](CARD0).stepgen.01.velocity-cmd
net z-pos-fb     <= [HMOT](CARD0).stepgen.01.position-fb
net z-pos-fb     => joint.1.motor-pos-fb
net z-enable     <= joint.1.amp-enable-out
net z-enable     => [HMOT](CARD0).stepgen.01.enable

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

net z-home-sw     =>  joint.1.home-sw-in
net z-neg-limit     =>  joint.1.neg-lim-sw-in
net z-pos-limit     =>  joint.1.pos-lim-sw-in

#*******************
#  AXIS S ATC
#*******************





# Step Gen signals/setup

setp   [HMOT](CARD0).stepgen.02.dirsetup        [AXIS_2]DIRSETUP
setp   [HMOT](CARD0).stepgen.02.dirhold         [AXIS_2]DIRHOLD
setp   [HMOT](CARD0).stepgen.02.steplen         [AXIS_2]STEPLEN
setp   [HMOT](CARD0).stepgen.02.stepspace       [AXIS_2]STEPSPACE
setp   [HMOT](CARD0).stepgen.02.position-scale  [AXIS_2]STEP_SCALE
setp   [HMOT](CARD0).stepgen.02.step_type        0
setp   [HMOT](CARD0).stepgen.02.control-type     0
setp   [HMOT](CARD0).stepgen.02.maxaccel         [AXIS_2]STEPGEN_MAXACCEL
setp   [HMOT](CARD0).stepgen.02.maxvel           [AXIS_2]STEPGEN_MAXVEL



# ---closedloop stepper signals---

net s-pos-cmd    [HMOT](CARD0).stepgen.02.position-cmd
net s-pos-fb   <= [HMOT](CARD0).stepgen.02.position-fb


net s-pos-fb     <= [HMOT](CARD0).stepgen.02.position-fb
net s-enable     <= joint.2.amp-enable-out
net s-enable     => [HMOT](CARD0).stepgen.02.enable

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

net s-home-sw     =>  joint.2.home-sw-in
net s-neg-limit     =>  joint.2.neg-lim-sw-in
net s-pos-limit     =>  joint.2.pos-lim-sw-in

#******************************
#connections de signaux divers
#******************************

#  ---signaux HALUI---

net axis-select-x  halui.axis.x.select
net jog-x-pos      halui.axis.x.plus
net jog-x-neg      halui.axis.x.minus
net jog-x-analog   halui.axis.x.analog
net x-is-homed     halui.joint.0.is-homed
net axis-select-z  halui.axis.z.select
net jog-z-pos      halui.axis.z.plus
net jog-z-neg      halui.axis.z.minus
net jog-z-analog   halui.axis.z.analog
net z-is-homed     halui.joint.1.is-homed
net s-is-homed     halui.joint.2.is-homed

net jog-selected-pos      halui.axis.selected.plus
net jog-selected-neg      halui.axis.selected.minus
net spindle-manual-cw     halui.spindle.0.forward
net spindle-manual-ccw    halui.spindle.0.reverse
net spindle-manual-stop   halui.spindle.0.stop
net machine-is-on         halui.machine.is-on
net jog-speed             halui.axis.jog-speed
net MDI-mode              halui.mode.is-mdi

#  ---signaux d'arrosage---

net coolant-mist      <=  iocontrol.0.coolant-mist
net coolant-flood     <=  iocontrol.0.coolant-flood

#  ---signal de sonde---

net probe-in     =>  motion.probe-input

#  ---signaux contrôle mouvement---

net in-position               <=  motion.in-position
net machine-is-enabled        <=  motion.motion-enabled

#  ---signaux entrée / sortie numérique---

#  ---signaux d'A/U---
net estop-out     <=  iocontrol.0.user-enable-out
net estop-out     =>  iocontrol.0.emc-enable-in


#  ---signaux changeur manuel d'outil--
net tool-change iocontrol.0.tool-change => toolchanger.toolchange
net tool-changed iocontrol.0.tool-changed <= toolchanger.toolchanged
net tool-number iocontrol.0.tool-prep-number => toolchanger.toolnumber
net tool-oldnumber iocontrol.0.tool-number => toolchanger.currenttoolnumber



net s-pos-cmd toolchanger.position-cmd 
net s-is-homed halui.joint.2.is-homed => toolchanger.ishomed
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared




thanks for the assistance, paul
Last edit: 13 Nov 2021 14:05 by PaulQUE.

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

More
13 Nov 2021 17:57 #226339 by PCW
Replied by PCW on topic G97 and encoder feedback
My first guess is that the spindle count is backwards (does not increase by one each turn)
If it is backwards, you would fix it by changing the encoder scale from 100 to -100

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

More
13 Nov 2021 18:07 #226341 by PaulQUE
Replied by PaulQUE on topic G97 and encoder feedback
thanks, just gave that a try, it didn't do much, G97 and M3 are highlighted red in Gmoccapy, is there something I should understand?

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

More
13 Nov 2021 18:45 - 13 Nov 2021 20:17 #226345 by PCW
Replied by PCW on topic G97 and encoder feedback
Another possibility is that spindle.0.at-speed is not true
I don't see anywhere in your hal file where this is set
Last edit: 13 Nov 2021 20:17 by PCW.

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

More
13 Nov 2021 18:53 #226346 by PaulQUE
Replied by PaulQUE on topic G97 and encoder feedback
I have not included this line, could you enlight me on how to set this up?

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

More
13 Nov 2021 20:16 - 13 Nov 2021 20:16 #226358 by PCW
Replied by PCW on topic G97 and encoder feedback
The simplest way is to just:

setp spindle.0.at-speed true

Ignoring the actual spindle speed

A better way is to sense if the spindle speed is near the requested speed
by using the "near" component to compare the actual spindle speed with
the requested speed.
Last edit: 13 Nov 2021 20:16 by PCW.

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

More
13 Nov 2021 20:41 - 13 Nov 2021 20:58 #226365 by PaulQUE
Replied by PaulQUE on topic G97 and encoder feedback
I've added the line, still got the same issue, looking at the spindle count, it seems to increase which ever way I turn the spindle. this is an optical sensor hooked up to phase A only, so I think there is no way for linuxcnc to tell which way the spindle is turning, how could I get arround that ?

looking at the documentation for spindle-at-speed, will setting this parameter to true prevent me from doing threading cycle? 
Last edit: 13 Nov 2021 20:58 by PaulQUE.

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

More
15 Nov 2021 13:40 - 15 Nov 2021 13:42 #226577 by PaulQUE
Replied by PaulQUE on topic G97 and encoder feedback
Quick update,

A significant chunk of code was missing, I am now getting spindle feedback, and G76 works as expected, EXCEPT, the spindle-velocity is suspiciously low, in fact 60 times to slow, (25 instead of 1500) and thus, my axis are moving 25 times slower than expected. There seem to be a confusion between RPS and RPM along the way, any idea what my cause it?

here is the current state of my hal file:

# Généré par PNCconf le Wed Oct 20 22:33:22 2021
# Using LinuxCNC version:  2.8
# Si vous modifiez ce fichier, il sera
# écrasé quand vous relancerez PNCconf

loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hostmot2
loadrt hm2_eth board_ip="10.10.10.10" config=" num_encoders=1 num_pwmgens=0 num_stepgens=3 sserial_port_0=0xxxxx" 
setp    [HMOT](CARD0).watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.z,
loadrt toolchanger
loadrt encoder num_chan=1

addf [HMOT](CARD0).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 [HMOT](CARD0).write         servo-thread
addf toolchanger servo-thread
addf encoder.update-counters servo-thread
addf encoder.capture-position servo-thread


# external input signals

setp hm2_7i96.0.encoder.00.counter-mode TRUE
setp hm2_7i96.0.encoder.00.scale 100
#setp hm2_7i96.0.encoder.00.filter TRUE
#setp hm2_7i96.0.encoder.00.index-invert 0
#setp hm2_7i96.0.encoder.00.index-mask 0
#setp hm2_7i96.0.encoder.00.index-mask-invert 0

net spindle-index hm2_7i96.0.encoder.00.input-index

net spindle-phase-a hm2_7i96.0.encoder.00.input-a

net spindle-position [HMOT](CARD0).encoder.00.position spindle.0.revs
net spindle-index-enable [HMOT](CARD0).encoder.00.index-enable spindle.0.index-enable
net spindle-velocity [HMOT](CARD0).encoder.00.velocity spindle.0.speed-in


#net spindle-revs [HMOT](CARD0).encoder.00.position
#net spindle-vel-fb-rps [HMOT](CARD0).encoder.00.velocity
#net spindle-index-enable [HMOT](CARD0).encoder.00.index-enable

#setp spindle.0.at-speed TRUE


#*******************
#  AXIS X JOINT 0
#*******************

setp   pid.x.Pgain     [JOINT_0]P
setp   pid.x.Igain     [JOINT_0]I
setp   pid.x.Dgain     [JOINT_0]D
setp   pid.x.bias      [JOINT_0]BIAS
setp   pid.x.FF0       [JOINT_0]FF0
setp   pid.x.FF1       [JOINT_0]FF1
setp   pid.x.FF2       [JOINT_0]FF2
setp   pid.x.deadband  [JOINT_0]DEADBAND
setp   pid.x.maxoutput [JOINT_0]MAX_OUTPUT
setp   pid.x.error-previous-target true
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp   pid.x.maxerror 0.012700

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

# Step Gen signals/setup

setp   [HMOT](CARD0).stepgen.00.dirsetup        [JOINT_0]DIRSETUP
setp   [HMOT](CARD0).stepgen.00.dirhold         [JOINT_0]DIRHOLD
setp   [HMOT](CARD0).stepgen.00.steplen         [JOINT_0]STEPLEN
setp   [HMOT](CARD0).stepgen.00.stepspace       [JOINT_0]STEPSPACE
setp   [HMOT](CARD0).stepgen.00.position-scale  [JOINT_0]STEP_SCALE
setp   [HMOT](CARD0).stepgen.00.step_type        0
setp   [HMOT](CARD0).stepgen.00.control-type     1
setp   [HMOT](CARD0).stepgen.00.maxaccel         [JOINT_0]STEPGEN_MAXACCEL
setp   [HMOT](CARD0).stepgen.00.maxvel           [JOINT_0]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net x-pos-cmd    <= joint.0.motor-pos-cmd
net x-vel-cmd    <= joint.0.vel-cmd
net x-output     <= [HMOT](CARD0).stepgen.00.velocity-cmd
net x-pos-fb     <= [HMOT](CARD0).stepgen.00.position-fb
net x-pos-fb     => joint.0.motor-pos-fb
net x-enable     <= joint.0.amp-enable-out
net x-enable     => [HMOT](CARD0).stepgen.00.enable

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

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

#*******************
#  AXIS Z JOINT 1
#*******************

setp   pid.z.Pgain     [JOINT_1]P
setp   pid.z.Igain     [JOINT_1]I
setp   pid.z.Dgain     [JOINT_1]D
setp   pid.z.bias      [JOINT_1]BIAS
setp   pid.z.FF0       [JOINT_1]FF0
setp   pid.z.FF1       [JOINT_1]FF1
setp   pid.z.FF2       [JOINT_1]FF2
setp   pid.z.deadband  [JOINT_1]DEADBAND
setp   pid.z.maxoutput [JOINT_1]MAX_OUTPUT
setp   pid.z.error-previous-target true
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp   pid.z.maxerror 0.012700

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

# Step Gen signals/setup

setp   [HMOT](CARD0).stepgen.01.dirsetup        [JOINT_1]DIRSETUP
setp   [HMOT](CARD0).stepgen.01.dirhold         [JOINT_1]DIRHOLD
setp   [HMOT](CARD0).stepgen.01.steplen         [JOINT_1]STEPLEN
setp   [HMOT](CARD0).stepgen.01.stepspace       [JOINT_1]STEPSPACE
setp   [HMOT](CARD0).stepgen.01.position-scale  [JOINT_1]STEP_SCALE
setp   [HMOT](CARD0).stepgen.01.step_type        0
setp   [HMOT](CARD0).stepgen.01.control-type     1
setp   [HMOT](CARD0).stepgen.01.maxaccel         [JOINT_1]STEPGEN_MAXACCEL
setp   [HMOT](CARD0).stepgen.01.maxvel           [JOINT_1]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net z-pos-cmd    <= joint.1.motor-pos-cmd
net z-vel-cmd    <= joint.1.vel-cmd
net z-output     <= [HMOT](CARD0).stepgen.01.velocity-cmd
net z-pos-fb     <= [HMOT](CARD0).stepgen.01.position-fb
net z-pos-fb     => joint.1.motor-pos-fb
net z-enable     <= joint.1.amp-enable-out
net z-enable     => [HMOT](CARD0).stepgen.01.enable

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

net z-home-sw     =>  joint.1.home-sw-in
net z-neg-limit     =>  joint.1.neg-lim-sw-in
net z-pos-limit     =>  joint.1.pos-lim-sw-in

#*******************
#  AXIS S ATC
#*******************





# Step Gen signals/setup

setp   [HMOT](CARD0).stepgen.02.dirsetup        [AXIS_2]DIRSETUP
setp   [HMOT](CARD0).stepgen.02.dirhold         [AXIS_2]DIRHOLD
setp   [HMOT](CARD0).stepgen.02.steplen         [AXIS_2]STEPLEN
setp   [HMOT](CARD0).stepgen.02.stepspace       [AXIS_2]STEPSPACE
setp   [HMOT](CARD0).stepgen.02.position-scale  [AXIS_2]STEP_SCALE
setp   [HMOT](CARD0).stepgen.02.step_type        0
setp   [HMOT](CARD0).stepgen.02.control-type     0
setp   [HMOT](CARD0).stepgen.02.maxaccel         [AXIS_2]STEPGEN_MAXACCEL
setp   [HMOT](CARD0).stepgen.02.maxvel           [AXIS_2]STEPGEN_MAXVEL



# ---closedloop stepper signals---

net s-pos-cmd    [HMOT](CARD0).stepgen.02.position-cmd
net s-pos-fb   <= [HMOT](CARD0).stepgen.02.position-fb


net s-pos-fb     <= [HMOT](CARD0).stepgen.02.position-fb
net s-enable     <= joint.2.amp-enable-out
net s-enable     => [HMOT](CARD0).stepgen.02.enable

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

net s-home-sw     =>  joint.2.home-sw-in
net s-neg-limit     =>  joint.2.neg-lim-sw-in
net s-pos-limit     =>  joint.2.pos-lim-sw-in

#******************************
#connections de signaux divers
#******************************

#  ---signaux HALUI---

net axis-select-x  halui.axis.x.select
net jog-x-pos      halui.axis.x.plus
net jog-x-neg      halui.axis.x.minus
net jog-x-analog   halui.axis.x.analog
net x-is-homed     halui.joint.0.is-homed
net axis-select-z  halui.axis.z.select
net jog-z-pos      halui.axis.z.plus
net jog-z-neg      halui.axis.z.minus
net jog-z-analog   halui.axis.z.analog
net z-is-homed     halui.joint.1.is-homed
net s-is-homed     halui.joint.2.is-homed

net jog-selected-pos      halui.axis.selected.plus
net jog-selected-neg      halui.axis.selected.minus
net spindle-manual-cw     halui.spindle.0.forward
net spindle-manual-ccw    halui.spindle.0.reverse
net spindle-manual-stop   halui.spindle.0.stop
net machine-is-on         halui.machine.is-on
net jog-speed             halui.axis.jog-speed
net MDI-mode              halui.mode.is-mdi

#  ---signaux d'arrosage---

net coolant-mist      <=  iocontrol.0.coolant-mist
net coolant-flood     <=  iocontrol.0.coolant-flood

#  ---signal de sonde---

net probe-in     =>  motion.probe-input

#  ---signaux contrôle mouvement---

net in-position               <=  motion.in-position
net machine-is-enabled        <=  motion.motion-enabled

#  ---signaux entrée / sortie numérique---

#  ---signaux d'A/U---
net estop-out     <=  iocontrol.0.user-enable-out
net estop-out     =>  iocontrol.0.emc-enable-in


#  ---signaux changeur manuel d'outil--
net tool-change iocontrol.0.tool-change => toolchanger.toolchange
net tool-changed iocontrol.0.tool-changed <= toolchanger.toolchanged
net tool-number iocontrol.0.tool-prep-number => toolchanger.toolnumber
net tool-oldnumber iocontrol.0.tool-number => toolchanger.currenttoolnumber



net s-pos-cmd toolchanger.position-cmd 
net s-is-homed halui.joint.2.is-homed => toolchanger.ishomed
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared




 
Last edit: 15 Nov 2021 13:42 by PaulQUE.

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

More
15 Nov 2021 15:31 #226583 by PCW
Replied by PCW on topic G97 and encoder feedback
net spindle-velocity [HMOT](CARD0).encoder.00.velocity spindle.0.speed-in

should be

net spindle-velocity [HMOT](CARD0).encoder.00.velocity-rpm spindle.0.speed-in

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

More
15 Nov 2021 16:03 #226585 by PaulQUE
Replied by PaulQUE on topic G97 and encoder feedback
well thanks, that was it, I had it scaled to fix the issue but that feels better, and with that, my config is complete, thank you for the tremendous help along the way

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

Time to create page: 0.097 seconds
Powered by Kunena Forum