汇川AM600 PLC EtherCAT从站丢失的看门狗时间设置过长的灵敏度调整

发布于 2026-03-16 19:29:47 · 浏览 4 次 · 评论 0 条

当汇川AM600 PLC作为EtherCAT主站运行时,若频繁出现“从站丢失”报警(如 ECAT_ERR_SLAVE_LOST),但物理接线、拓扑结构、终端电阻和供电均正常,此时需重点排查看门狗时间(Watchdog Time)设置过长导致的故障灵敏度不足问题。该问题本质不是硬件失效,而是主站对从站响应延迟的容忍度过高,掩盖了实际存在的通信抖动、瞬时干扰或节点响应不稳等隐患,使系统在真正崩溃前无法及时告警或安全停机。

以下为完整排查与调整指南,所有操作均基于汇川InoProShop V3.5.0+环境,适用于AM600系列(含AM600-1612T/3224T等型号)及标准EtherCAT从站(如汇川IS620N伺服、H5U扩展模块、第三方符合ETG.1000协议的IO模块)。


一、理解看门狗机制:为什么“设长了”反而更危险?

EtherCAT协议规定,主站必须在每个周期内向每个从站发送一次过程数据,并等待其回传确认。看门狗时间即主站允许单个从站未响应的最大持续周期数。超过此阈值,主站判定该从站“失联”,触发 Slave Lost 中断并置位错误标志。

AM600默认看门狗时间由两个参数协同决定:

  • Watchdog Factor(看门狗倍率):整数,取值范围 1 ~ 65535
  • Base Cycle Time(基础周期时间):由主站任务周期决定,单位为 ns(纳秒)

实际看门狗超时时间计算公式为:
$$T_{wd} = \text{Watchdog Factor} \times T_{cycle}$$

例如:

  • 若任务周期设为 2 ms(即 2\,000\,000 ns),看门狗倍率为 100,则 $T_{wd} = 100 \times 2\,000\,000 = 200\,000\,000\ \text{ns} = 200\ \text{ms}$
  • 此时,从站连续200 ms未响应才会报错。

问题在于:工业现场常见微秒级瞬态干扰(如变频器启停、继电器吸合、静电放电)会导致单次通信帧CRC校验失败或响应延迟达 5~50 ms。若看门狗设为200 ms,此类干扰会被“吞掉”,主站继续运行,但实际控制指令可能已错漏。累积多次后,伺服位置偏差增大、IO状态滞后,最终引发工艺异常——而此时PLC日志中甚至无任何报警。

因此,“看门狗时间过长”不是稳定性提升,而是故障掩蔽;正确做法是将其设为略大于最差工况下的实测最大响应延迟,实现“早发现、快隔离”。


二、实测当前从站真实响应延迟(关键前置步骤)

不能依赖理论值。必须在目标工况下测量各从站的实际最大响应时间。

  1. 启用EtherCAT诊断功能
    打开 InoProShop → 工程 → 项目树设备配置AM600 CPU → 右键 属性 → 切换至 EtherCAT 页签
    勾选 启用EtherCAT诊断数据采集
    设置 诊断数据缓存深度1000(确保捕获足够样本)

  2. 在线监控响应时间
    下载 配置到PLC并 进入在线模式
    点击 工具栏 在线EtherCAT诊断响应时间统计
    此界面实时显示每个从站的:

    • Min Response [ns](最小响应时间)
    • Max Response [ns](本次采集中的最大响应时间)
    • Avg Response [ns](平均响应时间)
    • Jitter [ns](抖动,即相邻两次响应时间之差的绝对值)
  3. 施加极限工况并记录峰值
    在产线全速运行、多轴同时加减速、大功率负载启停等最严苛场景下,持续观察 Max Response 值5分钟。
    记录所有从站中出现过的最高 Max Response 值。例如:

    • IS620N伺服1:Max = 1\,280\,000 ns(1.28 ms)
    • H5U-16DI模块:Max = 950\,000 ns(0.95 ms)
    • 第三方IO从站:Max = 1\,850\,000 ns(1.85 ms)
      → 实测最差响应时间为 1\,850\,000 ns

✅ 提示:若某从站 Max Response 持续超过 2\,500\,000 ns(2.5 ms),需先检查其固件版本、接线质量或是否过载,勿直接调大看门狗掩盖问题


三、计算并设置合理看门狗倍率

目标:使 $T_{wd}$ 略大于实测最差响应时间,留出 1.5~2倍 安全裕度,但不超过 3倍(避免迟钝)。

  • 实测最差响应时间:$T_{max} = 1\,850\,000\ \text{ns}$
  • 任务周期:$T_{cycle} = 2\,000\,000\ \text{ns}$(2 ms)
  • 推荐安全裕度系数:1.8
  • 所需看门狗时间:$T_{wd\_req} = 1.8 \times 1\,850\,000 \approx 3\,330\,000\ \text{ns}$

计算倍率:
$$\text{Watchdog Factor} = \left\lceil \frac{T_{wd\_req}}{T_{cycle}} \right\rceil = \left\lceil \frac{3\,330\,000}{2\,000\,000} \right\rceil = \left\lceil 1.665 \right\rceil = 2$$

即:将看门狗倍率设为 2,此时 $T_{wd} = 2 \times 2\,000\,000 = 4\,000\,000\ \text{ns} = 4\ \text{ms}$,可覆盖1.85 ms实测峰值,并留有2.15 ms余量应对偶发抖动。

⚠️ 注意:若任务周期为 500 µs(500,000 ns),同理计算得倍率应为 7(因 $3\,330\,000 / 500\,000 = 6.66 \to \lceil 6.66 \rceil = 7$)。倍率必须随任务周期动态重算,不可套用固定值。


四、在InoProShop中修改看门狗参数(逐项操作)

  1. 进入EtherCAT配置界面
    双击 项目树设备配置AM600 CPUEtherCAT

  2. 定位看门狗设置区
    向下滚动至 高级设置 区域,找到以下两项:

    • Watchdog Factor (Global):全局看门狗倍率(影响所有从站)
    • Watchdog Factor (Per Slave):单从站看门狗倍率(可为每个从站单独设置,优先级高于全局值)
  3. 推荐配置策略

    • 若所有从站性能接近(如全为汇川伺服),统一设全局值
      输入 Watchdog Factor (Global) 为计算所得值(例:2
    • 若存在响应慢的老旧从站(如某第三方模块实测达 3.2 ms),则:
      展开 从站列表 → 找到该从站 → 双击Watchdog Factor 列 → 输入 7(按 $3.2\,\text{ms} \times 1.8 / 0.5\,\text{ms} = 11.52 \to 12$ 计算,此处以0.5 ms周期为例)
      其余从站保持 23
  4. 同步更新其他关联参数
    确认 Process Data Update Mode 设为 Sync to Master Cycle(确保过程数据严格按周期刷新)
    取消勾选 Ignore Watchdog Timeout(此项会彻底禁用看门狗,严禁启用)

  5. 保存并下载
    点击 确定 关闭属性窗口
    右键 AM600 CPU下载设备配置 → 勾选 下载EtherCAT配置执行下载

    ✅ 下载完成后,PLC会自动重启EtherCAT总线。观察状态指示灯:RUN 常亮、ERR 熄灭、ECAT 绿灯常亮表示成功。


五、验证调整效果(闭环确认)

  1. 触发一次可控丢失测试
    临时断开 任一从站的 IN 端口网线(非主干拓扑中断),保持1秒后恢复。
    观察:

    • PLC诊断缓冲区 是否在 2~4 ms 内记录 ECAT_ERR_SLAVE_LOST(原设置下可能需200 ms才报)
    • HMI上位机 是否收到实时报警事件
  2. 长期稳定性复测
    连续运行产线8小时,在相同工况下再次打开 EtherCAT诊断响应时间统计

    • Max Response 应稳定在 ≤ 1.85 ms,且无突增至 > 3 ms 的毛刺
    • Jitter 均值应 ≤ 300\,000 ns(0.3 ms),表明链路收敛
  3. 检查误报率
    若调整后出现非预期的频繁丢失报警(如每小时数次),说明看门狗仍偏小或存在真实链路缺陷:

    • 立即导出 诊断日志在线诊断导出日志
    • 检查报警时刻的 Error Code
      • 0x0012ESC_ERROR)→ 从站控制器异常,升级其固件
      • 0x0021DC_SYNC_ERROR)→ 分布式时钟不同步,检查 DC Sync 配置
      • 0x0001WATCHDOG_TIMEOUT)→ 看门狗确被触发,但需结合响应时间判断是否合理

六、典型问题速查表

现象 最可能原因 快速验证动作 解决动作
修改后仍不报丢失 Watchdog Factor 设为 0Watchdog 功能被禁用 EtherCAT 属性页,确认 Watchdog Factor ≥ 1 且未勾选 Ignore Watchdog Timeout 输入 2 并重新下载
报警延迟远超计算值(如设2仍40ms才报) 主站任务周期实际未生效(如被高优先级任务阻塞) 在线任务管理 → 查看 主任务 实际执行周期是否稳定在设定值 优化程序逻辑,减少单次扫描耗时;或提高任务优先级
多个从站同时丢失 主干链路问题(分支器故障、主站端口接触不良、终端电阻缺失) 用万用表测 OUT 端口 A/B 间电阻,应为 120 Ω ± 5%;逐段短接分支器测试 更换分支器;清洁主站网口金手指;补装终端电阻
仅特定从站反复丢失 该从站供电不足或固件缺陷 测量其 PWR IN 端子电压(应 ≥ 23.5 V DC);查其型号对应最新固件号 加粗供电线径;升级从站固件至V2.12+

七、进阶建议:构建自适应看门狗(可选)

对高可靠性场景(如制药灌装、半导体搬运),可编程实现动态看门狗:

  1. 在PLC程序中创建 REAL 型变量 g_rMaxRspTime,用于存储实时最大响应时间
  2. 每100 ms调用 ECAT_GetSlaveResponseTime() 函数(汇川标准库函数)读取指定从站当前响应时间
  3. MAX 指令持续更新 g_rMaxRspTime
  4. g_rMaxRspTime > 1\,500\,000(1.5 ms)持续3次,自动调用 ECAT_SetWatchdogFactor(slave_id, 3) 将该从站倍率升至3
  5. 恢复平稳后(g_rMaxRspTime < 1\,000\,000 持续10秒),调用 ECAT_SetWatchdogFactor(slave_id, 2) 恢复

此方案需启用 EtherCAT高级API 权限,并在 设备配置CPU属性安全 页签下授权 动态配置 功能。


八、关键参数参考值(基于AM600实测)

以下数值在标准布线(屏蔽双绞线、≤ 100 m、无强干扰源)、室温25℃、电源纹波<150 mV条件下获得:

任务周期 推荐全局看门狗倍率 对应看门狗时间 适用场景
500 µs 3 1.5 ms 高速飞剪、视觉定位
1 ms 3 3 ms 通用伺服控制(≤ 16轴)
2 ms 2 4 ms IO密集型产线(DI/DO > 256点)
5 ms 2 10 ms 低速输送线、楼宇自控

❗ 警告:Watchdog Factor > 5 且任务周期 ≥ 2 ms 时,系统对通信故障的响应将显著迟钝,不符合IEC 61508 SIL2功能安全要求,慎用。


重启EtherCAT总线后,观察3个周期内所有从站状态灯由红转绿,且无 SLAVE LOST 报警弹出,即完成灵敏度校准。

评论 (0)

暂无评论,快来抢沙发吧!

扫一扫,手机查看

扫描上方二维码,在手机上查看本文