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 |

相关推荐
快解析2 天前
MES系统如何实现远程访问?
mes
WINDHILL_风丘科技16 天前
应用案例 | uaGate SI助力汽车零部件工厂将生产数据传输到MES
网关·数据传输·opc·mes·应用案例
imes17 天前
MES生产制造管理系统-BI看板 MES大屏看板
mes·品质管理·物料追溯·spc·bi电子看板
Moretl2 个月前
QMS检测设备日志采集工具
制造·iot·scada·qms·mes
AIHE-TECH2 个月前
PLC实现HTTP协议JSON格式数据上报对接的参数配置说明
网络协议·http·json·url·网页·西门子plc·mes
Moretl3 个月前
Moretl安全日志采集工具
智能制造·iot·scada·qms·mes
Moretl3 个月前
Moretl开箱即用日志采集
运维·自动化·iot·qms·mes
Moretl3 个月前
稳定高效日志采集工具
c#·iot·mes
爱笑的源码基地3 个月前
基于springboot + vue-element-plus-admin开发的MES系统源码,制造执法系统MES源码;支持app,小程序,H5,后台
vue.js·spring boot·源码·制造·mes·制造执行系统·生产管理系统