在线诊断能看什么
在线诊断是在不停止运行的前提下观察控制器内部真实状态:程序扫描到哪里、模块是否报错、通信连接是否建立、变量当前值是否合理。它与离线翻程序不同,在线能看到“程序以为的”与“现场实际的”差别,因此是判断故障属于程序、硬件还是通信的关键手段。方法上遵循只读优先:先看诊断缓冲区与模块状态,再考虑强制或修改。
基本信息
| 观察对象 | 模块状态与诊断缓冲区、扫描与循环时间、变量值、通信连接状态 |
|---|---|
| 访问方式 | 编程软件在线连接、控制器内置诊断页面 |
| 操作原则 | 只读观察优先;改动与强制需评估影响并留记录 |
| 关键前提 | 明确当前连接的是哪台设备,避免误连同网段的其他控制器 |
典型使用场景
- 设备停机但复位后又正常,需要翻诊断缓冲区里的历史事件
- 某模块指示灯异常,需要确认是模块故障还是程序未启用
- 通信中断后核对连接资源与站状态,判断是链路还是组态问题
- 程序逻辑与现场动作不一致,在线观察变量实际值
- 变更后做回归验证,逐个确认关键变量与连接状态
观察对象与判读
| 观察对象 | 正常表现 | 异常提示 |
|---|---|---|
| 诊断缓冲区 | 无新增故障条目 | 持续新增条目指向硬件或通信异常 |
| 扫描与循环时间 | 稳定在基线范围内 | 明显变长说明程序负载或通信等待增加 |
| 变量当前值 | 与现场工况一致 | 长期不变或超范围说明信号链或换算异常 |
| 通信连接 | 连接数在限值内且状态稳定 | 接近上限会导致新建连接失败 |
在线诊断一般步骤
在线诊断一般步骤
# 1) 确认目标:核对设备名称与地址,避免连到同网段的其他控制器
# 2) 只读观察:先看诊断缓冲区与模块状态,不急于改动
# 3) 对照基线:与正常工况下的扫描时间、变量值逐项比较
# 4) 记录证据:截图或导出诊断缓冲区,保留设备侧时间戳
# 5) 再谈改动:确需强制或仿真时先在离线环境验证并准备回退方案
# 注意:各厂商在线连接与诊断入口的名称不同,以对应版本官方手册为准诊断缓冲区的价值在于它记录了故障发生的那一刻,而现象往往早已消失。发现异常后应第一时间导出缓冲区,否则新事件会覆盖旧记录,复盘时拿不到证据。
在线连接会占用控制器的连接资源。多台编程终端同时在线可能把连接数占满,导致真正需要的诊断或上层采集连不上,排查结束应及时断开连接。
在线强制变量会绕过程序逻辑直接影响输出,可能造成设备误动作甚至人身伤害。应经审批、在有人监护并确认安全的前提下进行,结束后立即取消强制并记录操作。