Motors can be in the following states:
Not Enabled - In this condition the amplifier is not powered and no command signals are being sent to the motor drive (whether internal or external)
Enabled - The amplifier enable line is active but no position control law is active. If the motor is a servo motor the command signal will only change if the SetCommandedTorque command is used to explicitly change it.
Positioning - The amplifier enable line is active and actions are being taken by the controller to actively manage position.
Most of the time the only two states of interest are not enabled and servoing. The most frequently used command to move between these states is SetMotor. SetMotor(on) accomplishes the servoing state. SetMotor(off) accomplishes the not enabled state. It is also possible to request the enabled but not servoing state for open loop control principles where an application program applies criteria for setting the motor torque seperate from the control law. To accomplish an enabled but not servoing state, SetMotor(off) and then SetEnable(on).
If an axis is servoing and the tracking error becomes too large the servo will move to the Not Enabled condition.
Set Error Limit