收藏 分销(赏)

基于Linux平台的EtherCAT主站设计与研究.pdf

上传人:自信****多点 文档编号:1986212 上传时间:2024-05-13 格式:PDF 页数:5 大小:2.58MB
下载 相关 举报
基于Linux平台的EtherCAT主站设计与研究.pdf_第1页
第1页 / 共5页
基于Linux平台的EtherCAT主站设计与研究.pdf_第2页
第2页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、Computer Era No.11 20230 引言在工业自动化控制领域,控制系统需不断满足通信速度、控制精度、抗干扰能力和实时性的要求1。传统总线控制方式已不能满足要求,工业以太网技术因其高实时性和稳定性成为工业技术发展的重要推动力,如广泛应用的有EtherCAT、EtherNet/IP、SERCOS等2。EtherCAT协议使用了一种名为“处理数据”的方式,使得数据可以在网络上以非常高的速度传输,从而获得实时性能好的控制,在测控领域、工业机器人等领域都有着重要的应用价值。目前市面上使用 EtherCAT 来控制高端数控系统的主站,主要是倍福公司基于传统的 PC 研发的TwinCAT商业主

2、站,其价格高昂、不开源、灵活性差,正在被嵌入式主站逐步替代3-4,但传统的嵌入式主站因其芯片价格一直居高不下,故使用成本高。针对上述问题,本文设计了一种 Linux+RT-PREEMPT+SOME的框架下搭建EtherCAT主站的方案,采用国产T3芯片作为主站控制芯片,实现了对二台伺服电机周期性控制,并对其周期性和实时性进行了测试。此方案即满足了EtherCAT主站强实时性和高稳定性的DOI:10.16644/33-1094/tp.2023.11.003基于Linux平台的EtherCAT主站设计与研究*杨亮亮1,钱家豪1,鲁文其1,潘晓铭2(1.浙江理工大学,浙江 杭州 310018;2.温

3、州大学)摘要:EtherCAT主站在传统Windows平台搭建的方案存在成本高、便携性差和开发周期长等问题。对此提出一种基于Linux嵌入式平台搭建EtherCAT主站的解决方案,主站运行在经过RT-PREEMPT优化的Linux操作系统上,使用了开源SOME软件。搭建了主站测试平台,主站与从站的周期性通讯测试和实时性测试表明:该主站的同步性能良好、周期抖动在s级别、稳定性强,达到了工业对控制系统实时性的要求,为Linux 嵌入式平台搭建EtherCAT主站提供了一种新方案。关键词:EtherCAT;Linux;工业以太网;SOEM中图分类号:TP273文献标识码:A文章编号:1006-822

4、8(2023)11-12-04Design and research of EtherCAT master station based on Linux platformYang Liangliang1,Qian Jiahao1,Lu Wenqi2,Pan Xiaoming2(1.Zhejiang Sci-Tech University,Hangzhou,Zhejiang 310018,China;2.Wenzhou University)Abstract:The EtherCAT master station built on the traditional Windows platform

5、 has some problems such as high cost,poorportability and long development cycle.To solve these problems,a solution of EtherCAT master station built on the embeddedLinux platform is proposed.The master station runs on the Linux operating system optimized by RT-PREEMPT and uses opensource software SOM

6、E.The test platform of the master station is built,and the periodic communication test and real-time testbetween the master station and the slave station show that the master station has good synchronization performance,the cycle jitteris at s level,and the stability is strong,which meets the requir

7、ements of real time control system in industry.It provides a newscheme for Linux embedded platform to build the EtherCAT master station.Key words:EtherCAT;Linux;industrial Ethernet;SOME收稿日期:2023-04-20*基金项目:国家自然科学基金(52277068);浙江省科技厅重点研发计划(2023C01159);温州市科技局重大科技创新攻关项目(ZG2020029)作者简介:杨亮亮(1978-),男,湖北荆门人

8、,博士,副教授,硕士生导师,主要研究方向:高速高精度运动控制方面的研究。通讯作者:钱家豪(1999-),男,浙江金华人,硕士研究生,主要研究方向:多轴运动控制。12计算机时代 2023年 第11期要求,又解决了传统EtherCAT主站成本高、便携性差的缺点。1 EtherCAT系统架构EtherCAT是一种实时以太网协议,其核心是一个分布式控制系统,其中多个设备通过一个物理总线连接5-6。其系统总体架构及运行原理如图1所示,搭载Linux实时系统的全志T3系列芯片与PHY芯片连接,然后 PHY 芯片连接带有网络隔离变压器的 RJ45 接口,组成了EtherCAT主站,从站由多台伺服驱动器和伺服

9、电机构成,主站通过网线将EtherCAT报文发送至全部从站。图1EtherCAT系统架构及运行原理2 Linux系统实时性优化EtherCAT主站对其搭载的操作系统的实时性提出了要求7,本文选用的 Linux 操作系统内核版本为Linux-3.10.65,其具有丰富软件资料,稳定性和重构性强的优势,但本身作为一个通用操作系统内核而设计的,存在实时性能差的缺点,因此选用RT-Preempt实时补丁优化Linux系统8-9。优化Linux系统的实时性步骤如图2所示,通过SecureCRT软件,在其终端上输入 uname-a来查看当前开发板的 Linux内核的相关信息,用来判断Linux操作系统实时

10、性优化是否成功。图2Linux系统实时性优化步骤3 EtherCAT主站设计3.1 应用程序设计EtherCAT主站和从站建立通信主要由EtherCAT总线配置和周期实时任务两个阶段组成。如图 3所示。通过在终端使用ifconfig命令查看所用的网络设备并对网口进行配置。其中ec_config_init()函数负责从站的配置信息:包含从站的数量、产品的ID。以便于主站可以和特定的从站进行PDO数据交换。图3EtherCAT应用程序流程EtherCAT状态机的通信机制是用来实现主站和从站之间的通信,并且定义了主站和从站在通信过程中可以采取的状态10。EtherCAT主站要控制从站运行,需要经过四

11、个状态,分别是 Init(初始化),Pre-Operational(预 运 行),Safe-Operational(安 全 运 行),Operational(运行),必须按照“初始化预运行预运13Computer Era No.11 2023行安全运行”顺序进行状态的转化,不能越级转化,从运行状态返回时可以越级转化11。EtherCAT主站控制伺服电机周期同步位置模式模式(Cyclic synchronous position mode,CSP)运行,需要在 Pre-Operational 状态转向 Safe-Operational 状态期间,需要配置从站的信息,主站按照CiA402标准协议进

12、行PDO映射,PDO可以分为RxPDO(信息写入从站)和 TxPDO(从站发出信息),其配置信息如图 4所示。图4周期同步位置模式输入输出伺服电机csp模式运行之前,需要设置伺服驱动器的模式并且控制其使能,根据CiA402协议,csp模式对应的控制模式为8,因此需要将地址60600008h写入8,地址60400010h写入任意数6715的顺序使能伺服驱动器。3.2 周期性实时任务周期性实时任务的作用是实现主站与从站之间过程数据的交换,其包含了主站周期性实时生成控制指令(逻辑运算指令和运动控制算法)并发送给从站,从站接收完主站指令执行周期性任务以及反馈运行状态。在SOEM中实现的代码如下所示:e

13、c_send_processdata();ec_receive_processdata(EC_TIMEOUTRET);周期时间的控制精度影响着EtherCAT实时性的精度,因此时钟函数选用的是拥有纳秒级精度的clock_gettime()和clock_nanosleep()。其周期实时任务设计模块如图 5 所示。其中 clock_gettime()和 clock_nanosleep()函数的第一参数为 CLOCK_MONOTON-IC,将以绝对时间为准,获取的时间为系统重启到现在的时间,系统时间的更改对其没有影响,t1和t2为绝对时间。图5周期实时任务设计模块4 实验平台搭建及测试本文提出的基

14、于 Linux 嵌入式的 EtherCAT 主站实验平台如图6所示,其中主要由EtherCAT主站和从站组成,全志T3系列开发板上使用Linux+RT-PREEMPT+SOEM 的开源架构作为 EtherCAT 主站,从站选用了两台禾川公司开发的X3E伺服驱动器和伺服电机。图6实验平台4.1 Linux内核实时性测试RT-PREEMPT移植完成后,需要对其进行实时性测试,以此来用对在实际应用场合中处理多任务高负载的场景,因此使用压力测试工具模拟系统处于高负载的场景,并且同时运行EtherCAT主站应用程序,然后使用Cyclictest工具测量系统的实时性。使用由图7可知,没有实时内核的Linu

15、x系统的实时线程最大延迟达到了2ms,已经超出了EtherCAT对实时性的要求。而由图 8 表明,经过实时性优化的Linux内核的实时线程的性能得到了极大的提升,最大的延迟在60us左右,平均延迟在18us左右,最小延迟在11us左右,其结果表明实时内核的性能更加优于非实现内核,达到了 EtherCAT主站对实时性 us精度的要求。14计算机时代 2023年 第11期图7Linux非实时内核实时性测试图8Linux实时内核实时性测试4.2 EtherCAT通信测试周期时间需要实际工程的需求来设定,其中EtherCAT数据帧收发的时间是一个重要的影响因素,周期时间设定的值必须要大于 EtherC

16、AT 一帧数据帧 的 收 发 时 间,选 用 clock_gettime()函 数 来 测 量EtherCAT收发帧的时间,经过长时间的测量,最大时间为420us。考虑到伺服运动控制也需要花费时间,因此将周期时间设为2ms。启动EtherCAT主站应用程序,主站与从站进行周期数据交换后,使用交换机分别与PC和T3开发板的网口相连,使用Wireshark软件抓取EtherCAT数据帧并进行统计与分析,EtherCAT报文如图9所示。图9Wireshark软件抓取EtherCAT报文EtherCAT通过检擦字报文中的WKC(Working Cnt)的值并和预期的值进行对比,以此来判断从站是否有正确

17、的处理报文,当字报文经过一个从站时,进行读或写操作成功时,WKC会加1,在进行读/写操作时,读成功时WKC加1,写成功时WKC加2,读写都成功时,WKC的时便会加312。由图9可知,主站连接着两个伺服从站,执行LRW和FRMW的命令后,WKC的数值从0分别变为了6和2,说明了从站正确处理了报文。4.3 主站实时性测试在SOEM中,ecx_context.DCtime是一个用来表示当前 DC 时钟值的变量,可以通过检查 ecx_context.DCtime的值来确定从站的同步状态,因此使用ns级别精度的 clock_gettime()函数来获取当前以及上一个ecx_context.DCtime的

18、值,通过当前的DC值减去上一次的DC值,便可以计算出当前的数据传输时间,经过长时间的测试,其结果如表1所示,EtherCAT数据帧传输平均周期为 2000005ns左右,符合设定了 2ms周期,并且最大的周期为2139840ns,与设定的2ms周期相差了 130us左右,符合 EtherCAT对实时性的要求,而且在测试期间伺服电机通信稳定无报错。表1EtherCAT数据帧传输周期ns测试内容帧周期Min1843440Avg2000005.5728max2139840由表1的结果表明,该方案能稳定运行EtherCAT通信,为了进一步分析其主站的性能,利用tshark工具将Wireshark抓取的

19、EtherCAT数据包中的时间戳提取出来并进行分析,其测试结果如下所示:图10EtherCAT主站周期散点图由图10可知,在Linux+RT-PREEMPT+SOEM 的架构中,EtherCAT主站和从站能正常的周期性通信,该方案的抖动量在80us左右,最大的抖动量在160us左右。与系统设置的2ms周期相比,其延迟是符合预期要求的,并且在保证正常通信的情况下,该方案可以轻松地进行跨平台移植,从而减少了大量不必要的安装和部署工作,降低了学习难度。此外,随着硬件性能的提高,抖动量也会逐渐减少。5 结束语本文介绍了基于Linux+RT-PREEMPT+SOEM的开源框架搭建EtherCAT主站的主

20、要流程,着重介绍了应用程序设计流程和Linux内核实时性优化方法,对搭建好的主站进行性能测试,其结果表明,使用优化(下转第21页)15计算机时代 2023年 第11期decompositionJ.IEEE Access,2019,7:83962-83973.25 Wu Z,Zhuo Y,Li J,et al.A Fast monochromatic fabricdefect Fast detection method based on convolutionalneuralnetworkJ.JournalofComputer-AidedDesign&Computer Graphics,2018

21、,30(12):2262.26 Ramakrishnan K,Jayakumar P G,Saravanan P,et al.ANovelFabricDefectDetectionNetworkintextilefabricsbasedonDLTC/2023InternationalConference on Artificial Intelligence and KnowledgeDiscoveryinConcurrentEngineering(ICECONF).IEEE,2023:1-8.27 Wei B,Hao K,Tang X,et al.A new method using thec

22、onvolutionalneuralnetworkwithcompressivesensing for fabric defect classification based on smallsample sizesJ.Textile Research Journal,2019,89(17):3539-3555.28 Li Y,Zhang D,Lee D J.Automatic fabric defect detectionwith a wide-and-compact networkJ.Neurocomputing,2019,329:329-338.29 刘闪亮.基于卷积神经网络的织物图像缺陷

23、检测定位算法研究D.郑州:中原工学院,2018.30 Cheng L,Yi J,Chen A,et al.Fabric defect detectionbased on separate convolutional UNetJ.MultimediaTools and Applications,2023,82(2):3101-3122.31 Ouyang W,Xu B,Hou J,et al.Fabric defect detectionusing activation layer embedded convolutional neuralnetworkJ.IEEE Access,2019,7:

24、70130-70140.32 孙羽,何志勇,张浩,等.基于DCNN的布匹疵点检测方法J.中国科技信息,2021.33 杨伟嘉.基于自编码器网络的布料瑕疵检测系统D.广州:华南理工大学,2020.34 Zhang H,Zhang W,Wang Y,et al.Colour-patternedfabric-defect detection using unsupervised and me-morial defect-free featuresJ.Coloration Technology,2022,138(6):602-620.35 Wei W,Deng D,Zeng L,et al.Real-

25、time implementationoffabricdefectdetectionbasedonvariationalautomatic encoder with structure similarityJ.Journalof Real-Time Image Processing,2021,18:807-823.36 Zhang H,Tang W,Zhang L,et al.Defect detection ofyarn-dyedshirtsbasedondenoisingconvolutionalself-encoderC/2019IEEE8thDataDrivenControl and

26、Learning Systems Conference(DDCLS).IEEE,2019:1263-1268.37 Cheng H,Liang J,Liu H.Unsupervised direct generationof defect residual images forfabric defect detectionJ,2022.38 Wei C,Liang J,Liu H,et al.Multi-stage unsupervisedfabricdefectdetectionbasedonDCGANJ.TheVisual Computer,2022:1-17.后的Linux内核,以本文方

27、案搭建的EtherCAT主站能顺利运行,主站抖动量稳定在80us左右,具有较高的实时性和稳定性,较好地解决了传统EtherCAT成本高昂、便携性差的问题,为 EtherCAT主站在 Linux平台搭建提供了一种切实可行的方案。参考文献(References):1 袁俊杰,魏任寒,何广平,等.基于EtherCAT的连续体机器人主从站设计J.机床与液压,2022,50(21):7-13.2 冯深,王景存,黎佳亨.基于FPGA和EC-01M的EtherCAT主站控制系统设计J.仪表技术与传感器,2022(10):52-56.3 李宗坡,贺加乐,邱昌华,等.基于Linux平台EtherCAT主站的实现

28、和实时性研究J.信息系统工程,2022,No.337(1):52-56.4 邱昌华,郭永杰,李宗坡,等.基于Xenomai的EtherCAT主站开发与实时性优化J.自动化应用,2021(12):82-86.5 施鲁强,马钧华.基于 EtherCAT 实时工业以太网的多轴系统同步控制J.轻工机械,2022,40(3):66-73.6 高恩博.基于Linux嵌入式平台的EtherCAT主站系统研究与设计D.杭州:浙江大学,2017.7 熊伟,丁跃浇,陈曦.基于ZYNQ平台的EtherCAT主站设计及实现J.湖南理工学院学报(自然科学版),2022,35(3):35-39.8 Changhui Wa

29、ng,Liaomo Zheng,Beibei Li,etal.Design andimplementationofEtherCATMasterbasedonLoongsonJ.Procedia Computer Science,Volume 183,2021:462-470.9 李明.基于 EtherCAT 的运动控制器研究与开发D.南京:南京航空航天大学,2020.10 王哲.基于 EtherCAT 通讯的伺服驱动器设计与实现D.沈阳:沈阳工业大学,2022.11 许鹏.面向 ZYNQ 嵌入式平台的 EtherCAT 通信协议栈设计与实现D.沈阳:中国科学院大学(中国科学院沈阳计算技术研究所),2021.12 陈文生.基于 Linux 平台的 EtherCAT 运动控制系统研究D.广州:华南理工大学,2012.(上接第15页)CECE21

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服