异常定位与迁移
按观察证据定位
| 现象 | 优先检查位置 | 处理与验证 |
|---|---|---|
| connect 返回 false | 实际 Server/Protocol、S7 参数、设备程序与引擎网络 | 对照授权配置检查;修复后只在测试目标验证连接,再逐点读回 |
| getTagValue 返回 null | registerTags、DB 地址、访问权限、模拟器能力 | null 是读取失败,不替换成 false;检查扫描异常分支和三段停止状态 |
| 写请求后正转仍为 false | PLC 侧请求位与原配逻辑输出 | 先确认写入实际生效,再确认程序时序;不自动增加周期扫描 |
| 命令正确但输送段不动 | Stopped 联合表达式、当前命令变化、连接与物料位置 | 同时查看相邻段许可,不把本段命令单独作为判断依据 |
| 无到位派单 | 输送末端实际事件绑定、当前执行对象、@ 载荷 | 从编辑器读取具体槽位,不仅查看脚本存在;核对是否进入输送线250分支 |
| TaskCount 有值但未入库 | TaskList、processTask、目标储位、堆垛机回调 | 回读货物位置和已完成任务,不能仅依赖计数 |
| “完成”日志出现但 PLC 位不变 | 写位前连接和实际读回 | 日志不代替设备值;记录失败反馈及是否需补偿处理 |
| 停机提示成功但请求仍为 true | PLC停机 的 connect 分支、设备网络 | 明确复位失败,按测试环境恢复并读回 |
以上为基于原脚本的排查建议,尚未标为受控错误实测。模型包围盒重叠应按相关对象单独检查,不能直接归因于 PLC 网络。
迁移到自己的模型
| 替换内容 | 同时维护 |
|---|---|
| 适配器名称与地址 | 全部脚本引用、Server/Protocol、设备访问权限和网络 |
| DB 地址 | PLC 原程序与 registerTags,两侧方向和布尔类型 |
| 输送线名称与数量 | 到位脚本分支、Stopped 联合运行关系、实际连接与事件绑定 |
| 堆垛机与货架 | TaskList 列含义、来源目标、储位计算及三个完成回调 |
| Source 数量与时间 | 任务容量、目标储位范围和验收预期 |
| 模拟器换成实机 | 写入到输出更新的时序、短连接能力、故障恢复及测试窗口 |
先在副本中复验一件,再验证完整数量与停止复位。若业务要求周期采样,应作为新的建模设计单独验证,不把它冒充为本案例已有机制。