How to configure a XHC-WHB04B pendant ?

More
18 Jan 2021 22:06 - 18 Jan 2021 22:07 #195840 by alkabal
Hi

I have try to change my config according to your information :
net pdnt.mode.is-manual                   halui.mode.is-manual                  whb.halui.mode.is-manual
net pdnt.mode.is-manual                                                         whb.halui.mode.is-teleop

But like that i get any move from the pendant ??? so i did not understand why some user have issue with standard config ?

Is someone know more things about teleop ?

Or maybe this is on,ly related with XHC-WHB04-04 (4 axis variant)
Last edit: 18 Jan 2021 22:07 by alkabal.

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

More
19 Jan 2021 21:56 #195925 by andypugh
Teleop mode is jogging in XYZ space.
With trivial kinematics this looks exactly like jogging in joint mode, but is the jogging mode that applies after homing. (generally)

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

More
20 Jan 2021 08:54 - 20 Jan 2021 08:55 #195978 by alkabal
Thanks a lot

So if i understand correctly with trivial kinematics the teleop mode is used only if machine is not homed ?

You mean after machine is homed this is no more used.

Signal managed by pendant is :
net pdnt.mode.is-auto    
net pdnt.mode.is-manual  
net pdnt.mode.is-mdi     
net pdnt.mode.is-teleop  
net pdnt.mode.is-joint

from Lcnc manual i see
halui.mode.teleop bit in   : pin for requesting coordinated jog mode

So at the end i have not really understand what is really needed what is really needed.

Original component for machinekit did not use teleop mode at all, when i have start the conversion for Linuxcnc i get mpg working only using teleop mode, now i think this is maybe because i use a not homed machine for test ???
Last edit: 20 Jan 2021 08:55 by alkabal.

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

More
20 Jan 2021 20:35 #196017 by alkabal
Another test done with machine homed and you are right pendant work very fine without the use of teleop, so i will now check for update the driver and remove or use teleop only if machine is not homed.

Br

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

More
20 Jan 2021 22:52 - 20 Jan 2021 22:55 #196033 by alkabal
If some user are able to compile i have ask a PR for updated driver.

github.com/LinuxCNC/linuxcnc/pull/1049


hal config need to be restored :
net pdnt.mode.is-teleop          halui.mode.is-teleop          whb.halui.mode.is-teleop

hal config you need to add :
# "is-homed" axis signal for allowing pendant when machine is not homed
net pdnt.axis.X.is-homed                  halui.joint.0.is-homed                whb.halui.joint.x.is-homed
net pdnt.axis.Y.is-homed                  halui.joint.1.is-homed                whb.halui.joint.y.is-homed
net pdnt.axis.Z.is-homed                  halui.joint.2.is-homed                whb.halui.joint.z.is-homed
Last edit: 20 Jan 2021 22:55 by alkabal.

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

More
22 Jan 2021 17:44 #196249 by andypugh

Original component for machinekit did not use teleop mode at all,


That could be because Machinekit does not have the Joints-Axes changes, which separates the concepts of joints and axes (and adds separate jog inputs for both)
The following user(s) said Thank You: alkabal

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

More
22 Jan 2021 21:08 - 22 Jan 2021 21:10 #196280 by alkabal
I know yes you are right but i have also check the driver for older unit and see nothing about changind mode.

github.com/LinuxCNC/linuxcnc/blob/master...er_comps/xhc-hb04.cc

I have push code to Github for manage both case (homed/unhomed)
Last edit: 22 Jan 2021 21:10 by alkabal.

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

More
22 Jul 2021 15:32 #215595 by MRx
I just debugged this part and it doesn't seem to work as expected. it will set teleop mode permanently (even before homed) here and I cannot drive beyond the designated area.

Does anyone know what the reason is why the pendant only works in teleop mode?
I checked the sourcecode and the implementation is certainly not correct right now.

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

More
23 Jul 2021 00:36 - 23 Jul 2021 00:37 #215621 by MRx
Ok this is really broke, I modified the driver to expose joint signals as well. I'm just synchronizing the axis signal to joint signals (it could probably also be done in the configuration, but in the driver it seems to be straight forward).

before it's homed it will take the signals from joint.* once it's homed it will take the signals from axis.*
There's no need to manually switch between free / teleop mode at all it seems.

Also the M-Home option on the pendant doesn't seem to be useful for me, I use to home manually on my lathe (on the milling machine I do automatic homing), I'm going to expose new pins to allow homing the currently active axis (it's just an addition if someone doesn't want to use those pins just leave them unconnected)
Last edit: 23 Jul 2021 00:37 by MRx.

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

More
23 Jul 2021 04:14 - 23 Jul 2021 08:21 #215641 by MRx
I have added new pins to the driver home / unhome

- when wiring up the home / unhome joints it is possible to independently home all axis (and it's possible to drive outside the designated area for homing purpose)
- when pushing the M-Home button >1 sec it will send an unhome request
- when pushing the M-Home button <1 sec it will send a home request

the requests are sent when the button is released (I tested the haptic for this and it feels comfortable)

# those are active before homing
net pdnt.joint.0.jog-scale whb.joint.0.jog-scale joint.0.jog-scale
net pdnt.joint.1.jog-scale whb.joint.1.jog-scale joint.2.jog-scale
net pdnt.joint.2.jog-scale whb.joint.2.jog-scale joint.1.jog-scale
#net pdnt.joint.3.jog-scale whb.joint.3.jog-scale joint.3.jog-scale

net pdnt.joint.0.jog-counts whb.joint.0.jog-counts joint.0.jog-counts
net pdnt.joint.1.jog-counts whb.joint.1.jog-counts joint.2.jog-counts
net pdnt.joint.2.jog-counts whb.joint.2.jog-counts joint.1.jog-counts
#net pdnt.joint.3.jog-counts whb.joint.3.jog-counts jonit.3.jog-counts
net pdnt.joint.0.jog-enable whb.joint.0.jog-enable joint.0.jog-enable
net pdnt.joint.1.jog-enable whb.joint.1.jog-enable joint.2.jog-enable
net pdnt.joint.2.jog-enable whb.joint.2.jog-enable joint.1.jog-enable

net pdnt.joint.0.home whb.joint.0.home halui.joint.0.home
net pdnt.joint.1.home whb.joint.1.home halui.joint.2.home
net pdnt.joint.2.home whb.joint.2.home halui.joint.1.home

net pdnt.joint.0.unhome whb.joint.0.unhome halui.joint.0.unhome
net pdnt.joint.1.unhome whb.joint.1.unhome halui.joint.2.unhome
net pdnt.joint.2.unhome whb.joint.2.unhome halui.joint.1.unhome


Those entries will be mandatory in order to be able to use the pendant when the machine is not homed.
(please note the joint 1 <-> joint 2 twist is related to my setup)

Todo:
- anyone volunteer to clean up the code? There should be a class for each timed button to tidy up the code. I'm absolutely overloaded at the moment on my side with various other tasks....
Attachments:
Last edit: 23 Jul 2021 08:21 by MRx.

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

Time to create page: 0.134 seconds
Powered by Kunena Forum