<< 向前        下一页 >>

ID : 5492

TrackBufferRead

功能

跟踪缓冲区中读出指定的数据。

此指令对Ver.1.6.*以上的版本有效。

格式

TrackBufferRead (传送带编号, 索引编号[, 选项])

指定项目

传送带编号

使用整数型数据指定需使用的传送带编号(1~16)。
(Ver.1.11.*以前只有传送带1、传送带2才能指定。)

索引编号

使用整数型数据指定通过“TrackBufferIndexes”获取的索引编号。

设定值 说明
-1 以通过“TrackTargetPos”设定到跟踪对象工件的数据为对象。
Ver.2.0.*及更高版本可使用该项目。
0以上的值 以指定的索引编号的数据为对象。
选项

使用整数型数据指定。可选择返回值的内容。可省略。省略时指定“-1”。

设定值 返回值
-2 将设定值的0~13对应的数据纳入Variant型的排列中 (*1) (Ver.1.10.*或更高)
-1 将设定值的0~10对应的数据纳入Variant型的排列中 (*1)
0 触发检测时的编码器值(整数型数据)
1 对象工件的当前位置 (位置型数据)
(反映当前的工件坐标系以及工具坐标系)
X[mm] (单精度实数型数据)
2 Y[mm] (单精度实数型数据)
3 Z[mm] (单精度实数型数据)
4 Rx[deg] (单精度实数型数据)
5 Ry[deg] (单精度实数型数据)
6 Rz[deg] (单精度实数型数据)
7 用户数据 (整数型数据)
8 对象工件的视觉传感器检测坐标
(Ver.1.7.*或更高版本)
X坐标[pixel] (单精度实数型数据)
9 Y坐标[pixel] (单精度实数型数据)
10 姿势角度[deg] (单精度实数型数据)
11 属性数据 (整数型数据) (Ver.1.10.*以上或更高)
12 对象工件到达下游下限的剩余时间 (整数型数据) [msec](Ver.2.3.*以上)
13 对象工件到达下游下限的剩余距离(整数型数据)(Ver.2.5.*以上或更高)
*1机器人控制器的版本旧时,不支持该版本的内容无法获取。
(例1) Ver.1.6.*以前的版本中,只能获取设定值0~7的值。
(例2) Ver.1.7.* ~ Ver.1.10.*的版本中,只能获取设定值0~11的值。

返回值

返回在“选项”中指定的设定值对应的数据。
含有“索引编号”所指定的索引值的数据未位于跟踪缓冲区中时,返回“VarType”指令值变为“VT_EMPTY(0)”的变体(Variant)型数据。

解说

使用通过TrackBufferIndexes取得的索引编号,从跟踪缓冲区读出指定的数据。

注意事项

传送带及圆形跟踪专用指令。

应用示例

取得保存到跟踪缓冲区的数据的索引编号的1次排列

Dim vIndex as Variant
vIndex = TrackBufferIndexes(1)

从1次排列逐一调取索引编号,参照并输出相应索引的全部数据。

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

从1次排列逐一调取索引编号,仅参照并输出相应索引的用户数据。

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

从1次排列逐一调取索引编号,仅参照并输出相应索引的属性数据。

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

获取索引编号为5的工件到达下游下限的剩余时间

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

获取到指定工件下游下限的距离

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

ID : 5492

<< 向前        下一页 >>