14 KiB
14 KiB
PLC数据与看板内容匹配分析
分析对象:
- 客户PLC点位文档:
07-功能确认.md - 当前看板页面:
src/views/DaLuJiaTV1.vue - 当前看板模块:线体任务联动状态、加工设备状态、辅助设备状态、物料库位矩阵、报警与异常事件、设备运行履历、顶部视角按钮
1. 总体结论
客户目前提供的PLC点位,能够支撑看板中大部分“实时状态类”内容,包括线体是否在线、是否允许接任务、自动模式、急停、机器人任务号、起止位置、配方号、托盘类型、零件类型、机器人握手反馈、库位有无料、设备忙碌/报警/上下料就绪等。
但当前看板中有几类内容不能直接由现有PLC点位一次性满足,需要数据库、采集服务或客户补充字段:
- 产量:现有点位没有直接的设备产量计数器。加工设备状态里的“产量”需要通过任务完成、下料完成、COMPLETE上升沿等事件计算并落库。
- 报警事件文本:现有点位只有
ALARM、ERROR、EMG等布尔信号,没有报警代码、报警文本、报警发生时间。报警与异常事件模块需要采集服务根据点位变化生成事件。 - 24小时设备运行履历:PLC能提供当前状态,但24小时履历必须由采集服务按分钟或按状态变化记录到数据库,再由页面读取。
- 关机状态:目前多数加工设备只有
BUSY、ALARM、上下料信号,没有明确的“开机/在线/心跳”信号。若要区分“关机”和“待机”,需要客户补充设备在线/开机/心跳点位,或由通讯中断推断。 - 程序一致性:PLC提供实际程序号
A_PROG_NO,但页面若要判断“目标程序与实际程序不一致”,还需要目标程序号或配方号到程序号的映射关系。
2. 模块匹配矩阵
| 看板模块 | 当前显示内容 | 07文档可用数据 | 满足度 | 说明 |
|---|---|---|---|---|
| 线体任务联动状态 | 长地轨、短地轨、关节机器人状态;当前任务;起止工位;接任务条件;当前阶段 | PCS_RUN、ALLOW_TASK、AUTO_ACTIVE、EMG、TASK_NO、START_POS、END_POS、RECIPE_CODE、PALLET_TYPE、PART_KIND、FLAG、READY、BUSY、ERROR、COMPLETE |
高 | 能支撑当前模块。需要补充工位编号字典、托盘类型字典、零件类型字典。长地轨任务中未看到 PART_KIND,若需要显示长轴/短轴,需要确认来源。 |
| 加工设备状态 | 设备名称、产量、运行条件、状态 | F500、L2000LSY、L2100SY、新日、MAZAK、YKD5132H 的 A_PROG_NO、上下料完成/就绪、BUSY、ALARM |
中 | 状态和运行条件可支撑;产量没有直接点位,需要计算;程序一致性需要目标程序来源。 |
| 辅助设备状态 | 长地轨打标机、短地轨打标机、关节打标机、清洗机、测量仪状态 | 打标机 NORMAL、START、BUSY、IDLE;清洗机 BUSY、ERROR、上下料就绪;测量仪 BUSY、ERROR、上下料就绪 |
中高 | 可支撑状态显示。长地轨打标机文档中 NORMAL、BUSY 地址为空,需要客户确认。 |
| 物料库位矩阵 | 长地轨库区9个库位、短地轨库区9个库位、关节库区6个库位有料/无料 | S1_YES 至 S9_YES,关节 S1_YES 至 S6_YES |
高 | 可直接支撑。需要确认长地轨和短地轨是否真的共用 DB50.DBX101.0 至 DB50.DBX109.0,还是不同PLC/不同上下文。还需要库位编号到现场位置的映射。 |
| 报警与异常事件 | 时间、设备、级别、事件内容 | 设备 ALARM,辅助设备 ERROR,机器人 ERROR,线体 EMG |
中低 | 可判断是否报警,但缺报警代码、报警文本、报警等级、开始/结束时间。建议采集服务在信号上升沿生成报警事件。 |
| 设备运行履历 | 24小时设备状态甘特图:关机、运行、待机、报警 | BUSY、ALARM、ERROR、NORMAL、IDLE、PCS_RUN 等当前状态信号 |
中 | 当前状态可判断;24小时履历必须落库。关机状态需要明确开机/在线/心跳点位,否则只能按通讯状态或 NORMAL=0 推断。 |
| 顶部视角按钮 | 长地轨视角、短地轨视角、关节视角 | 无PLC点位要求 | 不依赖PLC | 属于前端/DMT相机视角控制,不需要PLC数据。 |
3. 当前看板字段逐项判断
3.1 线体任务联动状态
可满足:
- PCS在线:
PCS_RUN - 自动模式:
AUTO_ACTIVE - 允许接任务:
ALLOW_TASK - 急停/安全异常:
EMG - 当前任务编号:
TASK_NO - 任务流向:
START_POS、END_POS - 配方号:
RECIPE_CODE - 托盘类型:
PALLET_TYPE - 零件类型:
PART_KIND,短地轨和关节已有,长地轨需要确认 - 当前阶段:可由
FLAG、READY、BUSY、ERROR、COMPLETE推导
建议规则:
ERROR=1或EMG=1:异常中断BUSY=1:执行中READY=1且BUSY=0:准备就绪ALLOW_TASK=1且AUTO_ACTIVE=1且PCS_RUN=1且EMG=0:可接任务COMPLETE=1:任务完成,可显示完成保持或等待下一任务
需要补充确认:
START_POS、END_POS对应的工位名称字典PALLET_TYPE对应的托盘名称字典PART_KIND的字典是否全线统一- 长地轨是否需要
PART_KIND,如果需要,从哪里取
3.2 加工设备状态
可满足:
- F500:实际程序号、上料完成、下料完成、运行中、报警
- L2000LSY:实际程序号、上料完成、下料完成、运行中、报警
- L2100SY:实际程序号、上料完成、下料完成、运行中、报警
- 新日:实际程序号、上料就绪、下料就绪、运行中、报警
- MAZAK:上料就绪、下料就绪、运行中、报警;实际程序号标注为不需要
- YKD5132H:实际程序号、上料就绪、下料就绪、运行中、报警
不能直接满足:
- 产量:未看到直接产量计数器
- 目标程序号:未看到目标程序号点位
- 程序一致性:只有实际程序号,不足以独立判断
建议处理:
- 页面保留“产量”可以,但数据来源应由采集服务计算:
- 方案A:设备
UNLOAD_COMPLETE或UNLOAD_READY上升沿计数 - 方案B:机器人任务
COMPLETE上升沿按目标设备归属计数 - 方案C:客户补充每台设备的产量计数器,页面直接读取
- 方案A:设备
- 程序一致性建议由
RECIPE_CODE或生产任务中的目标程序号,与设备A_PROG_NO比对。 - 若客户暂时不能提供产量,建议把“产量”暂时改为“程序号”,或在接口层返回计算产量。
3.3 辅助设备状态
可满足:
- 短地轨打标机:
NORMAL、START、BUSY、IDLE - 关节打标机:
NORMAL、START、BUSY、IDLE - 清洗机:
BUSY、ERROR、UPLOAD_READY、UNLOAD_READY - 测量仪:
BUSY、ERROR、UPLOAD_READY、UNLOAD_READY
部分缺口:
- 长地轨打标机
NORMAL、BUSY地址为空,需要客户补齐或确认是否不采集。 - 打标机
START可能是短脉冲,不能直接作为状态长期显示,需要采集服务捕获边沿或只用于事件记录。
建议状态规则:
- 打标机:
BUSY=1显示运行中;IDLE=1显示待机;NORMAL=0显示关机或离线;如后续有错误点位,优先显示报警。 - 清洗机/测量仪:
ERROR=1显示报警;BUSY=1显示运行中;UPLOAD_READY或UNLOAD_READY显示等待上下料;否则显示待机。
3.4 物料库位矩阵
可满足:
- 长地轨库区:9个库位
S1_YES至S9_YES - 短地轨库区:9个库位
S1_YES至S9_YES - 关节库区:6个库位
S1_YES至S6_YES
需要确认:
- 长地轨和短地轨库区在文档中使用相同地址
DB50.DBX101.0至DB50.DBX109.0。需要确认是否为同一个PLC地址空间下的重复,还是Excel转换时上下文丢失。 - 每个
S1至S9对应现场哪个实际库位、工位、料框位置。
建议:
- 页面可以继续显示库位矩阵。
- 可以增加库位统计:占用数、空位数、占用率。
- 若客户能提供物料类型或托盘号,可进一步显示“有料但类型未知/长轴/短轴”等状态。
3.5 报警与异常事件
现有点位可作为报警源:
- 线体:
EMG - 机器人:
ERROR - 加工设备:
ALARM - 清洗机/测量仪:
ERROR - 打标机:目前未看到明确错误点位
当前缺口:
- 没有报警代码
- 没有报警文本
- 没有报警等级
- 没有报警开始时间、恢复时间
建议实现:
- 采集服务保存报警事件表,而不是页面直接读当前布尔值。
- 每个报警布尔点从
0 -> 1时生成一条事件,记录:时间、设备、点位、事件名称、等级、是否恢复。 - 从
1 -> 0时记录恢复时间。
建议报警等级:
- 严重:急停
EMG、机器人ERROR、设备ALARM、清洗机/测量仪ERROR - 警告:程序不一致、上下料等待超时、允许接任务条件不满足
- 提示:任务完成、等待上游/下游放行
3.6 设备运行履历
可用当前PLC信号生成实时状态:
- 报警:
ALARM=1或ERROR=1 - 运行:
BUSY=1 - 待机:
IDLE=1、READY=1、或无报警且无运行 - 关机:需要
NORMAL=0、PCS_RUN=0、通讯断开、或客户补充开机/在线信号
当前缺口:
- 现有PLC只提供当前状态,不提供历史。
- 页面要显示24小时履历,必须由后端或采集服务按分钟存储状态。
建议数据库表:
| 字段 | 说明 |
|---|---|
| device_code | 设备编码 |
| device_name | 设备名称 |
| state | off/run/standby/alarm |
| start_time | 状态开始时间 |
| end_time | 状态结束时间 |
| source_tags | 参与判断的PLC点位 |
建议状态优先级:
报警 > 运行 > 待机 > 关机/离线
4. 建议新增或优化的看板内容
基于客户目前PLC点位,建议优先考虑以下内容:
-
线体接任务条件指示
- 展示
PCS_RUN、ALLOW_TASK、AUTO_ACTIVE、EMG四个条件。 - 适合放在线体任务联动状态中,能快速判断为什么不能发任务。
- 展示
-
机器人握手信号诊断
- 展示
FLAG、READY、BUSY、ERROR、COMPLETE。 - 当前页面已经精简过,如果现场调试需要,可以做成点击详情或悬浮面板,不一定常驻主屏。
- 展示
-
程序号核对
- 设备侧
A_PROG_NO已有。 - 如果能拿到目标程序号,可新增“程序一致/不一致”提示。
- 如果拿不到目标程序号,页面不建议直接写“程序不一致”,避免误导。
- 设备侧
-
库位占用统计
- 当前库位矩阵已具备点位基础。
- 可增加每个库区的占用数、空位数、占用率。
-
报警事件列表
- 当前布尔点足够做基础报警事件。
- 需要采集服务生成事件文本,例如:“MAZAK 报警信号触发”“关节机器人 ERROR=1”“长地轨急停激活”。
-
设备运行履历
- 当前页面已有模块。
- 必须配套状态落库,否则只能显示当前状态,不能显示24小时历史。
-
生产/产量统计
- 现有PLC文档不直接提供产量。
- 建议客户补充产量计数器,或确认用哪个完成信号作为计数依据。
- 没有确认前,看板上“产量”应标注为接口计算值,而不是PLC直采值。
5. 需要客户补充确认的问题清单
- 是否有每台加工设备的产量计数器?如果没有,是否允许用
UNLOAD_COMPLETE、UNLOAD_READY或机器人COMPLETE上升沿计算产量? - 是否有每台设备的开机/在线/心跳信号?用于区分“关机”和“待机”。
- 是否有报警代码、报警文本、报警等级?如果没有,是否接受由点位名称生成简化报警事件?
- 是否有目标程序号或
RECIPE_CODE -> A_PROG_NO的映射表?用于判断程序一致性。 - 长地轨打标机的
NORMAL、BUSY地址为空,是否需要补充? - 长地轨任务是否有
PART_KIND?如果没有,长轴/短轴从哪里判断? - 长地轨和短地轨物料库位是否共用
DB50.DBX101.0至DB50.DBX109.0?如果不是,需要提供真实地址。 START_POS、END_POS的工位编号字典是什么?PALLET_TYPE的托盘类型字典是什么?- PLC点位虽然标注
RW,看板是否只读?建议看板侧默认只读,不向PLC写入。 - 数据采集周期要求是多少?状态看板建议1秒级刷新,运行履历可按状态变化或1分钟粒度落库。
6. 对当前看板的落地建议
建议保留
- 线体任务联动状态
- 加工设备状态
- 辅助设备状态
- 物料库位矩阵
- 报警与异常事件
- 设备运行履历
- 顶部视角按钮
建议调整数据口径
- 加工设备状态中的“产量”应明确为“接口计算产量”,当前PLC文档不能直接支撑。
- 报警与异常事件应由采集服务生成事件,不应只读当前报警位。
- 设备运行履历应由数据库提供24小时历史,不应只依赖页面前端模拟。
建议新增后端/数据库能力
- PLC当前快照表:保存每个点位当前值。
- 状态变化事件表:保存报警、任务阶段、设备运行状态变化。
- 设备分钟状态表或状态区间表:支撑24小时运行履历。
- 产量统计表:按设备、班次、日期统计产量。
- 字典表:工位、托盘类型、零件类型、设备编码、点位含义、报警等级。
7. 数据满足度结论
当前PLC点位对看板的支撑度可以概括为:
- 实时状态显示:基本满足
- 任务联动显示:基本满足
- 库位矩阵显示:满足
- 设备运行/报警当前状态:基本满足
- 产量显示:不直接满足,需要计算或补点
- 报警事件列表:部分满足,需要事件化
- 24小时运行履历:部分满足,需要历史落库
- 程序一致性:部分满足,需要目标程序或映射表
因此,当前数据可以支撑看板进入联调,但在正式交付前,需要重点确认“产量、报警事件、运行履历、关机状态、程序一致性”这五类数据口径。