平台的类型

本章节说明平台的类型。

标准平台的类型

IF-80、IF-240、IF-380、IF-530中包括平面 (Flat)、防粘贴 (Anti-stick)、防滚动 (Anti-roll)3种标准平台。不论哪种平台,均可使用白色与黑色。
IF-A1520、IF-A2330中包括平面 (Flat)、防滚动 (Anti-roll) 2种标准平台。不论哪种平台,均为白色。

平台的颜色

在几乎所有的应用中,通过使用送料器的内置背光灯,都可以实现最佳的图像处理。使用背光灯时,应使用白色半透明的平台。背光灯用于对部件外圈投影。
无法通过视觉系统看到部件表面的特征。另外,要将对比度最大化时,也可以使用黑色平台与自定义前灯予以实现。但一般来说,系统都被设计为与背光灯选件一起使用。点亮背光灯,检测部件。(右上方、|上下、边角方向等。)
使用背光灯时,透明对象或半透明对象的对比度可能会降低。要针对透明部件获得对比度时,白色以外的背光灯可能会有效果。

平台的材质

根据送料器型号,可在防带电 (ESD) 或医疗应用场景中使用特殊材料。有关详细信息,请参阅各送料器的硬件手册。

标准平台的使用方法

  • 平面:
    具有稳定姿势的部件可使用平面平台。需要部件在送料器振动后较短时间内达到静止状态。由于是多品种少量生产,几乎所有的应用都是用平面平台。

       外观


       截面图

    a 部件
    b 平台

    Epson提供的平台满足平坦度与平行度规格,以确保下表所述的拾取精度。

    IF-80 IF-240 IF-380 / IF-530 IF-A1520 / IF-A2330
    表面的平坦度 [mm] 0.1 0.2 0.6 0.3
    表面与基准之间的平行度 [mm] 0.1 0.5 0.6 0.6
  • 防粘贴:
    防粘贴平台带有窄槽,以用于减少表面的接触阻力。这样的话,可降低摩擦力并改善送料器表面的部件形态。防粘贴平台非常适合于因运动摩擦(滑动摩擦或动摩擦)而导致难以分散的部件。


       表面


      截面图

    a 部件
    b 平台
    A B C D
    IF-80 0.4 0.4 0.2 90

    小型部件用标准防粘贴平台的结构

    A B C
    IF-240 0.7 1.3 0.5

    大型部件用标准防粘贴平台的结构

  • 防滚动:
    防滚动平台带有经过机械加工的结构面,可使易滚动部件变为静止状态。防滚动平台非常适合于供给圆柱形成分。防滚动平台还有通过防止部件滚动来缩短稳定时间的特点。

      表面


       截面图

    a 部件
    b 平台
    A B C D 适合的部件
    IF-80 1.25 1 0.5 90 ø 0.7mm - ø 1.5mm
    IF-80 2.75 2.5 1.25 90 ø 1.5mm - ø 3.5mm
    IF-240 3 2.5 1.25 90 ø 1.7mm - ø 3.5mm
    IF-240 5.5 5 2.5 90 ø 3.5mm - ø 7mm
    IF-240 10.5 10 5 90 ø 7mm - ø 14mm
    IF-380 3 2.5 0.722 120 ø 3mm - ø 5mm
    IF-380 5.5 5 1.443 120 ø 5mm - ø 10mm
    IF-530 6.5 6 1.732 120 ø 6mm - ø 12mm
    IF-A1520 7 5 2 90 ø 3.5mm - ø 7mm
    IF-A2330 7 5 2 90 ø 3.5mm - ø 7mm

    小型部件用标准防滚动平台的结构

    A B C D E 适合的部件
    IF-380 10.5 12 5.31 120 2 ø 10mm - ø 24mm
    IF-530 12.5 14 4.9 120 4 ø 12mm - ø 28mm

    大型部件用标准防滚动平台的结构

自定义平台

要点


请客户设计并制作自定义平台。

自定义平台的基本设计

自定义平台包括孔、长槽、定位槽3种基本设计。自定义平台的目的在于利用孔、长槽或定位槽排列部件,以便获得预期的循环时间。部件的自然静止位置与拾取方向不一致时,如果要正确配置部件,则需要使用自定义平台。
如下所述为自定义平台一般概述。

  • 孔:

       表面


       截面图

    a 部件
    b 平台
  • 长槽:

       表面


       截面图

    a 部件
    b 平台
  • 定位槽:

       表面


       斜视图

    a 部件
    b 平台

自定义平台设计指南

  • 孔:
    要供给圆柱形部件并置于直立状态时,孔加工是非常便利的手段。
    在带孔平台的基本设计中,请考虑下述事项。

    • 一般来说采用单纯的结构。
    • 孔直径 (d’) 是板中最重要的尺寸。
      需要足够大的直径,以确保将部件笔直地立在孔内侧。为最大直径3.5mm的部件时,在最大部件直径 (d) 加上0.05mm。但如果是直径超过3.5mm的大型部件,或圆锥形部件等圆柱形以外的部件时,需要进一步增大直径。
    • 需要开出具有给足够深度的孔 (l’),以便在必要时可沿着壁面引导部件。
      工件被放到底部时,不需要较长的导件。
    • 最好在大于等于部件高度 (L) 3分之1(如果可能,为2分之1)的位置引导部件,以确保尽可能使部件保持笔直状态。
    • 另外,也请注意板 (L’) 上的部件剩余高度。
    • 倒角 (A) 对于将部件放入孔中是不可或缺的。
      大多数情况下的倒角角度为60°。
    • 平台的重量与标准平面平台相同。如果重量发生大幅度变化,共振频率会随之发生变化,这可能会对送料器的运作产生影响。在这种情况下,可通过调整送料器的运作频率进行应对。
    D’ d’ l’ A
    IF-80 >0.5*L d+0.05mm 0.5*L 60
    IF-240 >0.5*L d+0.1mm 0.5*L 60
    IF-380 >0.5*L d+0.5mm 0.5*L 60
    IF-530 >0.5*L d+1.0mm 0.5*L 60
    IF-A1520 >0.5*L d+1.0mm 0.5*L 60
    IF-A2330 >0.5*L d+1.5mm 0.5*L 60

  • 长槽
    已设计长槽的平台用于供给垂直安装的螺钉类部件。
    在带长槽平台的基本设计中,请考虑下述事项。

    • 一般来说采用单纯的结构。

    • 如果使用不带贯通长槽的平台,则可供给最长60mm的部件。部件长度更大时,请在设计长槽时考虑板厚。

    • 根据组件直径 (d) 确定插槽的宽度 (d’)。一般来说,在最大直径中加上0.05mm ~ 0.1mm(考虑容许误差)。也请考虑长槽的宽度公差。这会因加工而异,对于所有尺寸的送料器来说并不相同。推荐采用0/+公差。

    • 工件未被放到底部,因此大多数情况下,长槽的深度 (L’) 并不重要。因此,需要具有足够的大小,以免部件倾斜接触底部。通常适用0/+公差。

      最大长度为60mm的大型部件时,无需贯通长槽。

      超过60mm的部件时,设计贯通长槽时请考虑板厚。

    d’ L’
    IF-80 d+0.05mm L’>L
    IF-240 d+0.1mm L’>L
    IF-380 d+0.5mm -
    IF-530 d+1.0mm -
    IF-A1520 d+1.0mm Lʼ>L
    IF-A2330 d+0.5mm -
    • 长槽贯通平台底部时,需要使用“内部扩散板”,使操作员直接看不到LED背光灯以及背光灯的光线不直接进入相机内。“内部扩散板”被配置在背光灯上。
    • 平台的重量与标准平面平台相同。如果重量发生大幅度变化,共振频率会随之发生变化,这可能会对送料器的运作产生影响。在这种情况下,可通过调整送料器的运作频率进行应对。
  • 定位槽
    在带定位槽平台的基本设计中,请考虑下述事项。

    • 在平台上设计定位槽,以确保机器人可简单地抓取部件。理想情况为部件的平面朝上,以确保可利用真空夹爪进行拾取动作。
    • 无需按定位槽完整地排列(定位)部件。视觉系统的目的是在2D平面中检测到部件的坐标与 旋转角。如果平台的结构比较单纯,则可低成本地制作平台。另外,一般来说平台设计越单纯,越会有好的效果。

上面所述不过是一般意义上的指南。需要根据实际情况进行应对。

平台的容许重量

平台的最大重量 **1 部件的最大重量 **2
IF-80 150 g 50 g
IF-240 800 g 400 g
IF-380 4 kg 1.5 kg
IF-530 5 kg 2 kg
IF-A1520 950 kg 400 kg
IF-A2330 2.5 kg 1.5 kg

**1
平台表示在送料器上部振动的部分(不含部件)。平台由板部分和机架部分构成。

**2
表示可搭载在平台上的部件的最大重量。

平台的选择

在Epson RC+ 8.0菜单 - [工具] - [上料] - [振动]中选择平台类型。 有关详细信息,请参阅以下内容。
振动

如果选择标准平台(平面、防粘贴、防滚动),则可选择让系统处理送料器振动,或通过PF_Feeder回调函数处理送料器振动。通常由系统处理送料器振动为最佳选择。
如果在振动页面中选择“通过PF_Feeder callback控制振动”,用户则可独自记述送料器的振动控制。系统以“state”参数的形式,在PF_Feeder回调函数中提供推荐的送料器振动类型。有关这些内容,将在下一章节进行详细说明。

如果选择自定义平台(长槽、孔、定位槽),用户则需要通过PF_Feeder回调函数处理部件振动。自定义平台时,不判断系统推荐的送料器振动类型。(这是因为最佳振动类型因平台的加工而异。)

自定义平台处理的程序示例

在带孔自定义平台中,将销配置在纵向上。


   表面


   截面图

a 部件
b 平台

用户要执行视觉处理并重新加载部件坐标队列时,选择菜单 - [工具] - [上料] - [部件] - [视觉]中的[通过PF_Vision callback进行视觉处理]。在本例中,由系统进行视觉处理。
在PF_Robot回调函数内执行机器人的拾取&放置。平台类型选择“孔”。
由于这是自定义平台,因此仅可选择“通过PF_Feeder callback控制振动”。由部件检测序列检测销的上部,坐标会被自动加载至部件坐标队列中。
在本例中,没有查找背面部件的视觉对象。
如果视觉系统获取图像并将表面部件加载至部件坐标队列中,则会调用PF_Feeder回调函数。用户代码用于判断并执行在PF_Feeder回调函数内使送料器进行振动的方法。
作为自变量“NumFrontParts”,表面部件的数量被交接给PF_Feeder回调函数。在本例中,自变量“NumFrontParts”大于“0”时,由于机器人可取放部件,因此无需送料器振动。在这种情况下,需要将PF_Feeder回调函数的返回值设为“PF_CALLBACK_SUCCESS”。
该返回值用于指示系统调用PF_Robot回调函数。“NumFrontParts”等于“0”时,样本代码用于针对部件Blob序列执行VRun,判断部件是否处于聚集状态,或者根本没有部件。如果通过部件Blob序列找不到部件,则会将料斗设为ON,并向送料器供给部件。如果通过部件Blob序列找到部件,送料器则会进行翻转运作,先向前移动,然后向后移动,以确保销落入孔中。
每进行一次送料器振动,系统都需要重新获取新的视觉图像。
因此,将返回值设为“PF_CALLBACK_RESTART”。系统重新获取新的图像并重新加载部件队列后,会再次调用PF_Feeder回调函数。用户代码用于判断是否需要进一步进行送料器运作。

提示


翻转、长时间前移、短时间后移是自定义平台的典型有效运作。
有关详细信息,请参阅以下内容。
程序示例 5.2

要点


平台类型为孔、插槽或定位槽时,会将常数PF_FEEDER_UNKNOWN交接给PF_Feeder回调函数的“state”自变量。这是因为自定义平台时,系统无法确定适当的送料器运作。
有关详细信息,请参阅以下内容。
程序示例 5.2

Function PF_Feeder(PartID As Integer, NumFrontParts As Integer, NumBackParts As Integer, state As Integer) As Integer

    ' 带孔结构平台示例 state = PF_FEEDER_UNKNOWN

    Integer PFControlReturnVal
    Integer numFound

    Select True

        ' 可拾取时
        Case NumFrontParts > 0
            ' 因有可拾取的部件而调用PF_Robot
            PF_Feeder = PF_CALLBACK_SUCCESS

        ' 没有表面方向的部件,但有背面方向的部件时
        Case NumFrontParts = 0 And NumBackParts <> 0

            ' 翻转、前移、后移
            PF_Flip PartID, 500
            PF_Shift PartID, PF_SHIFT_FORWARD, 1000
            PF_Shift PartID, PF_SHIFT_BACKWARD, 300

            PF_Feeder = PF_CALLBACK_RESTART ' 重启后,重新获取图像

        ' 找不到表面方向或背面方向的部件时
        ' 部件聚集或托盘上根本没有
        ' 通过Part Blog序列重新获取图像并进行判断
        Case NumFrontParts = 0 And NumBackParts = 0

            PF_Backlight 1, On ' 背光灯 On
            VRun PartBlob ' 获取图像
            PF_Backlight 1, Off ' 背光灯 Off
            VGet PartBlob.Blob01.NumberFound, numFound ' 是否找到Blob?

            If numFound > 0 Then ' 发现部件聚集时

                ' 翻转、前移、后移
                PF_Flip PartID, 500
                PF_Shift PartID, PF_SHIFT_FORWARD, 1000
                PF_Shift PartID, PF_SHIFT_BACKWARD, 300

            Else ' 找不到部件时

                '调用部件供给用Control回调函数
                PFControlReturnVal = PF_Control(PartID, PF_CONTROL_SUPPLY_FIRST)

            EndIf

            PF_Feeder = PF_CALLBACK_RESTART ' 重启后,重新获取图像
    Send

Fend

使用PF_Feeder回调函数的标准平面平台示例

使用标准的平面平台。通常,系统可对平面平台的振动进行最佳处理。
但本例情况下用于判断是否需要进行特殊的振动处理。平台类型为“平面”、“防粘贴”或“防滚动”时,系统也可以最适当地让部件进行振动。通过自变量“state”,系统判断被提供给PF_Feeder回调函数。“PartFeed.inc”文件将几种状态定义为常数。
比如,常数“PF_FEEDER_PICKOK”表示机器人可拾取部件。作为其他示例,系统判断翻转部件为最佳运作时,会将常数“PF_FEEDER_FLIP”交接给がPF_Feeder回调函数。可使用PF_Feeder回调函数的自变量“state”与送料器控制命令,创建替代系统处理的独自处理。
下述样本所述为使用自变量“state”执行推荐操作的方法的基本概念。本例并不包括全部内容。
有关更完整的示例,请参阅以下内容。
程序示例 5.1

Function PF_Feeder(PartID As Integer, NumFrontParts As Integer, NumBackParts As Integer, state As Integer) As Integer
    Integer PFControlReturnVal, PFStatusReturnVal
    Boolean PFPurgeStatus

    Select state

        Case PF_FEEDER_PICKOK
            PF_Feeder = PF_CALLBACK_SUCCESS ' 因有可拾取的部件

            ' 而调用PF_Robot

        Case PF_FEEDER_SUPPLY
            ' 通过料斗供给
            PFControlReturnVal = PF_Control(PartID, PF_CONTROL_SUPPLY_FIRST)
            PF_CenterByShift PartID ' 通过料斗供给后,对部件进行定芯
            PF_Feeder = PF_CALLBACK_RESTART ' 重启后,重新获取图像

        Case PF_FEEDER_FLIP
            PF_Flip PartID
            PF_Feeder = PF_CALLBACK_RESTART ' 重启后,重新获取图像

        Case PF_FEEDER_CENTER_FLIP
            PF_Center PartID, PF_CENTER_LONG_AXIS, 900
            PF_Center PartID, PF_CENTER_SHORT_AXIS
            PF_Flip PartID
            PF_Feeder = PF_CALLBACK_RESTART ' 重启后,重新获取图像

        Case PF_FEEDER_HOPPER_EMPTY
            ' 向用户发出料斗已空的通知
            PFStatusReturnVal = PF_Status(PartID, PF_STATUS_NOPART)
            ' 通过料斗供给部件
            PFControlReturnVal = PF_Control(PartID, PF_CONTROL_SUPPLY_FIRST)
            PF_Center PartID, PF_CENTER_LONG_AXIS
            ' 定芯、翻转与部件分离
            PF_Center PartID, PF_CENTER_SHORT_AXIS
            PF_Flip PartID
            PF_Feeder = PF_CALLBACK_RESTART ' 重启后,重新获取图像

        Case PF_FEEDER_WRONGPART
            If PF_Info(PartID, PF_INFO_ID_OBJECT_PURGE_ENABLED) Then
                ‘ 启用清除时,使用Vision反馈进行清除
                ' 各清除尝试运作持续1500ms
                ' 在平台上留下3个部件
                ' 进行5次重新尝试运作
                PFPurgeStatus = PF_Purge(1, 2, 1500, 3, 5)
                If PFPurgeStatus = False Then
                    Print "Purge was not successful"
                    Quit All
                EndIf
            Else ‘ 向用户发出送料器上也许有错误部件的通知
                Print "Wrong part may be on the feeder"
                Quit All
            EndIf

    Send
Fend