跳到主要内容

FoE — 文件传输

FoE (File over EtherCAT) 用于向从站上传或下载文件。

功能概览

能力说明
上传 / 下载文件级 PUT / GET, 进度条实时显示传输状态
取消按钮传输过程中可中止当前 FoE 操作, 避免占用从站
默认超时在 FoE Tab 中配置 FoE 操作默认超时, 所有传输共用
默认密码缓存常用厂商密码 (如固件解锁密码), 避免每次输入
BUSY 进度回调从站返回 BUSY 时进度条延长并显示等待状态, 不直接判失败
错误码解释传输失败时按 ETG.1000.6 Table 92 解析错误码并显示中文说明

典型场景: 固件更新、柔性配置切换、日志导出、参数备份/恢复。

配置工具中, 在 FoE Tab 选择文件并执行上传/下载, 进度条实时显示, 可点击取消按钮中止传输。

导出代码: 在导出窗口中勾选 FoE 文件操作 即可在代码中生成文件传输示例。

快速开始

  1. 把从站切换到 BOOT 或 PRE_OP 状态 (固件更新通常需要 BOOT)
  2. 进入 配置工具的 FoE Tab
  3. 在 默认密码 字段填入厂商提供的解锁密码 (按需)
  4. 在 默认超时 字段按文件大小调整 (普通文件 10 秒, 大固件 60~120 秒)
  5. 选择本地文件, 点击 上传 把文件写入从站; 或填入文件名, 点击 下载 从从站读取
  6. 观察进度条; 必要时点击 取消 中止传输

取消传输

固件文件较大时单次传输可能持续数十秒, 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 模式。

提示

完整 FoE API 请参考: SDK 文档 (其他语言)