跳转至

MES 对接

工厂里的 MES 系统要知道每一件产品检测的结果。这一页讲检测软件怎么把结果交出去、 断网或 MES 不回话时软件会怎么表现、以及每件产品的 SN 码从哪来。

先搞清分工

检测软件不直接连 MES 服务器。它只负责把每一件的结果整理成一个数据包,交给同一台工控机上另一个独立的程序——我们称它"MES 上传程序"。那个程序才知道 MES 的地址、账号和规程编号,由它去登录、去写库。

所以:

  • MES 的地址、账号、密码、规程 ID 不在检测软件里配,在 MES 上传程序那边配。检测软件的菜单里没有"MES 设置"这一项。
  • 两个程序之间走本机回环网络,不占外部网口。MES 上传程序开着并且能正常响应,检测软件才认为"MES 在线"。
  • 每个客户的 MES 接口字段不一样,是在打包时按项目定制的,现场改不了。要改字段请联系售后。

老版本里有、现在没有的

2.0 时代的这几样已经取消:软件目录下的 MES 配置文件、菜单里的"MES 设置"、界面上手动切换"在线 / 离线"、以及"检测前先问 MES 这件能不能做"的卡控询问。现在只有"检测完上报结果"这一个方向,过站与否由 MES 通过上报的回复来决定(见下面的 QC)。

界面上和 MES 有关的东西

位置 是什么
运行端顶部的在线 / 离线图标 检测软件和 MES 上传程序之间通不通。每 1.5 秒刷新一次
运行端的 MES 信息标签 显示 MES 每次回过来的那句话。底色灰 = 成功,红 = 失败
运行端的大结果标签 MES 上报失败时会显示"MES上传失败"并播 NG 提示音
运行端的 MES 未上传告警条 一条大号红底白字的横幅,出现在大结果标签正上方。只有真的发生过上传失败才会出现,平时不占版面

运行端主界面(左侧参数栏)

三个能调的开关

NG 是否上传 MES(运行端)

运行端"设置"菜单 →"打开系统设置",找到"NG是否上传MES"。

  • 不勾(默认):检测不通过的件不往 MES 报,MES 信息标签会显示"设置了NG时不上传MES"。
  • 勾上:不管 OK 还是 NG 都报。

按客户的 MES 规则来定。多数产线只报 OK 件,NG 件走返修流程另行处理。

启用 MES 上传(运行端 设置 → 系统设置 → 通用设置)

运行端"设置"菜单 →"打开系统设置"→"通用设置"页,找到"启用 MES 上传"。默认勾上,老现场行为不变。

  • 勾上:按上面的流程往 MES 报结果;下面的"NG是否上传MES"这时才可用。
  • 不勾:不写 MES、不留痕、不记错误、不弹告警条;信息区每件只打一行"MES 未启用(系统设置), 不写入Mes系统"。就算 MES 上传程序还连着,汇总结果里也不会出现"写入Mes结果"那一行。

不接 MES 的现场用这个开关,不要只去藏告警条。

MES 未上传告警条 显示 / 隐藏(调试端)

顶部"设置"→"工程设置"(在运行页、调试页都能开),找到"MES 未上传告警条",选"显示"或"隐藏"。这是跟着工程走的设置。

不用 MES 的现场去系统设置把"启用 MES 上传"勾掉;"隐藏"只管红条:隐藏的只是那条横幅,本地留痕和计数照常做。

上报失败时软件怎么表现

分三档,行为完全不同,现场要能区分:

情况 软件的表现 要做什么
连不上 MES 上传程序,或者数据没送出去 红色告警条亮起,写明累计多少件没上传和留痕文件路径;信息区打红字;检测继续跑,不停机 恢复连接后把留痕文件里的数据补传给 MES
MES 收到了,判为 NG 或 RE(重复过站) 大结果标签显示"MES上传失败",播 NG 音;这一件不计入直通率 按 MES 的结论处理这件产品
MES 收到了,判为 QC(品质管控) 停机,弹出 MES 返回的原因;同时良率统计被锁定 品质人员处理完之后,由超级管理员在运行端点"清空良率检测结果"解锁

断线不会停线

这是刻意设计的:MES 那一侧出任何问题都不能把产线停下来。所以"MES 断了"这件事只会以告警条的形式提示,产品照常检测、照常出结果。这意味着漏报是有可能发生的,现场必须留人看那条告警条。

没上传的数据留在哪

每一件没能上传的产品,软件都会把完整数据追加写到本机的一个文件里:

~/.labeldetect/mes_pending/mes_pending_年月日.jsonl

(~ 是当前 Windows 用户的主目录,例如 C:\Users\Administrator。)

按天分文件,每行一件,内容是这件产品的 SN、结果、缺陷描述、时间等。

软件不会自动补传

这个文件只保证数据不丢。补传要人工做,或者用售后提供的补传工具。连接恢复时软件会在信息区再提醒一次累计多少件需要补传。

告警条在两种情况下消失:MES 恢复连接时,或者下一轮运行开始时(已经落盘的留痕文件不会被动)。

SN 码从哪来

上报给 MES 的每一件都要有 SN。SN 有三个来源,取哪个由设置决定:

设置 SN 来自
检测 SN 开着 + 没用外接扫码枪 工程里被设成"SN"的那个检测项识别出来的内容
检测 SN 开着 + 用了外接扫码枪 操作员用扫码枪扫到的内容
检测 SN 关掉 一个时间戳,格式 20260914_102341

开关在哪

顶部"设置"→"工程设置"(在运行页、调试页都能开),把"检测SN:"设成 enable 或 disable。

怎么指定哪个检测项出 SN

  1. 进调试端,进入编辑模式,选中要用的码检测或条码字符对检测项。
  2. 点右键,选"设置为SN码"。
  3. 保存工程。

一个工程里只能有一个 SN 检测项,设了新的旧的自动取消。运行中不能改,会提示"正在运行中, 请先关闭运行界面的运行状态"。

开了 SN 检查却没指定检测项,会出问题

保存工程时会提示"未设置SN检测项!";真跑起来会直接报错停机。另外,开了 SN 检查时,SN 读不出来(空)这一件就直接判 NG,即使其它检测项全部通过。条码印得糊、框画得太紧导致读不出来,表现就是"明明没缺陷却一直 NG",这时先看信息区有没有"当前SN条码为空"。

自定义比对:把某个识别结果也带上去

除了 SN,还可以把别的检测项的识别结果一起报给 MES:

  1. 在调试端编辑模式下选中检测项,点右键选"设为自定义变量",给它起个名字。
  2. 能这么挂的检测项有:字符识别、码检测、条码字符对、可变区域、卡尺。
  3. 起名时不能用 SN、总结果、检测时间 这三个保留名。

挂上之后,这些变量会随每一件的数据一起上报给 MES(在数据包里单独成一组),也可以在通讯输出里引用,见字符串协议(TCP / 串口)。

想看当前有哪些自定义变量、值是多少,在顶部"菜单"→"查看自定义变量"里看(要先登录)。

常见问题

一直显示离线。 MES 上传程序没启动,或者它崩了。先确认那个程序在任务栏 / 任务管理器里还在。它和检测软件必须跑在同一台工控机上。

告警条一直亮着,数字越涨越大。 这些件的数据都没进 MES。先恢复连接(见上一条),再把留痕文件交给负责补传的人。数字会在下一轮运行开始时清零,但数字清零不代表数据补上了。

一上报就停机,提示一串 MES 返回的话。 MES 判了 QC。这是 MES 主动要求停线,按 MES 提示的原因处理;处理完让超级管理员点"清空良率检测结果"解锁。

结果标签一直显示"MES上传失败",但产品看着没问题。 MES 那边把这件判成了 NG 或 RE(重复过站)。RE 常见于同一件产品被重复检测。这类件不计入直通率。

NG 的件没上报。 运行端系统设置里"NG是否上传MES"没勾。

相关页面