编辑 | blame | 历史 | 原始文档

注塑机数采监控 - 前端联调方案

涉及页面

  • 设备管理 - 设备台账(新增数采字段、导入模板)
  • 设备管理 - 数采监控(新增)
  • 设备管理 - 数采监控 - 设备详情/历史(新增)
  • 设备管理 - 数采报警(新增,或作为数采监控页签)

业务流程与数据带入

  1. 设备台账维护 collectDeviceCode(如 C01)并启用 collectEnabled 后,数采报文才能自动关联到该设备。
  2. 数采监控列表以设备台账为基准展示,collectDeviceCode 是列表与各明细接口之间的唯一关联键,选中设备后需把该值作为 deviceCode 带入实时状态、工艺参数、周期数据、参数变更、报警查询。
  3. 列表中的 taskId / workOrderId 由后端按设备所在工作站自动解析当前运行任务,前端只读展示,不需要传参。
  4. 从列表进入报警时,建议默认带入当前 deviceCode 与 status=0(未消除),保证用户先看到当前设备的待处理报警。

API

方法 路径 说明
GET /mes/collect/device/list 数采设备状态列表
GET /mes/collect/realtime/get 设备最新实时状态
GET /mes/collect/realtime/history-page 实时状态历史分页
GET /mes/collect/cycle/page 周期过程数据分页
GET /mes/collect/cycle/get 周期过程数据明细
GET /mes/collect/tech/get 设备最新工艺参数快照
GET /mes/collect/operate-log/page 参数变更日志分页
GET /mes/collect/alarm/page 报警记录分页
PUT /mes/collect/alarm/ack 人工确认消除报警

设备台账字段新增

新增/更新、分页查询、Excel 导入导出均需支持以下字段:

字段 类型 必填 说明
collectDeviceCode String 否 数采设备编号(MQTT devId),全局唯一,如 C01
collectEnabled Boolean 否 是否启用数采,默认否
  • 设备台账分页查询支持按 collectDeviceCode、collectEnabled 过滤。
  • Excel 导入模板新增“数采设备编号”列;同一次导入内重复的编号会整行失败并返回具体行号与编号。

设备状态列表

GET /mes/collect/device/list

无请求参数,返回已配置 collectDeviceCode 的全部设备。

响应字段:

字段 类型 说明
machineryId Long 设备台账编号
machineryCode String 设备编码
machineryName String 设备名称
workstationId Long 工作站编号
workstationName String 工作站名称
collectDeviceCode String 数采设备编号
collectEnabled Boolean 是否启用数采
lastCollectTime DateTime 最近采集时间
online Boolean 是否在线(5 分钟内有数据)
sts / stsName Integer / String 运行状态:1 待机、2 生产
opm / opmName Integer / String 运行模式:0 手动、1 半自动、2 电眼自动、3 时间自动、4 调模使用
ot Decimal 油温
temps String 各段温度 JSON 字符串
taskId / taskCode / taskName Long / String / String 当前生产任务
workOrderId / workOrderCode Long / String 当前生产工单
activeAlarmCount Long 未消除报警数量

实时状态

GET /mes/collect/realtime/get,参数 deviceCode(必填)。

响应字段:id、machineryId、deviceCode、taskId、workOrderId、collectTime、sts/stsName、opm/opmName、asts、ot、temps、dataJson。设备暂无数据时 data 为 null。

GET /mes/collect/realtime/history-page

参数 类型 必填 说明
pageNo / pageSize Integer 是 分页参数
deviceCode String 否 数采设备编号
machineryId Long 否 设备台账编号
taskId Long 否 生产任务编号
workOrderId Long 否 生产工单编号
collectTime DateTime[] 否 采集时间范围,传开始、结束两个值

响应结构同实时状态,按采集时间倒序。

周期过程数据

GET /mes/collect/cycle/page

参数 类型 必填 说明
pageNo / pageSize Integer 是 分页参数
deviceCode String 否 数采设备编号
machineryId Long 否 设备台账编号
taskId Long 否 生产任务编号
workOrderId Long 否 生产工单编号
collectTime DateTime[] 否 采集时间范围

响应字段:id、machineryId、deviceCode、taskId、workOrderId、cycleNo、collectTime、ecyct、eiss、eivm、eipm、esipt、esipp、esips、eipt、eipse、eplst、eplsse、eplspm、etTemps(JSON 字符串,键为 ET1..ETn)、dataJson。

GET /mes/collect/cycle/get,参数 id(必填),返回单条明细,字段同上。

工艺参数快照

GET /mes/collect/tech/get,参数 deviceCode(必填)。

响应字段:id、machineryId、deviceCode、taskId、workOrderId、collectTime、dataJson。dataJson 为设备上报的完整工艺参数键值对,约 150 个变量;无数据时 data 为 null。

参数变更日志

GET /mes/collect/operate-log/page

参数 类型 必填 说明
pageNo / pageSize Integer 是 分页参数
deviceCode String 否 数采设备编号
machineryId Long 否 设备台账编号
workOrderId Long 否 生产工单编号
varId String 否 变量编码,如 SIPS
modifyTime DateTime[] 否 参数修改时间范围

响应字段:id、machineryId、deviceCode、taskId、workOrderId、varId、oldValue、newValue、modifyTime、collectTime、dataJson。

报警记录

GET /mes/collect/alarm/page

参数 类型 必填 说明
pageNo / pageSize Integer 是 分页参数
deviceCode String 否 数采设备编号
machineryId Long 否 设备台账编号
workOrderId Long 否 生产工单编号
status Integer 否 0 未消除、1 已消除
wmTime DateTime[] 否 报警时间范围

响应字段:id、machineryId、deviceCode、taskId、workOrderId、wmId(2 产生、0 消失)、wmMsg、wmTime、status/statusName、clearTime、collectTime、dataJson。

PUT /mes/collect/alarm/ack,参数 id(必填),无请求体,成功返回 true。

字段展示规则

字段 展示位置 说明
collectDeviceCode 台账列表、台账详情、数采监控列表 台账列表可直接展示,便于现场核对
collectEnabled 台账列表、台账表单 未启用的设备仍展示在监控列表,便于发现配置错误
online 监控列表 在线为绿色标识,离线为灰色;依据 5 分钟采集窗口
sts/stsName 监控列表、设备详情 生产/待机两态
opm/opmName 监控列表、设备详情 五态枚举,直接展示中文名称
ot、temps 监控列表、设备详情 temps 为 JSON 字符串,前端解析后按 T1..Tn 展示
taskCode/taskName、workOrderCode 监控列表、设备详情 只读;无运行任务时显示为空
activeAlarmCount 监控列表 大于 0 时高亮,可点击跳转报警页签并带入设备
status/statusName 报警列表 未消除/已消除
dataJson 各详情抽屉 作为“原始数据”折叠展示,便于排障

业务规则说明

场景 规则
设备未配置数采编号 不出现在 /device/list,但后端仍会接收并保存其报文,补绑台账后新数据自动关联
设备离线判定 最近采集时间早于当前时间 5 分钟即离线,与设备启停无关
工单带入 后端按设备工作站自动匹配生产中/部分完成/已停工任务,任务切换最长 30 秒生效
报警产生 设备上报 wmId=2 新增一条未消除记录,同一报警重复上报不重复生成
报警消失 设备上报 wmId=0 自动把该设备全部未消除记录置为已消除并写消除时间
人工确认 仅未消除记录可确认;已消除记录再次确认会提示“该报警已消除,无需重复确认”
周期数据去重 同一设备、同一周期序号、同一采集时间只保留一条
数据保留 原始报文 7 天、实时历史 30 天,周期/工艺/参数变更/报警长期保留

注意事项

  • 所有数采查询接口需权限 mes:collect:query,人工确认报警需 mes:collect-alarm:ack。
  • deviceCode 统一使用台账 collectDeviceCode,不要使用设备编码 machineryCode。
  • collectTime、modifyTime、wmTime 时间范围为两个值:第一个为开始时间,第二个为结束时间。
  • temps、etTemps、dataJson 均为 JSON 字符串,需要前端二次解析;解析失败时按原文本展示,避免页面报错。
  • 设备列表接口一次返回全部已配置数采的设备(当前 8 台),不需要分页。
  • 台账保存时数采编号重复会返回“数采设备编号已被其他设备占用”,需提示用户更换编号。