跳到主要内容

AI 驱动文档

您想了解什么?

MES 与 PLC 集成模式

本页面是控制工程师的参考文档,介绍相机如何融入实际工厂环境。它与 Integration Builder(用于生成 Node-RED 流程)和 IO Helper(用于生成接线方案和 API 调用序列)配合使用。

标准架构

在 90% 的安装场景中,路径是 MES → PLC → 相机,而不是 MES → 相机直连。

                        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 无法胜任此任务(速度太慢、非确定性)。
  • 相机 将 pass/fail 结果上报给 PLC,而不是直接上报给 MES。
  • 程序选择 通过 PLC 进行。MES 可以决定 应该 运行哪个程序,但由 PLC 将程序 ID 写入相机(通过 EtherNet/IP O.Data[4-5] 或等效的 PROFINET 字)。
  • MES 从 PLC 接收带上下文的事件(工单、批次、序列号、工位、程序、通过/失败、缺陷类别),并做出聚合决策(若废品率超过阈值则暂停工单、提醒质量工程师、更新 OEE)。
  • PLC 移位寄存器 根据编码器脉冲索引,将检测结果与下游剔除闸门的位置进行同步。

三种模式

A. PLC 向 MES 上报(标准模式)

默认模式。PLC 处理实时剔除。PLC 将结果与工单上下文一起打包,通过 OPC UA 或 MQTT 转发到 MES。

适用场景: 任何带 PLC 的生产线。常见于汽车、包装、食品饮料、制药行业。

Endpoint 调用序列(调试时一次性配置):

步骤方法路径用途
1GET/edge/download/industrial_ethernet/ethernet_ip_eds下载 EDS 文件(与固件匹配)。提供给 PLC 编程人员。
2POST/edge/recipe/change_plc_recipe_id将相机程序映射为与 MES SKU 代码匹配的 PLC 友好 ID(1、2、3...)。
3POST/edge/environmental_variables为 Node-RED 流程持久化工厂上下文(线体代码、MES URL)。
4GET/edge/nodered/flow读取当前活动程序的 Node-RED 流程。
5POST/edge/nodered/flow部署已更新的流程,包含 OPC UA / MQTT 发布器。

B. 相机与 PLC 并行发布(现代并行模式)

PLC 仍负责剔除操作。相机同时将更丰富的数据负载(image_ref、缺陷类别、置信度)直接发布到 MQTT 或 OPC UA,供历史数据库、仪表板和 AI 训练使用。与 PLC 路径并行运行,而非替代它。

适用场景: 采用统一命名空间(Unified Namespace)方案的工厂(HiveMQ + Ignition + Grafana、Litmus Edge、HighByte)。新建的工业 4.0 站点。

端点调用顺序:

步骤方法路径用途
1GET/edge/nodered/flow读取当前活动的流程。
2POST/edge/nodered/flow部署包含 mqtt-out(或 sparkplug-out)并指向您的 broker 的流程。
3GET/edge/capture_result可选:在初始同步期间回填历史结果。
4GET/edge/capture_result/{capture_id}/heatmapOV80i:为失败的检查拉取缺陷热力图 PNG。

相机内置 MQTT broker,地址为 ws://{camera_ip}:9001/mqtt,因此小型部署无需外部 broker。

C. 独立模式(无 PLC)

无生产 PLC。操作员应用程序或云端 MES 通过 REST 直接与相机通信:拉取工单、切换程序、触发检查、获取结果。操作员充当执行器。

适用场景: 返工台、实验室检查、来料检查、使用平板电脑的 Tulip 风格云端 MES、退货/逆向物流。

不推荐用于: 高速输送线(无实时剔除)、需要认证 PLC 安全逻辑的受监管环境。

端点调用顺序(每次检查):

步骤方法路径用途
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 到 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告诉相机。唯一的例外是模式C(无PLC)。

"MES做出剔除决策。" 错误。由PLC做出。MES仅做出聚合决策,例如"如果废品率超过2%则暂停订单"。

"相机直接向MES报告。" 在标准架构中是错误的。相机向PLC报告。PLC打包上下文信息并转发给MES。例外情况是模式B的并行路径,其中相机还会将更丰富的有效负载发布到MQTT/UNS以用于分析,但这与PLC路径并行运行。

下一步

  • 使用 IO Helper 连接相机 + PLC + 传感器,并生成EDS文件、位映射和MES集成脚手架。
  • 使用 Integration Builder 根据自然语言描述生成实际的 Node-RED 流程(MQTT发布者、OPC UA写入器、REST POST到MES等)。