论文范文:面向多轴运动控制的 EtherCAT 主站研究与开发

来源: 未知 作者:paper 发布时间: 2022-06-30 11:26
论文地区:中国 论文语言:中文 论文类型:工程硕士
随着“中国制造 2025”战略的提出,工业制造业网络化、开放化、智能化 的趋势越来越明显。基于实时工业以太网现场总线技术的运动控制器正在逐步 替代传统的总线运动控制器。E
随着“中国制造 2025”战略的提出,工业制造业网络化、开放化、智能化
的趋势越来越明显。基于实时工业以太网现场总线技术的运动控制器正在逐步
替代传统的总线运动控制器。EtherCAT 总线凭借其传输速率快、实时性和同步
性强,拓扑结构灵活多样等诸多优点,成为运动控制领域控制器的研究热点。
本文面向多轴运动控制,对基于 EtherCAT 总线的主站控制器展开研究和开发,
主要内容如下:
1.梳理 EtherCAT 技术的发展史及其在运动控制领域的发展状况,对典型的
EtherCAT 主站实现方案进行对比分析,并对 EtherCAT 技术进行深入分析。
2.确定 EtherCAT 主站的各项设计指标,对其系统架构进行设计。采用 PC +
PCI 卡的方式,基于 ZYNQ 平台、IgH EtherCAT 开源协议栈和 Xenomai/Linux
实时系统实现 EtherCAT 主站系统的各项功能。然后依据主站功能将主站系统划
分为三个子系统,PC 端完成配置功能及运动控制逻辑运算,ARM0 端实现数据
解析及 EtherCAT 协议栈功能,FPGA 实现数据帧的周期收发。
3.在深入解析 IgH 开源协议栈的基础上对主站应用程序进行开发,利用 IgH
协议栈提供的 API 完成了主站初始化配置和执行周期实时任务的程序开发。并
对主站初始化阶段的配置工作进行优化,通过设计配置软件的方式实现主站柔
性化配置。
4.将主站与成熟的运动控制软件进行适配,对其通信的数据格式和通信逻
辑进行了设计。然后利用运动控制软件对主站的极限性能和稳定性进行了系列
实验测试,结果表明在可支持轴数和抖动方面,本文开发的主站要优于商业主
I
四川大学工程硕士专业学位论文
站。
5.将主站应用到贴标行业,用本文开发的 EtherCAT 主站代替传统的脉冲轴
卡实现对贴标机多个轴的运动控制。表明本文开发的 EtherCAT 主站控制器能良
好地实现多轴高速高精度的运动控制。
关键词:实时工业以太网;EtherCAT;运动控制;主站控制器;Linux
II
四川大学工程硕士专业学位论文
Research and Development of EtherCAT Master for
 Multi-axis Motion Control
Major: Mechanical Engineering
Graduate:Liu Xingyu Supervisor: Zhang Chunlei
Enterprise teacher: Zhou Wei
With the proposal of "Made in China 2025" strategy, the trend of industrial
manufacturing industry becoming more and more networked, open and intelligent is
becoming more and more obvious. The motion controller based on real-time
industrial Ethernet fieldbus technology is gradually replacing the traditional bus
motion controller. EtherCAT bus has become a research hotspot of controllers in the
field of motion control due to its advantages such as fast transmission rate, strong
real-time performance and synchronization, flexible topology and so on. In this paper,
the master controller based on EtherCAT bus is researched and developed for
multi-axis motion control. The main contents are as follows:
1. The development history of EtherCAT technology and its development status
in the field of motion control are summarized. The typical implementation schemes
of EtherCAT master station are compared and analyzed, and the EtherCAT
technology is deeply analyzed.
2. Determine the design indexes of EtherCAT master, and design its system
architecture. The method of PC + PCI card is adopted to realize various functions of
EtherCAT master system based on Zynq platform, IGH EtherCAT open source
protocol stack and Xenomai/Linux real-time system. Then according to the function
of the master station, the master station system is divided into three subsystems. The
PC terminal completes the configuration function and motion control logic operation,
I
四川大学工程硕士专业学位论文
the ARM0 terminal realizes the data parsing and EtherCAT protocol stack function,
and the FPGA realizes the periodic sending and receiving of data frames.
3. Based on the in-depth analysis of the IGH open source protocol stack, the
application program of the master station is developed, and the API provided by the
IGH protocol stack is used to complete the program development of the initial
configuration of the master station and the real-time task of execution cycle. The
configuration of the master station in the initial stage is optimized, and the flexible
configuration of the master station is realized by designing configuration software.
4. By adapting the master station to the mature motion control software, the data
format and communication logic of the master station are designed. Then a series of
experimental tests on the ultimate performance and stability of the master station are
carried out by using motion control software. The results show that the master station
developed in this paper is better than the commercial master station in terms of the
number of axes that can be supported and jitter.
5. The master station is applied to the labeling industry, and the EtherCAT
master station developed in this paper replaces the traditional pulse axis card to
realize the motion control of multiple axes of the labeling machine. It shows that the
EtherCAT master station controller developed in this paper can well realize the
multi-axis high-speed and high-precision motion control.
Keywords: Real-time industrial Ethernet; EtherCAT; Motion control; Master
controller; Linux
II
四川大学工程硕士专业学位论文
目录
1 绪论...............................................................................................................................................1
 1.1 研究背景及意义..............................................................................................................1
 1.2 国内外研究现状..............................................................................................................3
 1.2.1 EtherCAT 技术及其在运动控制领域的发展趋势..............................................3
 1.2.2 典型 EtherCAT 主站实现方案及优缺点分析....................................................5
 1.3 课题来源及本文组织结构................................................................................................6
 2 主站系统总体方案设计及实现...................................................................................................8
 2.1 EtherCAT 技术分析...........................................................................................................8
 2.1.1 EtherCAT 工作原理.............................................................................................. 8
 2.1.2 EtherCAT 帧格式.................................................................................................. 9
 2.1.3 EtherCAT CoE 通信.............................................................................................. 9
 2.1.4 EtherCAT 报文寻址............................................................................................ 11
 2.1.5 EtherCAT 分布时钟............................................................................................ 12
 2.1.6 EtherCAT 状态机................................................................................................ 12
 2.2 主站系统设计指标.........................................................................................................13
 2.3 主站系统架构设计.........................................................................................................14
 2.4 主站系统功能划分及设计实现.....................................................................................15
 2.4.1 PC 子系统功能设计............................................................................................15
 2.4.2 ARM0 子系统功能设计及实现......................................................................... 16
 2.4.3 数据收发子系统功能设计及实现.................................................................... 18
 2.4.4 运动控制软件与 PCI 卡通信功能设计及实现................................................19
 2.5 本章小结.........................................................................................................................20
 3 主站应用程序开发及初始化配置优化.................................................................................... 21
 3.1 开源 IgH 协议栈分析.....................................................................................................21
 3.1.1 IgH 整体结构...................................................................................................... 21
 3.1.2 运行阶段.............................................................................................................23
 3.1.3 过程数据.............................................................................................................23
 3.2 主站应用程序开发.........................................................................................................24
III
四川大学工程硕士专业学位论文
3.2.1 初始化配置阶段.................................................................................................25
3.2.2 周期实时任务阶段.............................................................................................27
3.3 初始化配置软件设计开发.............................................................................................28
3.3.1 配置软件需求分析.............................................................................................29
3.3.2 配置软件设计及实现........................................................................................ 30
3.4 本章小结.........................................................................................................................38
4 主站适配运动控制软件.............................................................................................................39
4.1 通讯数据格式设计.........................................................................................................39
4.2 运动控制软件与 PCI 卡通讯逻辑设计........................................................................ 42
4.3 适配运动控制软件.........................................................................................................43
4.3.1 适配逻辑设计.....................................................................................................43
4.3.2 主要函数功能的实现........................................................................................ 44
4.3.3 主要结构体的设计.............................................................................................49
4.4 本章小结.........................................................................................................................51
5 主站性能及稳定性测试分析.....................................................................................................52
5.1 测试概述.........................................................................................................................52
5.2 测试方案.........................................................................................................................53
5.3 测试平台搭建.................................................................................................................54
5.4 极限性能测试.................................................................................................................56
5.4.1 最小控制周期测试.............................................................................................56
5.4.2 不同周期控制的最大轴数测试........................................................................ 60
5.4.3 控制周期的抖动测试........................................................................................ 60
5.5 稳定性测试.....................................................................................................................61
5.5.1 连续往复运行测试.............................................................................................61
5.5.2 功能代码执行时间测试.................................................................................... 62
5.6 测试结果分析.................................................................................................................62
5.7 本章小结.........................................................................................................................63
6 主站贴标应用.............................................................................................................................64
6.1 贴标机应用案例介绍.....................................................................................................64
6.1.1 案例机型介绍.....................................................................................................64
IV
四川大学工程硕士专业学位论文
6.1.2 运动控制总体方案.............................................................................................65
6.1.3 详细控制方案.....................................................................................................66
6.2 贴标机运动控制方案特点.............................................................................................68
6.2.1 与脉冲轴卡方案对比........................................................................................ 68
6.3 本章小结.........................................................................................................................68
7 总结与展望.................................................................................................................................70
7.1 总结.................................................................................................................................70
7.2 展望.................................................................................................................................70
参考文献.........................................................................................................................................72
攻读硕士学位期间取得的研究成果.............................................................................................75
75
声明............................................................................................................
致谢................................................................................................................................................. 77
V
四川大学工程硕士专业学位论文
1 绪论
1.1 研究背景及意义
制造业占据着实体经济的主体,是我国经济发展的基础行业,制造业的发
展将深刻影响到整个国民经济的未来。自我国加入 WTO(世界贸易组织)并实
行改革开发以来,制造业发生了翻天覆地的变化。随着传感器、工业机器人、
工业物联网等技术的发展,工业自动化控制已成为制造业转型升级的研究热点。
如今我国已成为制造业大国,拥有全球最为完善的制造业产业链,但比起欧美
等发达国家,我国的制造业大多还采用人力密集型的传统制造模式。2019 年工
信部部长苗圩在报告中总结,我国的制造业目前在全球范围内处于第三梯队,
属中低端制造领域,还未实现像欧盟、日本那样的高端制造,更不及处于科技
中心的美国。由此可见我国的制造业还不算强大,急需转型升级。针对这一现
状,我国提出了与德国“工业 4.0”类似的“中国制造 2025”国家战略。旨在加
强我国制造业智能化、网络化、开放化的水平[1]。作为制造业的核心技术,运动
控制技术也随着工业技术的推陈出新,不断地优化和向前发展[2]。
运动控制系统的发展经历了从直流到交流,从开环到闭环,从模拟到数字,
直到基于 PC 的伺服控制网络系统和基于网络的运动控制的发展过程[3]。在自动
化程度、运动控制精度和网络化程度要求较高的场合,传统制造体系呈现出越
来越多的局限性,已经不能满足现代社会对制造业越来越高的新需求。因此现
代控制系统将不断朝着柔性化、开放化以及网络化的方向发展。近几年来,随
着数控、包装、工业机器人等技术的快速迭代以及网络技术和集成电路技术的
飞速发展,出现了基于工业以太网的运动控制技术。它凭借以太网技术将主站
与众多现场从站设备连接在一起,实现对网络节点上所有从站的任务控制[4]。
工业以太网优于传统现场总线的地方是它可以构建分布式网络控制结构,
可方便地实现网络拓展,支持数字化和总线式的通信[5]。同时,实时工业以太网
技术还具有通信速率高、硬件资源丰富、实时性好、通信抖动低等优点,更加
适用于现今高速高精度的工业运动控制领域[6-7]。因此,在技术迅速发展的工业
控制领域,实时工业以太网技术正在逐渐取代传统现场总线的地位,开始被广
泛应用于工业控制系统当中[8-9]。
实时以太网(Real Time Ethernet)由常规以太网技术发展而来,其目的之
1
四川大学工程硕士专业学位论文
一是为了满足工业控制领域对通信数据高实时性的要求[10]。目前,国际上有多
种实时工业以太网协议(通信模型如图 1-1 所示)。表 1-1 对当前应用较广的几
种实时工业以太网进行了比较,由表可知 EtherCAT 具有通信周期短,传输效率
高,实时性与同步性好的特点[11]。综合比较图 1-1 三种方式实现的工业以太网,
基于修改以太网实现的实时以太网更适合应用于运动控制,且 EtherCAT 协议优
势明显。
图 1-1 实时工业以太网通信模型
表 1-1 主流实时工业以太网比较
Powerlink EtherCAT PROFINET Ethernet/IP
发布时间 2001 2003 2006 2006
组织 EPG ETG PNO ODVA
传输方式 半双工 全双工 半双工 全双工
传输速率 百或千 百或千 百或千 百
线型、星型、总
拓扑结构 各种拓扑结构 星型、线型 星型、树型
线型
100 轴响应时间 100 轴响应时间 100 轴响应时
实时性 1ms~5ms
1ms 100μs 间 1ms
同步精度 1μs 100ns 1μs 1μs
2
四川大学工程硕士专业学位论文
综上,本课题以基于实时工业以太网的网络化运动控制系统为研究背景,
深入分析了 EtherCAT 技术、Linux 系统实时化方案和 EtherCAT 主站的通信抖
动,然后在基于 ARM 的 ZYNQ 嵌入式平台上,开发面向多轴运动控制的实时
EtherCAT 主站。设计了 EtherCAT 主站程序,开发了主从站配置软件,实现了
EtherCAT 主从通信,并将主站适配到成熟的运动控制软件进行系列性能和稳定
性测试,然后将其应用到全自动贴标机中,实现了对多轴伺服系统的运动控制。
本课题的研究为开发基于 Linux 系统的 EtherCAT 运动控制系统提供了借鉴,且
对打破倍福公司 TwinCAT 主站的垄断,实现高速高精度的多轴运动控制具有重
要意义。
1.2 国内外研究现状
1.2.1 EtherCAT 技术及其在运动控制领域的发展趋势
1989 年,为解决当时以太网协议普遍低带宽利用率的问题,德国 Beckhoff
自动化公司开发出 Fast Lightbus 现场总线系统。2003 年 EtherCAT 工业实时以
太网协议在此基础上应运而生。同一年 11 月,ETG(EtherCAT Technology Group)
组织成立,EtherCAT 技术因此被快速推广,迎来高速发展的时期。到 2007 年,
EtherCAT 协议被国际电工委员会认可,正式成为国际标准。2014 年 10 月 21 日,
EtherCAT 成为 GB/T 31230 中国推荐性国家标准[12]。到 2018 年末,EtherCAT
技术协会的会员单位已突破五千家,且已发展得较为完善。近年来,由于
EtherCAT 技术的不断提升和发展,它已被成功应用到了各个领域当中。
EtherCAT 协议的特点是数据传输速率高,同步性好,拓扑结构灵活多样,
因此特别适合应用于网络化控制系统,近年来被越来越多的应用于多轴伺服控
制系统[13-14]。早期在运动控制领域对 EtherCAT 主站的研究不多,因为目前为止
仅有 Beckhoff 公司能够获得 Windows 系统更底层的授权,Beckhoff 在此基础上
开发出的实时 EtherCAT 主站系统在主站性能、兼容和易用性等方面长期保持领
先。但这种局面有望逐渐被打破,2009 年,德国 Etherlab 实验室推出了基于 Linux
平台的开源主站软件 IGH EtherCAT Master for Linux,使 EtherCAT 主站能够更
方便地应用在嵌入式操作系统中。2012 年,加拿大的 RT-Labs 实验室推出了另
一款名叫 SOEM(Simple OpenSource EtherCAT Master)的 EtherCAT 主站开源
3
四川大学工程硕士专业学位论文
软件。SOEM 对 EtherCAT 协议的实现相较于 IGH EtherCAT Master 有所欠缺,
但使用更加简便。
早期主要是国外众多学者在对 EtherCAT 进行研究,EtherCAT 在国外运动
控制领域的发展也十分迅速。自 2010 年起,库卡 KR C4 系列的机器人系统总
线一直采用的是 EtherCAT 协议。EtherCAT 进入中国后,国内科研学者也在对
其进行大量的研究,不过初期主要集中于应用方面的研究。随着嵌入式系统的
处理性能越来越强,Linux 系统的实时性越来越高,以及开源 EtherCAT 主站软
件发展得越来越完善,最近几年来,越来越多的国内高校开始对嵌入式 EtherCAT
主站进行研究。浙江大学的高恩博基于 BeagleBone Black 开发平台和开源 IgH
EtherCAT 协议栈,实现了嵌入式 EtherCAT 主站,通信抖动在微秒级别[15];华
南理工大学的张少勋利用添加了 RTAI 实时扩展的 Linux 系统和 EMC2 软件实现
了嵌入式 IgH EtherCAT 主站,对伺服电机的控制周期可小于 1ms[16];郑州大学
的王慧娇基于 STM32F767 硬件平台和 SOEM EtherCAT 协议栈实现了 EtherCAT
主站,对两台伺服电机实现了 500μs 的插补周期[17]。中国科学院大学的李享基
于 ARM 实现了嵌入式 EtherCAT 主站,控制 8 台伺服电机的同步误差小于
20ns[18]。
国内不少工控企业也开始意识到 EtherCAT 技术在运动控制领域表现出的
巨大优势,越来越多的运动控制厂商投入大量人力物力研发 EtherCAT 运动控制
器。例如汇川科技、固高科技、以凯科技等公司,它们已经推出了不少成熟的
商业产品。汇川科技的 IMC30G-E 系列 EtherCAT 运动控制卡支持 CSP、CSV、
CST 等多种运动控制模式,可以实现对 32 个伺服轴的同步精准控制;固高科技
的 GUC-EtherCAT 系列多轴 EtherCAT 运动控制器最高可控制 64 个轴,支持多
种复杂轨迹的插补运动模式[19]。随着 EtherCAT 技术被越来越多的运动控制厂商
所认可,其发展将越来越完善,市场前景向好。
在应用方面,科时敏包装设备公司的热熔胶标贴机生产线上的控制系统,
武 汉华 中 数控 有 限公 司 的世 纪 星 HNC-210 数控装置等都是采用的基 于
EtherCAT 的多轴运动控制技术。由此可见,EtherCAT 实时以太网现场总线技术
在各个工业领域都有着广泛的研发设计力量和应用平台,基于 EtherCAT 的多轴
运动控制技术的研究发展得越来越快。
4
四川大学工程硕士专业学位论文
1.2.2 典型 EtherCAT 主站实现方案及优缺点分析
EtherCAT 主站的实现方案可按商用和开源来划分。商用主站常见的有德国
Beckhoff 的 TwinCAT 软 件 、 acontis technologies 的 EC-Master[20] 和 美 国
IntervalZero 的 KingStar SoftMotion 控制软件[21-22]。开源 EtherCAT 主站是通过
EtherCAT 协议栈进行实现的,目前比较大众的有 EtherLab 开发的 IgH 协议栈[23]
和 RT-Labs 组织的 SOEM(Simple Open EtherCAT Master)[24]。此外,还有一些高
校采用 Windows 与 Intime 实时系统结合的方法进行主站开发[25],或是在基于实
时解决方案 RTX(Real-time Extension for Control of Windows)的 Windows 操作系
统上进行主站开发[26-27]。
基于 Windows 操作系统通过实时化改造的方法来实现 EtherCAT 主站,虽
然可以实现任务的实时调度,但受限于 Windows 系统的非开源性,无法做到较
高的实时性。为了进一步提高自主开发 EtherCAT 主站的实时性,近年来许多高
校和企业开始基于 Linux 系统开发 EtherCAT 主站。Linux 系统开源、易用、易
移植且可靠性高,可通过采用实时扩展的方式来显著提高系统的实时性。常用
的实时扩展有 Xenomai、RTAI、RT Patch 和 PREEMPT_RT。利用 Linux 系统和
开源 EtherCAT 协议栈开发 EtherCAT 主站已成为了一种趋势。张乾坤[28],王翼
丰[29],蒋杰[30]均构建了 Xenomai/Linux 实时系统,基于 IgH EtherCAT 协议栈完
成了主站开发;张克华[31]构建了 RTAI/Linux 实时系统,基于 IgH EtherCAT 协
议栈,设计了 EtherCAT 主站;李备备[32],党选举[33]均基于 AM3358 处理器,
构建了 RT Patch/Linux 实时系统,基于 IgH EtherCAT 协议栈,完成 EtherCAT
主站设计;张福雷[34],Hyun-Chul,YI[35]均构建了 PREEMPT_RT/Linux 实时系
统,基于 IgH EtherCAT 协议栈,实现 EtherCAT 主站;Raimarius Delgado 等人
在 x86 和 ARM 平台分别构建了 Xenomai/Linux 实时系统,基于 IgH EtherCAT
协议栈,完成了主站开发[36];并且对不同的实时扩展进行了分析,表明 Xenomai
/Linux 实时系统具有更精准的循环任务周期[37]。以上是基于实时 Linux 系统和
IgH 开源协议栈的方案实现的 EtherCAT 主站。王惠娇[38]、王祎[39]等人则基于实
时 Linux 系统和 SOEM 开源协议栈设计 EtherCAT 主站。
5
四川大学工程硕士专业学位论文
1.3 课题来源及本文组织结构
本课题来源于某自动化企业的校企横向课题。该课题旨在基于 EtherCAT 实
时工业以太网总线技术,利用开源 EtherCAT 协议栈开发自主知识产权的
EtherCAT 主站控制器,以此替换掉该企业目前所使用的需要付费的商业化
EtherCAT 主站解决方案,并将其应用于多轴运动控制领域。
根据研究内容,本文分为六个章节进行详细阐述,每个章节的安排如下:
第一章:绪论
介绍了本文的研究背景及意义,从我国制造业的大背景开始逐渐细化,引
出运动控制领域、工业以太网技术到本文要研究的 EtherCAT 实时工业以太网总
线技术;然后对 EtherCAT 及其在运动控制领域的发展趋势进行了分析;最后基
于研究内容深入分析和总结了典型 EtherCAT 主站实现方案,对课题来源和文章
结构安排进行了说明。
第二章:主站系统总体方案设计及实现
首先对 EtherCAT 技术进行了深入分析和归纳,为后文设计基于开源协议栈
的 EtherCAT 主站系统奠定了理论基础;然后根据需求提出设计指标,并针对指
标对主站系统的架构进行了设计;最后对主站系统的各部分功能进行划分,对
每部分的功能进行了详细设计,对部分功能的实现进行了阐述。
第三章:主站应用程序开发及初始化配置优化
本章首先深入分析了主站开发的基础,即开源 IgH EtherCAT Master 协议栈;
然后基于 IgH EtherCAT 协议栈提供的应用程序编程接口对主站应用程序的开发
流程进行了详述;最后为优化主从站的初始化配置,设计了专门的配置软件并
对配置软件的开发流程进行了详述。
第四章:主站适配运动控制软件
首先交代了适配运动控制软件的背景;然后对运动控制软件与主站所在的
PCI 卡的通信数据格式进行了设计,并对通信的逻辑规则进行了具体定义;最
后对整个适配流程进行了阐述,包括适配逻辑的详细设计、主要函数的功能实
现及主要结构体的设计。
第五章:主站性能及稳定性测试分析
针对开发好的整套主站解决方案,对其性能和稳定性进行实验测试和分析。
6
四川大学工程硕士专业学位论文
首先对测试情况进行概述,并设计测试方案;然后阐明测试平台及测试流程,
最后对实验数据进行了归纳和分析。
第六章:主站贴标应用
主站完成系列测试分析后,将其应用到双头全自动贴标机中,实现对贴标
机的多轴运动控制。首先介绍了案例贴标机型和贴标机的多轴运动控制方案,
然后与传统基于脉冲的运动控制方案进行对比,凸显了 EtherCAT 总线控制的优
势。
第七章:总结与展望
本章对本课题的整个研究过程进行归纳总结,包括研究取得的进展及其中
的创新点;并对研究过程中存在的不足及能够改进优化的地方进行展望。
7
四川大学工程硕士专业学位论文
2 主站系统总体方案设计及实现
EtherCAT 实时工业以太网技术具有高实时性、高稳定性和优秀的同步性等
优点,因此特别适合应用到运动控制技术当中。本文面向多轴运动控制,对
EtherCAT 主站实现方案进行研究和开发,在深入研究 EtherCAT 总线技术的基
础上,采用 PC+PCI 卡的方式实现 EtherCAT 主站系统。
2.1 EtherCAT 技术分析
2.1.1 EtherCAT 工作原理
EtherCAT 系统通常由一个主站和多个从站构成,它们之间通过使用
100BASE-TX 规范的 5 类 UTP 线缆作为传输介质。EtherCAT 主站使用标准的以
太网接口卡,从站使用专门的 EtherCAT 从站控制器 ESC(EtherCAT Slave
Controller)[40]。EtherCAT 充分利用以太网“全双工”特性,其工作原理如图 2-1
所示。一个通讯周期内,EtherCAT 主站会将总线上所有从站需要的控制数据插
入到以太网数据帧中,按从站的拓扑结构依次遍历每一个从站,当数据帧到达
对应的从站设备时,从站设备会从中提取属于自己的那部分数据,并同时将上
个周期处理完成的数据插入到以太网数据帧中。当以太网数据帧遍历完总线上
的所有从站设备后,由第一个从站返回主站,以此实现所有从站设备的数据更
新。
图 2-1 EtherCAT 工作原理
8
四川大学工程硕士专业学位论文
2.1.2 EtherCAT 帧格式
EtherCAT 数据使用类型为 0x88A4 的标准以太网数据帧进行数据传输。数
据帧由标准以太网帧头、EtherCAT 头、EtherCAT 数据和帧校验序列组成(FCS),
分别占据 14、2、44-1498 和 4 个字节;EtherCAT 头由 EtherCAT 数据长度、保
留位和数据类型组成,分别占 11、1 和 4 位;每条数据帧的 EtherCAT 数据区包
含许多个子报文,每个子报文对应独立的设备或从站存储区。EtherCAT 数据帧
的详细结构如图 2-2 所示。
图 2-2 EtherCAT 数据帧结构
子报文被从站处理的情况由工作计数器进行记录,工作计数器的初值为零,
当从站单独地读或写成功时,WKC 的值加 1;当从站进行读写操作,仅读成功
WKC 的值加 1,仅写成功加 2,读写均成功则加 3。数据帧由主站发出访问完
总线上的所有从站设备节点并返回主站后,WKC 的值被主站用来判断主站是否
成功处理了每个子报文的请求。
2.1.3 EtherCAT CoE 通信
EtherCAT 仅使用了 OSI(Open System Interconnection Model)7 层模型中的
3 层,即应用层、数据链路层和物理层。EtherCAT 在应用层实现了多种邮箱协
议通信,包括 Ethernet over EtherCAT(EoE)、CANopen over EtherCAT(CoE)、
9
四川大学工程硕士专业学位论文
File Transfer over EtherCAT(FoE)、Servo Drive over EtherCAT(SoE)。
其中 CoE 完全支持 CANopen 的应用层规约,并做了相应的扩充,EtherCAT Co
E 通信模型如图 2-3 所示。在 CANopen 多种应用层规约中,Cia402(伺服和运
动控制规约)是本文研究的重点。
图 2-3 EtherCAT CoE 通信模型
表 2-1 CoE 对象字典定义
索引号范围 含义
0x0000~0x0FFF 数据类型描述
0x1000~0x1FFF 通信数据对象
0x2000~0x5FFF 制造商定义对象
0x6000~0x9FFF 规约定义数据对象
0xA000~0xFFFF 保留
EtherCAT 数据链路层的邮箱数据和过程数据通过 CoE 协议与应用层的数
据进行交换,主站应用程序通过读写对象字典(如表 2-1 所示),实现主站与从
站之间的数据通信。CoE 通信分为周期性过程数据(PDO, Process data object)
通信和非周期性邮箱数据(SDO, Service data object)通信,前者用于实现主站
10
四川大学工程硕士专业学位论文
与从站之间周期性实时数据的更新,如每周期伺服电机运行的目标位置;后者
用于传输非实时性的数据,比如初始化时主站对从站进行配置。
2.1.4 EtherCAT 报文寻址
EtherCAT 的报文寻址方式如图 2-4 所示,包括网段寻址和网段内寻址。网
段寻址是主站使用以太网帧头中的目的地址寻址到对应的网段。网段内寻址是
主站通过子报文头中的地址数据,寻址到网段内对应的从站设备。
图 2-4 EtherCAT 网络寻址方式
网段内寻址有顺序寻址、设置寻址和逻辑寻址。顺序寻址是按照从站设备
在总线上连接的先后顺序进行寻址;设置寻址是根据数据链路层配置好的从站
站点号进行寻址,此种方式与从站设备在总线上所处的物理位置无关;逻辑寻
址用于处理过程数据,主站采用此种方式与从站进行周期实时数据通信。逻辑
寻址依靠 EtherCAT 从站控制器(ESC)内部的 FMMU(Fieldbus Memory Man
agement Unit)实现。
11
四川大学工程硕士专业学位论文
2.1.5 EtherCAT 分布时钟
分布时钟(Distributed Clocks)机制可以使总线上所有支持分布时钟功能的
从站的本地时钟同步到统一的参考时钟,进而采用统一的 EtherCAT 系统时间来
控制各从站设备的任务同步执行。分布时钟的示意图如图 2-5 所示,EtherCAT
总线网络中每一个支持分布时钟设备的本地时钟都在总线上构成一个分布时钟
节点。
图 2-5 分布时钟示意图
EtherCAT 系统通过每周期对各从站本地时钟的初始偏移、时钟漂移和数据
传输延时进行计算测量,然后进行时间补偿来实现分布时钟,如此整个 EtherCAT
系统便有了统一的系统时间。
2.1.6 EtherCAT 状态机
EtherCAT 状态机(ESM, EtherCAT State Machine)用于实现主站和从站在
初始化通信阶段期间的状态转换。EtherCAT 设备支持四种必须状态和一种可选
引导状态,其具体的状态转换关系如图 2-6 所示。
图 2-6 EtherCAT 状态转换关系
12
四川大学工程硕士专业学位论文
(1)初始化状态:
主站仅执行一些初始化操作,例如初始化 ESC 的内部寄存器,配置从站的
邮箱通道参数等。
(2)预运行状态:
主站可通过邮箱通信的方式与从站交互,配置相关初始化参数,此阶段暂
不支持过程数据通信。
(3)安全运行状态:
从站仅接收输入数据,此时暂不产生输出信号,亦支持邮箱通信。
(4)运行状态:
主站和从站之间可正常进行邮箱和周期过程数据通信,从站产生相应的输
出信号。
(5)引导状态:
引导状态用于从站下载程序服务。
2.2 主站系统设计指标
在主站搭建好之后,需要利用合适的指标对其性能进行衡量。本文从 Ether
CAT 技术本身和运动控制的角度出发,利用 3 个典型的指标对整个主站系统的
性能进行表征。分别使用 EtherCAT 通信周期、EtherCAT 通信抖动和主站支持
的最大轴数来评估自主开发主站的整体性能是否满足设计需求。
EtherCAT 通信周期直接决定了总线上各从站设备获得数据更新的时间长
短。通信周期越短,从站设备将越快获取来自主站的最新控制指令,从站也能
对控制指令越快作出响应。例如在需要高速定位的场合中,电机进行急加速和
急减速操作时,它的速度变化曲线会越平滑。
EtherCAT 通信抖动则体现了主站每个通信周期的时间均匀性。若抖动过大,
数据帧在传输过程中将不被正确处理,会直接影响到从站的正常运行,比如伺
服电机会出现短时停顿、电机速度会出现跳变等。反之,EtherCAT 通信时的抖
动越小,则通信数据的传输越稳定,通信周期越均匀,从站设备运行也越平稳。
主站系统最大支持轴数则直接反映了本课题设计开发的整套 EtherCAT 主
站解决方案在运动控制方面的能力。支持的轴数越多,表明本课题开发的主站
13
四川大学工程硕士专业学位论文
的控制性能越出色。以上三项指标的设计值如表 2-2 所示。
表 2-2 主站系统设计指标
设计指标 设计值
EtherCAT 通信周期 500μs 、1ms、2ms
EtherCAT 通信抖动 -50μs ~ +50μs
主站系统支持轴数 >= 32 (个)
2.3 主站系统架构设计
本课题设计的 IgH EtherCAT 主站解决方案由 PC 和 PCI 控制卡两部分构成,
同时又可划分为三个子系统,如图 2-7 所示,分别为运行 Windows 操作系统的
“PC 子系统(子系统一)”、运行 Linux 操作系统的“ARM0 子系统(子系统二)”
和控制数据帧收发的“数据收发子系统(子系统三)”。
图 2-7 IgH EtherCAT 主站系统架构示意图
PC 端使用任意一台搭载“Windows7 x86”操作系统的计算机即可,考虑
到多任务处理对系统抖动的影响,使用专门的工业控制计算机会使整个系统的
性能更佳。PCI 控制卡上的 CPU 芯片选用基于 Xilinx Zynq® -7000 的 SoC(S
14
四川大学工程硕士专业学位论文
ystem on Chip)。此芯片将双核 ARM® Cortex ™ -A9 处理器与 FPGA 集成,
具有低功耗高性能的特点,被广泛应用于很多嵌入式领域。
上图所示的 PC 子系统、ARM0 子系统和 FPGA 子系统将主站系统的功能
进行了合理划分。插补等运动控制算法由 PC 端的 CPU 完成而不需要 ARM0
CPU 的参与,这样 ARM0 主要处理 EtherCAT 协议栈的逻辑,便可更好实现协
议栈的各部分功能。
EtherCAT 主站所在的 PCI 控制卡通过 5 类 UTP 线缆连接好需要控制的从站
后,控制数据会从 PC 应用层出发,依次经过 PC 驱动层、PCI 总线、Linux 各
层、FPGA,最后通过 EtherCAT 总线到达各个从站设备。由于 PC 端应用层、
PC 端驱动层、PCI 卡端 ARM0 上的 Linux 系统和 PCI 卡端的 FPGA 在数据通信
时具有不同程度的抖动,为了保证整个主站系统通信的平稳,实现数据传输的
同步;避免出现掉帧,数据帧被覆盖等情况,因此分别设计 3 个缓冲区以保证
数据传输的连续性、同步性和通信的稳定性。因为双口 RAM 具有较高吞吐率,
适用于实时数据缓存,所以 3 个缓冲区采用双口 RAM 的形式。
2.4 主站系统功能划分及设计实现
如图 2-7 所示的 EtherCAT 主站系统架构,为了实现整个主站系统,每个子
系统都需要实现相应的功能,彼此再通过 3 个 Buffer 进行协调,以保证数据传
输的同步性。下面将对每个子系统的功能进行设计。
2.4.1 PC 子系统功能设计
PC 端应用层的功能设计由两个阶段组成,一个是主站与从站之间进行通信
前的初始化配置阶段,另一个是主从站完成配置工作后,按照 2.1.6 节中的
EtherCAT 状态机顺利进入到 OP 状态,开时进行周期实时数据通信的阶段。主
站与从站之间的初始化配置工作将利用在 PC 端开发的初始化配置软件完成,运
动控制数据到 PDO 数据的生成则依托现已成熟的 PC 端运动控制软件 MPC8801
进行实现。初始化配置软件的开发和对运动控制软件的适配工作将分别在第三
章和第四章进行详细阐述。
15
四川大学工程硕士专业学位论文
PC 端驱动层实现对图 2-7 中 Buffer1 和 PCI 内存的读写工作,即读取 Buffer1
中的配置或运动控制数据写入到 PCI 内存中的 Buffer2,以供卡端处理;或从 PCI
内存中的 Buffer2 读回状态数据写入到 Buffer1 当中,以供 PC 端的 MPC8801 软
件进行处理。
2.4.2 ARM0 子系统功能设计及实现
ARM0 子系统的功能是整个主站系统的核心功能,由 EtherCAT 协议栈功能
模块和数据解析功能模块构成。
数据解析模块从 PCI 的内存 Buffer2 中读取配置数据或 CoE 等数据(主从
站配置阶段读取配置数据,周期运行阶段读取 CoE 数据和运动控制软件下发的
指 令 等 数 据 ), 逻 辑 处 理 后 对 应 到 EtherCAT 协 议 栈 的 API ( Application
Programming Interface,应用程序接口),以供 EtherCAT 协议栈功能模块使用;
数据返回时,再将卡端的状态数据和 EtherCAT 协议栈功能模块处理好的数据写
回 PCI 的内存 Buffer2 中。
EtherCAT 协议栈功能模块则实现 EtherCAT 协议的相关功能,将经过协议
栈处理完成的数据写入 Buffer3 中供数据收发子系统处理,并将返回的数据处理
后传递给数据解析模块。
首先是 EtherCAT 协议栈功能的实现。当前互联网上有两套较为成熟的
EtherCAT 主站协议栈开源框架可供开发者使用。它们分别是来自 RT-LAB 开发
的 SOEM 和 EtherLab 开发的 IgH EtherCAT Master for Linux,其主要特性对比如
表 2-3 所示。
表 2-3 SOEM 与 IgH EtherCAT Master 特性对比
主站协议栈 SOEM IgH EtherCAT Master
版本 1.3.0 1.5.2
发布公司 RT-LAB EtherLab
支持的操作系统 Linux,Windows Linux
支持的 RT 内核 RTAI, Xenomai RTAI, Xenomai, RT-Preempt
支持的 CPU Freescale i.MX53、
Blackfin 5xx、Blackfin 支持 Linux 内核的所有 CPU
16
四川大学工程硕士专业学位论文
6xx、Intel
8139too - RealTek 8139C (or
支持的网卡 - compatible) Fast-Ethernet chipsets.
e1000 - Intel PRO/1000
Gigabit-Ethernet chipsets (PCI).etc
CoE √ √
Vo E √ √
Distributed Clocks √ √
SoE √ √
EoE × √
FoE × √
SOEM 的特点是对 EtherCAT 协议栈的实现较为简单,使用更容易,适用于
多种操作系统。但其运行、故障等处理机制也比较简单,造成对 EtherCAT 协议
的实现不完全,且实时性不够高。IgH 主站协议栈的程序架构则相对复杂和完
善,虽然仅支持 Linux 操作系统,但因其同时支持多种实时扩展,因此协议栈
的实时性更高。综上所述,IgH 主站协议栈开源框架因其对 EtherCAT 协议的实
现较为完善,本课题以 IgH EtherCAT 协议栈为基础开发面向多轴运动控制的主
站系统。
PCI 卡端基于 Xilinx Zynq® -7000 的 SoC 内含双核 ARM® Cortex ™ -A9 处
理器,选用其中一个核芯(ARM0)作为 Linux 操作系统和 IgH EtherCAT 协议
栈的载体。因为 Linux 系统本身不具备实时性,在使用 IgH EtherCAT 协议栈开
源框架之前必须对 Linux 系统进行实时改造,本课题选用 Xenomai 实时扩展。
完成实时性改造后,IgH 主站的系统软件结构如图 2-8 所示。
17
四川大学工程硕士专业学位论文
图 2-8 IgH 主站系统软件结构
EtherCAT 的实时任务将通过 IgH 协议栈的 API 由 Xenomai 实时辅助内核执
行,非实时任务直接由 Linux 内核执行。因 Linux 内核的的优先级比实时辅助
内核低,即便在 Linux 内核处理非实时任务时,一旦需要执行实时任务,实时
辅助内核便可抢占 Linux 运行,保证主站的实时性。
数据解析功能包含对主从站初始化配置阶段和周期运行阶段两部分数据的
解析,初始化配置阶段的数据解析与本章 2.4.1 节中阐述的初始化配置软件紧密
相关,将对初始化阶段的各项配置参数进行解析,然后对应到 IgH EtherCAT 协
议栈的 API 函数;周期运行阶段的数据解析则存在于本章 2.4.1 节中阐述的适配
MPC8801 运动控制软件的相关函数中,具体实现将在第四章进行详细阐述。
2.4.3 数据收发子系统功能设计及实现
FPGA 子系统的功能是严格按照 EtherCAT 通信周期实现数据帧的收发。本
课题预设计了两种方案实现此子系统。最初利用 Xilinx Zynq® -7000 SoC 内的另
一颗核芯(ARM1)实现,数据帧收发通道由 IgH 协议栈帧收发接口依次连接
18
四川大学工程硕士专业学位论文
Buffer3、ARM1 裸核、网口构成。实验测得在 1ms 的 EtherCAT 通信周期下主
站带 1 台 I/O 从站,通信抖动为 6~7μs。另一种方案是利用 Xilinx Zynq® -7000
SoC 内集成的 FPGA 替代上述方案中的 ARM1 裸核实现。因为 FPGA 是依靠硬
件来实现所有功能,相比于 ARM1 裸核,在同样的实验条件下测得的 EtherCAT
通信抖动大致为±1.98μs,优势明显,因此本课题数据收发子系统的功能基于
Xilinx Zynq® -7000 SoC 内集成的 FPGA 来实现,最终采用的数据帧收发通道如
图 2-9 所示。
图 2-9 主站数据帧收发通道
2.4.4 运动控制软件与 PCI 卡通信功能设计及实现
本课题的主站系统由 PC 端和 PCI 卡端共同组成,上文已分别对三个子系
统的功能设计及部分功能的实现进行了阐述,而 PC 与 PCI 卡之间的通信功能
是使三个子系统紧密联系起来的关键,两者之间将通过中断的方式进行数据交
互。通信以 2.1.6 节中描述的 OP 状态为分界点分成两部分,OP 状态之前是初
始化配置阶段,PCI 卡端采取轮询的方式每周期判断 Buffer2 中是否有 MPC8801
软件下发的新的配置数据,一旦有新数据便读走供 IgH EtherCAT 协议栈处理,
完成对应的配置工作。OP 状态之后是周期控制阶段,PCI 卡端采用中断的方式
与 PC 端 MPC8801 软件进行通信。即主站发出下行报文,从站处理后数据帧返
回FPGA,FPGA收到数据帧后每隔1个EtherCAT通信周期产生一次中断,ARM0
执行中断服务程序,依次完成读走从站状态数据写入 PCI 内存 Buffer2 中、处理
数据、写新的控制数据到从站的操作,然后写 PC 中断;PC 端执行中断服务程
19
四川大学工程硕士专业学位论文
序,完成读从站和卡端返回的状态数据、运算处理状态及控制数据,再将下一
周期的运动控制数据写入 PCI 总线内存。
2.5 本章小结
本章首先对课题研究的基础 EtherCAT 实时工业以太网技术进行了深入的
分析和概括;然后对本课题要研究开发的 IgH EtherCAT 主站的指标进行了合理
设计;接着对其系统架构进行了详细设计;最后对主站架构每部分的功能进行
了划分与设计,对 EtherCAT 协议栈功能、数据收发子系统功能和运动控制软件
与 PCI 卡通信的功能进行了实现阐述,其他较复杂的功能的实现则安排在后面
章节进行详细阐述。
学术论文网提供数万篇的免费毕业论文、硕士论文、博士论文、sci论文发表的范文供您参考,并提供经济、管理、医学、法律、文学、教育、理工论文、mba作业、英语作业的论文辅导写作、发表等服务,团队实力雄厚,多达人,帮您解决一切论文烦恼。