SetCurLmt (Library) [Version1.2 or later]


Sets the limit of motor current to be applied to the specified axis.


SetCurLmt (<AxisNumber>, <Value>)


Limits the value of motor current (torque) to be applied to the axis specified by <AxisNumber> to the value specified by <Value>. This command is useful when you want to limit torque that a workpiece will undergo during insertion or butting jobs.
The maximum value of <Value> is 100 which refers to the motor rating current. If any value exceeding the allowable limit for each axis is specified, the value will be automatically limited to that allowable limit.
Set a value of 1 or above. If 0 or a negative number is set, Error 6003 will result.


Requires <pacman.h> file.



  • When the motor current is limited with SetCurLmt, the robot cannot move at the maximum speed or acceleration. Use SetCurLmt only at steps that need the current limit. When using SetCurLmt, decrease the acceleration.
  • If a workpiece bumps against something at high speed even if the driving force is controlled by limiting the motor current, the impact is considerable due to the inertia of the workpiece, end-effector and axis. Set the current limit just before the workpiece comes into contact with the object and reduce the speed.
  • Set the current limit when the robot is on halt. If it is set during a pass motion, an error is likely to occur.
  • Write this command in a TAKEARMed task that has obtained arm-semaphore. If this command is executed without arm-semaphore obtained, Error 21F7 will result.
  • When setting the current limit, be sure to enable the gravity compensation function. If the current limit is set when the gravity compensation function is disabled, Error 665a will result. For the gravity compensation function, refer to SetGravity.
6-axis
  • If the current limit reset value in User Preferences is set to any value other than"1," the current limit will be reset when you turn on the motor power. To make the current limit function effective immediately after switching on the motor power, set the current limit reset value to "1."
  • Set the mass of payload and the payload center of gravity accurately. Otherwise, the robot may move down due to gravity if you set a low current limit value (e.g., less than 30). For the entry procedure of the mass of payload and the payload center of gravity, refer to PART 1, Section 5.7, "Setting the Master Control Parameters in User Preferences."
  • If the current limit reset value is set to "1," the robot might move down due to gravity the moment you turn on the motor power. Reset the current limit by executing ResetCurLmt when the motor power is off and then switch on the motor power.
  • If you do not know the accurate mass of payload or its center of gravity or if the robot moves down in spite of accurate settings, then use the gravity offset function (SetGrvOffset) that compensates for the gravity compensation value.


6-axis
CALL SetGravity
'Enables the gravity offset
CALL SetGrvOffset
'Compensates the gravity offset value
CALL SetEralw (2, 20)
'Sets the allowable deviation of the 2nd axis to
'20 degree
CALL SetCurLmt (2, 30)
'Sets the current limit of the 2nd axis to 30%

4-axis
CALL SetEralw (2, 20)
'Sets the allowable deviation of the 2nd axis
'to 20 degree
CALL SetCurLmt (2, 30)
'Sets the current limit of the 2nd axis to 30%


Top