Setting the offset value, acceleration and deceleration for variable speed conveyor mode
The robot's tracking delay relative to conveyor speed changes depends on the conveyor speed, conveyor acceleration/deceleration, robot model used, Inertia setting, Weight setting, and other factors.
Therefore, it is necessary to set the offset value according to the operating environment, and the limit of acceleration and deceleration after conveyor tracked. In order to improve the robot's tracking delay, it is necessary to adjust the offset value and set the optimum value.
The amount of robot tracking delay is acquired with the Cnv_PosErr function, the offset value is set with Cnv_PosErrOffset, and the limit of acceleration and deceleration after conveyor tracked is set with Cnv_AccelLim.
KEY POINTS
When adjusting the offset value, set Cnv_Fine to “0”. If the value is not “0”, the amount of tracking delay cannot be acquired correctly with the Cnv_PosErr function.
In the quantity-priority mode and accuracy-priority mode, it is not possible to acquire and set offset values.
When acquiring the offset value, check the accuracy-priority mode - Acquiring tracking delay" setting. For a working program, use the sample program described below.
Set the limit to a value greater than the conveyor acceleration and deceleration when stopping or operating the conveyor. A rough guideline for the set value is about twice the conveyor acceleration and deceleration.
If the limit is too high, robot motion gets oscillatory due to variation of the conveyor speed or noise. If it is lowered too much, the robot will not stop tracking the conveyor even it stops, and it may move out of the operating area of the robot. In that case, set a tracking abort line or program to stop tracking at the downstream limit.
After setting the limit of acceleration and deceleration, follow the procedure below to set the offset value and acquire the robot's tracking delay.
In order to find the optimal offset value, change the offset value and perform multiple times.
Integer fileNum 'Declare a file number
Function Cnv_PosErr_measure
Motor On
Go P0 'Move to robot motion start point
Power High
Speed 100
Accel 100, 100
Cnv_Accel 1, 2000
Cnv_Fine 1,0 'Fine setting
Cnv_Mode 1,2 'Variable speed conveyor mode
Cnv_PosErrOffset 1,10 'Set offset value
' Check conveyor operation
If Cnv_Speed(1) < 0.1 Then
Print "Conveyor not operational"
Exit Function
EndIf
' Register virtual workpiece to queue
Cnv_QueRemove 1, All 'Clear queue
Cnv_Trigger (1) 'Latch conveyor pulse
Cnv_QueAdd 1, XY(0, CY(P1@Cnv(1)), CZ(P1@Cnv(1)), CU(P1@Cnv(1)), 0, 0) /CNV(1)
'Register virtual workpiece to queue based on P1
Wait Cnv_QueLen(1, CNV_QUELEN_PICKUPAREA) > 0
' Wait until queue enters the Pickup Area
Xqt CnvPosErrTest 'Start acquiring offset values in separate task
'Perform motion
Go Cnv_QueGet(1,0) 'For SCARA robots
'Go Cnv_Queget(1,0):U(90):V(0):W(180) ' For 6-axis robots
Do
Wait 0.02
Loop Until (CX(RealPos@CNV(1)) >= Cnv_Downstream(1))
' Wait until downstream limit is reached
Go here 'Stop robot
Cnv_QueRemove 1, All 'Reset queue
Wait 0.5
Quit CnvPosErrTest 'End offset value acquisition
motor off
Fend
Function CnvPosErrTest
fileNum = FreeFile 'Acquire a file number
WOpen "poserr.csv" As fileNum 'csv filename
Print #fileNum, "Time[sec],Cnv_PosErr[mm],Cnv_Speed[mm/s]"
TmReset 0
Do
Print #fileNum, Tmr(0), ",", Cnv_PosErr(1), ",",
Cnv_Speed(1)
Wait 0.01
Loop
Fend
A "poserr csv" file will be created in the project folder of Epson RC+ 8.0. Open the file in a spreadsheet or other software and create a line graph or scatter plot.
If data is acquired multiple times with different offset values, a graph like that shown below can be produced.
After a conveyor tracking operation, the return value of the Cnv_PosErr function will be the Cnv_PosErr peak value acquired during said operation. It is useful to use these peak values when creating graphs.
A positive tracking delay means that the robot is advancing too far downstream from the workpiece.
Plotting the robot's tracking delay against the offset value allows the optimal offset value to be set.
From the results shown above, add the following offset value setting to the conveyor tracking program:
Cnv_PosErrOffset 1, 22.7 'Offset value
CAUTION
- The offset values described in this procedure are for reference. Depending on the operating environment and the offset value that is set, the operation may not be successful or may cause vibration.
- If the robot performs an action different from the setting, immediately press the emergency stop button.