<< 向前        下一页 >>

ID : 2894

传感器跟踪的编程示例

传感器跟踪时的编程示例如下所示。
跟踪范围中收纳的长工件为对象。

应用示例

可通过以下3个程序执行传感器跟踪。

  1. “主程序”

    这是执行与圆形跟踪相关的初始化处理的程序。

  2. “工件检测程序”

    执行工件位置检测并保存至跟踪缓冲区的程序。

  3. “跟踪动作程序”

    跟踪缓冲区读取检测的工件位置,并执行跟踪、挑选动作的程序。

1.主程序(SensorTracking.pcs (PCS:280B)

清空传送带1的跟踪缓冲区,开始传感器发出信号的触发器检测。

TrackInitialize 1, 0

并列执行工件检测程序、跟踪动作程序。

Run Sensor
Run Tracking

2.工件检测程序(Sensor.pcs (PCS:2KB)

检测上升沿。

Wait IO[48] = OFF
Wait IO[48]

将最新的传感器检测坐标(编码器值)添加到workNum所指定个数的跟踪缓冲区。
此时,可将workNum所指定个数的用户数据作为Variant型排列进行附加。

TrackSetSensor 1, workNum, arrayUser

3.跟踪动作程序(Tracking.pcs (PCS:2KB)

通过TrackStart指令,开始圆形跟踪前向初始位置移动。
请注意,在圆形跟踪中,如果执行Move指令等常规动作指令,将中断跟踪动作。

Move P, P[50]

每次检测到工件时,用于执行跟踪、挑选动作的主循环。
将内部I/O的ON信号设定为循环继续的条件,以便可在中途结束循环。

Do
    P[10] = TrackTargetPos(1)

    ...

    TrackApproach P, P[10], 50

    ...

LOOP UNTIL IO[128] = ON

循环内的处理。

首先,从跟踪缓冲区调取工件数据,将其设定为跟踪对象工件
未检测到工件时,在此行待机,直至检测到工件且跟踪缓冲区装满数据。

    P[10] = TrackTargetPos(1)

指示跟踪模式开始。在执行此指令阶段,机器人尚未开始移动。
执行TrackApproach指令等跟踪动作指令并开始初次移动。

    TrackStart 1

等待跟踪对象工件进入跟踪范围

    Wait TrackInRange(1), 10000, timeoutFlg

一边为与转台等速执行跟踪动作,一边从跟踪对象工件朝上方50mm的趋近位置移动。

    TrackApproach P, P[10], 50

一边为与转台等速执行跟踪动作,一边朝跟踪对象工件接近。

    TrackMove P, P[10]

一边为与转台等速执行跟踪动作,一边从跟踪对象工件朝上方离开50mm。

    TrackDepart P, 50

指示跟踪模式结束。结束转台追踪动作并减速停止。
执行此指令前,工件超出跟踪范围下游下限时,将发生错误。

    TrackStop

将挑选的工件搬运至排出位置。

    Approach P, P[52], 50

ID : 2894

<< 向前        下一页 >>