Measurement Only Axes
- gmr
- Offline
- New Member
-
Less
More
- Posts: 7
- Thank you received: 0
09 Jun 2026 10:12 #346990
by gmr
Measurement Only Axes was created by gmr
Hi All,
I am trying to add a measurement only axis to my press brake. The machine is hydraulic (a Promecam) and the bottom bed moves up when the pedal is pushed. I have put a linear scale on the bottom bed so I can measure how much it travels up. I want to measure how far it travels exactly, so I can relate this to the bent angle of the metal.
Anyway, I have added a W axis to the INI and introduced a new joint (joint 1) for it. I can see this in the Axis GUI and it all works nicely, when the encoder moves, the W axis value updates. But when I type "g92 w0" to set a zero point, it doesn't set it to zero. I think this is because the dummy joint I have added for it isn't getting its command position updated. Please see config snippet below:
HAL file excerpt
#
# Setup bed axis (W)
# (this is a DRO only, and just measures the bending depth we actually reach)
# position and velocity feedback
net w-pos-fb <= hm2_7c81.0.encoder.01.position
net w-pos-fb => joint.1.motor-pos-fb
# linear axis encoder, w axis
setp hm2_7c81.0.encoder.01.scale -200 # this many pulses per mm
setp hm2_7c81.0.encoder.01.filter 0 # no filtering
setp hm2_7c81.0.encoder.01.index-enable true # encoder has an index
INI file excerpt
#********************
# Axis W - this is the linear scale on the bed
# it needs a dummy joint
#********************
[AXIS_W]
MIN_LIMIT = -200.0
MAX_LIMIT = 200.0
MAX_VELOCITY = 10.0
MAX_ACCELERATION = 50.0
LOCK_VELOCITY = 0.0
LOCK_ACCELERATION = 0.0
[JOINT_1]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 500.0
# axis will appear homed immediately
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0
HOME_USE_INDEX = NO
HOME_SEQUENCE = 0
FERROR = 99999.0
MIN_FERROR = 99999.0
Any thoughts?
Thanks,
Greg
I am trying to add a measurement only axis to my press brake. The machine is hydraulic (a Promecam) and the bottom bed moves up when the pedal is pushed. I have put a linear scale on the bottom bed so I can measure how much it travels up. I want to measure how far it travels exactly, so I can relate this to the bent angle of the metal.
Anyway, I have added a W axis to the INI and introduced a new joint (joint 1) for it. I can see this in the Axis GUI and it all works nicely, when the encoder moves, the W axis value updates. But when I type "g92 w0" to set a zero point, it doesn't set it to zero. I think this is because the dummy joint I have added for it isn't getting its command position updated. Please see config snippet below:
HAL file excerpt
#
# Setup bed axis (W)
# (this is a DRO only, and just measures the bending depth we actually reach)
# position and velocity feedback
net w-pos-fb <= hm2_7c81.0.encoder.01.position
net w-pos-fb => joint.1.motor-pos-fb
# linear axis encoder, w axis
setp hm2_7c81.0.encoder.01.scale -200 # this many pulses per mm
setp hm2_7c81.0.encoder.01.filter 0 # no filtering
setp hm2_7c81.0.encoder.01.index-enable true # encoder has an index
INI file excerpt
#********************
# Axis W - this is the linear scale on the bed
# it needs a dummy joint
#********************
[AXIS_W]
MIN_LIMIT = -200.0
MAX_LIMIT = 200.0
MAX_VELOCITY = 10.0
MAX_ACCELERATION = 50.0
LOCK_VELOCITY = 0.0
LOCK_ACCELERATION = 0.0
[JOINT_1]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 500.0
# axis will appear homed immediately
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0
HOME_USE_INDEX = NO
HOME_SEQUENCE = 0
FERROR = 99999.0
MIN_FERROR = 99999.0
Any thoughts?
Thanks,
Greg
Please Log in or Create an account to join the conversation.
- rodw
-
- Offline
- Platinum Member
-
Less
More
- Posts: 11948
- Thank you received: 4068
09 Jun 2026 11:58 #346991
by rodw
Replied by rodw on topic Measurement Only Axes
I think you should use this
linuxcnc.org/docs/html/gui/mdro.html#_ini_file_options
Otherwise LinuxCNC needs to command your motion which you are not doing.
I'd love to see a config where you simply enter a bend list and it does the maths to determine the commanded position
linuxcnc.org/docs/html/gui/mdro.html#_ini_file_options
Otherwise LinuxCNC needs to command your motion which you are not doing.
I'd love to see a config where you simply enter a bend list and it does the maths to determine the commanded position
The following user(s) said Thank You: gmr
Please Log in or Create an account to join the conversation.
- gmr
- Offline
- New Member
-
Less
More
- Posts: 7
- Thank you received: 0
10 Jun 2026 12:21 #347018
by gmr
Replied by gmr on topic Measurement Only Axes
Thanks Rod, I wasn't aware of that utility, I shall investigate.
The rest of the machine is under G code control, I use it to set the bending depth and the horizontal and vertical position of the backstops, so I'm not sure a DRO alone will cut the mustard.
The rest of the machine is under G code control, I use it to set the bending depth and the horizontal and vertical position of the backstops, so I'm not sure a DRO alone will cut the mustard.
Please Log in or Create an account to join the conversation.
- spumco
- Offline
- Platinum Member
-
Less
More
- Posts: 2106
- Thank you received: 874
10 Jun 2026 12:29 #347019
by spumco
Replied by spumco on topic Measurement Only Axes
Maybe look in to extra joints:
linuxcnc.org/docs/stable/html/man/man9/motion.9.html
You can set the joint to home-in-place in the INI file so LCNC doesn't try to move it.
linuxcnc.org/docs/stable/html/man/man9/motion.9.html
The optional [b]num_extrajoints[/b] parameter specifies a quantity of joints that participate in homing but are not used by kinematics transformations.You can set the joint to home-in-place in the INI file so LCNC doesn't try to move it.
The following user(s) said Thank You: gmr
Please Log in or Create an account to join the conversation.
Time to create page: 0.123 seconds