<< Prev        Next >>

ID : 220

ErAlw

Function

To set the value of deviation tolerance and to switch the status of the deviation tolerance function between True and False.

Syntax

ErAlw True/False, axis number, setting value

Guaranteed Entry

True/False
Enable/Disable the servo lock by an integer type data.
To enable this command, enter True or an integer other than 0.
To disable this command, enter False or 0.
Axis number
Designate an axis number by integer type data. If the argument True/False is set to False, you can use "0" to specify all axes as target.
Setting value
Designate a deviation tolerance setting value by single precision real number type data. The unit is "degree" if the axis is a rotation axis, or "mm" if a linear motion axis. The setting value have to be 0 or larger. In case of "False," no designation is needed.

Description

This command sets the deviation tolerance value as well as switches the status of the deviation tolerance function True/False.

To execute this command, the task must acquire target axis control.

The deviation tolerance value is not disabled even after release of axis control or task termination. Enable it only if necessary.

Attention

  • Setting a small value in the argument "setting value" will cause frequent errors. In addition, any negative value cannot be set.
  • Setting a larger value (more than software motion limit) in the argument setting value may not work properly.
  • Execution of this command during machine lock is ignored.
  • Unlike RC7 controller, the deviation tolerance value is not initialized when the current limit is cancelled.
  • In the compliance function without force sensor, the current limit value and the deviation tolerance value are temporarily rewritten during processing, and then these values are initialized when the limits are cancelled.
    To set the current limit value or the deviation tolerance value back to the values that have been set before the compliance function activation, set these values again.

Example

'!TITLE "<DENSO Robot Program>"
Sub Sample_ErAlw
    
    TakeArm Keep = 1
    
    ErAlw 1, 2, 2 ' Set the allowable deviations of 2nd axis as 2 degrees
    ErAlw 1, 3, 3.5 ' Set the allowable deviations of 3rd axis as 3.5 degrees
    ErAlw 1, 4, 40 ' Set the allowable deviations of 4th axis as 40 degrees
    ErAlw 1, 5, 500 ' Set the allowable deviations of 5th axis as 500 degrees
    
    ErAlw 0, 3
    ErAlw 0, 1
    ErAlw 0, 0
    ErAlw 0, 1
    
End Sub
'!TITLE "Setting of Current Limiting Function"
' True/False of the current limiting function
Sub Sample_CurLmt
    
    Dim aaa As Joint
    Dim bbb As Joint
    
    aaa = J( 0, 0, 0, 0, 0, 0 )
    bbb = J( 90, 0, 0, 0, 0, 0 )
    
    TakeArm Keep = 1
    
    Motor True
    
    ' Set the external speed to 100
    ExtSpeed 100
    
    ' Move from the current position to the aaa coordinate position
    Move P, @0 aaa
    
    ' Set position deviation tolerance to 52.27
    ErAlw True, 1, 52.27
    
    ' Set dead weight compensation function to be enabled
    GrvCtrl True 
    
    ' Set current limiting function to 50%
    CurLmt True, 1, 50 
    
    'Clear the servo logs
    SysLog.Servo.Clear 
    
    'Start recording servo logs
    SysLog.Servo.Start 
    
    ' Move from the current position to the bbb coordinate position
    Move P, @0 bbb
    
    'Stop recording servo logs 
    SysLog.Servo.Stop
    
    ' Set current limiting function to be disabled
    CurLmt False, 1 
    
    ' Set dead weight compensation function to be disabled 
    GrvCtrl False 
    
    ' Set position deviation tolerance to be disabled
    ErAlw False, 1 
    
End Sub

ID : 220

<< Prev        Next >>