FoE — 文件传输
FoE (File over EtherCAT) 用于向从站上传或下载文件。
功能概览
| 能力 | 说明 |
|---|---|
| 上传 / 下载 | 文件级 PUT / GET, 进度条实时显示传输状态 |
| 取消按钮 | 传输过程中可中止当前 FoE 操作, 避免占用从站 |
| 默认超时 | 在 FoE Tab 中配置 FoE 操作默认超时, 所有传输共用 |
| 默认密码 | 缓存常用厂商密码 (如固件解锁密码), 避免每次输入 |
| BUSY 进度回调 | 从站返回 BUSY 时进度条延长并显示等待状态, 不直接判失败 |
| 错误码解释 | 传输失败时按 ETG.1000.6 Table 92 解析错误码并显示中文说明 |
典型场景: 固件更新、柔性配置切换、日志导出、参数备份/恢复。
配置工具中, 在 FoE Tab 选择文件并执行上传/下载, 进度条实时显示, 可点击取消按钮中止传输。
导出代码: 在导出窗口中勾选 FoE 文件操作 即可在代码中生成文件传输示例。
快速开始
- 把从站切换到 BOOT 或 PRE_OP 状态 (固件更新通常需要 BOOT)
- 进入 配置工具的 FoE Tab
- 在 默认密码 字段填入厂商提供的解锁密码 (按需)
- 在 默认超时 字段按文件大小调整 (普通文件 10 秒, 大固件 60~120 秒)
- 选择本地文件, 点击 上传 把文件写入从站; 或填入文件名, 点击 下载 从从站读取
- 观察进度条; 必要时点击 取消 中止传输
取消传输
固件文件较大时单次传输可能持续数十秒, FoE Tab 提供 取消 按钮:
- 传输开始后 取消 按钮自动启用
- 点击后立即向从站发送中止请求, 进度条停在当前百分比
- 取消完成后从站回到 BOOT/PRE_OP, 可立即重新尝试
默认超时配置
在 FoE Tab 顶部 设置 区域配置 默认超时时间:
- 普通文件 — 建议 10 秒
- 大固件文件 — 建议 60~120 秒
- 配置生效后所有 FoE 操作共用, 无需逐次设置
默认密码
部分厂商要求 FoE 写入时附带密码 (防止误刷固件)。FoE Tab 提供 默认密码 字段:
- 输入一次后保存到工程文件, 下次打开自动填充
- 上传/下载时默认携带, 可临时勾选不携带
- 仅本地保存, 不上传云端
BUSY 进度可视化
从站擦写 Flash 时会回复 FoE BUSY, 并附带预估剩余时间:
- 进度条切换为 等待 样式 (横向流动), 保留当前百分比
- 状态栏显示
BUSY: 从站正在擦写, 约剩 N 秒 - 不会被误判为超时失败
错误码解释表
传输失败时弹窗按 ETG.1000.6 Table 92 解析错误码:
- 0x8000 NotDefined — 未定义错误
- 0x8001 NotFound — 文件未找到
- 0x8002 AccessDenied — 访问被拒绝 (权限/密码错误)
- 0x8003 DiskFull — 从站存储空间不足
- 0x8004 Illegal — 非法操作 (不允许的文件名/路径)
- 0x8005 PacketNumberWrong — 包序号错误 (建议重试)
- 0x8006 AlreadyExists — 文件已存在 (不允许覆盖)
- 0x8007 NoUser — 当前用户不存在
- 0x8008 BootstrapOnly — 仅 BOOT 状态允许此操作
- 0x8009 NotInBootstrap — 当前不在 BOOT 状态
- 0x800A NoRights — 无文件操作权限 (密码错误)
- 0x800B ProgramError — 从站内部编程错误
备注
FoE 通常需要从站在 BOOT 或 PRE_OP 状态。固件更新需先切换到 BOOT 模式。