kash Posted March 24, 2012 Share Posted March 24, 2012 I have a motion program that essentially rotates a motor in one direction quite rapidly. This results in the motor variable mxx61 to hit a limit of (2^48)/2 and the motor stops. Nothing about the motor status indicates any errors. What is the cause of this behavior? What can I do to work around this? Link to comment Share on other sites More sharing options...
curtwilson Posted March 25, 2012 Share Posted March 25, 2012 The value in the internal motor position register addressed by Mxx61 has a maximum possible value of (2^48)/2. At this point, it rolls over to a negative number. When just commanding motor moves, like jogs, this does not matter at all - it will just report a negative position value. However, when the motor position is computed from a programmed axis position, the floating-point axis position will not roll over, and when the axis position corresponds to a motor position greater than this value, it will not compute a proper motor position. Usually you will get a following error at this point. While the position range cannot be made infinite, there are things you can do to extend the effective range. If you can reduce the Ixx08 motor scale factor and keep good servo performance, you can increase the range proportionally (remember to increase Ixx30 proportionally to keep the same effective servo gain). A couple of users have forced the starting position to the maximum negative value to double the range. If you ever come to a commanded stop, even for a moment, you can execute a "homez" command to reset the motor position to zero. Link to comment Share on other sites More sharing options...
kash Posted March 26, 2012 Author Share Posted March 26, 2012 Thanks for the answer. I think incorporating "hmz" will be the right solution for me. Is there a way to do this immediately without buffering the command? Link to comment Share on other sites More sharing options...
Omron Forums Support Posted March 27, 2012 Share Posted March 27, 2012 If you choose to modify Ixx08, you can modify Kp and Kd according to the formulas shown on page 9 of the slides I've attached to this post. PMAC Position Following.pdf Link to comment Share on other sites More sharing options...
curtwilson Posted March 30, 2012 Share Posted March 30, 2012 The "HOMEZ" command can be issued as an on-line command from the host computer as well as a buffered command from within a PMAC program. Link to comment Share on other sites More sharing options...
Recommended Posts