ID : 5782
跟踪缓冲区数据的删除
在此对以下项目进行说明。
TrackTargetPos的跟踪缓冲区数据删除处理
根据TrackTargetPos指令的自变量设定,从跟踪缓冲区删除的数据不同。
此处以下图的传感器跟踪为例进行说明。假设按照工件1到工件5的顺序从上流开始传送工件,通过传感器后,利用TrackSetSensor指令将工件数据登录到跟踪缓冲区。

执行TrackTargetPos前
工件1到工件4的数据被保存到跟踪缓冲区。
可通过TrackBufferIndexes指令确认跟踪缓冲区的数据。
vIndex = TrackBufferIndexes(1, -1)
vIndex的值:(1, 2, 3, 4)
TrackTargetPos(1)执行后
从跟踪缓冲区删除以下的工件数据。
- 通过TrackTargetPos获取的工件数据(该示例中为工件2)
TrackTargetPos(1)
vIndex = TrackBufferIndexes(1, -1)
vIndex的值:(1, 3, 4)
通过TrackTargetPos(1, -1, -1, 1)保持跟踪缓冲区时
用TrackTargetPos指令获取的数据保留在跟踪缓冲区。
为删除通过TrackTargetPos指令获取的数据,需使用TrackTargetRelease指令。
Case1
TrackTargetPos(1, -1, -1, 1)
vIndex = TrackBufferIndexes(1, -1)
vIndex的值:(1, 2, 3, 4)
Case2:通过TrackTargetPos获取对象数据的Index编号
TrackTargetPos(1, -1, -1, 1)
vIndex = TrackBufferIndexes(1, 1)
vIndex的值:(2)
Ver.2.16.*以前的处理
机器人控制器的软件版本早于2.16.*时,如果执行TrackTargetPos,除了上述内容以外,还实施以下处理。
- 从最下游的机器人的下游下限删除下游的工件数据
例如,在上述的“TrackTargetPos(1)执行后”的处理中,机器人控制器的软件版本早于2.16.*时,变成如下所示。
TrackTargetPos(1)
vIndex = TrackBufferIndexes(1, -1)
vIndex的值:(3, 4)
从下游下限删除下游的工件数据的处理
位于比最下游的机器人的下游下限更靠下的工件数据,包括TrackTargetPos在内,将在以下指令执行时被删除。
- TrackSetSensor
- TrackSetVision
实际上,即使超过最下游的机器人的下游下限,在某种程度的范围以内也不会被删除。该范围在传送带跟踪参数的“工件自动删除间隔”中指定。单位是“mm”,初始值是0 mm。
已备有各传送带用的“工件自动删除间隔”,从“工件自动删除间隔(Coveyor#1)”到“工件自动删除间隔(Coveyor#16)”(参数编号为965到980)。请设定要使用的传送带相应的编号的参数。
-
满足以下所有条件时,超出最下游的机器人的下游下限的很多工件数据将存储在跟踪缓冲区。结果可能导致跟踪用指令的处理速度变慢。
- “工件自动删除间隔”的设定大。
- 超过最下游的机器人的下游下限的工件多。
- 传送带跟踪参数的“工件自动删除间隔”在机器人控制器的软件版本为2.16.*以上时可以使用。版本早于2.16.*的机器人控制器上,与将传送带跟踪参数的“工件自动删除间隔”设定为0时的处理相同。
- 机器人控制器的软件版本早于2.16.*时,执行TrackTargetPos时,最下游的机器人的下游下限下游的工件数据也会被删除。
ID : 5782