传送带跟踪动作(传感器跟踪)

接下来,创建使用传感器的传送带跟踪动作。

机器人通过Pick & Place将流经传感器检测到的对象上的工件(零件)移动到工作台。

步骤概要

  1. 创建虚拟控制器并设置机器人
  2. 创建项目
  3. 添加相当于工件(零件)的对象
  4. 添加并设置相当于工作台的对象
  5. 添加并设置传送带对象
  6. 执行并确认传送带对象的供应设置
  7. 添加并设置检测区域对象

到此为止,与以下所述步骤相同。

传送带单体动作

以下是用于跟踪动作的步骤。

  1. 添加传送带跟踪设置
  2. 执行并设置传送带校准
  3. 创建并执行程序

步骤详情

  1. 准备

    由于到步骤概要的步骤5与以下所述步骤相同,因此省略。

    传送带单体动作

    下面说明不同之处。

    1. 添加相当于传感器的检测区域对象"DetectionArea_1",并进行如下设置。

      • 位置设置(Position X, Y, Z): 400, -300, 125
      • 姿态设置(Rotation Z): 90

    2. 设置传送带跟踪。设置如下。

      1. 在Epson RC+ 8.0菜单 - [设置] - [系统配置]的[控制器] - [传送带编码器]中,确认已添加编码器。

      2. 在Epson RC+ 8.0菜单 - [工具] - [传送带跟踪]中,添加传送带跟踪设置。

      3. 选择[类型]中的[传感器]。

      4. 对传送带对象进行如下设置。

        • 将"Operation"属性设置为"LinkTracking"
        • 将"Conveyor ID"属性设置为"1"

    3. 执行传送带校准。
      有关模拟器上的传送带校准,请参阅以下内容。

      机器人对象属性 - "传送带校准"

      按照以下步骤执行简易校准。

      1. 在布局树中,展开机器人节点下的"Conveyor Tracking"节点。

      2. 右键单击"Conveyor 1",然后单击[使用模拟器校准]。

      3. 将"Conveyor Origin"、"Upstream Limit"、"Downstream Limit"属性各自的"Visible"属性设置为"True"。

      4. 确认传送带原点、上游限位和下游限位的显示。

    4. 进行防止重复注册设置。
      打开Epson RC+ 8.0菜单 - [工具] - [传送带跟踪],将防止工件重复注册的距离设置为"200mm"。

    5. 进行触发设置。

      • 在检测区域对象中进行以下设置。

        • 传感器设置(Sensor - IO Type): Output
        • 传感器设置(Sensor - IO Number): 10
        • 传感器设置(Sendor – Duration): 0.30

      • 在传送带对象中进行以下设置。

        • 触发IO设置(Operation - Trigger IO): 10
          设置与检测区域对象的IO Number中设置的值相同的"10"。

  2. 创建程序

    创建以下程序并保存为Main.prg。

    Function main
        SimSet Conveyor_1.ClearSupply
    
        Motor On
        Power High
        Speed 100
        Accel 100, 100
    
        Cnv_Mode 1, 1
        Cnv_Accel 1, 2000
        Cnv_QueRemove 1, All
    
        Integer i
        String name$
    
        Xqt SensorDetection
    
        TmReset 0
        SimSet Conveyor_1.Start
    
        For i = 1 To 10
            Wait Cnv_QueLen(1, CNV_QUELEN_PICKUPAREA) > 0
    
            Jump Cnv_QueGet(1, 0) +Z(51)
    
            SimGet robot1.NearestObjToTool(0), name$
            SimSet robot1.Pick, name$
    
            Jump Here :X(550) :Y(i * 60 - 320)
    
            SimSet robot1.Place, name$, Table
    
            Cnv_QueRemove 1, 0
        Next
    
        SimSet Conveyor_1.Stop
        Quit SensorDetection
    
        Print "Finished, ", Tmr(0), "[s]"
    Fend
    
    Function SensorDetection
        Double LPulse
        Cnv_QueRemove 1, All
        LPulse = Cnv_LPulse(1)
    
        Do
            If LPulse <> Cnv_LPulse(1) Then
                Cnv_QueAdd 1, Cnv_Point(1, -20, 0)
                LPulse = Cnv_LPulse(1)
            EndIf
        Loop
    Fend
    
    
  3. 执行程序

    1. 单击工具栏的[打开运行窗口]按钮,显示[运行]窗口。

    2. 在Run窗口中选择函数"main",然后单击[开始]按钮。

    3. 与传送带单体的动作不同,请确认传送带无需停止,工件(零件)即可由机器人进行Pick & Place。