MES与CCD接口说明.md 8.2 KB

MES 与 CCD 视觉检测 — 接口说明

模块:MesProductRecordController#ccdcheck
协议:HTTP POST,application/x-www-form-urlencoded
认证:匿名接口(application.yml 中已配置 anon)
正式地址示例:http://192.168.9.180:8980/js/a/mes/mesProductRecord/ccdcheck
本地调试示例:http://127.0.0.1:8980/js/a/mes/mesProductRecord/ccdcheck


调用流程

① 01 序号检查     扫码后校验工件是否允许在本工位检测
        ↓
② 04 测试结果上传  检测过程中/结束后上传明细(有数据就传,没有可跳过)
        ↓
③ 05 序号过站     上报整件 OK/NG,MES 记录过站结果

三个命令通过同一 URL、同一参数名 commandString 区分,首字段为命令编号(TestType)。


通用约定

请求

项目 说明
URL /js/a/mes/mesProductRecord/ccdcheck
方法 POST
Content-Type application/x-www-form-urlencoded
参数名 commandString(整条命令字符串)

命令字符串格式

  • 字段之间用英文分号 ; 分隔。
  • 末尾建议保留分号 ;(与驭视科技 CCD 标准格式一致)。
  • 工位号格式为 OP 开头,可带后缀字母区分子工位,例如 OP290B、OP390B;MES 内部会规范化处理。

响应

返回 XML 字符串,正文为 OK; 或 NG;原因;:

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://mesateapi.com/">OK;</string>

失败示例:

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://mesateapi.com/">NG;工件码不能为空;</string>

命令字段对照(通用头部)

序号 字段名 01 必填 04 必填 05 必填 说明
0 TestType 是 是 是 命令编号:01 / 04 / 05
1 工号 是 是 是 操作员工号
2 序号(工件码) 是 是 是 产品条码/SN
3 工序名称(工位号) 是 是 是 如 OP290B
4 资源名称 是 是 是 检测设备/工位资源名称
5 设备编码 否 否 否 无则传空
6 工治具编码 否 否 否 无则传空

1. 序号检查(TestType = 01)

检测前校验工件是否允许在当前工位进行 CCD 检测(工艺路线、质量状态等)。

命令格式

01;工号;序号;工序名称;资源名称;设备编码;工治具编码;

共 8 段(含末尾空段),split(";", -1) 后长度为 8。

参数示例

curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/mesProductRecord/ccdcheck' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'commandString=01;EMP001;502402660085119990EBMA100082;OP390;Res001;MACHINE01;Fixture001;'

返回说明

返回内容 含义
OK; 允许检测
NG;{原因}; 不允许检测,原因由 MES 工艺/质量校验返回

备注

  • 工号、序号、工序名称、资源名称为必填。
  • 设备编码、工治具编码为非必填,没有时传空即可。

2. 测试结果上传(TestType = 04)

上传 CCD 各测点明细数据,写入 mes_product_ccd 表。有明细就传,没有可不调用。

命令格式

04;工号;序号;工序名称;资源名称;设备编码;工治具编码;测试开始时间;测点明细;

共 10 段(含末尾空段)。

其中 测点明细(第 9 段,parts[8])格式:

序号&拍照序号&检测名称&检测参数&检测值&检测结果&检测时间,序号&拍照序号&...
  • 多个测点之间用英文逗号 , 分隔。
  • 单个测点内 7 个字段之间用 & 分隔。
  • 检测时间 格式:yyyy-MM-dd HH:mm:ss
  • 检测结果 取值:OK / NG

测点字段说明

字段 说明 示例
序号 测点编号 1
拍照序号 拍照区序号 2
检测名称 检测项名称 拉铆螺母
检测参数 规格/阈值描述 直径:3.5~15高度:1~10
检测值 实测值 直径:6.50\|高度:2.22\|
检测结果 OK/NG OK
检测时间 该测点检测时间 2024-05-06 15:19:07

参数示例(单条测点)

curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/mesProductRecord/ccdcheck' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'commandString=04;15112184644;502402660085119990E4GA100296;OP290B;OP290B;;;20240506120729;1@1@二维码有无@有无:1~1@502402660085119990E4GA100296重复扫描@OK@2024-05-06 12:03:44;'

参数示例(多条测点)

04;15112184644;502402660085119990E54A100352;OP290B;OP290B;;;20240506152248;1@1@二维码有无@有无:1~1@502402660085119990E54A100352@OK@2024-05-06 15:19:02,2@2@拉铆螺母@直径:3.5~15高度:1~10@直径:10.59|高度:2.21|@OK@2024-05-06 15:19:07;

返回说明

返回内容 含义
OK; 明细保存成功
NG;参数错误3; 分段数量不是 10
NG;参数错误4; TestType 不是 04
NG;参数错误5; 某个测点字段数不是 7
NG;检测时间格式错误; 检测时间格式不正确
NG;工件码不能为空; SN 为空
NG;工位号不能为空; 工位号为空

备注

  • 测试开始时间 字段(第 8 段)格式为 yyyyMMddHHmmss,当前 MES 实现主要解析第 9 段测点明细,开始时间作记录参考。
  • 设备编码、工治具编码无值时保持空位(连续 ;)。

3. 序号过站(TestType = 05)

整件检测完成后,向 MES 上报最终 OK/NG 并执行过站。

命令格式

05;工号;序号;工序名称;资源名称;设备编码;工治具编码;测试结果;不良现象;

共 10 段(含末尾空段)。

字段 说明
测试结果(第 8 段) 必填,OK 或 NG
不良现象(第 9 段) NG 时必填,填写最主要的一条不良描述;OK 时传空

参数示例

过站 OK:

curl --location --request POST 'http://127.0.0.1:8980/js/a/mes/mesProductRecord/ccdcheck' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'commandString=05;15112184644;151245P00001213100100025072501024;OP390B;OP390B;;;OK;;'

过站 NG:

05;EMP001;SN001;Station001;Res001;MACHINE01;Fixture001;NG;无法开机;

返回说明

返回内容 含义
OK; 过站成功
NG;结果不能为空; 未传测试结果
NG;结果错误; 测试结果不是 OK/NG
NG;操作失败; MES 内部过站处理异常

备注

  • 工号、序号、工序、资源名称为必填。
  • 设备编码、工治具编码为非必填,没有时传空。
  • NG 时不良现象必须有值,且建议只传一条最重要的描述。

附录:标准模板示例

以下为 Excel 原始标准格式示例,便于联调对照。

01 模板

01;EMP001;SN001;Station001;Res001;MACHINE01;Fixture001;

04 模板

04;EMP001;SN001;Station001;Res001;MachineNo;Fixture001;20181002131019;序号1&拍照序号1&检测名称1&检测参数1&检测值1&检测结果1&2024-11-11 11:11:11,序号2&拍照序号2&检测名称2&检测参数2&检测值2&检测结果2&2025-10-22 22:22:22;

05 模板

05;EMP001;SN001;Station001;Res001;MACHINE01;Fixture001;OK;;
05;EMP001;SN001;Station001;Res001;MACHINE01;Fixture001;NG;无法开机;

附录:MES 侧数据落库

命令 处理逻辑 数据表
01 调用 checkQualityCommon 做进站校验 —
04 批量插入测点明细 mes_product_ccd
05 调用 updateRecordResult 写过站记录 生产记录相关表

mes_product_ccd 主要字段:工件码、产线编号、工位号、检测设备名称、拍照区序号、测点编号、检测名称、检测参数、检测值、检测结果、检测时间。


文档来源:docs/ccd/MES与CCD接口.xlsx(标准格式页),并结合 MesProductRecordController / MesProductCcdService 实现整理。