<< Prev        Next >>

ID : 5492

TrackBufferRead

Function

From the tracking buffer, read out specified data.

This command is available in Ver.1.6.* or higher.

Syntax

TrackBufferRead (Conveyor number, Index number [, Option])

Guaranteed Entry

Conveyor number

Specify the conveyor number (1 to 16) to be used by integer type data.
(If your robot controller is Ver.1.11.* or lower, available conveyor number is 1 or 2.)

Index number

Specify the Index number obtained by the TrackBufferIndexes command by integer type data.

Setting value Description
-1 Read the data specified as a tracking-target work in TrackTargetPos command.
This entry is available for Ver.2.0.*. or higher.
0 or larger Read the specified index number.
Option

Specify by integer type data. The content of return value can be selected. This is an optional value. This should be "-1" if this is omitted.

Setting value Return value
-2 An array of variant type data corresponding to setting values 0 to 13 (*1)
(Ver. 1.10.* or higher.)
-1 An array of variant type data corresponding to setting values 0 to 10 (*1)
0 Encoder value at the trigger detection (integer type data)
1 Current position of the target workpiece. (Position type data)
(Values are based on the currently selected work coordinate or tool coordinate.)
X[mm] (Single Precision Real Number Type data)
2 Y[mm] (Single Precision Real Number Type data)
3 Z[mm] (Single Precision Real Number Type data)
4 Rx[deg] (Single Precision Real Number Type data)
5 Ry[deg] (Single Precision Real Number Type data)
6 Rz[deg] (Single Precision Real Number Type data)
7 User data (integer type data)
8 Values are based on the vision sensor detection coordinate of the target workpiece.
(Ver. 1.7.* or higher.)
X-coordinate[pixel] (Single Precision Real Number Type data)
9 Y-coordinate[pixel] (Single Precision Real Number Type data)
10 Posture angle[deg] (Single Precision Real Number Type data)
11 Attribute data (integer type data) (Ver. 1.10.* or higher.)
12 The remaining time until the arrival of the target workpiece at the downstream limit (integer type data) [msec] (Ver. 2.3.* or higher.)
13 The distance between the target workpiece and the downstream limit (integer type data) (Ver. 2.5.* or higher.)
* 1: If the robot controller’s version is old, content unsupported by the version is not available.
(Example1) The robot controller with Ver.1.6.* or lower can obtain only the return values corresponding to the setting values 0 to 7.
(Example2) The robot controller with Ver.1.7.* to Ver.1.10.* can obtain only the return values corresponding to the setting values 0 to 11.

Return Value

Values specified by "Option" are returned with variant type data.
If the data specified by "Index number" does not exist in the tracking buffer, variant type data whose VarType command result is VT_EMPTY(0) will be returned.

Description

Read the data specified by the tracking buffer by means of the index number obtained by the TrackBufferIndexes command.

Attention

This command is dedicated for conveyor and circular tracking.

Example

Obtain a one-dimensional array of data Index number stored in the tracking buffer.

Dim vIndex as Variant
vIndex = TrackBufferIndexes(1)

From the one dimensional array, take out index numbers one by one, and then refer to and output all data of target index.

Dim idx as long
For idx = LBound(vIndex) To UBound(vIndex)
  Dim vVal as Variant  
  vVal = TrackBufferRead( 1, vIndex(idx) ,-2)

  PrintDbg "enc=" & vVal(0), _
             "x=" & vVal(1), _
             "y=" & vVal(2), _
             "z=" & vVal(3), _
            "rx=" & vVal(4), _
            "ry=" & vVal(5), _
            "rz=" & vVal(6), _
           "usr=" & vVal(7), _
            "vx=" & vVal(8), _
            "vy=" & vVal(9), _
            "θ=" & vVal(10), _
          "attr=" & vVal(11)
Next

From the one dimensional array, take out index numbers one by one, and then refer to and output userdata of applicable index.

Dim idx as long
For idx = LBound(vIndex) To UBound(vIndex)
  Dim vVal as Variant  
  vVal = TrackBufferRead( 1, vIndex(idx), 7 )
  PrintDbg "usr=" & vVal
Next

From the one dimensional array, take out index numbers one by one, and then refer to and output attribute data of applicable index.

Dim idx as long
For idx = LBound(vIndex) To UBound(vIndex)
  Dim vVal as Variant  
  vVal = TrackBufferRead( 1, vIndex(idx), 11 )
  PrintDbg "attr=" & vVal
Next

Obtain the remaining time until the arrival of the workpiece which Index number is 5 at the downstream limit.

I[0] = TrackBufferRead(1, 5, 12)

Obtain the distance between the specified workpiece and the downstream limit.

Dim restLength As Float
restLength = TrackBufferRead (1, -1, 13)

ID : 5492

<< Prev        Next >>