Part Feeding日誌檔
概述
Part Feeding日誌檔是用來記錄以下運作在運作程序中的運作時間和結果的日誌檔。
- 視覺處理
- 送料器運作
- 回呼函數運作(Robot、Status)
Part Feeding日誌檔可用於以下用途:
- 估算拾取零件的週期時間。
- 估算每1次可拾取的零件數量以調整料斗放入數量。
- 依據各運作的處理時間估算耗時較長的運作並加以改善。
若要使用本功能,需要將PC連接到控制器。
啟用日誌功能
將PC連接到控制器。編寫時,應確保PF_InitLog的執行順序先於PF_Start。
如需詳細資訊,請參閱以下內容。
PF_InitLog
日誌檔的格式
通用事項
檔案格式為CSV。檔案名稱以PF_InitLog的引數指定。
在1個日誌檔中,會按照時間順序記錄以下資料。「資料」欄位則視日誌類型而異。其他欄位則均通用。
| 列 | 列名稱 | 類型 | 內容 |
|---|---|---|---|
| 1 | DateTime | 使用字串 | 動作開始時間(yyyy/mm/dd hh:MM) |
| 2 | Tick | 實數 | 自PF_Start開始後的經過時間 [秒](s.sss) |
| 3 | Time | 實數 | 處理時間 [秒](s.sss) |
| 4 | Type | 使用字串 | 動作類型 |
| 5 | ID | 整數 | 零件ID |
| 6 | Data1 | 因資料類型(Type)而異。 | |
| 7 | Data2 | ||
| 8 | Data3 | ||
| 9 | PartName | 使用字串 | 零件名稱 |
| 10 | RobotNo | 整數 | 分配給零件的機器人編號 |
| 11 | FeederNo | 整數 | 分配給零件的送料器編號 |
| 12 | Project | 使用字串 | Epson RC+專案名稱 |
DateTime時間與Tick、Time時間之間的關係如下圖所示。
視覺序列運作日誌
本日誌用於記錄Part Feeding程序在處理[零件視覺序列]所指定之視覺序列時的所需時間,以及檢測到的正面零件、背面零件之數量。
如需詳細資訊,請參閱以下內容。
視覺系統
| 列 | 列名稱 | 類型 | 內容 |
|---|---|---|---|
| 4 | Type | 使用字串 | 日誌類型(「UserVision」) |
| 5 | ID | 整數 | 零件ID |
| 6 | NumFront | 整數 | 檢測到的正面零件數量 |
| 7 | NumBack | 整數 | 檢測到的背面零件數量 |
系統視覺序列運作日誌
本日誌用於記錄Part Feeding程序為了檢測零件分布等而處理內部生成之視覺序列所需的時間。
| 列 | 列名稱 | 類型 | 內容 |
|---|---|---|---|
| 4 | Type | 使用字串 | 日誌類型(「SystemVision」) |
| 5 | ID | 整數 | 零件ID |
振動日誌
此日誌將記錄由系統或使用者執行的送料器振動之動作類型。
| 列 | 列名稱 | 類型 | 內容 | |
|---|---|---|---|---|
| 4 | Type | 使用字串 | 動作類型: | |
| Separation | 分離 | |||
| Centering | 集中 | |||
| Shift | 位移 | |||
| BackShift | 反向位移 | |||
| Flip | 翻轉 | |||
| CenterByShift | 使用位移的集中 | |||
| Purge | 清除 | |||
| QtyAdjHopperTime | QtyAdjHopperTime | |||
| 5 | ID | 整數 | 零件ID | |
| 6 | Callback Name | 使用字串 | 執行振動的回呼(或系統)名稱: | |
| System | 送料器 | |||
| Robot | 視覺系統 | |||
| Control | MobileCam | |||
| CycleStop | 狀態窗格 | |||
時序圖:使用者操作所引起的振動,於回呼內執行
時序圖:由系統引起的振動
提示
若振動是由系統引起的,日誌檔的Data1列將會顯示「System」。在其他情況下,Data1將會顯示由使用者引起振動的回呼名稱。
PF_Robot回呼函數運作日誌
本日誌用於記錄透過PF_Robot回呼函數處理的零件數量。
| 列 | 列名稱 | 類型 | 內容 |
|---|---|---|---|
| 4 | Type | 使用字串 | 動作類型(「Robot」) |
| 5 | ID | 整數 | 零件ID |
| 6 | Num | 整數 | 零件處理數量(僅限主動零件) (呼叫前的座標佇列註冊數量 − 呼叫後的座標佇列註冊數量) |
PF_MobileCam回呼函數運作日誌
本日誌用於紀錄PF_MobileCam回呼函數的動作類型。
| 列 | 列名稱 | 類型 | 內容 | |
|---|---|---|---|---|
| 4 | Type | 使用字串 | 動作類型(「MobileCam」) | |
| 5 | ID | 整數 | 零件ID | |
| 6 | Action | 整數 | 將機器人移動至成像位置 | 2001 |
| 讓機器人退避 | 2002 | |||
PF_Control回呼函數運作日誌
本日誌用於記錄PF_Control回呼函數的動作類型。
| 列 | 列名稱 | 類型 | 內容 | |
|---|---|---|---|---|
| 4 | Type | 使用字串 | 動作類型(「Control」) | |
| 5 | ID | 整數 | 零件ID | |
| 6 | Action | 整數 | 料斗操作(零件數0) | 2100 |
| 料斗操作(新增零件) | 2101 | |||
| 自訂照明On | 2102 | |||
| 自訂照明Off | 2103 | |||
時序圖:使用前側光的視覺系統
時序圖:使用者操作所引起的振動,於PF_Control回呼內執行
PF_Status回呼函數運作日誌
本日誌用於記錄PF_Status回呼函數的狀態類型。
| 列 | 列名稱 | 類型 | 內容 | |
|---|---|---|---|---|
| 4 | Type | 使用字串 | 動作類型(「Status」) | |
| 5 | ID | 整數 | 零件ID | |
| 6 | Status | 整數 | 發生的狀態或使用者錯誤 | |
| 正常 | 0 | |||
| 未供應零件 | 2200 | |||
| 零件過多 | 2201 | |||
| ID錯誤 | 2202 | |||
| 參數不正確 | 2203 | |||
| 校準未完成 | 2204 | |||
| 系統錯誤 | 2205 | |||
| 存在無法檢測到的零件 | 2206 | |||
| 零件Blob序列異常 | 2207 | |||
| 零件視覺序列異常 | 2208 | |||
| 正在使用送料器 | 2209 | |||
| 未啟用零件 | 2210 | |||
| 清除功能已停用 | 2211 | |||
| 使用者錯誤 | 8000 - 8999 | |||
PF_Vision回呼函數運作日誌
本日誌用於記錄透過PF_Vision回呼函數檢測到的正面零件、背面零件之數量。
| 列 | 列名稱 | 類型 | 內容 |
|---|---|---|---|
| 4 | Type | 使用字串 | 動作類型(「VisionCallback」) |
| 5 | ID | 整數 | 零件ID |
| 6 | NumFront | 整數 | 正面零件檢測數量 |
| 7 | NumBack | 整數 | 背面零件檢測數量 |
時序圖:使用者操作所引起的振動,於PF_Vision回呼內執行
PF_Feeder回呼函數運作日誌
本日誌用於記錄PF_Feeder回呼函數的狀態。
| 列 | 列名稱 | 類型 | 內容 | |
|---|---|---|---|---|
| 4 | Type | 使用字串 | 動作類型(「Feeder」) | |
| 5 | ID | 整數 | 零件ID | |
| 6 | State | 整數 | 建議動作: | |
| 無法判定 | 0 | |||
| 可進行取放 | 1 | |||
| 可追加供應零件 | 2 | |||
| 翻轉 | 3 | |||
| 位移 | 4 | |||
| 集中和翻轉 | 5 | |||
| 料斗已空 | 6 | |||
| 向後方位移 | 7 | |||
| 從料斗供料,並進行集中和翻轉 | 8 | |||
| 零件過多 | 9 | |||
| 混入其他種類的零件 | 10 | |||
時序圖:使用者操作所引起的振動,於PF_Feeder回呼內執行
PF_CycleStop回呼函數運作日誌
本日誌用於記錄PF_CycleStop回呼函數的狀態。
| 列 | 列名稱 | 類型 | 內容 |
|---|---|---|---|
| 4 | Type | 使用字串 | 日誌類型(「CycleStop」) |
| 5 | ID | 整數 | 零件ID |
日誌範例
以下為Part Feeding日誌的範例。