MotionLimited Status

Application
Force Control Object FC#

Description
This returns which of the following velocity or acceleration limits limited the velocity or acceleration of the motion which was just carried out with force control active.

Maximum joint velocity Maximum tool position modification velocity Maximum tool orientation modification velocity
Maximum joint acceleration Maximum tool position modification acceleration Maximum tool orientation modification acceleration

Usage
FGet Object.MotionLimited, iVar

  • Object
    Object name
    The object is specified as either of FC (numerical value) or FC (label).

  • iVar
    A variable defining the value of the property of the Int32 or Int64 type

Values

Bit Result
0 Maximum tool position modification velocity
1 Maximum tool position modification acceleration
2 Maximum tool orientation modification velocity
3 Maximum tool orientation modification acceleration
4 J1 Maximum joint velocity
5 J1 Maximum joint acceleration
6 J2 Maximum joint velocity
7 J2 Maximum joint acceleration
8 J3 Maximum joint velocity
9 J3 Maximum joint acceleration
10 J4 Maximum joint velocity
11 J4 Maximum joint acceleration
12 J5 Maximum joint velocity
13 J5 Maximum joint acceleration
14 J6 Maximum joint velocity
15 J6 Maximum joint acceleration

The value of each Bit
0: No limitation
1: With limitation

Detailed Explanation
This returns which of the following velocity or acceleration limits limited the velocity or acceleration of the motion which was just carried out with force control active.

Maximum joint velocity Maximum tool position modification velocity Maximum tool orientation modification velocity
Maximum joint acceleration Maximum tool position modification acceleration Maximum tool orientation modification acceleration

Any item which limited the motion while force control was active even once will become a “1.”
This is used for processing or branching based on whether a motion was limited.
MotionLimited status returns a value of 0 to 65535 (hexadecimal FFFF). Because of this, the range that can be handled with an Integer type can be exceeded. Use Int32 or Int64 type variables.

Usage Example
This is an example of branch-processing depending on whether the Move motion was limited or not.

Function motionLimitedTest
  Int64 Result
  FSet FCS1.Orientation, FG_TOOL   ' Sets the force coordinate data

  FSet FC1.CoordinateSystem, FCS1  ' Specifies the force coordinate data
  FSet FC1.Fx_Spring, 0            ' Sets the virtual Fx coefficient of elasticity
  FSet FC1.Fx_Damper, 1            ' Sets the virtual Fx coefficient of viscosity
  FSet FC1.Fx_Mass, 10             ' Sets the virtual Fx coefficient of inertia
  FSet FC1.Fx_Enabled, True        ' Sets the Fx force control to active
  FSet FC1.LimitAccelS, 5          ' Sets the maximum joint acceleration to 5[mm/sec^2]
  AccelS 2                         ' Sets the maximum CP motion acceleration to 2[mm/sec^2]

  Move P0 FC1                      ' A Move motion with force control active
  FGet FC1.MotionLimited, Result   ' Acquires limit result

  If Result <> 0 Then              ' When the motion is limited
    -
    -
    -
  EndIf
  -
  -
  -
Fend

See Also
Force Control Object FC#, LimitSpeedSRJ Property, LimitAccelSRJ Property