On 03/12/2018 09:27 AM, andy pugh wrote:

I think you would need to look to be certain.
http://linuxcnc.org/docs/2.7/html/man/man9/motion.9.html
I think that axis.0.joint-pos-cmd is likely, but motor-pos-cmd might be the one.
I think you want the one that does change on homing.

Stepping back a few days worth of emails, I finally got a chance to get out to the shop and look at this.  Before I show my results, something I forgot to mention earlier on is that although it's a 2 axis machine, I'm using three drives/steppers.  Axis.0 is the primary X axis, with Axis.1 slaved to it.  Axis.2 is the single Z axis.

I powered up linuxcnc and the machine and used Halmeter to observe the pins and their values during homing like Andy mentioned above. Unfortunately,both of those sets of pins on the X and Z axis change during homing from their original value to something different. Here's the values the pins showed after homing (I didn't think to record the values prior to homing, but they were different than noted before):

axis.0.joint-pos-cmd - 3.105958e-09
axis.0.motor-pos-cmd - 0.000327

axis.2.joint-pos-cmd - 2.4
axis.2.motor-pos-cmd - -6.183435e-05

The axis.2.joint-pos-cmd value of 2.4 is what shows on the Axis DRO after homing.  I'm taking a SWAG that the axis.0.joint-pos-cmd equates to the 0.0 shown on the Axis DRO after homing, but is accurate to more places than what the DRO shows?  At any rate, should I be using the joint or the motor pos-cmd?

A Halmeter question - is it possible to run multiple instances of halmeter so that I can observe different pin's values and compare, say, the original Z position, the offset, and the final Z position after the offset is applied?  That would be handy to make sure I've got the negative values correctly and also to see if the hal code is actually doing what I want it to do.

Here's what I've got so far for the hal coding using lincurve and offset.  The x,y values section is just padding currently using the examples John K posted the other day, and will be replaced with the real values once I finally determine my breakpoints.

loadrt lincurve
loadrt offset
addf offset.0.update-output

setp lincurve.0.x-val-00 0
setp lincurve.0.y-val-00 0
setp lincurve.0.x-val-01 4
setp lincurve.0.y-val-01 0
setp lincurve.0.x-val-02 5
setp lincurve.0.y-val-02 -0.002
setp lincurve.0.x-val-03 6
setp lincurve.0.y-val-03 -0.003
setp lincurve.0.x-val-04 13
setp lincurve.0.y-val-04 -0.003
setp lincurve.0.x-val-05 14
setp lincurve.0.y-val-05 0.000
setp lincurve.0.x-val-06 15
setp lincurve.0.y-val-06 0.001
setp lincurve.0.x-val-07 21
setp lincurve.0.y-val-07 0.001

net axis.0.joint-pos-cmd offset.0.in
net lincurve.0.out offset.0.offset
net z-raw axis.2.joint-pos-cmd offset.0.in
net z-corr lincurve.0.out offset.0.offset
net z-cmd offset.0.out  stepgen.2.pos-cmd
net z-pos-fb-raw  stepgen.2.pos-fb  offset.0.fb-in
net z-pos-fb-offs offset.0.fb-out  axis.2.joint-pos-fb


Andy helped me out with a bunch of this stuff so some of it's copied and pasted from his emails with minor edits to get the correct axis numbers.  In light of the top part of this email, is this correct? Did I leave anything out?  Is anything superflous?

Thanks,
Mark

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to