Torque Restriction Function
As with the collision detection function, the torque restriction function can reduce damage during a collision.
Collision Detection Function (Detection Function of Robot Motion Error)
The torque restriction value used for this function is defined by adding the margin to the upper limit torque value used in the program in order to avoid malfunction. By using the torque restriction function, the pressing force can be reduced.
For example, if the torque is restricted at 30%, the pressing force can also be reduced to 30%. Also, the robot immediately stops when the torque reaches the upper limit value. By stopping the robot immediately, a further 20-30% reduction effect can be obtained.
When the torque is restricted at 30% and the robot is stopped immediately, the total of less than 25% or equivalent reduction effect can be obtained.
For SCARA robots, the end of the extended shaft may get caught and bent. To reduce occurrence of the bent shaft, it is recommended to use this function to reduce the pressing force to the maximum degree.
If malfunction occurs, take any of the following measures for the axis of malfunction.
- Set LimitTorqueStop or LimitTorqueStopLp off
- Increase the threshold value of LimitTorque or LimitTorqueLp
To use the torque restriction function for jogging motion, follow the steps below.
- Execute PTCLR and start torque measurement.
- Execute the jogging motion.
- Measure the maximum torque value by PTRQ, and then add the margin to it.
- Set LimitTorqeLP and LimitTorqeLPStop.
If the robot is temporarily stopped in the low power motion, the value larger than the normal program operation or jogging motion may be obtained. In such case, execute the temporary stop while measuring PTRQ and include it into measurement.
For details of the command and function, refer to the following manual.
"SPEL+ Language Reference"
- LimitTorque Statement, LimitTorque Function
- LimitTorqueLP Statement, LimitTorqueLP Function
- LimitTorqueStop Statement, LimitTorqueStop Function
- LimitTorqueStopLP Statement, LimitTorqueStopLP Function
The following is a sample program which automatically configures the collision detection function and the torque restriction function.
The program repeats the motion called “all_ax_move”.
The program enables the collision detection function, measures the maximum torque in the first five moves, adds the margin to the measured value (1.2 times if HighPower, 1.4 times if LowPower), and sets the upper limit torque value to stop the robot at the upper limit torque.
This is the example of automatic setting to repeat motion with the above settings from the sixth time.
When the upper limit torque value is changed, the changed value will be considered as "1.0" for the subsequent PTRQ measurement. If the margin of 1.2 times is set, PTRQ will be slightly larger than 0.8, and if the margin of 1.4 rimes is set, PTRQ will be slightly smaller than 0.7.
Setting example)
Function main
Integer icnt
Real rtrq(6)
Motor On
Power High
' Power Low
Weight 2
Speed 50
Accel 80, 80
icnt = 1
PTCLR
LimitTorque 100 'init HighPower limit torque
LimitTorqueLP 100 'init LowPower limit torque
CollisionDetect On
Do
Call all_ax_move
Print PTRQ(1), PTRQ(2), PTRQ(3), PTRQ(4), PTRQ(5), PTRQ(6)
icnt = icnt + 1
If icnt = 5 Then
If Power = 1 Then 'High power case
Print "LimitTorque set"
rtrq(1) = PTRQ(1) * 1.2 * LimitTorque(1) + 1.0
rtrq(2) = PTRQ(2) * 1.2 * LimitTorque(2) + 1.0
rtrq(3) = PTRQ(3) * 1.2 * LimitTorque(3) + 1.0
rtrq(4) = PTRQ(4) * 1.2 * LimitTorque(4) + 1.0
rtrq(5) = PTRQ(5) * 1.2 * LimitTorque(5) + 1.0
rtrq(6) = PTRQ(6) * 1.2 * LimitTorque(6) + 1.0
Print LimitTorque(1), LimitTorque(2), LimitTorque(3), LimitTorque(4), LimitTorque(5), LimitTorque(6)
LimitTorque rtrq(1), rtrq(2), rtrq(3), rtrq(4), rtrq(5), rtrq(6)
Print LimitTorque(1), LimitTorque(2), LimitTorque(3), LimitTorque(4), LimitTorque(5), LimitTorque(6)
LimitTorqueStop On
Else 'Low poser case
Print "LimitTorqueLP set"
rtrq(1) = PTRQ(1) * 1.4 * LimitTorqueLP(1) + 1.0
rtrq(2) = PTRQ(2) * 1.4 * LimitTorqueLP(2) + 1.0
rtrq(3) = PTRQ(3) * 1.4 * LimitTorqueLP(3) + 1.0
rtrq(4) = PTRQ(4) * 1.4 * LimitTorqueLP(4) + 1.0
rtrq(5) = PTRQ(5) * 1.4 * LimitTorqueLP(5) + 1.0
rtrq(6) = PTRQ(6) * 1.4 * LimitTorqueLP(6) + 1.0
Print LimitTorqueLP(1), LimitTorqueLP(2), LimitTorqueLP(3), LimitTorqueLP(4), LimitTorqueLP(5), LimitTorqueLP(6)
LimitTorqueLP rtrq(1), rtrq(2), rtrq(3), rtrq(4), rtrq(5), rtrq(6)
Print LimitTorqueLP(1), LimitTorqueLP(2), LimitTorqueLP(3), LimitTorqueLP(4), LimitTorqueLP(5), LimitTorqueLP(6)
LimitTorqueStopLP On
EndIf
EndIf
If icnt > 5 Then
icnt = 6
Endif
Loop While icnt > 0
Fend
Function all_ax_move
Integer icount
Go JA(10, 10, 10, 10, 10, 10)
Go JA(-10, -10, -10, -10, -10, -10)
Fend