内容简介
本书全面介绍了EtherCAT工业以太网应用系统设计。书中内容丰富,体系先进,结构合理,理论与实践相结合,尤其注重工程应用技术。全书共分11章,主要内容包括:绪论,EtherCAT从站控制器,EtherCAT从站硬件电路系统设计,EtherCAT工业以太网主站,EtherCAT开发前的准备——软件的安装,基于ET1100的EtherCAT从站软件设计,基于LAN9252的EtherCAT从站驱动和应用程序设计,基于LAN9252的从站增加数字量和模拟量通信数据的方法,EtherCAT主站软件安装、从站开发调试及XML文件解析,基于IgH的EtherCAT主从站通信程序设计,基于SOEM的EtherCAT主从站通信程序设计。通过阅读本书,读者将深入了解EtherCAT技术原理、应用场景和关键设计步骤,为工业控制系统的开发和应用提供了全面的指导。本书力求所讲内容具有较强的可移植性、先进性、系统性、应用性及资料开放性,可起到举一反三的作用。本书配套程序代码、XML文件、电路文件、官方手册等数字资源,下载方式见本书封底。
本书可供从事EtherCAT工业以太网控制系统设计的工程技术人员参考,也可作为高等院校自动化、机器人、自动检测、机电一体化等专业的本科生教材或相关专业的研究生教材。
目录
前言
第1章绪论
11以太网与工业以太网概述
111以太网技术
112工业以太网技术
113工业以太网通信模型
114工业以太网的优势
115实时以太网
116实时以太网模型分析
117几种实时以太网的比较
12几种流行的工业以太网
121SERCOS
122PROFINET
123EPA
13EtherCAT工业以太网
131EtherCAT概述
132EtherCAT工业以太网的特点和快速以太网的环形结构
133EtherCAT物理拓扑结构
134EtherCAT数据链路层
135EtherCAT应用层
136EtherCAT系统组成
137EtherCAT系统主站设计
138EtherCAT系统从站设计
第2章EtherCAT从站控制器
21EtherCAT从站控制器概述
211EtherCAT从站控制器功能块
212EtherCAT协议
213帧处理
214FMMU
215同步管理器
22EtherCAT从站控制器的BECKHOFF解决方案
221BECKHOFF提供的EtherCAT从站控制器
222EtherCAT从站控制器存储空间
223EtherCAT从站控制器特征信息
23EtherCAT从站控制器ET1100
231ET1100概述
232ET1100引脚介绍
233ET1100的PDI信号
234ET1100的配置引脚信号
235ET1100的物理接口和PDI引脚信号
236ET1100的MII接口
237ET1100的PDI描述
238ET1100的异步8/16位微控制器接口
24EtherCAT从站控制器的数据链路控制
241EtherCAT从站控制器的数据帧处理
242EtherCAT从站控制器的通信接口控制
243EtherCAT从站控制器的数据链路地址
244EtherCAT从站控制器的逻辑寻址控制
25EtherCAT从站控制器的应用层控制
251EtherCAT从站控制器的状态机控制和状态
252EtherCAT从站控制器的中断控制
26EtherCAT从站控制器的存储同步管理
261EtherCAT从站控制器存储同步管理器
262SM通道缓存区的数据交换
263SM通道邮箱数据通信模式
27EtherCAT从站信息接口(SII)
271EEPROM中的信息
272EEPROM的操作
28EtherCAT分布式时钟
29EtherCAT从站控制器LAN9252
291LAN9252概述
292LAN9252主机总线接口
293LAN9252工作模式
294LAN9252引脚介绍
295LAN9252寄存器映射
296LAN9252系统中断
297LAN9252中断寄存器
298LAN9252主机总线接口
299LAN9252的SPI/SQI从器件
2910LAN9252的以太网PHY
2911LAN9252的EtherCAT功能
第3章EtherCAT从站硬件电路系统设计
31基于ET1100的EtherCAT从站硬件电路系统设计
311基于ET1100的EtherCAT从站总体结构
312微控制器与ET1100 的接口电路设计
313ET1100 的配置电路设计
314EtherCAT从站以太网物理层 PHY器件
31510/100 Base-TX/FX的物理层收发器KS8721
316ET1100与KS8721BL的接口电路
317直接I/O控制EtherCAT从站硬件电路设计
32基于LAN9252的EtherCAT从站硬件电路系统设计
第4章EtherCAT工业以太网主站
41EtherCAT主站分类
411概述
412主站分类需求规范
413功能包
42TwinCAT 3 EtherCAT主站
421TwinCAT 3概述
422TwinCAT 3编程
43IgH EtherCAT主站
431IgH EtherCAT概述
432IgH EtherCAT主站架构
433过程数据
434FMMU配置
435应用程序接口
436状态机
437获取软件
44SOEM EtherCAT主站
441SOEM EtherCAT概述
442SOEM的下载与使用
443SOEM源代码结构
444SOEM的应用
第5章EtherCAT开发前的准备——软件的安装
51虚拟机
511虚拟机的安装
512新建虚拟机
513虚拟机的设置
52Ubuntu
第6章基于ET1100的EtherCAT从站软件设计
61EtherCAT从站驱动和应用程序代码包架构
611EtherCAT从站驱动和应用程序代码包的组成
612EtherCAT通信协议和应用层控制相关的文件
62el9800applh
621TOBJ1601 的数据结构
622TOBJ1A00 的数据结构
623TOBJ1C12 的数据结构
624TOBJ6000的数据结构
625TOBJ6020 的数据结构
626TOBJ7010的数据结构
627TOBJ6411 的数据结构
628TOBJ8020 的数据结构
629TOBJF000 的数据结构
6210PDO映射对象(PDO Mapping Objects)
6211对象 0x1601(数字输出 RxPDO)
6212对象 0x1602(数字输出 RxPDO)
6213对象 0x1602(模拟输出 RxPDO)
6214对象 0x7010(数字输出对象)
6215对象 0x6411(模拟输出对象)
6216PDO(过程数据对象)映射对象0x1802
6217对象 0x1802(TxPDO 参数)
6218对象 0x1802(TxPDO 参数)的变量
6219对象0x1A00(数字输入TxPDO)
6220结构 sDITxPDOMap
6221对象 0x1A02(模拟输入 TxPDO)
6222对象0x6020(模拟输入对象)和条目
63el9800applc
631APPL_StopOutputHandler(void)函数
632APPL_GenerateMapping(UINT16* pInputSize,UINT16* pOutputSize)
633APPL_InputMapping(UINT16* pData)函数
634APPL_OutputMapping(UINT16* pData)
635APPL_Application(void)函数
636APPL_GetDeviceID()函数
637main(void)主函数
64ecatapplc
641PDO_InputMapping()函数
642PDO_OutputMapping()函数
643ECAT_CheckTimer()函数
644HandleBusCycleCalculation()函数
645PDI_Isr(void)函数
646Sync0_Isr(void)函数
647Sync1_Isr(void)函数
648MainInit(void)函数
649主循环处理函数MainLoop()
6410ECAT_Application(void)函数
6411PDI_Isr(void)函数
65ecatslvc
651StartInputHandler(void)函数
652检查配置的同步
653同步信号(Sync0和Sync1)的周期时间配置
654void AL_ControlInd(UINT8 alControl, UINT16 alStatusCode)
655StartOutputHandler(void)函数
656StopOutputHandler(void)函数
657StopInputHandler(void)函数
658ECAT_Init(void)函数
659ECAT_Main(void)函数
66mcihwh
661开关输入和LED输出的宏定义
662宏和条件编译指令
663宏定义和一个函数声明
664硬件定时器中断等宏定义
665全局变量和函数的定义
67mcihwc
671GPIO_Config(void)函数
672STM32硬件初始化函数HW_Init()
673HW_EcatIsr()函数
674Sync0Isr(void)函数
675Sync1Isr(void)函数
676APPL_1MsTimerIsr中断服务例程(ISR)
68COE_Main(void)函数(coeapplc)
第7章基于LAN9252的EtherCAT从站驱动和应用程序设计
71EtherCAT从站驱动和应用程序包架构
711EtherCAT从站驱动程序代码包的组成
712EtherCAT通信协议和应用层控制相关的文件
72EtherCAT从站驱动和应用程序
721EtherCAT状态机转换头文件ecatslvh
722EtherCAT控制器中寄存器的地址和相关掩码头文件esch
723对象字典的结构体头文件objdefh
724从站驱动和应用程序初始化
725EtherCAT从站周期性过程数据处理
726EtherCAT从站状态机转换
73EtherCAT通信中的数据传输过程
731从站到主站的数据传输过程
732主站到从站的数据传输过程
第8章基于LAN9252的从站增加数字量和模拟量通信数据的方法
81EtherCAT从站驱动程序修改说明
811关于修改XML文件的简要说明
812数据映射关系
813增加数字量输入/输出(DI/DO)变量和模拟量输入/输出(AI/AO)变量的
相同点与不同点
82EtherCAT从站开发板上增加一个自定义的变量
821在索引号0x1A02的基础上增加一个16位整型的自定义AI变量
822修改XML文件中有关模拟量输入(AI)的部分
823修改STM32程序中有关模拟量输入(AI)的部分
824AI_16INT数据的EtherCAT通信测试
83EtherCAT从站增加数字量输入/输出(DI/DO)数据通信的方法
831EtherCAT从站增加数字量输入(DI)数据通信的方法
832EtherCAT从站增加数字量输出(DO)数据通信的方法
84EtherCAT从站增加模拟量输入/输出(AI/AO)数据通信的方法
841EtherCAT从站增加模拟量输入(AI)变量的方法
842EtherCAT从站增加模拟量输出(AO)通道的方法
843EtherCAT从站增加模拟量输出(AO)变量的方法
844将模拟量输出(AO)的数据通过模拟量输入(AI)进行读取
845模拟量输入/输出(AI/AO)的EtherCAT通信测试
第9章EtherCAT主站软件安装、从站开发调试及XML文件解析
91TwinCAT和网卡驱动安装
911主站TwinCAT的安装
912TwinCAT安装主站网卡驱动
92EtherCAT从站的开发调试
921烧写STM32微控制器程序
922在TwinCAT软件目录下放置XML文件
923建立项目
924向EEPROM中烧写XML文件
925在TwinCAT主站上与从站设备进行简单通信
93XML文件解析
931EtherCATInfo
932Vendor
933Descriptions
第10章基于IgH的EtherCAT主从站通信程序设计
101IgH EtherCAT主站的安装配置
1011虚拟机上的Linux系统与实体机上的Linux系统的区别
1012IgH EtherCAT Master概述
1013IgH EtherCAT Master的安装环境
1014修改Ubuntu的内核版本
1015IgH EtherCAT Master的安装
102IgH在Ubuntu操作系统下的编译说明
1021IgH配置库
1022IgH程序编译
1023IgH程序运行
103IgH主站获取从站信息
1031判断IgH主站是否与从站连接
1032获取从站的供应商ID和产品代码
1033显示PDO和映射信息
104EtherCAT主从站的数字量输入/输出(DI/DO)通信的实现
1041EtherCAT主从站的DI/DO通信程序设计
1042如何配置PDO实现主从站的DO通信
1043如何配置PDO实现主从站的DI通信
105EtherCAT主从站的模拟量输入/输出(AI/AO)通信的实现
1051EtherCAT主从站的AI/AO通信程序设计
1052如何配置PDO实现主从站的AI/AO通信
106EtherCAT主从站通信程序的运行结果
1061主从站的DI通信
1062主从站的AI/AO通信
107EtherCAT主从站通信程序设计关键点说明
1071PDO映射信息
1072同步管理器数组ec_sync_info_t
第11章基于SOEM的EtherCAT主从站通信程序设计
111Ubuntu操作系统的编译说明
1111安装SOEM主站
1112SOEM程序编译
1113SOEM程序运行
112SOEM主站获取从站信息
1121判断SOEM主站是否与从站连接
1122获取从站的PDO信息和映射信息
113EtherCAT主从站通信的实现
1131EtherCAT主从站的启动流程
1132EtherCAT主从站的DI/DO通信的实现
1133EtherCAT主从站的AI/AO通信的实现
114EtherCAT主从站通信程序的运行结果
1141SOEM主从站的DI通信
1142SOEM主从站的AI/AO通信
参考文献
前言/序言
前言
本书是《EtherCAT工业以太网应用技术》(ISBN 978-7-111-64818-5)一书的姊妹篇。
《EtherCAT工业以太网应用技术》一书已经出版5年了,受到了广大读者的喜爱,销售数量已达数千册。但到目前为止,还没有有关EtherCAT的图书再次出版,这让作者感到有些遗憾。在现有资料比较稀少的情况下,尽管该书存在不足,但还是会给读者学习EtherCAT技术助一臂之力。作者在书中尽可能地把EtherCAT技术全面展现给读者,同时特别期待国内的有关专家和工程技术人员抽出宝贵的时间,结合自己的开发经验写一本同题材的书籍,以便省去读者的摸索时间,尽快推动我国EtherCAT技术的开发应用。的确,写一本书是非常耗费时间和精力的,作者在写《EtherCAT工业以太网应用技术》一书时,前前后后用了两年多的时间,完稿后已感到“江郎才尽”。
受广大读者的鼓舞,作者经过多年的辛苦和努力,再次编写了《EtherCAT工业以太网应用技术》一书的姊妹篇《EtherCAT工业以太网应用系统设计》。作者相信本书能够为读者全面了解EtherCAT工业以太网及为促进EtherCAT技术更深入的研究、应用与发展提供重要的参考。
开发者选择EtherCAT从站评估板或开发板时,最好选择与自己要采用的微处理器或微控制器相同的型号。这样,软硬件移植和开发的工作量要小很多,可以达到事半功倍的效果。开发者可以选择BECKHOFF公司的EL9800 EtherCAT从站评估板或国内的EtherCAT开发板。在购物网站上搜索“EtherCAT开发板”就可以找到国内不同厂家生产的产品。底板上的微控制器可以选择STM32F1或STM32F4。
本书首次给出了IgH和SOEM两个开源主站的应用实例,特别增加了“基于IgH的EtherCAT主从站通信程序设计”和“基于SOEM的EtherCAT主从站通信程序设计”两章,并给出了详尽的Linux源代码,非常方便读者移植,相信一定会加快读者的开发学习进度,并大大节约成本。在作者开发IgH和SOEM开源主站的过程中,由于资料匮乏,遇到了很多困难。如在Ubuntu操作系统上安装IgH和SOEM,哪怕在终端上少输入一个空格或大小写字母输错,下一步的工作都无法进行下去。因此,本书给出了IgH和SOEM在Ubuntu操作系统上详尽的安装步骤和操作方法,这对读者是非常有益的。
本书的特点如下。
1)深入介绍EtherCAT工业以太网技术:全面探讨EtherCAT的特点、应用及通信原理,帮助读者全面了解该技术。
2)实用性强:提供详细的软件安装、配置和程序设计步骤,包括主从站通信程序设计和调试方法,使读者能够实际操作并应用所学知识。
3)开源主站应用实例:首次讲述了IgH和SOEM两个开源主站的应用实例,附有详尽的Linux源代码,方便读者学习和移植。
4)丰富的数字资源:配备程序代码、XML文件、电路文件和官方手册等数字资源,提供了更多的实践支持和参考资料。
5)作者经验分享:本书总结了作者多年的科研实践和教学经验,为读者提供了实用的工业以太网应用技术知识和案例解析。
6)本书注重实践应用,提供翔实的操作指导和丰富的资源支持,旨在帮助读者全面掌握EtherCAT工业以太网技术,促进其在工业控制领域的应用与发展。
本书共分11章。
“第1章绪论”介绍了以太网与工业以太网,探讨了几种流行的工业以太网技术,并深入介绍了EtherCAT工业以太网的内容。
“第2章EtherCAT从站控制器”详细介绍了EtherCAT从站控制器,以及BECKHOFF解决方案和ET1100控制器的功能和应用。另外,还介绍了数据链路控制、应用层控制、存储同步管理等内容。
“第3章EtherCAT从站硬件电路系统设计”探讨了基于ET1100和LAN9252的EtherCAT从站硬件电路系统设计,包括硬件设计原理和实现方法等内容。
“第4章EtherCAT工业以太网主站”介绍了EtherCAT主站的分类,以及TwinCAT 3、IgH和SOEM等EtherCAT主站的特点和应用场景。
“第5章EtherCAT开发前的准备——软件的安装”讲解了在虚拟机和Ubuntu操作系统下安装必要软件的步骤和配置方法。
“第6章基于ET1100的EtherCAT从站软件设计”详细介绍了EtherCAT从站驱动和应用程序代码包架构,以及相关代码文件的功能和实现方法。
“第7章基于LAN9252的EtherCAT从站驱动和应用程序设计”探讨了基于LAN9252的从站驱动程序设计,包括程序包架构、数据传输过程等内容。
“第8章基于LAN9252的从站增加数字量和模拟量通信数据的方法”介绍了如何修改EtherCAT从站驱动程序,以及增加数字量和模拟量通信数据的方法及实现步骤。
“第9章EtherCAT主站软件安装、从站开发调试及XML文件解析”讲解了TwinCAT和网卡驱动的安装,以及EtherCAT从站的开发调试和XML文件解析的相关内容。
“第10章基于IgH的EtherCAT主从站通信程序设计”深入讨论了IgH EtherCAT主从站通信程序设计流程,包括安装配置、编译说明、数字量输入/输出和模拟量输入/输出通信的实现等内容。
“第11章基于SOEM的EtherCAT主从站通信程序设计”探讨了基于SOEM的EtherCAT主从站通信程序设计方法,包括编译说明、获取从站信息、通信实现和运行结果等内容。
通过本书的学习,读者将全面了解EtherCAT通信技术的原理和应用,掌握主从站通信程序设计的关键技术,为工业控制领域的发展提供有力支持。
本书配有从站代码、主站代码、电路文件、官方文件、开发工具等数字资源,读者可以按封底的说明下载。
本书是编者科研实践和教学经验的总结,一些实例取自编者多年来的工业以太网科研攻关课题。由于编者水平有限,并且EtherCAT工业以太网涉及的技术繁多,书中错误和不妥之处在所难免,敬请广大读者不吝指正。




















