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.
Related Terms
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