Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
IDE position window
Can anyone tell me which variable is displayed in the position window - or from which the displayed position is derived and how? I can't find this documented anywhere.

It's certainly not Motor[x].Pos or Motor[x].ActPos.

I found it confusing as well.

I think the value you're looking for is Motor[x].Pos - Motor[x].HomePos. This is stated in 2012 PMAC Software Reference Manual in the Motor[x].Pos section, on page 769: "To calculate the position relative to the motor zero position, subtract the value of Motor[x].HomePos."
Hi sbondhus

Thanks for the reply - but I think that there's more to it than that. The value displayed is also affected by the master position input and compensation inputs - so that's why I was wanting to see what's actually being reported.
The IDE position display is a result of the on-line "p" command which modifies the actual position by other registers. The "Power PMAC Software Reference Manual" has a good description of this under the on-line "p" command.
Hi Steve

Thanks for your comment - it didn't really explain what I was looking for, but then I twigged it myself - it depends upon the state of MasterCtrl. The value reported in the position window didn't seem to make sense because I was commanding the motor via the Master Position input and MasterCtrl was set to 3. In this mode the motor was moving but the reported position in the position window was not changing. However, Motor[x].ActPos was changing in the watch window in the way that I expected.

By contrast, the position reported in the position widow does change if MasterCtrl is set to 1.

It might be helpful to reiterate this in the manual.

Please note that the description of the on-line "P" command does point this out.
Hi Steve

Are you referring to this statement in the Reference Manual?...

"When reporting axis positions, the positions are given in the scaled user axis units, relative to the axis’ programming origin (which is not necessarily the same as the zero position of the underlying motor)."

...or have I missed something somewhere else?

It is in the "Power PMAC Software Reference Manual" under the description of the on-line "p" command on page 205 paragraphs 3-5:

Quote:When reporting motor positions, the positions are given in the base motor units. The reference (“zero”) motor position for this reporting is dependent on two control settings that determine how the values in “offset-mode” command position registers are used.

Offset-mode command position registers permit the superposition of several position command sources. Motor[x].CompDesPos, which is typically the output of a cam table or a cam-style compensation table,
is always an offset-mode register. Motor[x].ActiveMasterPos, which is typically the result of position following (electronic gearing), is an offset-mode register if bit 1 (value 2) of Motor[x].MasterCtrl is set to 1.

If Motor[x].PosReportMode (new in V1.6 firmware, released 3rd quarter 2013) is set to its default value of 0, or in an older firmware version that does not have this new element, the values in these offset-mode registers are subtracted from the net desired position. Working from the source registers for Motor[x], the reported position is calculated as:
+ Pos // Raw feedback position relative to power-on/reset location
+ CompPos // Compensation table measurement correction
+ PresBlSize // Backlash correction
- CompDesPos // Compensation table command offset
- ActiveMasterPos * MasterCtrlOffsetBit // Master position when in offset mode
- HomePos // Motor zero position relative to power-on/reset location
Hi Steve

Thanks for pointing this out to me - unfortunately I'd been looking at the previous version of the manual which didn't contain this information! I seem to have both saved on my PC - I'll get rid of the old one.


Forum Jump:

Users browsing this thread: 1 Guest(s)