問題與前置條件
存一個資料夾的不合格品影像,並不等於建立了追溯。有用的紀錄會把每個工件的判定與其影像狀態、配方和取像世代關聯起來,即使影像儲存失敗也是如此。
準備測試
假設有兩台相機,影像均為 2000 × 1500 的 Mono8,幀率為 10 影格/秒:2 × 3 MB × 10 = 60 MB/s,原始影像為 216 GB/小時。恰好留存 1% 時,影像資料量為 2.16 GB/小時,但所有影格仍要經過取像和處理。採用十進位單位。
估算儲存容量之前,先明確為什麼要留存影像。排查問題可能需要故障影像及其相鄰的上下文,而製程稽核可能需要指定的樣本集和不可更改的事件紀錄。寫明本專案的留存規則,以及誰有權啟用調查保留(investigation hold)。列出所有相機、實際格式、幀率,以及儲存的檔案是原始圖、編碼圖還是裁切圖。實際預算要採用 SDK 回報的酬載大小和實測的已儲存檔案大小;只看影像尺寸,可能漏掉填充位元組或中繼資料。範例假設為普通的 Mono8 像素資料,不含這些附加內容。不要憑副檔名去假定壓縮比。要對具代表性的困難影像和突發情況進行實測,因為一旦被選中留存的不合格品多於正常運作時,儲存需求就會隨之變化。
操作步驟
- 在取像之前建立事件識別碼,並紀錄相機、工件、配方、校正和取像世代。
- 立即儲存判定結果,影像狀態記為待寫入;把已持有的影像轉交給有界的寫入佇列。
- 影像寫入成功後,更新其參照和已儲存狀態;寫入失敗要如實紀錄,不要編造路徑。
- 按事件已存在的時間和處置結果設定留存期限;仍被調查保留參照的影像不得刪除。
- 模擬磁碟寫滿、重新啟動和寫入中斷;核對並處理待寫入的紀錄,同時保留原始檢測結果。
在非同步儲存之前先建立事件紀錄,並按文件規定的緩衝區規則複製或持有每張影像。寫入器不得存取已經歸還給取像環節的驅動程式緩衝區。為寫入佇列設定上限,並紀錄其深度、最早的待寫入項已等待的時長以及最終的儲存結果。把相機身分和取像世代與事件關聯起來,避免多張影像被掛到錯誤的工件上。先寫入帶識別碼的暫存物件,按儲存方式文件規定的語意完成寫入,再發布最終位置或完整性驗證資訊。失敗或待寫入的儲存狀態,要與檢測判定分開紀錄。在投產放行之前,要先決定當必須留存的佐證無法儲存時採取什麼圍堵措施。
測試紀錄範例
以下為說明用的假設,並非 Deyi 的實測效能。請將這些數值替換為你自己經簽字確認的測試紀錄。
| 紀錄項 | 假設值 |
|---|---|
| 未壓縮影像資料量 | 3 MB |
| 傳輸速率 | 60 MB/s |
| 留存時長 | 1 h |
| 儲存容量 | 216 GB |
本範例中的 MB 和 GB 均按十進位計算:每個原始影格為 3,000,000 位元組,每秒 20 影格產生 60,000,000 位元組/秒。只有實際做到恰好選中 1%,才會得到 2.16 GB/h;不合格品突發集中時可能超出這個數。要在不合格品尖峰負載下實測寫入佇列,把調查保留的內容預留出來、不納入常規刪除,並把影像儲存失敗與工件的檢測判定區分開。
容量估算表中要分開三種速率:相機取像速率、被選中影像的流量,以及持續儲存寫入速率。取像之後再選取 1%,並不會減少相機送出的完整影像串流,也不會減少檢測所需的記憶體。把事件紀錄、設定快照、檔案系統開銷和預留空間加到已儲存影像的估算量上。要追蹤不合格品尖峰情況下的積壓,而不是按平均讀取速率去外推。容量和留存時長要使用同一種十進位或二進位單位表示。要把不受常規刪除影響的調查保留計算在內。即使啟動時磁碟顯示剩餘空間充足,只要刪除被阻塞、不合格品增多,或寫入器比送入的被選中影像更慢,容量仍然可能耗盡。
流程的兩種視角
關聯檢測紀錄、影像與工件識別碼 — 1
判定紀錄與影像寫入共用同一個識別碼,但各自獨立完成;已儲存狀態在寫入成功之後才更新。
- 工件事件
- 判定紀錄
- 有界寫入器
- 影像參照
關聯檢測紀錄、影像與工件識別碼 — 2
已留存影像、待寫入和寫入失敗是可以區分的狀態。讀取失敗與儲存失敗不是同一個事件。
- 已儲存影像
- 待寫入
- 儲存故障
故障排除
- 批次碼重複時,單靠解碼值不能作為唯一鍵。
- 寫入器變慢時,不得在沒有明確策略的情況下讓記憶體無限增長,也不得阻塞工站。
- 紀錄中聲稱影像存在時,必須與實際可讀取的檔案核對。
驗收與交接
驗證能從工件查到判定,再從判定查到影像或明確的儲存故障。使用真實格式實測持續寫入速度和容量。216 GB/小時的範例不含中繼資料、檔案系統開銷和預留空間;也沒有假定能靠壓縮節省空間。
測試前先設定驗收限值,並保留原始佐證。此處的範例並不能說明所供應的型號具備相應能力。
用受控的測試資料驗證磁碟寫滿、寫入器中斷、重新啟動以及調查保留的行為。確認每個計畫內的事件最終都有可見的儲存狀態,並且已寫完的檔案與所紀錄的事件和相機相對應。驗證復原過程中不會把更早的待寫入影像掛到新工件上。實際執行常規刪除規則,並確認受保護的調查紀錄仍然可以檢索。設定容量告警之前,先按實際格式和選取策略,實測持續寫入速度和佇列尖峰。交接資料包括假設條件、實測的檔案大小範圍、原始速率與被選中速率的對比、佇列策略、留存責任歸屬以及失敗處置方式。範例中的 216 GB/h 和 2.16 GB/h 只是對既定假設的算術推算,並不是實測的壓縮效果、建議的留存時長,也不是對某款儲存產品的效能保證。
來源與技術參考資料
這些資料說明本教學所用方法的依據與適用範圍。文中的檢查範例僅供參考;量產驗收需要用你自己的樣品取得佐證。
- Pixel FormatBasler查核於
- Programming with pylon CBasler查核於
部件與選型參考
- 智慧型相機與基於 PC 的視覺系統
- 機器視覺驗收測試清單
- 視覺檢測設備
- 機器視覺系統
- machine vision software · 英文參考資料
- EAN-13 追溯:產線驗收
- EAN-13 追溯:解碼與資料規則
- 穩定的相機取像:緩衝區、逾時與重新連線
- 驗收並整合可見液位工作流程
- 可見液位替代指標的 AI 輔助工作流程
- OCR 標籤核對:驗收與 PLC 約定
- OCR 標籤核對:原生工作流程與精確比對
- 未封口包裝完整性檢測的驗收與整合
- 搭建 AI 輔助的未封口包裝完整性工作流程
- 用明確的狀態建立 PLC 與視覺系統的交握
- 密封與膠條外觀:產線驗收
- 密封與膠條外觀:工作流程規則
- SKU 顏色分選:驗收與未知物品分流
- SKU 顏色分選:類型明確的顏色與 SKU 規則
- 表面瑕疵檢測:驗收與產線輸出
- 表面瑕疵檢測:限定範圍的 AI 評估
- 觸發到 PLC 判定的延遲負載測試
- 完整視覺配方的版本管理與回滾

