Sys.MotionMargin
Sys.MotionMargin
System motion property of type double. Default value is 2.0 Accessible from Terminal or Task.
Usage
if an individual axis' acceleration exceeds value of amax*Sys.MotionMargin the axis and the group to which axis belongs will be stopped. The stop profile will be generated with the initial value of acceleration equal to amax*Sys.MotionMargin and not the original acceleration command value that caused the error in addition to the notes:
Error 3312: MOT_NOT_EXC_ACC (0x0138) "Acceleration exceeds it's maximum."
Error 3311: MOT_NOT_EXC_ACC_CT(0x0137) "Acceleration exceeds it's maximum during CT."
Error 3310: MOT_NOT_EXC_ACC_SP(0x0136) "Acceleration exceeds it's maximum during blending."
Error 3314: MOT_NOT_EXC_ACC_AI(0x0140) "Acceleration exceeds it's maximum during AI."
The stopping will be done in immediate stoptype mode, which means all the axes would stop independently. So the robot will not follow it's original path during stopping. During that stopping process following, torque and vospd errors will be not checked.
This further means that there will be jump of the acceleration profile at that moment. But in any case the high original commanded acceleration was not executed so in reality the jump does not exist. All this is to assure relatively short stopping path of the following-error stop that would probably come later.
So the stop profile of each axis in the group will be done according:
Initial values:
- position = <axis>.pcmd
- velocity = <axis>.vcmd
- accleration = sign*min( abs(AccelCmd), amax*Sys.MotionMargin )
Limits:
- accleration = <axis>.DecStop
- jerk = <axis>.JerkMax
For background of this topic see AXY:Sys.MotionMargin/Explanation