仅学习自用,禁止商业行为
目录
1 The IgH EtherCAT Master..................................................................................................................... 6
1.1 功能摘要..................................................................................................................................... 6
1.2 许可证......................................................................................................................................... 8
2 结构........................................................................................................................................................9
2.1 主站模块.................................................................................................................................. 11
2.2 主站阶段.................................................................................................................................. 12
2.3 过程数据................................................................................................................................... 12
3. 应用层接口.........................................................................................................................................15
3.1 主站配置................................................................................................................................... 15
3.1.1 从站配置........................................................................................................................16
3.2 循环运行................................................................................................................................... 17
3.3 VoE 处理程序...........................................................................................................................17
3.4 并发主站访问........................................................................................................................... 18
3.5 分布式时钟............................................................................................................................... 19
4. 以太网设备.........................................................................................................................................21
4.1 网络驱动程序基础................................................................................................................... 21
4.2 本地 EtherCAT 设备驱动程序.................................................................................................23
4.3 通用 EtherCAT 设备驱动程序.................................................................................................24
4.4 提供以太网设备....................................................................................................................... 25
4.5 冗余........................................................................................................................................... 26
4.6 EtherCAT 设备接口..................................................................................................................26
4.7 修补本机网络驱动程序........................................................................................................... 26
5 状态机...................................................................................................................................................28
5.1 状态机原理............................................................................................................................... 29
5.2 主站的状态模型....................................................................................................................... 30
5.3 主站状态机............................................................................................................................... 34
5.4 从机扫描状态机....................................................................................................................... 34
5.5 从站配置状态机....................................................................................................................... 37
5.6 状态改变状态机....................................................................................................................... 37
5.7 SII 状态机................................................................................................................................. 40
5.8 PDO 状态机.............................................................................................................................. 40
6 邮箱协议实现.......................................................................................................................................44
6.1 Ethernet over EtherCAT (EoE)................................................................................................. 44
6.2 CANopen over EtherCAT (CoE).............................................................................................. 47
6.3 Vendor specific over EtherCAT (VoE)..................................................................................... 48
6.4 Servo Profile over EtherCAT (SoE)..........................................................................................48
7 用户空间接口......................................................................................................................................49
7.1 命令行工具............................................................................................................................... 49
7.1.1 字符设备........................................................................................................................49
7.1.2 设置别名地址................................................................................................................50
7.1.3 显示总线配置................................................................................................................51
7.1.4 用 C 语言输出 PDO 信息............................................................................................. 52
7.1.5 显示过程数据................................................................................................................52
7.1.6 设置主机的调试级别....................................................................................................53
7.1.7 配置域............................................................................................................................53
7.1.8 SDO 访问.......................................................................................................................54
7.1.9 EoE 统计........................................................................................................................55
7.1.10 通过 EtherCAT 进行文件访问................................................................................... 56
7.1.11 创建拓扑图..................................................................................................................57
7.1.12 主站和以太网设备......................................................................................................57
7.1.13 同步管理器,PDO 和 PDO 条目...............................................................................57
7.1.14 寄存器访问..................................................................................................................57
7.1.15 SDO 字典.....................................................................................................................58
7.1.16 SII 访问........................................................................................................................58
7.1.17 总线上的从站..............................................................................................................58
7.1.18 SoE IDN 访问.............................................................................................................. 58
7.1.19 请求应用层状态..........................................................................................................58
7.1.20 显示主站版本..............................................................................................................58
7.1.21 生成从站描述 XML....................................................................................................59
7.2 用户空间库............................................................................................................................... 59
7.2.1 使用库............................................................................................................................59
7.2.2 实施................................................................................................................................60
7.2.3 时间安排........................................................................................................................60
7.3 RTDM 接口...............................................................................................................................61
7.4 系统集成................................................................................................................................... 61
7.4.1 初始化脚本....................................................................................................................61
7.4.2 Sysconfig 文件...............................................................................................................62
7.4.3 启动主站服务................................................................................................................62
7.4.4 Integration with systemd................................................................................................ 63
7.5 调试接口................................................................................................................................... 64
8 时间方面...............................................................................................................................................66
8.0.1 应用程序接口分析................................................................................................................ 66
8.0.2 总线周期测量........................................................................................................................ 67
9 安装......................................................................................................................................................69
9.1 获取软件.................................................................................................................................. 69
9.2 编译软件................................................................................................................................... 69
9.3 建立接口文件........................................................................................................................... 72
9.4 安装软件................................................................................................................................... 72
9.5 自动创建设备节点................................................................................................................... 74
约定
使用以下排版惯例:
•斜体字用于新引入的术语和文件名。
•打字机面用于代码示例和命令行输出。
• 黑体字用于命令行中的用户输入。
数据值和地址通常指定为十六进制值。这些是以 C 编程语言样式标记,前缀为 x(例如:
0x88A4)。除非另有说明,否则地址值指定为字节地址。函数名总是用括号打印,但不带参
数。所以,如果函数 ecrt_request_master()有空括号,这并不意味着它没有参数。
如果必须输入 shell 命令,则会显示一个美元符号提示:
$
此外,如果必须将 shell 命令输入为超级用户,则提示为网格号:
#
1 The IgH EtherCAT Master
本章介绍有关 EtherCAT 主站的一些常规信息。
1.1 功能摘要
下面的列表简要介绍了主要功能。
•设计为 Linux 2.6 / 3.x 的内核模块。
•根据 IEC 61158-12 [2] [3]实施。
•带有支持 EtherCAT 的本地驱动程序,可用于几种常见的以太网芯片,以及用于 Linux 内核
支持的所有芯片的通用驱动程序。
–本机驱动程序操作硬件时不会中断。
–可以轻松实现用于其他以太网硬件的本机驱动程序
使用主机提供的通用设备接口(请参见第 4.6 节)模块。
–对于任何其他硬件,可以使用通用驱动程序。它使用较低的 Linux 网络堆栈的各个层。
•主站模块支持并行运行的多个 EtherCAT 主站。
•主代码通过其独立体系结构支持任何 Linux 实时扩展。
– RTAI [11](包括通过 RTDM 的 LXRT),ADEOS,RT-Preempt [12],Xenomai(包括 RTDM)
等。
–即使没有实时扩展,它也可以很好地运行。
•想要使用 EtherCAT 的应用程序的通用“应用程序接口”功能(请参阅第 3 章)。
•引入了域,以允许将过程数据传输与不同的从属组和任务时段进行分组。
–处理具有不同任务期限的多个域。
–自动计算过程数据映射,FMMU 和同步管理器每个域中的配置。
•通过多个有限状态机进行通信
–拓扑更改后自动进行总线扫描。
–运行期间的总线监视。
–在运行期间自动重新配置从站(例如在电源故障后)。
•分布式时钟支持(请参阅第 3.5 节)。
–通过应用程序接口配置从站的 DC 参数。
–分布式从属时钟与参考时钟的同步(偏移和漂移补偿)。
–参考时钟与主时钟的可选同步,或者相反。
•通过 EtherCAT(CoE)的 CANopen
– SDO 上传,下载和信息服务。
–通过 SDO 进行从站配置。
–从用户空间和应用程序进行 SDO 访问。
•EtherCAT 上的以太网(EoE)
–通过虚拟网络接口透明地使用 EoE 从站。
–本机支持交换式或路由式 EoE 网络体系结构。
•通过 EtherCAT(VoE)特定于供应商
–通过 API 与供应商特定的邮箱协议进行通信。
•通过 EtherCAT(FoE)进行文件访问
–通过命令行工具加载和存储文件。
–更新从站的固件很容易
•通过 EtherCAT(SoE)的伺服配置文件
–根据 IEC 61800-7 [16]实施。
–存储在启动期间写入从站的 IDN 配置。
–通过命令行工具访问 IDN。
–在运行时通过用户空间库访问 IDN。
•用户空间命令行工具“ ethercat”(请参阅第 7.1 节)–有关主站,从站,域和总线配置
的详细信息。
–设置主机的调试级别。
–读/写别名地址。
–列出从站配置。
–查看过程数据。
– SDO 下载/上传; 列出 SDO 字典。
–通过 FoE 加载和存储文件。
– SoE IDN 访问。
–访问从属寄存器。
–从站 SII(EEPROM)访问。
–控制应用层状态。
–从现有从站生成从站描述 XML 和 C 代码。
•通过符合 LSB 的无缝系统集成。
–通过 sysconfig 文件配置主设备和网络设备。
–用于主控制的初始化脚本。
– systemd 的服务文件。
•虚拟只读网络接口,用于监视和调试。
1.2 许可证
该主代码是根据 GNU 通用公共许可证(GPL [4])版本 2 的条款和条件发布的。邀请其他希
望在 Linux 系统上使用 EtherCAT 的开发人员使用该主代码,甚至参与开发。 。
为了允许将用户空间应用程序与主应用程序接口静态链接(请参阅第 3 章),用户空间库(请
参见第 7.2 节)已根据 GNU 通用公共许可协议(LGPL [5])的条款和条件获得许可,2.1 版本。