跳到主要內容

AI 驅動文件

您想了解什麼?

MES 與 PLC 整合模式

本頁是控制工程師參考手冊,描述相機在實際工廠中的整合方式。它與 Integration Builder(用於生成 Node-RED 流)以及 IO Helper(用於生成接線+ API 呼叫序列)配套。

標準架構

在 90% 的安裝場景中,路徑為 MES → PLC → Camera,而不是直接從 MES → Camera。

                        Per-part decisions (ms)        Aggregate decisions (sec)
------------------------ --------------------------
Barcode scan ----+
Operator HMI ----+--> PLC --recipe ID--> Camera
MES work order --+ ^ |
| <--pass/fail-- |
| <--defect class--+
Reads result,
fires reject gate
in 10-50ms PLC packages event
{WO, lot, serial, recipe,
+----------------------------> result, defect, timestamp}
|
v
MES
(OEE, quality, traceability,
hold-the-order decisions)
|
v
ERP

關鍵要點:

  • PLC 做出每件的拒絕判定。它必須在毫秒級做出響應。MES 做不到這一點(太慢、不可確定)。
  • 相機 將透過/失敗的結果報告給 PLC,而不是直接報告給 MES。
  • Recipe selection 透過 PLC 流轉。MES 可能決定 which recipe 應該執行,但 PLC 將 recipe ID 寫入相機(透過 EtherNet/IP O.Data[4-5] 或等效的 PROFINET 字)。
  • MES 從 PLC 接收上下文化事件(work order、lot、serial、station、recipe、pass/fail、defect class),並做出聚合決策(當 scrap rate 超過閾值時暫停工單、通知質量工程師、更新 OEE)。
  • PLC shift register 將檢驗結果與下游拒絕門位置同步,時間以編碼器脈衝為索引。

三種模式

A. PLC 向 MES 彙報(標準模式)

預設模式。PLC 處理實時拒絕。PLC 將帶有工單上下文的結果打包並透過 OPC UA 或 MQTT 轉發至 MES。

適用場景: 任何帶 PLC 的生產線。在汽車、包裝、食品/飲料、製藥等行業常見。

端點序列(在除錯/投產時僅設定一次):

步驟方法路徑目的
1GET/edge/download/industrial_ethernet/ethernet_ip_eds下載 EDS 檔案(韌體匹配)。交給 PLC 程式設計師。
2POST/edge/recipe/change_plc_recipe_id將 camera 的 recipe 對映到 PLC 友好 ID(1、2、3…),以匹配 MES SKU 程式碼。
3POST/edge/environmental_variables將 plant context(產線程式碼、MES URL)持久化,用於 Node-RED flow。
4GET/edge/nodered/flow讀取活動的 Node-RED flow。
5POST/edge/nodered/flow部署更新後的 flow,搭載 OPC UA / MQTT 釋出器。

B. 相機與 PLC 並行釋出(現代並行架構)

PLC 仍然處理不合格件的判定。相機也直接向 MQTT 或 OPC UA 釋出更豐富的有效載荷(image_ref、defect class、confidence),用於歷史資料庫、儀表板和 AI 訓練。與 PLC 路徑並行執行,而非取代它。

使用場景: 實施 Unified Namespace 的工廠(HiveMQ + Ignition + Grafana、Litmus Edge、HighByte)。新建的工業4.0 站點。

端點序列:

StepMethodPathPurpose
1GET/edge/nodered/flow讀取當前活動流程。
2POST/edge/nodered/flow部署一個 flow,使用 mqtt-out(或 sparkplug-out),指向你的代理伺服器。
3GET/edge/capture_result可選:在初始同步期間回填歷史結果。
4GET/edge/capture_result/{capture_id}/heatmapOV80i:獲取失敗檢查的缺陷熱圖 PNG。

相機內建 MQTT 代理伺服器,地址為 ws://{camera_ip}:9001/mqtt,因此小型部署無需外部代理伺服器。

C. 獨立模式(無 PLC)

沒有生產 PLC。操作員應用程式或雲 MES 透過 REST 直接與相機通訊:拉取工單、切換配方、觸發檢查、獲取結果。操作員即執行器。

使用場景: 返工工位、實驗室檢查、來料檢驗、帶平板的 Tulip 風格雲 MES,以及退貨/反向物流。

不推薦用於: 高速傳送線(無法實現實時拒絕)、需要具備認證 PLC 安全邏輯的受監管環境。

端點序列(每次檢查):

StepMethodPathPurpose
1POST/edge/api/recipes/{plc_recipe_id}/activate切換到與掃描條碼/工單匹配的配方。
2POST/edge/camera/capture透過 REST 觸發一次檢查。
3GET/edge/capture_result輪詢獲取最新結果(或訂閱 MQTT 以實現推送交付)。
4POST/edge/v2/capture/{capture_id}/notesOV80i:將工單上下文附加到捕獲以實現可追溯性。
5POST/edge/camera/do可選:由 MES 應用觸發一個堆疊燈段。

規範的檢查結果結構

無論模式或傳輸方式如何,這都是通用有效載荷。請將其作為相機與 MES 之間的契約。

欄位型別必填示例
timestampISO 86012026-04-13T14:23:51.234Z
part_idstringSN-A7841
lot_idstringL-2026-04-13-A
work_orderstringWO-78451
station_idstringSTA-INSP-3
recipe_namestringBottle 330ml v3
resultenum (PASS / FAIL / INCONCLUSIVE)PASS
defect_classstring[]["scratch", "dent"]
confidencefloat (0.0 to 1.0)0.987
image_refURIs3://acme-vision/2026/04/13/cap-12345.jpg
operator_idstringop.jane.doe
cycle_time_msinteger187

常見誤解

"MES 告訴相機應該使用哪一個配方。" 在標準 PLC 架構中,這是錯誤的。MES 告訴 PLC。PLC 告訴相機。唯一的例外是 Pattern C(沒有 PLC)。

"MES 做出拒絕決定。" 錯誤。是 PLC 做的。MES 只做聚合決策,例如“如果廢品率超過 2% 則暫停工單。”

"相機直接向 MES 彙報。" 在標準架構中這是錯誤的。相機彙報給 PLC。PLC 將資料打包並帶上上下文後轉發給 MES。唯一的例外是 Pattern B 的並行路徑,其中相機 也向 MQTT/UNS 釋出更豐富的有效載荷用於分析,但這條路徑與 PLC 路徑並行執行。

下一步

  • 使用 IO Helper 將相機 + PLC + 感測器連線並生成 EDS 檔案、位對映,以及 MES 整合腳手架。
  • 使用 Integration Builder 基於自然語言描述生成實際的 Node-RED 流(MQTT 釋出器、OPC UA 寫入器、向 MES 傳送 REST POST 請求 等)。