目錄信息
- MES機聯網1:技術方案
- MES機聯網2:采集網關
- MES機聯網3:管理后臺
- 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 |