当汇川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日志中甚至无任何报警。
因此,“看门狗时间过长”不是稳定性提升,而是故障掩蔽;正确做法是将其设为略大于最差工况下的实测最大响应延迟,实现“早发现、快隔离”。
二、实测当前从站真实响应延迟(关键前置步骤)
不能依赖理论值。必须在目标工况下测量各从站的实际最大响应时间。
-
启用EtherCAT诊断功能
打开 InoProShop → 工程 →项目树→设备配置→AM600 CPU→ 右键属性→ 切换至EtherCAT页签
勾选启用EtherCAT诊断数据采集
设置诊断数据缓存深度为1000(确保捕获足够样本) -
在线监控响应时间
下载 配置到PLC并 进入在线模式
点击 工具栏在线→EtherCAT诊断→响应时间统计
此界面实时显示每个从站的:Min Response [ns](最小响应时间)Max Response [ns](本次采集中的最大响应时间)Avg Response [ns](平均响应时间)Jitter [ns](抖动,即相邻两次响应时间之差的绝对值)
-
施加极限工况并记录峰值
在产线全速运行、多轴同时加减速、大功率负载启停等最严苛场景下,持续观察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
- IS620N伺服1:
✅ 提示:若某从站
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中修改看门狗参数(逐项操作)
-
进入EtherCAT配置界面
双击项目树→设备配置→AM600 CPU→EtherCAT -
定位看门狗设置区
向下滚动至高级设置区域,找到以下两项:Watchdog Factor (Global):全局看门狗倍率(影响所有从站)Watchdog Factor (Per Slave):单从站看门狗倍率(可为每个从站单独设置,优先级高于全局值)
-
推荐配置策略
- 若所有从站性能接近(如全为汇川伺服),统一设全局值:
输入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周期为例)
其余从站保持2或3
- 若所有从站性能接近(如全为汇川伺服),统一设全局值:
-
同步更新其他关联参数
确认Process Data Update Mode设为Sync to Master Cycle(确保过程数据严格按周期刷新)
取消勾选Ignore Watchdog Timeout(此项会彻底禁用看门狗,严禁启用) -
保存并下载
点击确定关闭属性窗口
右键AM600 CPU→下载设备配置→ 勾选下载EtherCAT配置→ 执行下载✅ 下载完成后,PLC会自动重启EtherCAT总线。观察状态指示灯:
RUN常亮、ERR熄灭、ECAT绿灯常亮表示成功。
五、验证调整效果(闭环确认)
-
触发一次可控丢失测试
临时断开 任一从站的IN端口网线(非主干拓扑中断),保持1秒后恢复。
观察:PLC诊断缓冲区是否在2~4 ms内记录ECAT_ERR_SLAVE_LOST(原设置下可能需200 ms才报)HMI或上位机是否收到实时报警事件
-
长期稳定性复测
连续运行产线8小时,在相同工况下再次打开EtherCAT诊断→响应时间统计:Max Response应稳定在≤ 1.85 ms,且无突增至> 3 ms的毛刺Jitter均值应 ≤300\,000 ns(0.3 ms),表明链路收敛
-
检查误报率
若调整后出现非预期的频繁丢失报警(如每小时数次),说明看门狗仍偏小或存在真实链路缺陷:- 立即导出
诊断日志(在线→诊断→导出日志) - 检查报警时刻的
Error Code:0x0012(ESC_ERROR)→ 从站控制器异常,升级其固件0x0021(DC_SYNC_ERROR)→ 分布式时钟不同步,检查DC Sync配置0x0001(WATCHDOG_TIMEOUT)→ 看门狗确被触发,但需结合响应时间判断是否合理
- 立即导出
六、典型问题速查表
| 现象 | 最可能原因 | 快速验证动作 | 解决动作 |
|---|---|---|---|
| 修改后仍不报丢失 | Watchdog Factor 设为 0 或 Watchdog 功能被禁用 |
查 EtherCAT 属性页,确认 Watchdog Factor ≥ 1 且未勾选 Ignore Watchdog Timeout |
输入 2 并重新下载 |
| 报警延迟远超计算值(如设2仍40ms才报) | 主站任务周期实际未生效(如被高优先级任务阻塞) | 在线 → 任务管理 → 查看 主任务 实际执行周期是否稳定在设定值 |
优化程序逻辑,减少单次扫描耗时;或提高任务优先级 |
| 多个从站同时丢失 | 主干链路问题(分支器故障、主站端口接触不良、终端电阻缺失) | 用万用表测 OUT 端口 A/B 间电阻,应为 120 Ω ± 5%;逐段短接分支器测试 |
更换分支器;清洁主站网口金手指;补装终端电阻 |
| 仅特定从站反复丢失 | 该从站供电不足或固件缺陷 | 测量其 PWR IN 端子电压(应 ≥ 23.5 V DC);查其型号对应最新固件号 |
加粗供电线径;升级从站固件至V2.12+ |
七、进阶建议:构建自适应看门狗(可选)
对高可靠性场景(如制药灌装、半导体搬运),可编程实现动态看门狗:
- 在PLC程序中创建
REAL型变量g_rMaxRspTime,用于存储实时最大响应时间 - 每100 ms调用
ECAT_GetSlaveResponseTime()函数(汇川标准库函数)读取指定从站当前响应时间 - 用
MAX指令持续更新g_rMaxRspTime - 当
g_rMaxRspTime > 1\,500\,000(1.5 ms)持续3次,自动调用ECAT_SetWatchdogFactor(slave_id, 3)将该从站倍率升至3 - 恢复平稳后(
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 报警弹出,即完成灵敏度校准。

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