生产测试 MES 对接标准

更新时间:2023-06-15 03:39:49下载pdf

本文介绍了产品在生产测试过程中,产生的产测信息与您自有生产系统(MES,Manufacturing Execution System)的对接标准,包括了标准数据格式及标准的对接方法。如果您有需要将产品测试信息存储到自己的生产系统(MES),可以采用本文介绍的方式。

前提条件

  • 请确认您已经下载了 生产解决方案 软件。下载步骤请参考 云模组

  • 请确认您已经提交了 生产工单

适用范围

当前上位机工具中,支持该标准对接的有:

  • 云模组
  • IPC 产品

设置上报地址

云模组

云模组 工具如要开通 MES 对接功能,需要提供工厂码给上位机发开集成,同时 MES 需按格式开发。

  1. 打开 生产解决方案 软件。

  2. 选择 生产测试 > 云模组,双击打开 云模组 工具。

    生产测试 MES 对接标准
  3. 选择 帮助 定制服务 MES上报

    生产测试 MES 对接标准
  4. 勾选 是否开启Mes上报,并填入您的上报地址。

    生产测试 MES 对接标准

IPC 产品

IPC 产品工具支持任何用户接入 MES,无需提供工厂码。同时 MES 需按格式开发。

  1. 打开 生产解决方案 软件。

  2. 选择 生产测试 > IPC产品,双击打开 IPC产品 工具。

    生产测试 MES 对接标准
  3. 在页面右上角,单击 设置

    生产测试 MES 对接标准
  4. 选择 MES,勾选 是否开启Mes上报,并填入您的上报地址。

    生产测试 MES 对接标准

接口说明

HTTP 请求头(Headers)

Content-Type:application/json

请求参数

URL 格式

参数采用 URL 字符串表示:

  • ? 用于分割 URL 地址和参数
  • = 用于连接关键字和属性值
  • & 用于分割各关键字。

URL 字符串表现形式如下:

Url?key1=value1&key2=value2&key3=value3

参数说明

参数名称 说明 数据类型 字节数
user 用户名。 String
model 机型号,英文字符串,用于区分不同的产品。 String
dut_order_code 涂鸦的生产工单号。 String
dut_number_name DUT 条码项名称。例如 SN、CMEI、CTEI、CUEI、MAC、IMEI。 String
dut_number_value DUT 条码项对应的值。 String
station 当前测试工站(工艺流程)。 String
fix_id 测试工位的识别码。 String
pc_mac PC 的 mac 地址(12 位)。 String
is_pass 当前测试工站是否测试通过,取值为 true 或者 false。 Boolean
elapsed 测试总时长,精确到秒。 Integer
retry_cnt 尝试测了多少次。默认可为 1。 Integer
is_misdetect 是否为误测结果。例如设置最大尝试测试次数为 n 次,在测试 n 次以内,测试结果为 NG 的,都作为误测结果上传。否则作为最终的测试结果。取值为 true 或者 false,默认为 false。 Boolean
defect_type_code 不良代码。不良代码由客户端测试工具开发者提供给 MES 厂商。测试结果为 NG 时必填。 String 256
token 区分是否是同一次测试。建议以 DUT 端测试工具开始测试的时间戳为 token。 String

选填项参数的值可以为空,但必须携带该参数。

示例效果

实际上位机发送数据如下:

[TCP] 127.0.0.1:65118 <337> POST /?user=05574&model=&dut_order_code=&dut_number_name=SN&pc_mac=00-FF-F1-B5-EE-C0&is_pass=False&elapsed=0&retry_cnt=1&is_misdetect=False&defect_type_code=1222C1&token=638222646046200873 HTTP/1.1…Content-Type: application/json; charset=utf-8…Host: 127.0.0.1:9756…Content-Length: 212…Expect: 100-continue…Connection: Keep-Alive…

HTTP Body(raw)

请求报文

{
    "cases": [
        {
            "name": "测试项名称",
            "value": "测试结果值",
            "elapsed": "测试时长",
            "result": "pass/ng(测试结果)"
        },
        {
            "name": "测试项名称",
            "value": "测试结果值",
            "elapsed": "测试时长",
            "result": "pass/ng(测试结果)"
        }
    ]
}

case 表示一个测试工作站,多个测试项的具体结果。

测试项参数名称 说明 数据类型
name 测试项名称 String
value 测试结果值 String
elapsed 测试时长,单位为秒 Integer
result 测试结果,取值为 pass 或者 ng String

示例效果

实际上位机发送数据如下:

{
    "cases": [{
        "name": "............(TCP)",
        "value": "",
        "elapsed": 3,
        "result": "pass"
    }, {
        "name": "..................",
        "value": "",
        "elapsed": 16,
        "result": "pass"
    }, {
        "name": "............",
        "value": "",
        "elapsed": 206,
        "result": "ng"
    }]
}

返回结果格式

  • 编码格式:UTF-8
  • 内容格式:JSON

示例效果

返回的内容格式示例:

{
    "resultCode": "0",
    "resultMsg": "request result message"
}
数据项名称 说明 数据类型 字节数
resultCode 请求的结果码返回的结果码。0 表示请求成功,0001 或其他非 0 代码表示错误。resultMsg 给出详细错误信息,DUT 端需要显示 resultMsg 内容。 Long 4
resultMsg 请求结果的附加提示信息。 String

如果返回内容不是 JSON 格式,或者内容不符合要求,客户端需要处理异常,并将返回的内容提示出来,方便产线定位问题。