平台類型

本章將會說明平台的類型。

標準平台的類型

IF-80、IF-240、IF-380、IF-530的標準平台一共有3種:平面(Flat)、防黏著(Anti-stick)和防滾動(Anti-roll)。所有平台皆有白色和黑色可供選擇。
IF-A1520、IF-A2330的標準平台一共有2種:平面(Flat)和防滾動(Anti-roll)。两種平台均为白色。

平台顏色

在大多數的應用場合中,使用送料器的內建背光可實現最佳的影像處理。要使用背光時,則使用白色半透明平台。背光會投影出零件的輪廓。
零件表面的特徵則無法透過視覺系統辨識。此外,若希望將對比度最大化,也可使用黑色平台和自訂前側光來達成。但一般而言,系統在設計上預設是與背光選配件一起使用的。透過亮起背光來檢測零件。(右上|上下、角方向等。)
透明或半透明的物體在使用背光時可能會有對比度不佳的狀況。此時針對透明零件使用非白色的背光,能夠有效取得較佳的對比度。

平台材質

可依據送料器型號採用防靜電(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序列未搜尋到零件,料斗將會開啟並向送料器供應零件。若零件Blob序列有搜尋到零件,送料器將會執行翻轉動作,並在向前位移之後向後位移,藉此讓插銷落入孔中。
在每次送料器振動時,系統必須重新擷取新的視覺影像。
因此會將回傳值設為「PF_CALLBACK_RESTART」。系統將會重新擷取新影像,在重新載入零件佇列之後,再次調用PF_Feeder回呼函數。使用者程式碼則會判斷是否需要進一步的送料器動作。

TIP


翻轉、長時間的前向位移、短時間的後向位移是自訂平台的典型有效動作。
如需詳細資訊,請參閱以下內容。
程式範例 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

        ' 可進行Pick時
        Case NumFrontParts > 0
            ' 有可進行Pick的零件,因此調用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 Blob序列重新擷取影像以進行判斷
        Case NumFrontParts = 0 And NumBackParts = 0

            PF_Backlight 1, On ' 啟動背光
            VRun PartBlob ' 擷取影像
            PF_Backlight 1, 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