Felix Posted October 6, 2014 Share Posted October 6, 2014 On our PowerPMAC system (Firmware 1.5.8.0) we notice the following behavior when executing a motion program where one of the motors is defined as a spindle using the ->s0 construct. When we are executing a motion program with the spindle running at speed and issue a hold command, the linear axes come to a a stop with the spindle still running as expected. If the hold command is followed at any time by a abort command the spindle desired velocity instantaneously changes to zero causing the spindle motor to fault with a fatal following error fault. Preceding the abort command with a quit command does not change this behavior. I believe that this is not the intended behavior for a abort command with a coordinate system where one of the motors is executing as a spindle. Is there anything I am missing? Thank you, Felix Link to comment Share on other sites More sharing options...
curtwilson Posted October 7, 2014 Share Posted October 7, 2014 In this case, your spindle motor is not instantaneously commanded to zero velocity; rather it is decelerated according to its Motor[x].AbortTa and Motor[x].AbortTs saved setup elements. Apparently you have these parameters set for a very quick stop. You will want to set these parameters for a more gradual deceleration. Larger positive values specify longer times, and larger negative values specify lower rates (because they are inverse rates). Link to comment Share on other sites More sharing options...
Felix Posted October 7, 2014 Author Share Posted October 7, 2014 Curt, that is what I had thought first but is not the case. I have set my AbortTa and AbortTs to very high values and have confirmed that they work as intended when I issue an "abort" command only. The instantaneous change of the commanded velocity only occurs when I first issue a "hold" command followed by a "abort" command. Regards, Felix In this case, your spindle motor is not instantaneously commanded to zero velocity; rather it is decelerated according to its Motor[x].AbortTa and Motor[x].AbortTs saved setup elements. Apparently you have these parameters set for a very quick stop. You will want to set these parameters for a more gradual deceleration. Larger positive values specify longer times, and larger negative values specify lower rates (because they are inverse rates). Link to comment Share on other sites More sharing options...
Felix Posted October 7, 2014 Author Share Posted October 7, 2014 Curt, attached is a plot showing the instantaneous change of the commanded velocity when I issue the "hold" command followed by the "abort" command. As you can see, both my AbortTa and AbortTs for this motor have rather large values to demonstrate that AbortTa and AbortTs are not being adhered to for this case. Thank you, Felix Curt, that is what I had thought first but is not the case. I have set my AbortTa and AbortTs to very high values and have confirmed that they work as intended when I issue an "abort" command only. The instantaneous change of the commanded velocity only occurs when I first issue a "hold" command followed by a "abort" command. Regards, Felix In this case, your spindle motor is not instantaneously commanded to zero velocity; rather it is decelerated according to its Motor[x].AbortTa and Motor[x].AbortTs saved setup elements. Apparently you have these parameters set for a very quick stop. You will want to set these parameters for a more gradual deceleration. Larger positive values specify longer times, and larger negative values specify lower rates (because they are inverse rates). Link to comment Share on other sites More sharing options...
curtwilson Posted October 7, 2014 Share Posted October 7, 2014 Hmmm... I tested it on my system before I responded, and it worked as I reported. I do have newer firmware. In the V1.6 release, there were some refinements in the interaction between time base values and abort decelerations, including the new parameter Coord[x].AbortTimeBase. It looks like this issue was handled as well in the release. You would need to update your firmware to fix this. Link to comment Share on other sites More sharing options...
Recommended Posts