MES机联网4:文档资料

目录信息

MQ接入文档

1、建立连接

mqtt连接地址: 192.168.0.138

mqtt端口: 1883

mqtt用户名:admin

mqtt密码:123456

2、消息主题

2.1 上行topic(设备->平台)

A 服务端订阅的topic(监听所有上行数据),规则 M2M/up/#

B 设备发布的topic,规则 M2M/up/{mac}

2.2 下行topic(平台->设备)

A 设备端订阅的topic,规则 M2M/down/{mac}

B 服务端发布的topic,规则 M2M/down/{mac}

M2M/up/84F3EBB452BB

M2M/down/84F3EBB452BB

3、消息模板定义

|----|-------------|--------|------|
| 名称 | 说明 | 类型 | 备注 |
| c | 【code】简写 | int32 | 通讯指令 |
| m | 【message】简写 | string | 通信内容 |

4、 通讯指令说明

|---|-----------------|-------|
| 值 | 说明 | 发起 |
| 1 | 设备发起OTA升级 | C->S |
| 2 | 服务端发起OTA升级 | S->C |
| 3 | 三色灯变化 | C->S |
| 4 | 计数(产量) | C->S |
| 5 | 完工(节拍、合格数、不合格数) | C->S |
| 6 | 重置计数 | S->C |

5、消息内容定义

5.1 设备主动升级

设备每次开机或重启后向服务器发送版本消息并携带唯一身份标识,服务器根据该标识判断是否进行OTA升级并将结果告知设备

5.1.1 设备上行报文

|----------|------|--------|----------|
| 名称 | 说明 | 类型 | 备注 |
| deviceid | 设备Id | string | YD-ZP709 |
| mcuver | 设备版本 | string | 1.0.0 |
| mcutype | 设备类型 | int | |

报文示例:

{

"c": 1,

"m": {

"deviceid": "YD-ZP709",

"mcuver": "1.0.0",

"mcutype": 1000

}

}

5.1.2 服务器下行报文

|---------|-------|--------|-------------------------|
| 名称 | 说明 | 类型 | 备注 |
| errcode | 错误码 | int | 0 : 无 1:查无版本信息 2:版本比对失败 |
| url | 升级包网址 | string | |

报文示例:

{

"c": 1,

"m": {

"errcode": 0,

"url": "http://192.168.0.138:8601/test.bin"

}

}

5.2 服务器远程升级

需要更新固件时,服务器可远程发送指令告知设备升级。设备收到消息后,走设备主动升级流程

5.2.1 服务器下行报文

{"c":2,"m":""}

5.3 三色灯变化

设备状态变化后主动上报

5.3.1 设备上行报文

|--------------|----------|--------|-------------------------|
| 名称 | 说明 | 类型 | 备注 |
| workshopid | 车间id | string | |
| lineid | 产线id | string | |
| deviceid | 设备id | string | |
| currentstate | 当前三色灯颜色 | string | 000关灯,001绿灯,010黄灯,100红灯 |
| oldstate | 上一个三色灯颜色 | string | |
| periodsec | 持续时长 | int | 单位秒 |

报文示例:

{

"c": 3,

"m": {

"workshopid": "WS001",

"lineid": "DZ01",

"deviceid": "YD-ZP709",

"currentstate": "001",

"oldstate": "000",

"starttime": "2025-02-21T00:00:00",

"endtime": "2025-02-21T00:00:30",

"periodsec": 30

}

}

5.4 计数

IO计数为高电平时主动上报

5.4.1 设备上行报文

|------------|------|--------|----|
| 名称 | 说明 | 类型 | 备注 |
| workshopid | 车间id | string | |
| lineid | 产线id | string | |
| deviceid | 设备id | string | |
| productqty | 产量 | int | |

报文示例:

{

"c": 4,

"m": {

"workshopid": "WS001",

"lineid": "DZ01",

"deviceid": "YD-ZP709",

"productqty": 1

}

}

5.5 完工

IO结束(合格/不合格)为高电平时主动上报

5.5.1 设备上行报文

|------------|------|--------|----|
| 名称 | 说明 | 类型 | 备注 |
| workshopid | 车间id | string | |
| lineid | 产线id | string | |
| deviceid | 设备id | string | |
| productqty | 产量 | int | |
| pitchtime | 节拍 | int | |
| passqty | 合格数 | int | |
| ngqty | 不合格数 | int | |

报文示例:

{

"c": 5,

"m": {

"workshopid": "WS001",

"lineid": "DZ01",

"deviceid": "YD-ZP709",

"pitchtime": 30,

"productqty": 1,

"passqty": 1,

"ngqty": 0

}

}

5.6 服务器重置计数

复位计数信息,包括,产量,合格数,不合格数,节拍

5.6.1 服务器下行报文

{"c":6,"m":""}

数据库设计

数据库名称factory

|--------------|-------------|----------|
| mst_ota_version OTA版本表 |||
| 字段名 | 类型 | 说明 |
| Id | bigint | 主键、自增Id |
| ota_name | varchar(40) | ota名称 |
| ota_version | varchar(40) | ota版本号 |
| ota_type | int | ota类型 |
| ota_filename | varchar(40) | ota升级文件名 |
| remark | varchar(40) | 备注 |
| create_id | bigint | 创建者ID |

|---------------|-------------|---------|
| mst_workshop_info车间表 |||
| 字段名 | 类型 | 说明 |
| Id | bigint | 主键、自增Id |
| workshop_id | varchar(40) | 车间ID |
| workshop_name | varchar(40) | 车间名称 |
| remark | varchar(40) | 备注 |
| create_id | bigint | 创建者ID |

|-------------|-------------|---------|
| mst_line_info产线表 |||
| 字段名 | 类型 | 说明 |
| Id | bigint | 主键、自增Id |
| line_id | varchar(40) | 产线ID |
| line_name | varchar(40) | 产线名称 |
| workshop_id | varchar(40) | 车间ID |
| remark | varchar(40) | 备注 |
| create_id | bigint | 创建者ID |

|-----------------|-------------|---------|
| mst_device_info 设备表 |||
| 字段名 | 类型 | 说明 |
| Id | bigint | 主键、自增Id |
| device_id | varchar(40) | 设备ID |
| device_name | varchar(40) | 设备名称 |
| workshop_id | varchar(40) | 车间ID |
| line_id | varchar(40) | 产线ID |
| status | varchar(40) | 当前状态 |
| product_qty | int | 产量 |
| pitch_time | int | 节拍 |
| pass_qty | int | 合格数 |
| ng_qty | int | 不合格数 |
| mcu_mac | varchar(40) | 设备MAC地址 |
| mcu_version | varchar(40) | 设备固件版本 |
| mcu_online_time | datetime | 设备上线时间 |
| remark | varchar(40) | 备注 |
| create_id | bigint | 创建者ID |

|----------------|-------------|----------|
| mst_device_status_history 设备状态历史表 |||
| 字段名 | 类型 | 说明 |
| Id | bigint | 主键、自增Id |
| workshop_id | varchar(40) | 车间ID |
| line_id | varchar(40) | 产线ID |
| device_id | varchar(40) | 设备ID |
| status | varchar(40) | 状态 |
| start_datetime | datetime | 开始时间 |
| end_datetime | datetime | 结束时间 |
| period_sec | int | 持续时间(秒数) |

|-----------------|-------------|---------|
| mst_device_process_data 完工记录表 |||
| 字段名 | 类型 | 说明 |
| Id | bigint | 主键、自增Id |
| workshop_id | varchar(40) | 车间ID |
| line_id | varchar(40) | 产线ID |
| device_id | varchar(40) | 设备ID |
| device_name | varchar(40) | 设备名称 |
| product_qty | int | 产量 |
| pitch_time | int | 节拍 |
| pass_qty | int | 合格数 |
| ng_qty | int | 不合格数 |
| record_datetime | datetime | 记录时间 |

|-----------|--------|---------|
| mst_device_2_user 设备用户关联表 |||
| 字段名 | 类型 | 说明 |
| Id | bigint | 主键、自增Id |
| device_id | string | 设备ID |
| user_id | bigint | 用户自增ID |

相关推荐
Lalolander13 天前
工厂车间为什么对不上账?
制造执行系统·工厂数字化·工厂生产进度管理·工单管理·工艺管理
Lalolander15 天前
从“大海捞针”到“秒级定位”:破解工厂质量追溯困局的系统性路径
大数据·mes·制造执行系统·工厂管理软件·工厂管理系统
Lalolander17 天前
手写质检单繁琐?破解制造企业质量数据困局的数字化路径
大数据·制造·mes·制造执行系统·工厂管理
轻造科技21 天前
MES+WMS:呆滞物料及时预警,库存周转率提升40%
大数据·mes·mes系统
spencer_tseng21 天前
ERP CRM SCM MES PLM SRM WMS OMS HRMS
wms·crm·srm·erp·mes·plm·scm
摩尔元数1 个月前
2026年汽车仪表工厂选MES,厂商推荐
低代码·汽车·制造·mes
轻造科技1 个月前
包装管理系统+尺寸匹配算法:根据产品规格自动推荐包装方案,材料浪费减少25%
人工智能·mes·mes系统
CORNERSTONE3652 个月前
AI与MES的融合——从“执行记录”到“智能决策”
人工智能·ai·mes
映翰通网络2 个月前
自动化产线,如何真正走向“可控、可见、可远程”的智能化?
运维·自动化·工厂数字化
摩尔元数2 个月前
2025年 汽车动力控制系统行业MES厂商分析
低代码·汽车·制造·mes