LinuxCNC 开发系列教程(二):EtherCAT 主站终端调试实战
👁 0
本文基于真实硬件环境,演示 IGH EtherCAT 主站安装完成后的终端调试方法,包括主站启停控制、从站扫描、SDO 字典读取、运行状态查询与 SDO 读写测试,为 EtherCAT 应用开发与总线排障提供实操参考。
项目背景
EtherCAT 主站安装完成后,如何验证总线通信、扫描从站、读写 SDO 对象,是 EtherCAT 应用开发的第一步。本文以实际硬件为例,演示主站常用终端调试命令与操作要点,帮助开发者快速完成总线验证与排障。
硬件环境
| 项目 | 配置 | | --- | --- | | CPU | Intel Atom E3845 | | 网卡驱动 | R8169 | | 操作系统 | Ubuntu 12.04 LTS | | 内核 | 3.4-9-rtai-686-pae | | 主站 | IGH EtherCAT Master 1.5.2 | | 从站 IO 模块 | ECT-MD32 |
实施过程
1. 查看主站命令帮助
ethercat
输出会列出全部子命令,常用包括:
- slaves:显示总线从站列表
- master:查询主站与网卡信息
- sdos:列出从站 SDO 字典
- upload / download:读写 SDO 数据
- states:请求应用层状态
- graph:输出总线拓扑
2. 主站启动与停止
/etc/init.d/ethercat start # 启动总线
/etc/init.d/ethercat stop # 停止总线
/etc/init.d/ethercat restart # 重启总线
/etc/init.d/ethercat status # 查看运行状态
3. 读取从站 SDO 配置列表
ethercat sdos
输出从站完整的 SDO 字典,如设备类型(0x1000)、身份信息(0x1018)、过程数据映射(0x1600 / 0x1a00)、读写 IO(0x6100 / 0x7100)等,可用于确认从站能力与配置地址。
4. 获取总线从站列表
ethercat slaves
输出示例:
0 0:0 PREOP + 0x0000098b:0x10011010
表示总线上有 1 个从站,当前处于 PREOP 状态。
5. 查询主站运行状态
ethercat master
可查看主站相位(Idle / Active)、从站数量、收发帧计数、通信帧率(250 Hz)、丢帧率(0.0%)等关键指标,用于判断总线运行质量。
6. 读写 SDO 数据(CanOpen 对象)
# 读取输出对象 0x7100 子索引 0x01
ethercat upload 0x7100 0x01
# 写入 0xff
ethercat download 0x7100 0x01 0xff
# 再次读取验证
ethercat upload 0x7100 0x01
示例中写入 0xff 后读取返回 0x00ff,验证 IO 输出通道工作正常,总线读写链路完整。
应用价值
- 无需编程即可完成总线通信验证与 IO 通道测试,大幅缩短调试周期
- 为后续 LinuxCNC 集成、实时运动控制开发与现场排障奠定基础
SEO关键词
EtherCAT调试, EtherCAT主站, SDO读写, 从站扫描, LinuxCNC, 实时以太网, 终端命令
