tp钱包app官网下载|ethercat通讯同步错误
tp钱包app官网下载|ethercat通讯同步错误
EtherCAT诊断-分布时钟同步诊断_欧姆龙ethercat从站检测异常?-CSDN博客
>EtherCAT诊断-分布时钟同步诊断_欧姆龙ethercat从站检测异常?-CSDN博客
EtherCAT诊断-分布时钟同步诊断
虹科电子科技
于 2020-01-03 10:59:40 发布
阅读量5.3k
收藏
60
点赞数
7
分类专栏:
工业物联网
文章标签:
ethercat
软件测试
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hongke_Tech/article/details/103816273
版权
工业物联网
专栏收录该内容
140 篇文章
3 订阅
订阅专栏
我们在做EtherCAT主从通讯测试时,比较容易在DC配置出现错误,特别是使用到从站DC模式时,有时会出现代码为0x1A的“同步错误”,有时即使没报错误,伺服从站运行过程中也会出现电机轴的抖动,什么原因呢?这里以KPA EtherCAT和三洋伺服测试举例,通过采集SYNC0与SM2信号之间相位关系波形图,做出诊断结论。
测试前,需要认识两个概念:1、从站同步模式2、同步错误
一、从站同步模式
简单理解就是从站以某个信号作为同步事件(中断信号)来更新数据,EtherCAT支持一下各种同步模式,这里以常用的1,2,3,4举例说明。
Free RunSynchronous to SM2/3 (with Shift)DC Mode 1 (Sync0 Event)DC Mode 1 (Sync0 Event with Shift)DC Mode 2 (Sync0, Sync1, with Shift)DC Mode 3 (SM2 Event, Sync0)DC Mode 4 (SM2 Event, Sync0, Sync1)DC Mode with subordinated cycles
二、同步错误
在应用层,每个从站实时监视从ESC收到的同步SYNC信号。假如检测到同步错误,从站会进入safe-op状态并产生对应的应用层状态码,主站可以通过非周期命令读取这一状态码
可能引起同步错误的原因: 1.主站周期时间/同步信号的错误配置 2.不再收到ESC发送的SYNC信号 3.主站发送数据帧时存在较大的抖动,导致数据帧在从站收到SYNC信号之后才到达从站 所以必须严格保证SYNC0必须在SM2信号之后。
三、概念解释
3.1 COE下0x1C32对象字典对应的几个概念 其中也标注了数据从SM拷贝到从站MCU内存的时间和硬件处理延时时间分别为62.5us和30us。 3.2.FreeRUN模式 自由运行模式通过应用程序控制器的本地计时器中断启动。,本地周期从通信周期或主站周期独立出来单独运行 3.3 SM2事件 由于从站的处理与SM2事件周期相对应,因此从站的处理保持与SM2事件同步。运行时使用本地周期计时间直到收到SM2事件。 3.4.DC模式 SYNC0事件收信后也开始从站的本地周期。 在下个SYNC0中断发生前,过程数据帧必须被从站完全接收
四、开始测试
测试说明:主站周期1ms,分别测试三洋伺服的SYNC0引脚和SM2中断引脚的信号,绿色信号为SYNC0,黄色信号为SM2 测试一 Sync shift time:0μs, Shift time:0μs,不设置传播延时补偿,不设置SYNC0启动延时 测试结果:示波器测试IRQ信号与SYNC0的信号时间差基本上为11μs 测试结果:这时会出现异常的同步错误 测试二、 Sync shift time:0μs, Shift time:250μs 不设置传播延时补偿,设置SYNC0延时250us启动 测试结果:IRQ与Sync0之间的时间差为228–238μs左右,而且SYNC0明显在SM2之后,正常 测试三 Sync shift time:60μs,Shift time:250μs,设置传播延时补偿60us(补偿从站响应时间),设置SYNC0延时250us启动 测试结果:IRQ与Sync0之间的时间差为282–300μs左右,相对测试二,往后延时60us左右,正常; 总结: 1.保证SYNC0信号在SM2信号之后; 2.主站的抖动(SM2抖动)会导致从站伺服的抖动,一般如果主站max circle time jitter大于周期的20%-30% ,会出现问题; 3.通过设置Shift time(SYNC0延时启动)时间可以改变SM2与SYNC0的间隔时间,给从站进行数据拷贝留出更多的时间,保证数据全部更新; 4.每个厂家的伺服,shift time的设置大小不同,需咨询具体硬件厂商,一般是周期的四分之一,或者以自己实际测试为主,只要保证可以完整更新数据,不会出现来不及更新数据即可;
优惠劵
虹科电子科技
关注
关注
7
点赞
踩
60
收藏
觉得还不错?
一键收藏
知道了
9
评论
EtherCAT诊断-分布时钟同步诊断
我们在做EtherCAT主从通讯测试时,比较容易在DC配置出现错误,特别是使用到从站DC模式时,有时会出现代码为0x1A的“同步错误”,有时即使没报错误,伺服从站运行过程中也会出现电机轴的抖动,什么原因呢?这里以KPA EtherCAT和三洋伺服测试举例,通过采集SYNC0与SM2信号之间相位关系波形图,做出诊断结论。测试前,需要认识两个概念:1、从站同步模式2、同步错误一、从站同步模式简单...
复制链接
扫一扫
专栏目录
9 条评论
您还未登录,请先
登录
后发表或查看评论
博客
虹科智能互联:您的智能通讯解决方案合作伙伴
12-18
3892
虹科智能互联事业部是领先的汽车电子与智能自动化领域的解决方案合作伙伴,与全球行业专家开展深度合作,成为了行业内领先的通讯技术服务商。
博客
虹科活动丨SPS广州国际智能制造展览会圆满落幕!亮点一文打尽!
03-13
209
为期三天的广州国际智能制造技术与装备展览会(SPS, Smart Production Solutions Guangzhou,前称SIAF)在广州进出口商品交易会展馆B区圆满落幕。此次展会,作为智能制造领域的一大盛事,不仅吸引了众多行业内外的目光,更成为了推动智能制造技术发展的重要平台。
博客
虹科与您相约:3月4-6日广州国际智能制造技术与装备展览会
03-04
348
广州国际智能制造技术与装备展览会(SPS, Smart Production Solutions Guangzhou,前称SIAF)将于2024年3月4日-6日在广州进出口商品交易会展馆B区隆重举行。新一届展会将与母展SPS同步,涵盖智能制造八大焦点主题。虹科智能互联将携行业领先的解决方案亮相,期待与您共襄盛举,探索智能制造新未来!
博客
虹科Workshop丨2月29日与南高齿开展风电齿轮箱技术交流会,共拓风电行业未来!
02-28
318
虹科作为一家致力于高科技解决方案的提供商,为各行业提供定制环境监测解决方案,我们不断创新,确保长期稳定的监测结果和可靠的产品质量,助力客户实现成功。为了更好地了解客户需求,提升虹科解决方案的影响力,我们计划于2024年2月29日与南京高速齿轮制造有限公司开展风电齿轮箱技术交流会。
博客
虹科方案 | 冷链物流温度监测解决方案
02-23
321
先进疗法(细胞和基因)和生物制剂的生产线非常庞大。由于高度个性化,这些医疗方法大多需要高质量的超低温储存和运输。这些疗法的冷冻或运输过程中的任何一个失误都可能关乎到患者的生命安全。
博客
虹科技术丨PTP时钟源设备全攻略:从普通时钟到透明时钟的进阶之路
02-22
346
在现代通信技术中,精确时间同步对于保障网络性能至关重要。PTP(Precision Time Protocol)时钟源设备作为实现高精度时间同步的关键组件,其配置和选择对于网络架构师和工程师来说至关重要。本文将探讨普通时钟和透明时钟的特性及配置策略,以助您更好地理解和应用PTP时钟源设备,确保通信网络的高效稳定运行。
博客
虹科方案丨冻干机全面验证和监测解决方案
02-21
898
要在冻干过程中取得最佳效果,验证是确保高效和高质量结果的关键步骤。通过进行全面的冻干机验证和流程开发,您可以发现并解决可能影响设备性能和可靠性的错误。通过全面的测试和分析,您可以优化周期时间,提高产品的一致性,并将批次失败的风险降至最低。
博客
虹科方案 | 冷藏和冷冻设施设备的验证和监测解决方案
02-21
865
药品和生物技术产品非常敏感,需要最佳的储存条件。冷藏和冷冻设施设备对产品的稳定性至关重要,它们有特定的储存和运输温度范围。通过遵循FDA和GMP法规,您可以防止高成本的召回,减少浪费并保证患者安全。
博客
虹科方案丨低负载ECU老化检测解决方案:CANCAN FD总线“一拖n”
02-20
512
在汽车电子行业中,ECU(电子控制单元)是控制车辆各种系统的关键组件,如发动机控制单元、制动系统、空调系统等。ECU负责监测和管理车辆的各种功能,它们通过接收传感器数据并对其进行分析来确保车辆安全、性能和效率。ECU的老化可能导致诸如性能下降、功能失效甚至安全风险等问题,因此对ECU老化进行检测非常重要。本篇文章为您介绍虹科低负载ECU老化检测解决方案。
博客
虹科方案 | 释放总线潜力:汽车总线离线模拟解决方案
02-20
1205
传统的ECU模拟工具通常需要依赖上位机软件来发起通信,这在离线场景和自动化产线中带来不便。为了应对这一挑战,虹科推出了创新的汽车总线离线模拟解决方案,基于PCAN-Router系列网关,通过内部可编程固件,实现了自主报文自发功能和实时离线通信,为工程师提供了一个高效、灵活且安全的测试平台。
博客
虹科分享 | PCAN工具:强大的CAN通讯解决方案,你了解多少?
02-02
1168
在当今的汽车和工业自动化领域,可靠的通讯系统至关重要,虹科PCAN工具为这些应用提供了强大的支持。本文将介绍虹科PCAN工具的功能、应用和优势,帮助您根据实际需求选择合适的工具和配件。
博客
虹科技术丨一文详解IO-Link Wireless技术如何影响工业无线自动化
02-02
1361
在工业无线自动化的飞速发展进程中,IO-Link Wireless技术成为了一项具有颠覆性的创新。它将IO-Link协议与无线连接完美结合,解决了传统通信技术在工业应用中的痛点。本文将深入解析IO-Link Wireless技术的原理、应用领域、优势以及实际案例,帮助您全面了解这一技术的潜力。
博客
虹科分享丨一个高尔夫球用品制造商怎样处理数据?
01-25
563
尽管TaylorMade在全球拥有1600多名员工,但该公司只有五名BI分析师可为该组织提供支持。在使用Domo之前,这个小团队发现自己实在无暇顾忌大量的请求。花了太多时间整理不同来源的数据,因此分析数据的时间被大大压缩。此外,他们现有的BI工具仅具有数据收集或可视化的基本功能,数据的潜力并没有最大化。
博客
虹科分享丨汽车技术的未来:Netropy如何测试和确保汽车以太网的性能
01-25
1875
在汽车行业持续创新的今天,汽车以太网的性能和可靠性成为了关键焦点。如何测试和确保汽车以太网的性能?我们来看看BroadR-Reach技术如何革新车载网络,并通过综合性能测试来确保网络在各种环境下的稳定运行和高效安全性。
博客
虹科分享丨如何运用AR技术提升制造效率?这里有答案!
01-24
522
当谈及AR技术在工业领域的应用,首先让人想到的是它为企业带来的巨大变革。从工业设计和制造到设备维护和维修,再到培训和技能传承以及设备操作和监测,AR技术凭借其独特的方式,帮助企业实现更高效的生产和运营。通过这些环节的优化,企业能够显著提升工作效率和产品质量,降低成本,从而在激烈的市场竞争中脱颖而出。
博客
虹科分享丨AR与AI融合加速,医疗护理更便捷!
01-24
830
医疗保健行业正在经历转变,其中AR技术的应用涵盖了多个领域。包括手术辅助、医疗示教、手术的虚拟培训、心理健康治疗等领域,此外,AR在医疗护理领域也展示出优势,今天,我们来谈谈,AR如何辅助医生与患者进行医疗护理。
博客
虹科方案丨湿热灭菌工艺验证解决方案,确保所有产品和容器达到无菌要求
01-24
1279
湿热灭菌工艺验证解决方案,确保所有产品和容器达到无菌要求
博客
德思特方案|MIMO测试方案,全方位探索无线通信新维度
01-23
1193
在当前的无线通信环境中,多输入多输出(MIMO)技术已经成为提高网络性能和容量的关键技术。
博客
德思特干货|德思特ADC/DAC静态参数测试系列(一)——什么是ADC转换点?
01-23
544
在现代电子系统设计与高速通信、信号处理、雷达探测、医疗成像以及各种工业自动化应用中,模数转换器(ADC)和数模转换器(DAC)扮演着至关重要的角色。
博客
德思特干货|如何使用SBench 6对数字化仪采集信号进行处理?(三)——快速傅立叶变换(FFT)
01-23
1133
上一篇文章介绍了德思特SBench 6的平均运算功能。本章将继续为大家介绍SBench 6的快速傅立叶变换(FFT)。
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
虹科电子科技
CSDN认证博客专家
CSDN认证企业博客
342
原创
1万+
周排名
3644
总排名
45万+
访问
等级
7308
积分
1540
粉丝
1762
获赞
34
评论
2271
收藏
私信
关注
热门文章
仿真测试 | HIL测试简单介绍
8611
【汽车总线技术】CAN和CAN FD总线故障诊断
7887
【虹科车用总线技术】PCAN-USB使用手册
7373
工业通讯 | IO-Link协议概述
6087
EtherCAT诊断-分布时钟同步诊断
5336
分类专栏
车辆网络
58篇
科技
10篇
IT解决方案
91篇
自动驾驶
6篇
虹科新闻
46篇
点成生物科技
17篇
汽车故障诊断
6篇
虹科云课堂
4篇
机器视觉与光电检测
50篇
测试测量
90篇
工业物联网
140篇
FPGA
13篇
ARVR
25篇
环境监测
31篇
最新评论
虹科方案 | AR助力仓储物流突破困境:规模化运营与成本节约
简单简单小白:
《虹科方案 | AR助力仓储物流突破困境:规模化运营与成本节约》感谢博主的优质好文,文章细节很到位,兼顾实用性和可操作性,感谢博主的分享,期待博主持续带来更多好文!
高密度热电偶仿真模块
weixin_51929274:
有具体的参考资料么?
虹科干货丨Lambda数据架构和Kappa数据架构——构建现代数据架构
虹科电子科技:
感谢对虹科的认可!
虹科干货丨Lambda数据架构和Kappa数据架构——构建现代数据架构
一键难忘:
优质好文,博主的文章细节很到位,兼顾实用性和可操作性,感谢博主的分享,期待博主持续带来更多好文
EtherCAT诊断-分布时钟同步诊断
weixin_44769409:
您好,我想问一下在什么情况下才会出现,从站处理器不再收到ESC发送的SYNC信号,从而导致看门狗报错
大家在看
Rust语言开发 Mq队列无法并发消费解决方法 - 曲速引擎(Warp Drive)
542
Linux基础学习:常用命令
546
想零基础转行Python开发,怎么学习呢?
想零基础转行Python开发,怎么学习呢?
Python JSON 序列化以及反序列化 文件读写
53
最新文章
虹科活动丨SPS广州国际智能制造展览会圆满落幕!亮点一文打尽!
虹科与您相约:3月4-6日广州国际智能制造技术与装备展览会
虹科Workshop丨2月29日与南高齿开展风电齿轮箱技术交流会,共拓风电行业未来!
2024
03月
2篇
02月
9篇
01月
34篇
2023年198篇
2022年88篇
2021年166篇
2020年125篇
2019年2篇
目录
目录
分类专栏
车辆网络
58篇
科技
10篇
IT解决方案
91篇
自动驾驶
6篇
虹科新闻
46篇
点成生物科技
17篇
汽车故障诊断
6篇
虹科云课堂
4篇
机器视觉与光电检测
50篇
测试测量
90篇
工业物联网
140篇
FPGA
13篇
ARVR
25篇
环境监测
31篇
目录
评论 9
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
添加红包
祝福语
请填写红包祝福语或标题
红包数量
个
红包个数最小为10个
红包总金额
元
红包金额最低5元
余额支付
当前余额3.43元
前往充值 >
需支付:10.00元
取消
确定
下一步
知道了
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝
规则
hope_wisdom 发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。
余额充值
EtherCAT Diagnostics 诊断 - 知乎
EtherCAT Diagnostics 诊断 - 知乎首发于深入浅出之Beckhoff切换模式写文章登录/注册EtherCAT Diagnostics 诊断噜啦啦学而时习之,不易悦乎一、EtherCAT 错误是怎么检测到的?EtherCAT 通常具有“即扫即用”的特性,扫描网络、启动系统,所有组件就运行起来了。绝大多数情况下不需要设置任何参数。发现EtherCAT网络的通讯问题,典型的情况是因为以下原因:机器停止工作,或者控制项目 (PLC 程序, NC 任务…) 接收到的数据值明显与实测值不一致。示波器测到信号为True,而PLC变量值为False.在TwinCAT项目中显示了错误(典型的情况是在Master Online页面或者TwinCAT Logger)二、EtherCAT 网络中的错误类型能影响到EtherCAT网络的错误分为2大类:1.硬件错误物理介质中断:数据帧无法达到所有从站,或者根本不能回到主站。信息破坏: 数据帧到达网络中的所有从站并回到了主站,但有一些内容改变了。2.软件错误启动时从站达不到OP状态,因为来自主站的一个或多个初始化的命令被检测到不正确由于在操作过程中检测到错误,一个正常工作的从站突然脱离OP状态EtherCAT 分别从硬件和软件层面提供了丰富的诊断信息, 诊断信息可以按下图归类:三、周期性同步诊断周期性同步诊断 – Working CounterWorking Counter 是和过程数据(Process Data)一起的周期性送回主站的唯一诊断信息,所以这是最早能被主站和用户程序检测到的报警标记。一个EtherCAT数据帧中的每个数据报文都以一个16位的Working Counter (WKC)结尾,WKC 每经过一个数据报文中指定的从站就会递增,递增的原则如下:Read-only 命令(xRD): 如果从站内存可读,则 WKC+1.Write-only 命令(xWR): 如果从站内存可写,则 WKC+1.Read+Write 命令(xRW): 如果从站内存可读 WKC+1,可写则 WKC+2 (i.e. 如果读写都成功则 WKC+3).1.主站检查返回的每个数据报文的WKC值返回主站的数据报文中的WKC 当前值 = 预期值 →WKC 有效,数据报文中的输入数据转发给控制程序(PLC, NC, …)每个总线周期主站都会验证 Working Counter.返回主站的数据报文中的WKC 当前值 ≠ 预期值 →WKC 无效,数据报文中的输入数据被丢弃 (PLC/NC 使用旧的数据)本页是WKC验证有效的情况验证的结果就在每个同步单元Sync Unit的从站的WcState信息中标记,验证成功则WcState为0,验证失败则WcState为1这就是为什么一个同步单元Sync Unit会共享同一个WcState标记,而任一从站读写不成功都会导致整个数据报文都无效。读写不成功的原因:从站没有成功增加WKC,有可能因为物理上数据帧就没有到达,或者因为它不在OP状态,或者其它可能的原因。在最新版的TwinCAT 3.1中,可以把单个从站(左图)或者全部网络从站(右图)配置为:主站把 无效的输入数据全部置 0 而不是废弃之。这个功能更加危险,如果开发人员考虑不周,可能性会引起程序误动作。慎用!2.Working Counter 相关信息:很少能检测到具体是哪个或者哪些从站没有成功处理数据报文(数据报文中指定地址的从站没能成功增加数据报文的WKC)。不会报告错误原因(从站没有成功增加WKC,有可能因为物理上数据帧就没有到达,或者因为它不在OP状态,或者其它可能的原因)。WKC与数据帧同步到达,主站以最快的速度作出故障响应,立即向控制程序或者用户提供一个故障标记位。WKC的有效标记位通常还需要与硬件或者软件诊断信息同时使用,这些诊断信息可以 由主站发送命令读取回来,并帮助定位故障位置和故障原因。Working Counter 的主要目的是立即检测出通讯错误, (i.e. 为了主站快速做出反应), 而不是为了精准分析通讯错误四、Working Counter 和 Sync Units(WKC和同步单元)1.SyncUnits(同步单元) 把从站分为不同的组,每个组使用不同的数据报文,所以每个同步单元具有独立的 WKC。对于伺服驱动器,为了精确定位故障点,可以把每个伺服都设置为独立的同步单元。对于IO模块,可能把一个耦合器及所带的IO模块,配置为一个同步单元。为了优化的目的,Sync Unit 的配置是一个可选的步骤。关于如何分配同步单元,并没有一个黄金法则,因为这是由项目决定的:通常来讲,工作时紧密相关的从站应该分配到同一个同步单 元,而功能相对独立的从站应该放到独立的同步单元。2.在 TwinCAT中指定 SyncUnitTwinCAT为不同的Sync Units(同步单元)创建独立的数据报文,每个报文拥有自己 Working Counter 计数器五、硬件诊断1.硬件状态速览主站的 Online 页面,提供了诊断网络硬件问题的最佳方法系统上电时候可能产生硬件错误,并在TwinCAT中累加,而通常这些错误并不代表有问题。所以,查找可能的硬件问题时,建议清除程序启后的所有错误计数,这样才能监视到运行过程中 发生的实际错误次数。2.初步检查 – 拓朴错误VPRS = Vendor ID, Product Code, Revision Number, Serial Number: 网络启动时主站扫描到的拓朴结构与TwinCAT 配置文件的朴拓结构不符。此类错误的原因,可能只是简单地插错网线。3.初步检查 – 接地和屏蔽发生硬件错误时,建议必须检查EtherCAT网络设备是否共用同一个接地(因为不同接地之间的 环流可能导致数据损坏)。关于EtherCAT网络安装的更完整、全面的描述信息,请参考ETG文档 ETG.160 “EtherCAT Installation Guidelines” ,可以从ETG官网www.ethercat.org.下载。4.初步检查 – EBUS 电流每个 EL 模块都会消耗若干 EBUS 电流,硬件故障发生时,建议必须检查每个I/O组的可用Ebus电流。根据经验,EBUS耗电量大的模块,比如网关模块EL6xxx,在保证其EBUS供电足够的前提下,建议散放在耗电量小的模块( 比如普通DI/DO模块)之间,所以尽量不要几个网关模块挨在一起,也不要紧挨着控制器或者耦合器放置。这是从散热的角度考虑。电流消耗达到限值时,应插入一个 EL94xx 模块。EL9100电源模块不仅可以接入负载电源,还有散热的作用,是最便宜的发热量最小并且能传递EBUS的模块。相同价格的还有EL9186/EL9187等电位分接模块。5.Emergency Scan(紧急扫描)Emergency Scan (紧急扫描)操作,可以发送预定数量的探测数据帧,用于快速测试物理连接 (TwinCAT 应处在 Config Mode):Emergency Scan 能够快速检查EtherCAT网络的永久硬件问题 (设备、电缆或者接头损坏)。用Emergency Scan的方法很难检测到随机的/不定时的干扰,处理这种干扰,应该进行完整的error counter analysis (错误计数分析)。6.EtherCAT 端口的硬件诊断为了进行更深入的分析,从站提供了基于端口的(port-specific)硬件错误计数。EtherCAT 定义了端口号 0 to 3 (端口 0 总是输入口),而TwinCAT 中通常把这些端口依次叫做A 到 D (A 总是输入口),两种端口定义方式是等效的:Master的Online页面,可以在线看到CRC校验错误计数。大部分从站是两个数字,耦合器EK1100有3个数字,而分支模块EK1122则会有4个数字。7.Link Lost (连接丢失)错误计数器有时候两个EtherCAT从站之间的物理连接可能会完全中断:信号完全无法到达相邻的从站。Link loss(连接丢失),最有可能的原因是:电缆或接头损坏(电缆连接),接触弹片不够力或者氧化( Ebus连接)。一个或者几个从站掉电。一个端口上的物理连接中断,从站就会把该端口的 Link Lost Counter(连接丢失计数器) 加 1。Register 内存地址长度含 义0x03101 字节port 0 的连接丢失次数0x03111 字节port 1 的连接丢失次数0x03121 字节port 2 的连接丢失次数0x03131 字节port 3 的连接丢失次数物理连接的状态发生久性或暂时性的改变,在TwinCATLogger消息区中都会报告(并且保存在Windows Log 中)。8.Link/Activity (连接/活动)指示灯连接的永久中断很容易检查出来,不用分析连接丢失计数器( Link Lost Counters ),只需要简单查看主站的Online页面:9.无效帧(Invalid frame)错误计数器有时候,即使硬件信号到达了相邻的从站,接收到的信号却与最初发送的不一致:数据包发生损坏,最有可能的原因是:如果该错误计数零星增加,极可能是由于外部 EMC 干扰。如果该错误计数快速且稳步增加,极可能是由于设备损坏。一个端口上的数据帧破坏,从站就会把该端口的 InvalidFrameCounter(无效帧计数器)加 1。RX 错误计数器 和 CRC 校验错误计数器,都意味着硬件接收到的数据帧损坏,表征信息非常相近,但是二者分别是在从站架构的不同层面检测到的,其含义也略有不同。10.物理介质上的信号传输0和1的逻辑序列要在物理介质上传输,需要编码成预定义的电压/电流 电平(或者电平转换)。电流/电压 值的序列叫做 symbols(符号).基于特定的硬件编码标准,电流/电压值的可能序列并不是全都具有含义,这样就有了 有效符号和无效符号的分别。物理介质上符号是连续传输的,既在Ethernet数据帧内也在数据帧外(数据帧外的符号序列是为了让接收方及时检测到可能发生的连接丢失错误)通讯由符号序列组成携带着有含义的信息的符号序列,就是Ethernet 数据帧。两个Ethernet数据帧之间传输的符号序列,就是 数据帧间隔硬件错误分为两种类型,都在无效帧计数器中累计。RX Errors:个别符号错误 (被特定的硬件解码器识别为无效).在数据帧内部或者外部都可能发生(即使是在没有数据帧传输的时候,每个物理接口都会传输 idle 即表示空闲的符号)→ RX Error Counters (无效帧计数器的高字节)CRC Errors:整个数据帧的循环冗余校验(CRC)错误.在数据帧内发生 (只有Ethernet 数据帧才进行校验).→ CRC Error Counters (无效帧计数器的低字节)11.RX 和 CRC 错误的类比硬件通讯介质上的数据传输可以用标准的语言书写来打个比方:RX 和 CRC 错误 在解释上具有细微的差别,例如:CRC校验只检查数据帧(Frame)内语义是否正常,但并不能发现网络帧间隔的非法字符。RX校验所有字符是否非法。CRC 错误 – 什么情况下会检测出来?12.链接丢失(Lost Link)错误的简单监视在EtherCAT主站的Online页面可以监视到链接丢失(Link Lost)只要在主站的Advanced Setting中启用累加计数“Show Change Counters”即可:添加这些操作是不需要重启TwinCAT软件的此计数表示与从站的物理连接丢失的次数(1表示首次连接,>1表示在运行期间至少出现过1次 物理连接丢失)。在EtherCAT主站的Online页面可以监视到数据帧错误(Frame error)即从站的RX Error计数寄存器的低字节,错误计数如下:从站的Frame Error计数器中保存着自TwinCAT启动以来的累计出错次数,点击“Clear CRC”所有从站的CRC计数清零,并重新累计。13.怎样正确跟踪硬件错误计数为了追踪硬件错误计数,建议进行以下设置:在主站的Advanced Setting中 不要勾选 “Log CRC Counters” 标记。在Online视图中添加注册字 0x0300÷0x030A 和 0x0310÷0x0312。激活并重启 TwinCAT 配置:重启TwinCAT后,清空所有错误计数:TwinCAT 中,EtherCAT主站的 Online 页面总是以 word-oriented 的方式显示计数值。等待,直到错误补检测到:捕捉到的错误次数越多越好 (关闭项目或者重启TwinCAT就会清除计数,而最小化项目或者切换窗口则不会清除计数). 记录的值可以导出,以供进一步分析。错误计数采集完成后,记得应把 “Log CRC Counters” 重新勾选上。(TwinCAT 需要重启).14.怎样定位一个错误?为了从显示的CRC错误计数分析出网络中的故障点分布情况,建议:逻辑上沿着网络数据帧传播的方向确定从站端口执行CRC校验的顺序(根据 前述信息 previous information):根据前面确定的顺序检测第一个报告RX Error Counter >0 的端口:在网络中定位第一个报告RX Error的故障点:报告无效错误计数器不为零的第一个端口 → 极有可能就是故障点。15.在故障点采取什么措施?在上页定位到故障点 previously located 后,应进行以下操作 :检查与上个从站之间的连接电缆:EtherCAT网线的走向是否靠近电源线或者干扰源?是否自制电缆的接头做工很差?电缆的屏蔽层是否接地良好?检查故障点的站和前一个从站:是否供电不足 (供给本站的电流太小, 例如:EBUS 电流)?两个从站的接地点不是等电位?试着替换该从站和前一个从站,或者交换二者的顺序,以查看错误是跟随某个从站还 是出现在原先的位置。对于 EMC 干扰, 应该会导致 RX 和 CRC 错误都有增加 (即使二者增加的机率可能不同), 因为外部干扰不可能与通讯同步,于是在Ethernet 数据帧内部和外部都会破坏数据。完全不平衡的计数值 (RX错误很多,而没有CRC错误,或者很CRC错误而没有RX错误)可能意味着其中一个从站的内部硬件错误。16.深入了解 - CRC 错误的转发机制部分从站还额外支持 转发CRC错误计数器(Forwarded CRC Error Counters): 第1个检查出CRC错误的从站,其CRC 错误计数器(Register 0x0300)增加,第2个及之后再检查出CRC错误的从站则增加其转发CRC错误计数器(Register 0x0308)而CRC 错误计数器保持不变。并非所有从站都支持 转发CRC错误计数器(Forwarded CRC Error Counters) 功能 (该特性为可选项) ,所以该计数应视为补充信息: 有助于定位出错的第1个设备,但不是关键指标。17.深入了解 – 转发CRC错误的计数器TwinCAT 中, EtherCAT主站的 Online 页面总是以 word-oriented 的方式显示计数值,所以转发CRC错误计数器( Forwarded CRC Error Counter )的说明如下:18.主站错误计数此外,EtherCAT 主站 也提供硬件错误 计数:EtherCAT 主站支持两种不同的错误计数器 :Rx Errors: 与从站侧的 RX 错误计数器类似,由网卡统计符号错误的次数 (发生在数据帧内和数据帧外的错误).Lost 数据帧: 由于EtherCAT闭环在某处中断未能返回主站的数据帧和返回了但CRC校验错误的数据帧 TwinCAT 都视作丢失的“lost“。在TwinCAT中,如果丢失一个数据帧,则该数据帧包含的所有数据报文(Datagram,即Sync Unit同步单元)都会报Working Counter 错误,显示为所有从站的WcState为Invalid。分别考虑不同的数据帧类型:Cyclic: 周期性数据帧 发送要交换的过程数据( Process Data):Queued: 排队等候的数据帧,包括所有非周期性的数据帧: 邮箱 Mailbox, 状态机 State Machine, 注册字访问 Register access19.在线查看拓扑结构大部分硬件诊断信息,可以在 Topology View 界面监视Topology View 是个 ActiveX 插件,可以导出到任何独立于TwinCAT 开发环境的 Windows 应用。六、Software Diagnostics 软件诊断1.软件层面的错误 – EtherCAT 状态机软件层面的诊断信息,通常与EtherCAT 状态机操作有关: 一旦从站不能按主站要求进入正确的状态, 就会在从站的注册字(Register 0x0134)中报告AL状态代码(AL Status Code)。在 TwinCAT Logger 中也会显示状态机错误:TwinCAT 默认总是试图清除状态机错误,并且把所有从站切回OP状态。此时, 要在主站的Advanced Settings中取消选中该标记。2.状态机切换异常( Unexpected State Transitions )的简单监视在EtherCAT主站的Online页面可以监视从站状态机异常切换的次数,只要在主站的Advanced Setting中启用该计数即可显示:此计数表示与从站的状态机切换异常的次数(1表示首次切换,>1表示在运行期间至少出现过1 次状态切换异常)。3.EtherCAT 状态机错误的类型EtherCAT 状态机错误可以归为2个大类:初始化错误 (启动时从站不能进入OP状态): 状态机切换过程中,主站根据 ESI 文件的内容向从站发送初始化命令. 如果从站检测到一个或者几个 start-up 参数无效,就会拒绝相应的状态机切换。典型 的初始化错误:此时 Register 0x0134 的值显示为:0x0003 : Invalid Device Setup (BK1xxx上配置的KL模块顺序不正确)0x001D : Invalid Output Configuration (配置的输出过程数据无效)0x001E : Invalid Input Configuration (配置的输入过程数据无效)0x0035 : Invalid Sync Cycle Time (在 DC 模式中设置的Cycle Time不支持)运行时错误 (从站退出OP到更低级的状态): 配置正确的从站成功进入OP状态以后,在运行过程中检测到错误,并因此执行切换到更低级的状态。典型的运行时错误:此时 Register 0x0134 的值显示为:0x001A : Synchronization error (网络的抖动导致从站的同步丢失)0x001B : Sync manager watchdog (从站未接收到周期性数据的时间,持续超过了watchdog时间)0x002C : Fatal SYNC error (ESC 再未收到 SYNC 硬件中断)4.发生初始化错误 – 怎么办?从站的 ESI 文件应包含TwinCAT在网络中正确配置该从站所需要的全部信息。如果使用从ESI读取的默认设置来激活配置 (而不做任何手动修改), 从站应该能进入OP状态而不报错。如果发生了初始化错误:确保 ESI 文件复制到了 包含所有从站描述文件的TwinCAT统一路径(ESI 文件中的ProductCode 和 Revision Number 与CoE对象 0x1018 中显示的信息相匹配)。检查从站的默认设置是否改动过,如果改过就删除该从站再在TwinCAT配置中手动添加。(以恢复默认设置)对模块化的从站(For modular slaves) ,检查“Slots” 页面配置的模块与实际连接的模块在型号、数量、顺序上是否严格一致。对具有分布时钟同步功能的从站设备(For DC-Synchronous devices),检查主站的Jitter或者Sync Shift Time的设置是否会妨碍从站正确实现DC同步。如果是这种情况 ,只是检查并不能解决问题,必须联系从站的制造商。5.发生运行时错误 – 怎么办?从站成功进入OP状态以后,在运行时不会无故退出OP状态。如果发生了运行时错误:如果从站发生了 watchdog 错误,检查TwinCAT 软件任务 (PLC 程序, NC 任务, …)是否正确运行,因为在TwinCAT中总是由上述任务触发数据帧的周期性发送和接收。检查主站设备的Jitter表现(抖动范围)是否能证明发生了同步丢失。(最大的Jitter超过通讯周期的20-30%时,很容易发生同步错误)。检查是否发生了硬件错误,比如物理连接丢失,这种错误可能间接导致Watchdog动作,或 者同步丢失 ( 参考“物理层问题的硬件诊断 ”)。如果是这种情况 ,只是检查并不能解决问题,使用 Wireshark 进行追踪会是个有用的办法。6.保存和导出软件错误状态机错误保存在 Windows Log 中,可以导出,以便在即使TwinCAT Logger已经关闭或者不可用的时候,还可以进一步分析:7.历史诊断信息(Diagnose History Object)对于所有应用相关的错误,部分 CoE从站设备支持“历史诊断信息”功能 (Diagnosis History Object ) Register 0x10F3.如果从站支持该功能,TwinCAT 就会额外显示一个页面 “Diag History” :8.邮箱协议错误(Mailbox Protocol Errors)邮箱协议错误( Mailbox protocol errors )是一个指定类的一般性软件错误,它不是厂家自定义的,不影响 EtherCAT 状态机,不会阻止也不会导致意外的状态切换。仅当执行某个特定的邮箱协议所禁止的动作时,才会发生邮箱协议错误。在 ETG.1000.6 规范中,公布了每个邮箱协议支持的错误代码及描述信息。9.发生了邮箱协议错误(Mailbox Protocol Errors )– 怎么办?根据特定的邮箱协议,可能的错误原因是:•CoE-主站试图读写从站的对象字典(Object Dictionary)中并不存在的对象-主站试图对从站的某个“只读” 对象执行“写入”操作。-主站试图以“完全访问”的方式访问从站的某个对象,而从站并不支持该功能。•FoE-文件名错误 (例如, 缺少扩展名*.xxx).-从站需要密码, 但未被正确设置-文件大小超出了从站能接受的范围-从站不在 Bootstrap 状态•EoE-主站试图把从站的 IP-Add(Internal Use)ress 配置为末位为0的值(比如“x.y.z.0”),而EoE从站的Tcp/Ip 协议栈拒绝此设置。注意:•TwinCAT 仅在以下时段 读/写 CoE 参数: -在初始化阶段(Startup 命令) -CoE-Online 页面打开时•如果错误信息显示TwinCAT试图间歇性地读写CoE参数,很可能这是PLC程序的动作。七、TwinCAT PLC 中编写EtherCAT 诊断程序1.在PLC程序中系统地诊断 EtherCAT 状态对于EtherCAT 网络, TwinCAT 自动提供了大量诊断信息,可以在PLC程序中用于检测总线通讯的错误, 以便自动做出响应并报告给用户。用户总是倾向于在PLC程序中实现最少的EtherCAT诊断,因为这样有助于通讯错误发生时节约大量的操作时间。TwinCAT PLC 程序可以混合使用 2 种不同的诊断信息 :周期性信息 : 默认包含在EtherCAT网络的周期性过程映像数据中的 输入数据, 可以直接映射到相应的PLC输入变量 (AT %I*).非周期性信息 : PLC程序调用默认库文件(TcEtherCAT.lib)中指定的功能块,可以获取这些非周期性的EtherCAT诊断信息 。2.TwinCAT 中的周期性诊断信息注意:至少所有从站的 WcState 和 State 变量应链接到 PLC 程序,以便应用程序可以对 EtherCAT 进行最基本的诊断。3.周期性信息 - FrmXWcState 变量允许 PLC 检查每个报文的 Working Counter 信息:每个配置的Frame都具有一个16位的诊断变量 FrmXWcStateFrmXWcState 的每个位对应Frame中的特定报文如果对应报文的Working Counter错误,这个位就会变为TRUE4.周期性信息 - WcState 变量这是每个从站的过程数据中都具有一个布尔型变量如果报文的Working Counter 错误,报文中所有从站的WcState 变量都会被置位,所以,如果一个从站的 WcState = 1, 也并不表示它本身发生了错误。 (内部使用) 进一步的信息需要查看这些 WcState 为 1 的从站的16位状态变量 State5.周期性信息 - State 变量EtherCAT Master汇总从网络收集的诊断信息,周期性地更新State变量,对应几种错误情况:6.周期性信息 – State 变量状态变量报告的错误诊断信息如下:7.非周期性信息 – TcEtherCAT PLC Library在TC2和TC3的默认安装中都免费提供TcEtherCAT.lib库, 该库包含若干功能块,可以对EtherCAT网络进行非周期 性诊断Frame 分析CRC 分析从站识别配置从站的数量和列表实际从站的数量和列表该库原则上允许PLC程序自动读取在TwinCAT开发环境中 在线显示的所有信息。功能块FB_EcGetSlaveTopologyInfo功能块FB_EcGetSlaveTopologyInfo返回关于不同从站的端口如何相互连接的信息,以及(配置的)网络拓扑结 构的信息,(如果配置了热连接组,则它们将列在阵列的末尾)。功能块FB_EcGetConfSlaves功能块 TwinCAT 离线配置,知道 EtherCAT 网络包含哪些从站。功能块 FB_ecgetscannedsaves功能块 FB_ecgetscannedsaves 使 PLC 可 以 获 取EtherCAT网络在线检测的实际从站信息,以便和使用FB_EcGetConfSlaves 获得的离线配置的从站信息进行比较。功能块 FB_ecgetscannedsaves功能块FB_ecgetallslavercerrors可以周期性调用,以判断一个或多个从站是否报告CRC错误。这样就可以只对 这些出错的从站调用FB_ecgetslavecercerrorex,以获取进一步的故障信息。功能块FB_ecgetslavecercerrorex功能块 FB_ecgetslavecercerrorex 使 PLC 可 以 获 取EtherCAT主站记录的特定从站的CRC错误信息,这些信息与TwinCAT 开发环境中的 EtherCAT 监视界面显示的信息一致。功能块FB_EcMasterFrameStatistics功能块 FB_EcMasterFrameStatistics 使PLC可以获取EtherCAT主站检测到的Frame丢失等情况,这些信息与TwinCAT 开发环境中的 EtherCAT 监视界面显示的信息一致。功能块FB_EcGetAllSlaveAbnormalStateChanges功能块FB_EcGetAllSlaveAbnormalStateChanges,统计每个从站 从 OP 退至 SafeOP 的异常状态切换,但并不报告每次异常切换时相关的特定AL 状态码。功能块FB_EcGetLastProtErrInfo功能块 FB_EcGetLastProtErrInfo 允许覆盖上一次邮箱协议错误 Mailbox protocol error (例如, CoE协议的SDO退出代码).对同一从站的下一次正确邮箱访问会清除此前记录错误信息的内存区。八、附件:使用 Wireshark 进行诊断1.如果软件诊断还不够 – 使用 WiresharkWireshark 并不是用以取代TwinCAT中的诊断功能 。对于用户来说,应当在使用了其它诊断方法都无法找到故障点的时候,才使用这个“终极武器”。使用ET2000 可以在Wireshark中获得最好的捕捉效果为了执行 Wireshark 抓包,有多种不同的硬件配置。2.Wireshark 抓包的硬件配置 1不支持 Windows CE没有精确的时间戳3.Wireshark 抓包的硬件配置 2不支持 Windows CE有精确的时间戳4.Wireshark 抓包的硬件配置 3支持 Windows CE有精确的时间戳5.Wireshark 示例Wireshark 允许追踪每个 EtherCAT 数据帧的 list, structure and content of (在一轮捕捉过程中,每个数据帧会被捕获两次!).下图显示了捕获的一个周期性数据帧:6.Wireshark – 时间戳协议( 仅当使用ET2000时 )使用ET2000时,为了在Wireshark中获取到极为精确的时间戳(time-stamping)信息, 应当启用对ESL协议的解析功能。Wireshark Version 2 支持此功能。7.Wireshark – 时间戳协议( 仅当使用ET2000时 )…在早期的 Wireshark Version 1中操作如下:8.Wireshark – 显示时间的格式使用Wireshark追踪时,用户可以选择最合适的 时间信息 显示格式:9.Wireshark – 部分过滤选项(Filter Options)捕获的数据帧可以使用过滤功能,可用的过滤选项包括:仅捕获周期性数据帧(Cyclic Frame)Filter: (ecat.cmd == 0x0a) || (ecat.cmd == 0x0b) || (ecat.cmd == 0x0c)仅捕获邮箱通讯(mailbox communication)Filter: ecat_mailbox Filter: ecat_mailbox.coe Filter: ecat_mailbox.soe Filter: ecat_mailbox.foe Filter: ecat_mailbox.eoe仅访问特定的注册字或者注册字区间 (register or register range)Filter: ecat.ado == EtherCAT Diagnostics 诊断 - 知乎首发于深入浅出之Beckhoff切换模式写文章登录/注册EtherCAT Diagnostics 诊断噜啦啦学而时习之,不易悦乎一、EtherCAT 错误是怎么检测到的?EtherCAT 通常具有“即扫即用”的特性,扫描网络、启动系统,所有组件就运行起来了。绝大多数情况下不需要设置任何参数。发现EtherCAT网络的通讯问题,典型的情况是因为以下原因:机器停止工作,或者控制项目 (PLC 程序, NC 任务…) 接收到的数据值明显与实测值不一致。示波器测到信号为True,而PLC变量值为False.在TwinCAT项目中显示了错误(典型的情况是在Master Online页面或者TwinCAT Logger)二、EtherCAT 网络中的错误类型能影响到EtherCAT网络的错误分为2大类:1.硬件错误物理介质中断:数据帧无法达到所有从站,或者根本不能回到主站。信息破坏: 数据帧到达网络中的所有从站并回到了主站,但有一些内容改变了。2.软件错误启动时从站达不到OP状态,因为来自主站的一个或多个初始化的命令被检测到不正确由于在操作过程中检测到错误,一个正常工作的从站突然脱离OP状态EtherCAT 分别从硬件和软件层面提供了丰富的诊断信息, 诊断信息可以按下图归类:三、周期性同步诊断周期性同步诊断 – Working CounterWorking Counter 是和过程数据(Process Data)一起的周期性送回主站的唯一诊断信息,所以这是最早能被主站和用户程序检测到的报警标记。一个EtherCAT数据帧中的每个数据报文都以一个16位的Working Counter (WKC)结尾,WKC 每经过一个数据报文中指定的从站就会递增,递增的原则如下:Read-only 命令(xRD): 如果从站内存可读,则 WKC+1.Write-only 命令(xWR): 如果从站内存可写,则 WKC+1.Read+Write 命令(xRW): 如果从站内存可读 WKC+1,可写则 WKC+2 (i.e. 如果读写都成功则 WKC+3).1.主站检查返回的每个数据报文的WKC值返回主站的数据报文中的WKC 当前值 = 预期值 →WKC 有效,数据报文中的输入数据转发给控制程序(PLC, NC, …)每个总线周期主站都会验证 Working Counter.返回主站的数据报文中的WKC 当前值 ≠ 预期值 →WKC 无效,数据报文中的输入数据被丢弃 (PLC/NC 使用旧的数据)本页是WKC验证有效的情况验证的结果就在每个同步单元Sync Unit的从站的WcState信息中标记,验证成功则WcState为0,验证失败则WcState为1这就是为什么一个同步单元Sync Unit会共享同一个WcState标记,而任一从站读写不成功都会导致整个数据报文都无效。读写不成功的原因:从站没有成功增加WKC,有可能因为物理上数据帧就没有到达,或者因为它不在OP状态,或者其它可能的原因。在最新版的TwinCAT 3.1中,可以把单个从站(左图)或者全部网络从站(右图)配置为:主站把 无效的输入数据全部置 0 而不是废弃之。这个功能更加危险,如果开发人员考虑不周,可能性会引起程序误动作。慎用!2.Working Counter 相关信息:很少能检测到具体是哪个或者哪些从站没有成功处理数据报文(数据报文中指定地址的从站没能成功增加数据报文的WKC)。不会报告错误原因(从站没有成功增加WKC,有可能因为物理上数据帧就没有到达,或者因为它不在OP状态,或者其它可能的原因)。WKC与数据帧同步到达,主站以最快的速度作出故障响应,立即向控制程序或者用户提供一个故障标记位。WKC的有效标记位通常还需要与硬件或者软件诊断信息同时使用,这些诊断信息可以 由主站发送命令读取回来,并帮助定位故障位置和故障原因。Working Counter 的主要目的是立即检测出通讯错误, (i.e. 为了主站快速做出反应), 而不是为了精准分析通讯错误四、Working Counter 和 Sync Units(WKC和同步单元)1.SyncUnits(同步单元) 把从站分为不同的组,每个组使用不同的数据报文,所以每个同步单元具有独立的 WKC。对于伺服驱动器,为了精确定位故障点,可以把每个伺服都设置为独立的同步单元。对于IO模块,可能把一个耦合器及所带的IO模块,配置为一个同步单元。为了优化的目的,Sync Unit 的配置是一个可选的步骤。关于如何分配同步单元,并没有一个黄金法则,因为这是由项目决定的:通常来讲,工作时紧密相关的从站应该分配到同一个同步单 元,而功能相对独立的从站应该放到独立的同步单元。2.在 TwinCAT中指定 SyncUnitTwinCAT为不同的Sync Units(同步单元)创建独立的数据报文,每个报文拥有自己 Working Counter 计数器五、硬件诊断1.硬件状态速览主站的 Online 页面,提供了诊断网络硬件问题的最佳方法系统上电时候可能产生硬件错误,并在TwinCAT中累加,而通常这些错误并不代表有问题。所以,查找可能的硬件问题时,建议清除程序启后的所有错误计数,这样才能监视到运行过程中 发生的实际错误次数。2.初步检查 – 拓朴错误VPRS = Vendor ID, Product Code, Revision Number, Serial Number: 网络启动时主站扫描到的拓朴结构与TwinCAT 配置文件的朴拓结构不符。此类错误的原因,可能只是简单地插错网线。3.初步检查 – 接地和屏蔽发生硬件错误时,建议必须检查EtherCAT网络设备是否共用同一个接地(因为不同接地之间的 环流可能导致数据损坏)。关于EtherCAT网络安装的更完整、全面的描述信息,请参考ETG文档 ETG.160 “EtherCAT Installation Guidelines” ,可以从ETG官网www.ethercat.org.下载。4.初步检查 – EBUS 电流每个 EL 模块都会消耗若干 EBUS 电流,硬件故障发生时,建议必须检查每个I/O组的可用Ebus电流。根据经验,EBUS耗电量大的模块,比如网关模块EL6xxx,在保证其EBUS供电足够的前提下,建议散放在耗电量小的模块( 比如普通DI/DO模块)之间,所以尽量不要几个网关模块挨在一起,也不要紧挨着控制器或者耦合器放置。这是从散热的角度考虑。电流消耗达到限值时,应插入一个 EL94xx 模块。EL9100电源模块不仅可以接入负载电源,还有散热的作用,是最便宜的发热量最小并且能传递EBUS的模块。相同价格的还有EL9186/EL9187等电位分接模块。5.Emergency Scan(紧急扫描)Emergency Scan (紧急扫描)操作,可以发送预定数量的探测数据帧,用于快速测试物理连接 (TwinCAT 应处在 Config Mode):Emergency Scan 能够快速检查EtherCAT网络的永久硬件问题 (设备、电缆或者接头损坏)。用Emergency Scan的方法很难检测到随机的/不定时的干扰,处理这种干扰,应该进行完整的error counter analysis (错误计数分析)。6.EtherCAT 端口的硬件诊断为了进行更深入的分析,从站提供了基于端口的(port-specific)硬件错误计数。EtherCAT 定义了端口号 0 to 3 (端口 0 总是输入口),而TwinCAT 中通常把这些端口依次叫做A 到 D (A 总是输入口),两种端口定义方式是等效的:Master的Online页面,可以在线看到CRC校验错误计数。大部分从站是两个数字,耦合器EK1100有3个数字,而分支模块EK1122则会有4个数字。7.Link Lost (连接丢失)错误计数器有时候两个EtherCAT从站之间的物理连接可能会完全中断:信号完全无法到达相邻的从站。Link loss(连接丢失),最有可能的原因是:电缆或接头损坏(电缆连接),接触弹片不够力或者氧化( Ebus连接)。一个或者几个从站掉电。一个端口上的物理连接中断,从站就会把该端口的 Link Lost Counter(连接丢失计数器) 加 1。Register 内存地址长度含 义0x03101 字节port 0 的连接丢失次数0x03111 字节port 1 的连接丢失次数0x03121 字节port 2 的连接丢失次数0x03131 字节port 3 的连接丢失次数物理连接的状态发生久性或暂时性的改变,在TwinCATLogger消息区中都会报告(并且保存在Windows Log 中)。8.Link/Activity (连接/活动)指示灯连接的永久中断很容易检查出来,不用分析连接丢失计数器( Link Lost Counters ),只需要简单查看主站的Online页面:9.无效帧(Invalid frame)错误计数器有时候,即使硬件信号到达了相邻的从站,接收到的信号却与最初发送的不一致:数据包发生损坏,最有可能的原因是:如果该错误计数零星增加,极可能是由于外部 EMC 干扰。如果该错误计数快速且稳步增加,极可能是由于设备损坏。一个端口上的数据帧破坏,从站就会把该端口的 InvalidFrameCounter(无效帧计数器)加 1。RX 错误计数器 和 CRC 校验错误计数器,都意味着硬件接收到的数据帧损坏,表征信息非常相近,但是二者分别是在从站架构的不同层面检测到的,其含义也略有不同。10.物理介质上的信号传输0和1的逻辑序列要在物理介质上传输,需要编码成预定义的电压/电流 电平(或者电平转换)。电流/电压 值的序列叫做 symbols(符号).基于特定的硬件编码标准,电流/电压值的可能序列并不是全都具有含义,这样就有了 有效符号和无效符号的分别。物理介质上符号是连续传输的,既在Ethernet数据帧内也在数据帧外(数据帧外的符号序列是为了让接收方及时检测到可能发生的连接丢失错误)通讯由符号序列组成携带着有含义的信息的符号序列,就是Ethernet 数据帧。两个Ethernet数据帧之间传输的符号序列,就是 数据帧间隔硬件错误分为两种类型,都在无效帧计数器中累计。RX Errors:个别符号错误 (被特定的硬件解码器识别为无效).在数据帧内部或者外部都可能发生(即使是在没有数据帧传输的时候,每个物理接口都会传输 idle 即表示空闲的符号)→ RX Error Counters (无效帧计数器的高字节)CRC Errors:整个数据帧的循环冗余校验(CRC)错误.在数据帧内发生 (只有Ethernet 数据帧才进行校验).→ CRC Error Counters (无效帧计数器的低字节)11.RX 和 CRC 错误的类比硬件通讯介质上的数据传输可以用标准的语言书写来打个比方:RX 和 CRC 错误 在解释上具有细微的差别,例如:CRC校验只检查数据帧(Frame)内语义是否正常,但并不能发现网络帧间隔的非法字符。RX校验所有字符是否非法。CRC 错误 – 什么情况下会检测出来?12.链接丢失(Lost Link)错误的简单监视在EtherCAT主站的Online页面可以监视到链接丢失(Link Lost)只要在主站的Advanced Setting中启用累加计数“Show Change Counters”即可:添加这些操作是不需要重启TwinCAT软件的此计数表示与从站的物理连接丢失的次数(1表示首次连接,>1表示在运行期间至少出现过1次 物理连接丢失)。在EtherCAT主站的Online页面可以监视到数据帧错误(Frame error)即从站的RX Error计数寄存器的低字节,错误计数如下:从站的Frame Error计数器中保存着自TwinCAT启动以来的累计出错次数,点击“Clear CRC”所有从站的CRC计数清零,并重新累计。13.怎样正确跟踪硬件错误计数为了追踪硬件错误计数,建议进行以下设置:在主站的Advanced Setting中 不要勾选 “Log CRC Counters” 标记。在Online视图中添加注册字 0x0300÷0x030A 和 0x0310÷0x0312。激活并重启 TwinCAT 配置:重启TwinCAT后,清空所有错误计数:TwinCAT 中,EtherCAT主站的 Online 页面总是以 word-oriented 的方式显示计数值。等待,直到错误补检测到:捕捉到的错误次数越多越好 (关闭项目或者重启TwinCAT就会清除计数,而最小化项目或者切换窗口则不会清除计数). 记录的值可以导出,以供进一步分析。错误计数采集完成后,记得应把 “Log CRC Counters” 重新勾选上。(TwinCAT 需要重启).14.怎样定位一个错误?为了从显示的CRC错误计数分析出网络中的故障点分布情况,建议:逻辑上沿着网络数据帧传播的方向确定从站端口执行CRC校验的顺序(根据 前述信息 previous information):根据前面确定的顺序检测第一个报告RX Error Counter >0 的端口:在网络中定位第一个报告RX Error的故障点:报告无效错误计数器不为零的第一个端口 → 极有可能就是故障点。15.在故障点采取什么措施?在上页定位到故障点 previously located 后,应进行以下操作 :检查与上个从站之间的连接电缆:EtherCAT网线的走向是否靠近电源线或者干扰源?是否自制电缆的接头做工很差?电缆的屏蔽层是否接地良好?检查故障点的站和前一个从站:是否供电不足 (供给本站的电流太小, 例如:EBUS 电流)?两个从站的接地点不是等电位?试着替换该从站和前一个从站,或者交换二者的顺序,以查看错误是跟随某个从站还 是出现在原先的位置。对于 EMC 干扰, 应该会导致 RX 和 CRC 错误都有增加 (即使二者增加的机率可能不同), 因为外部干扰不可能与通讯同步,于是在Ethernet 数据帧内部和外部都会破坏数据。完全不平衡的计数值 (RX错误很多,而没有CRC错误,或者很CRC错误而没有RX错误)可能意味着其中一个从站的内部硬件错误。16.深入了解 - CRC 错误的转发机制部分从站还额外支持 转发CRC错误计数器(Forwarded CRC Error Counters): 第1个检查出CRC错误的从站,其CRC 错误计数器(Register 0x0300)增加,第2个及之后再检查出CRC错误的从站则增加其转发CRC错误计数器(Register 0x0308)而CRC 错误计数器保持不变。并非所有从站都支持 转发CRC错误计数器(Forwarded CRC Error Counters) 功能 (该特性为可选项) ,所以该计数应视为补充信息: 有助于定位出错的第1个设备,但不是关键指标。17.深入了解 – 转发CRC错误的计数器TwinCAT 中, EtherCAT主站的 Online 页面总是以 word-oriented 的方式显示计数值,所以转发CRC错误计数器( Forwarded CRC Error Counter )的说明如下:18.主站错误计数此外,EtherCAT 主站 也提供硬件错误 计数:EtherCAT 主站支持两种不同的错误计数器 :Rx Errors: 与从站侧的 RX 错误计数器类似,由网卡统计符号错误的次数 (发生在数据帧内和数据帧外的错误).Lost 数据帧: 由于EtherCAT闭环在某处中断未能返回主站的数据帧和返回了但CRC校验错误的数据帧 TwinCAT 都视作丢失的“lost“。在TwinCAT中,如果丢失一个数据帧,则该数据帧包含的所有数据报文(Datagram,即Sync Unit同步单元)都会报Working Counter 错误,显示为所有从站的WcState为Invalid。分别考虑不同的数据帧类型:Cyclic: 周期性数据帧 发送要交换的过程数据( Process Data):Queued: 排队等候的数据帧,包括所有非周期性的数据帧: 邮箱 Mailbox, 状态机 State Machine, 注册字访问 Register access19.在线查看拓扑结构大部分硬件诊断信息,可以在 Topology View 界面监视Topology View 是个 ActiveX 插件,可以导出到任何独立于TwinCAT 开发环境的 Windows 应用。六、Software Diagnostics 软件诊断1.软件层面的错误 – EtherCAT 状态机软件层面的诊断信息,通常与EtherCAT 状态机操作有关: 一旦从站不能按主站要求进入正确的状态, 就会在从站的注册字(Register 0x0134)中报告AL状态代码(AL Status Code)。在 TwinCAT Logger 中也会显示状态机错误:TwinCAT 默认总是试图清除状态机错误,并且把所有从站切回OP状态。此时, 要在主站的Advanced Settings中取消选中该标记。2.状态机切换异常( Unexpected State Transitions )的简单监视在EtherCAT主站的Online页面可以监视从站状态机异常切换的次数,只要在主站的Advanced Setting中启用该计数即可显示:此计数表示与从站的状态机切换异常的次数(1表示首次切换,>1表示在运行期间至少出现过1 次状态切换异常)。3.EtherCAT 状态机错误的类型EtherCAT 状态机错误可以归为2个大类:初始化错误 (启动时从站不能进入OP状态): 状态机切换过程中,主站根据 ESI 文件的内容向从站发送初始化命令. 如果从站检测到一个或者几个 start-up 参数无效,就会拒绝相应的状态机切换。典型 的初始化错误:此时 Register 0x0134 的值显示为:0x0003 : Invalid Device Setup (BK1xxx上配置的KL模块顺序不正确)0x001D : Invalid Output Configuration (配置的输出过程数据无效)0x001E : Invalid Input Configuration (配置的输入过程数据无效)0x0035 : Invalid Sync Cycle Time (在 DC 模式中设置的Cycle Time不支持)运行时错误 (从站退出OP到更低级的状态): 配置正确的从站成功进入OP状态以后,在运行过程中检测到错误,并因此执行切换到更低级的状态。典型的运行时错误:此时 Register 0x0134 的值显示为:0x001A : Synchronization error (网络的抖动导致从站的同步丢失)0x001B : Sync manager watchdog (从站未接收到周期性数据的时间,持续超过了watchdog时间)0x002C : Fatal SYNC error (ESC 再未收到 SYNC 硬件中断)4.发生初始化错误 – 怎么办?从站的 ESI 文件应包含TwinCAT在网络中正确配置该从站所需要的全部信息。如果使用从ESI读取的默认设置来激活配置 (而不做任何手动修改), 从站应该能进入OP状态而不报错。如果发生了初始化错误:确保 ESI 文件复制到了 包含所有从站描述文件的TwinCAT统一路径(ESI 文件中的ProductCode 和 Revision Number 与CoE对象 0x1018 中显示的信息相匹配)。检查从站的默认设置是否改动过,如果改过就删除该从站再在TwinCAT配置中手动添加。(以恢复默认设置)对模块化的从站(For modular slaves) ,检查“Slots” 页面配置的模块与实际连接的模块在型号、数量、顺序上是否严格一致。对具有分布时钟同步功能的从站设备(For DC-Synchronous devices),检查主站的Jitter或者Sync Shift Time的设置是否会妨碍从站正确实现DC同步。如果是这种情况 ,只是检查并不能解决问题,必须联系从站的制造商。5.发生运行时错误 – 怎么办?从站成功进入OP状态以后,在运行时不会无故退出OP状态。如果发生了运行时错误:如果从站发生了 watchdog 错误,检查TwinCAT 软件任务 (PLC 程序, NC 任务, …)是否正确运行,因为在TwinCAT中总是由上述任务触发数据帧的周期性发送和接收。检查主站设备的Jitter表现(抖动范围)是否能证明发生了同步丢失。(最大的Jitter超过通讯周期的20-30%时,很容易发生同步错误)。检查是否发生了硬件错误,比如物理连接丢失,这种错误可能间接导致Watchdog动作,或 者同步丢失 ( 参考“物理层问题的硬件诊断 ”)。如果是这种情况 ,只是检查并不能解决问题,使用 Wireshark 进行追踪会是个有用的办法。6.保存和导出软件错误状态机错误保存在 Windows Log 中,可以导出,以便在即使TwinCAT Logger已经关闭或者不可用的时候,还可以进一步分析:7.历史诊断信息(Diagnose History Object)对于所有应用相关的错误,部分 CoE从站设备支持“历史诊断信息”功能 (Diagnosis History Object ) Register 0x10F3.如果从站支持该功能,TwinCAT 就会额外显示一个页面 “Diag History” :8.邮箱协议错误(Mailbox Protocol Errors)邮箱协议错误( Mailbox protocol errors )是一个指定类的一般性软件错误,它不是厂家自定义的,不影响 EtherCAT 状态机,不会阻止也不会导致意外的状态切换。仅当执行某个特定的邮箱协议所禁止的动作时,才会发生邮箱协议错误。在 ETG.1000.6 规范中,公布了每个邮箱协议支持的错误代码及描述信息。9.发生了邮箱协议错误(Mailbox Protocol Errors )– 怎么办?根据特定的邮箱协议,可能的错误原因是:•CoE-主站试图读写从站的对象字典(Object Dictionary)中并不存在的对象-主站试图对从站的某个“只读” 对象执行“写入”操作。-主站试图以“完全访问”的方式访问从站的某个对象,而从站并不支持该功能。•FoE-文件名错误 (例如, 缺少扩展名*.xxx).-从站需要密码, 但未被正确设置-文件大小超出了从站能接受的范围-从站不在 Bootstrap 状态•EoE-主站试图把从站的 IP-Add(Internal Use)ress 配置为末位为0的值(比如“x.y.z.0”),而EoE从站的Tcp/Ip 协议栈拒绝此设置。注意:•TwinCAT 仅在以下时段 读/写 CoE 参数: -在初始化阶段(Startup 命令) -CoE-Online 页面打开时•如果错误信息显示TwinCAT试图间歇性地读写CoE参数,很可能这是PLC程序的动作。七、TwinCAT PLC 中编写EtherCAT 诊断程序1.在PLC程序中系统地诊断 EtherCAT 状态对于EtherCAT 网络, TwinCAT 自动提供了大量诊断信息,可以在PLC程序中用于检测总线通讯的错误, 以便自动做出响应并报告给用户。用户总是倾向于在PLC程序中实现最少的EtherCAT诊断,因为这样有助于通讯错误发生时节约大量的操作时间。TwinCAT PLC 程序可以混合使用 2 种不同的诊断信息 :周期性信息 : 默认包含在EtherCAT网络的周期性过程映像数据中的 输入数据, 可以直接映射到相应的PLC输入变量 (AT %I*).非周期性信息 : PLC程序调用默认库文件(TcEtherCAT.lib)中指定的功能块,可以获取这些非周期性的EtherCAT诊断信息 。2.TwinCAT 中的周期性诊断信息注意:至少所有从站的 WcState 和 State 变量应链接到 PLC 程序,以便应用程序可以对 EtherCAT 进行最基本的诊断。3.周期性信息 - FrmXWcState 变量允许 PLC 检查每个报文的 Working Counter 信息:每个配置的Frame都具有一个16位的诊断变量 FrmXWcStateFrmXWcState 的每个位对应Frame中的特定报文如果对应报文的Working Counter错误,这个位就会变为TRUE4.周期性信息 - WcState 变量这是每个从站的过程数据中都具有一个布尔型变量如果报文的Working Counter 错误,报文中所有从站的WcState 变量都会被置位,所以,如果一个从站的 WcState = 1, 也并不表示它本身发生了错误。 (内部使用) 进一步的信息需要查看这些 WcState 为 1 的从站的16位状态变量 State5.周期性信息 - State 变量EtherCAT Master汇总从网络收集的诊断信息,周期性地更新State变量,对应几种错误情况:6.周期性信息 – State 变量状态变量报告的错误诊断信息如下:7.非周期性信息 – TcEtherCAT PLC Library在TC2和TC3的默认安装中都免费提供TcEtherCAT.lib库, 该库包含若干功能块,可以对EtherCAT网络进行非周期 性诊断Frame 分析CRC 分析从站识别配置从站的数量和列表实际从站的数量和列表该库原则上允许PLC程序自动读取在TwinCAT开发环境中 在线显示的所有信息。功能块FB_EcGetSlaveTopologyInfo功能块FB_EcGetSlaveTopologyInfo返回关于不同从站的端口如何相互连接的信息,以及(配置的)网络拓扑结 构的信息,(如果配置了热连接组,则它们将列在阵列的末尾)。功能块FB_EcGetConfSlaves功能块 TwinCAT 离线配置,知道 EtherCAT 网络包含哪些从站。功能块 FB_ecgetscannedsaves功能块 FB_ecgetscannedsaves 使 PLC 可 以 获 取EtherCAT网络在线检测的实际从站信息,以便和使用FB_EcGetConfSlaves 获得的离线配置的从站信息进行比较。功能块 FB_ecgetscannedsaves功能块FB_ecgetallslavercerrors可以周期性调用,以判断一个或多个从站是否报告CRC错误。这样就可以只对 这些出错的从站调用FB_ecgetslavecercerrorex,以获取进一步的故障信息。功能块FB_ecgetslavecercerrorex功能块 FB_ecgetslavecercerrorex 使 PLC 可 以 获 取EtherCAT主站记录的特定从站的CRC错误信息,这些信息与TwinCAT 开发环境中的 EtherCAT 监视界面显示的信息一致。功能块FB_EcMasterFrameStatistics功能块 FB_EcMasterFrameStatistics 使PLC可以获取EtherCAT主站检测到的Frame丢失等情况,这些信息与TwinCAT 开发环境中的 EtherCAT 监视界面显示的信息一致。功能块FB_EcGetAllSlaveAbnormalStateChanges功能块FB_EcGetAllSlaveAbnormalStateChanges,统计每个从站 从 OP 退至 SafeOP 的异常状态切换,但并不报告每次异常切换时相关的特定AL 状态码。功能块FB_EcGetLastProtErrInfo功能块 FB_EcGetLastProtErrInfo 允许覆盖上一次邮箱协议错误 Mailbox protocol error (例如, CoE协议的SDO退出代码).对同一从站的下一次正确邮箱访问会清除此前记录错误信息的内存区。八、附件:使用 Wireshark 进行诊断1.如果软件诊断还不够 – 使用 WiresharkWireshark 并不是用以取代TwinCAT中的诊断功能 。对于用户来说,应当在使用了其它诊断方法都无法找到故障点的时候,才使用这个“终极武器”。使用ET2000 可以在Wireshark中获得最好的捕捉效果为了执行 Wireshark 抓包,有多种不同的硬件配置。2.Wireshark 抓包的硬件配置 1不支持 Windows CE没有精确的时间戳3.Wireshark 抓包的硬件配置 2不支持 Windows CE有精确的时间戳4.Wireshark 抓包的硬件配置 3支持 Windows CE有精确的时间戳5.Wireshark 示例Wireshark 允许追踪每个 EtherCAT 数据帧的 list, structure and content of (在一轮捕捉过程中,每个数据帧会被捕获两次!).下图显示了捕获的一个周期性数据帧:6.Wireshark – 时间戳协议( 仅当使用ET2000时 )使用ET2000时,为了在Wireshark中获取到极为精确的时间戳(time-stamping)信息, 应当启用对ESL协议的解析功能。Wireshark Version 2 支持此功能。7.Wireshark – 时间戳协议( 仅当使用ET2000时 )…在早期的 Wireshark Version 1中操作如下:8.Wireshark – 显示时间的格式使用Wireshark追踪时,用户可以选择最合适的 时间信息 显示格式:9.Wireshark – 部分过滤选项(Filter Options)捕获的数据帧可以使用过滤功能,可用的过滤选项包括:仅捕获周期性数据帧(Cyclic Frame)Filter: (ecat.cmd == 0x0a) || (ecat.cmd == 0x0b) || (ecat.cmd == 0x0c)仅捕获邮箱通讯(mailbox communication)Filter: ecat_mailbox Filter: ecat_mailbox.coe Filter: ecat_mailbox.soe Filter: ecat_mailbox.foe Filter: ecat_mailbox.eoe仅访问特定的注册字或者注册字区间 (register or register range)Filter: ecat.ado == EtherCAT诊断-分布时钟同步诊断_欧姆龙ethercat从站检测异常?-CSDN博客 EtherCAT诊断-分布时钟同步诊断 虹科电子科技 于 2020-01-03 10:59:40 发布 阅读量5.3k 收藏 60 点赞数 7 分类专栏: 工业物联网 文章标签: ethercat 软件测试 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/hongke_Tech/article/details/103816273 版权 工业物联网 专栏收录该内容 140 篇文章 3 订阅 订阅专栏 我们在做EtherCAT主从通讯测试时,比较容易在DC配置出现错误,特别是使用到从站DC模式时,有时会出现代码为0x1A的“同步错误”,有时即使没报错误,伺服从站运行过程中也会出现电机轴的抖动,什么原因呢?这里以KPA EtherCAT和三洋伺服测试举例,通过采集SYNC0与SM2信号之间相位关系波形图,做出诊断结论。 测试前,需要认识两个概念:1、从站同步模式2、同步错误 一、从站同步模式 简单理解就是从站以某个信号作为同步事件(中断信号)来更新数据,EtherCAT支持一下各种同步模式,这里以常用的1,2,3,4举例说明。 Free RunSynchronous to SM2/3 (with Shift)DC Mode 1 (Sync0 Event)DC Mode 1 (Sync0 Event with Shift)DC Mode 2 (Sync0, Sync1, with Shift)DC Mode 3 (SM2 Event, Sync0)DC Mode 4 (SM2 Event, Sync0, Sync1)DC Mode with subordinated cycles 二、同步错误 在应用层,每个从站实时监视从ESC收到的同步SYNC信号。假如检测到同步错误,从站会进入safe-op状态并产生对应的应用层状态码,主站可以通过非周期命令读取这一状态码 可能引起同步错误的原因: 1.主站周期时间/同步信号的错误配置 2.不再收到ESC发送的SYNC信号 3.主站发送数据帧时存在较大的抖动,导致数据帧在从站收到SYNC信号之后才到达从站 所以必须严格保证SYNC0必须在SM2信号之后。 三、概念解释 3.1 COE下0x1C32对象字典对应的几个概念 其中也标注了数据从SM拷贝到从站MCU内存的时间和硬件处理延时时间分别为62.5us和30us。 3.2.FreeRUN模式 自由运行模式通过应用程序控制器的本地计时器中断启动。,本地周期从通信周期或主站周期独立出来单独运行 3.3 SM2事件 由于从站的处理与SM2事件周期相对应,因此从站的处理保持与SM2事件同步。运行时使用本地周期计时间直到收到SM2事件。 3.4.DC模式 SYNC0事件收信后也开始从站的本地周期。 在下个SYNC0中断发生前,过程数据帧必须被从站完全接收 四、开始测试 测试说明:主站周期1ms,分别测试三洋伺服的SYNC0引脚和SM2中断引脚的信号,绿色信号为SYNC0,黄色信号为SM2 测试一 Sync shift time:0μs, Shift time:0μs,不设置传播延时补偿,不设置SYNC0启动延时 测试结果:示波器测试IRQ信号与SYNC0的信号时间差基本上为11μs 测试结果:这时会出现异常的同步错误 测试二、 Sync shift time:0μs, Shift time:250μs 不设置传播延时补偿,设置SYNC0延时250us启动 测试结果:IRQ与Sync0之间的时间差为228–238μs左右,而且SYNC0明显在SM2之后,正常 测试三 Sync shift time:60μs,Shift time:250μs,设置传播延时补偿60us(补偿从站响应时间),设置SYNC0延时250us启动 测试结果:IRQ与Sync0之间的时间差为282–300μs左右,相对测试二,往后延时60us左右,正常; 总结: 1.保证SYNC0信号在SM2信号之后; 2.主站的抖动(SM2抖动)会导致从站伺服的抖动,一般如果主站max circle time jitter大于周期的20%-30% ,会出现问题; 3.通过设置Shift time(SYNC0延时启动)时间可以改变SM2与SYNC0的间隔时间,给从站进行数据拷贝留出更多的时间,保证数据全部更新; 4.每个厂家的伺服,shift time的设置大小不同,需咨询具体硬件厂商,一般是周期的四分之一,或者以自己实际测试为主,只要保证可以完整更新数据,不会出现来不及更新数据即可; 优惠劵 虹科电子科技 关注 关注 7 点赞 踩 60 收藏 觉得还不错? 一键收藏 知道了 9 评论 EtherCAT诊断-分布时钟同步诊断 我们在做EtherCAT主从通讯测试时,比较容易在DC配置出现错误,特别是使用到从站DC模式时,有时会出现代码为0x1A的“同步错误”,有时即使没报错误,伺服从站运行过程中也会出现电机轴的抖动,什么原因呢?这里以KPA EtherCAT和三洋伺服测试举例,通过采集SYNC0与SM2信号之间相位关系波形图,做出诊断结论。测试前,需要认识两个概念:1、从站同步模式2、同步错误一、从站同步模式简单... 复制链接 扫一扫 专栏目录 9 条评论 您还未登录,请先 登录 后发表或查看评论 博客 虹科智能互联:您的智能通讯解决方案合作伙伴 12-18 3892 虹科智能互联事业部是领先的汽车电子与智能自动化领域的解决方案合作伙伴,与全球行业专家开展深度合作,成为了行业内领先的通讯技术服务商。 博客 虹科活动丨SPS广州国际智能制造展览会圆满落幕!亮点一文打尽! 03-13 209 为期三天的广州国际智能制造技术与装备展览会(SPS, Smart Production Solutions Guangzhou,前称SIAF)在广州进出口商品交易会展馆B区圆满落幕。此次展会,作为智能制造领域的一大盛事,不仅吸引了众多行业内外的目光,更成为了推动智能制造技术发展的重要平台。 博客 虹科与您相约:3月4-6日广州国际智能制造技术与装备展览会 03-04 348 广州国际智能制造技术与装备展览会(SPS, Smart Production Solutions Guangzhou,前称SIAF)将于2024年3月4日-6日在广州进出口商品交易会展馆B区隆重举行。新一届展会将与母展SPS同步,涵盖智能制造八大焦点主题。虹科智能互联将携行业领先的解决方案亮相,期待与您共襄盛举,探索智能制造新未来! 博客 虹科Workshop丨2月29日与南高齿开展风电齿轮箱技术交流会,共拓风电行业未来! 02-28 318 虹科作为一家致力于高科技解决方案的提供商,为各行业提供定制环境监测解决方案,我们不断创新,确保长期稳定的监测结果和可靠的产品质量,助力客户实现成功。为了更好地了解客户需求,提升虹科解决方案的影响力,我们计划于2024年2月29日与南京高速齿轮制造有限公司开展风电齿轮箱技术交流会。 博客 虹科方案 | 冷链物流温度监测解决方案 02-23 321 先进疗法(细胞和基因)和生物制剂的生产线非常庞大。由于高度个性化,这些医疗方法大多需要高质量的超低温储存和运输。这些疗法的冷冻或运输过程中的任何一个失误都可能关乎到患者的生命安全。 博客 虹科技术丨PTP时钟源设备全攻略:从普通时钟到透明时钟的进阶之路 02-22 346 在现代通信技术中,精确时间同步对于保障网络性能至关重要。PTP(Precision Time Protocol)时钟源设备作为实现高精度时间同步的关键组件,其配置和选择对于网络架构师和工程师来说至关重要。本文将探讨普通时钟和透明时钟的特性及配置策略,以助您更好地理解和应用PTP时钟源设备,确保通信网络的高效稳定运行。 博客 虹科方案丨冻干机全面验证和监测解决方案 02-21 898 要在冻干过程中取得最佳效果,验证是确保高效和高质量结果的关键步骤。通过进行全面的冻干机验证和流程开发,您可以发现并解决可能影响设备性能和可靠性的错误。通过全面的测试和分析,您可以优化周期时间,提高产品的一致性,并将批次失败的风险降至最低。 博客 虹科方案 | 冷藏和冷冻设施设备的验证和监测解决方案 02-21 865 药品和生物技术产品非常敏感,需要最佳的储存条件。冷藏和冷冻设施设备对产品的稳定性至关重要,它们有特定的储存和运输温度范围。通过遵循FDA和GMP法规,您可以防止高成本的召回,减少浪费并保证患者安全。 博客 虹科方案丨低负载ECU老化检测解决方案:CANCAN FD总线“一拖n” 02-20 512 在汽车电子行业中,ECU(电子控制单元)是控制车辆各种系统的关键组件,如发动机控制单元、制动系统、空调系统等。ECU负责监测和管理车辆的各种功能,它们通过接收传感器数据并对其进行分析来确保车辆安全、性能和效率。ECU的老化可能导致诸如性能下降、功能失效甚至安全风险等问题,因此对ECU老化进行检测非常重要。本篇文章为您介绍虹科低负载ECU老化检测解决方案。 博客 虹科方案 | 释放总线潜力:汽车总线离线模拟解决方案 02-20 1205 传统的ECU模拟工具通常需要依赖上位机软件来发起通信,这在离线场景和自动化产线中带来不便。为了应对这一挑战,虹科推出了创新的汽车总线离线模拟解决方案,基于PCAN-Router系列网关,通过内部可编程固件,实现了自主报文自发功能和实时离线通信,为工程师提供了一个高效、灵活且安全的测试平台。 博客 虹科分享 | PCAN工具:强大的CAN通讯解决方案,你了解多少? 02-02 1168 在当今的汽车和工业自动化领域,可靠的通讯系统至关重要,虹科PCAN工具为这些应用提供了强大的支持。本文将介绍虹科PCAN工具的功能、应用和优势,帮助您根据实际需求选择合适的工具和配件。 博客 虹科技术丨一文详解IO-Link Wireless技术如何影响工业无线自动化 02-02 1361 在工业无线自动化的飞速发展进程中,IO-Link Wireless技术成为了一项具有颠覆性的创新。它将IO-Link协议与无线连接完美结合,解决了传统通信技术在工业应用中的痛点。本文将深入解析IO-Link Wireless技术的原理、应用领域、优势以及实际案例,帮助您全面了解这一技术的潜力。 博客 虹科分享丨一个高尔夫球用品制造商怎样处理数据? 01-25 563 尽管TaylorMade在全球拥有1600多名员工,但该公司只有五名BI分析师可为该组织提供支持。在使用Domo之前,这个小团队发现自己实在无暇顾忌大量的请求。花了太多时间整理不同来源的数据,因此分析数据的时间被大大压缩。此外,他们现有的BI工具仅具有数据收集或可视化的基本功能,数据的潜力并没有最大化。 博客 虹科分享丨汽车技术的未来:Netropy如何测试和确保汽车以太网的性能 01-25 1875 在汽车行业持续创新的今天,汽车以太网的性能和可靠性成为了关键焦点。如何测试和确保汽车以太网的性能?我们来看看BroadR-Reach技术如何革新车载网络,并通过综合性能测试来确保网络在各种环境下的稳定运行和高效安全性。 博客 虹科分享丨如何运用AR技术提升制造效率?这里有答案! 01-24 522 当谈及AR技术在工业领域的应用,首先让人想到的是它为企业带来的巨大变革。从工业设计和制造到设备维护和维修,再到培训和技能传承以及设备操作和监测,AR技术凭借其独特的方式,帮助企业实现更高效的生产和运营。通过这些环节的优化,企业能够显著提升工作效率和产品质量,降低成本,从而在激烈的市场竞争中脱颖而出。 博客 虹科分享丨AR与AI融合加速,医疗护理更便捷! 01-24 830 医疗保健行业正在经历转变,其中AR技术的应用涵盖了多个领域。包括手术辅助、医疗示教、手术的虚拟培训、心理健康治疗等领域,此外,AR在医疗护理领域也展示出优势,今天,我们来谈谈,AR如何辅助医生与患者进行医疗护理。 博客 虹科方案丨湿热灭菌工艺验证解决方案,确保所有产品和容器达到无菌要求 01-24 1279 湿热灭菌工艺验证解决方案,确保所有产品和容器达到无菌要求 博客 德思特方案|MIMO测试方案,全方位探索无线通信新维度 01-23 1193 在当前的无线通信环境中,多输入多输出(MIMO)技术已经成为提高网络性能和容量的关键技术。 博客 德思特干货|德思特ADC/DAC静态参数测试系列(一)——什么是ADC转换点? 01-23 544 在现代电子系统设计与高速通信、信号处理、雷达探测、医疗成像以及各种工业自动化应用中,模数转换器(ADC)和数模转换器(DAC)扮演着至关重要的角色。 博客 德思特干货|如何使用SBench 6对数字化仪采集信号进行处理?(三)——快速傅立叶变换(FFT) 01-23 1133 上一篇文章介绍了德思特SBench 6的平均运算功能。本章将继续为大家介绍SBench 6的快速傅立叶变换(FFT)。 “相关推荐”对你有帮助么? 非常没帮助 没帮助 一般 有帮助 非常有帮助 提交 虹科电子科技 CSDN认证博客专家 CSDN认证企业博客 342 原创 1万+ 周排名 3644 总排名 45万+ 访问 等级 7308 积分 1540 粉丝 1762 获赞 34 评论 2271 收藏 私信 关注 热门文章 仿真测试 | HIL测试简单介绍 8611 【汽车总线技术】CAN和CAN FD总线故障诊断 7887 【虹科车用总线技术】PCAN-USB使用手册 7373 工业通讯 | IO-Link协议概述 6087 EtherCAT诊断-分布时钟同步诊断 5336 分类专栏 车辆网络 58篇 科技 10篇 IT解决方案 91篇 自动驾驶 6篇 虹科新闻 46篇 点成生物科技 17篇 汽车故障诊断 6篇 虹科云课堂 4篇 机器视觉与光电检测 50篇 测试测量 90篇 工业物联网 140篇 FPGA 13篇 ARVR 25篇 环境监测 31篇 最新评论 虹科方案 | AR助力仓储物流突破困境:规模化运营与成本节约 简单简单小白: 《虹科方案 | AR助力仓储物流突破困境:规模化运营与成本节约》感谢博主的优质好文,文章细节很到位,兼顾实用性和可操作性,感谢博主的分享,期待博主持续带来更多好文! 高密度热电偶仿真模块 weixin_51929274: 有具体的参考资料么? 虹科干货丨Lambda数据架构和Kappa数据架构——构建现代数据架构 虹科电子科技: 感谢对虹科的认可! 虹科干货丨Lambda数据架构和Kappa数据架构——构建现代数据架构 一键难忘: 优质好文,博主的文章细节很到位,兼顾实用性和可操作性,感谢博主的分享,期待博主持续带来更多好文 EtherCAT诊断-分布时钟同步诊断 weixin_44769409: 您好,我想问一下在什么情况下才会出现,从站处理器不再收到ESC发送的SYNC信号,从而导致看门狗报错 大家在看 便宜的香港云服务器大概多少钱 274 腾讯云一键部署幻兽帕鲁(Palworld)服务器详细教程 计算机三级网络技术之网络管理技术 笔记 【UE5】动画混合空间的基本用法 216 MySQL 篇-深入了解事务四大特性及原理 1 最新文章 虹科活动丨SPS广州国际智能制造展览会圆满落幕!亮点一文打尽! 虹科与您相约:3月4-6日广州国际智能制造技术与装备展览会 虹科Workshop丨2月29日与南高齿开展风电齿轮箱技术交流会,共拓风电行业未来! 2024 03月 2篇 02月 9篇 01月 34篇 2023年198篇 2022年88篇 2021年166篇 2020年125篇 2019年2篇 目录 目录 分类专栏 车辆网络 58篇 科技 10篇 IT解决方案 91篇 自动驾驶 6篇 虹科新闻 46篇 点成生物科技 17篇 汽车故障诊断 6篇 虹科云课堂 4篇 机器视觉与光电检测 50篇 测试测量 90篇 工业物联网 140篇 FPGA 13篇 ARVR 25篇 环境监测 31篇 目录 评论 9 被折叠的 条评论 为什么被折叠? 到【灌水乐园】发言 查看更多评论 添加红包 祝福语 请填写红包祝福语或标题 红包数量 个 红包个数最小为10个 红包总金额 元 红包金额最低5元 余额支付 当前余额3.43元 前往充值 > 需支付:10.00元 取消 确定 下一步 知道了 成就一亿技术人! 领取后你会自动成为博主和红包主的粉丝 规则 hope_wisdom 发出的红包 实付元 使用余额支付 点击重新获取 扫码支付 钱包余额 0 抵扣说明: 1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。 余额充值 EtherCAT Diagnostics 诊断 - 知乎首发于深入浅出之Beckhoff切换模式写文章登录/注册EtherCAT Diagnostics 诊断噜啦啦学而时习之,不易悦乎一、EtherCAT 错误是怎么检测到的?EtherCAT 通常具有“即扫即用”的特性,扫描网络、启动系统,所有组件就运行起来了。绝大多数情况下不需要设置任何参数。发现EtherCAT网络的通讯问题,典型的情况是因为以下原因:机器停止工作,或者控制项目 (PLC 程序, NC 任务…) 接收到的数据值明显与实测值不一致。示波器测到信号为True,而PLC变量值为False.在TwinCAT项目中显示了错误(典型的情况是在Master Online页面或者TwinCAT Logger)二、EtherCAT 网络中的错误类型能影响到EtherCAT网络的错误分为2大类:1.硬件错误物理介质中断:数据帧无法达到所有从站,或者根本不能回到主站。信息破坏: 数据帧到达网络中的所有从站并回到了主站,但有一些内容改变了。2.软件错误启动时从站达不到OP状态,因为来自主站的一个或多个初始化的命令被检测到不正确由于在操作过程中检测到错误,一个正常工作的从站突然脱离OP状态EtherCAT 分别从硬件和软件层面提供了丰富的诊断信息, 诊断信息可以按下图归类:三、周期性同步诊断周期性同步诊断 – Working CounterWorking Counter 是和过程数据(Process Data)一起的周期性送回主站的唯一诊断信息,所以这是最早能被主站和用户程序检测到的报警标记。一个EtherCAT数据帧中的每个数据报文都以一个16位的Working Counter (WKC)结尾,WKC 每经过一个数据报文中指定的从站就会递增,递增的原则如下:Read-only 命令(xRD): 如果从站内存可读,则 WKC+1.Write-only 命令(xWR): 如果从站内存可写,则 WKC+1.Read+Write 命令(xRW): 如果从站内存可读 WKC+1,可写则 WKC+2 (i.e. 如果读写都成功则 WKC+3).1.主站检查返回的每个数据报文的WKC值返回主站的数据报文中的WKC 当前值 = 预期值 →WKC 有效,数据报文中的输入数据转发给控制程序(PLC, NC, …)每个总线周期主站都会验证 Working Counter.返回主站的数据报文中的WKC 当前值 ≠ 预期值 →WKC 无效,数据报文中的输入数据被丢弃 (PLC/NC 使用旧的数据)本页是WKC验证有效的情况验证的结果就在每个同步单元Sync Unit的从站的WcState信息中标记,验证成功则WcState为0,验证失败则WcState为1这就是为什么一个同步单元Sync Unit会共享同一个WcState标记,而任一从站读写不成功都会导致整个数据报文都无效。读写不成功的原因:从站没有成功增加WKC,有可能因为物理上数据帧就没有到达,或者因为它不在OP状态,或者其它可能的原因。在最新版的TwinCAT 3.1中,可以把单个从站(左图)或者全部网络从站(右图)配置为:主站把 无效的输入数据全部置 0 而不是废弃之。这个功能更加危险,如果开发人员考虑不周,可能性会引起程序误动作。慎用!2.Working Counter 相关信息:很少能检测到具体是哪个或者哪些从站没有成功处理数据报文(数据报文中指定地址的从站没能成功增加数据报文的WKC)。不会报告错误原因(从站没有成功增加WKC,有可能因为物理上数据帧就没有到达,或者因为它不在OP状态,或者其它可能的原因)。WKC与数据帧同步到达,主站以最快的速度作出故障响应,立即向控制程序或者用户提供一个故障标记位。WKC的有效标记位通常还需要与硬件或者软件诊断信息同时使用,这些诊断信息可以 由主站发送命令读取回来,并帮助定位故障位置和故障原因。Working Counter 的主要目的是立即检测出通讯错误, (i.e. 为了主站快速做出反应), 而不是为了精准分析通讯错误四、Working Counter 和 Sync Units(WKC和同步单元)1.SyncUnits(同步单元) 把从站分为不同的组,每个组使用不同的数据报文,所以每个同步单元具有独立的 WKC。对于伺服驱动器,为了精确定位故障点,可以把每个伺服都设置为独立的同步单元。对于IO模块,可能把一个耦合器及所带的IO模块,配置为一个同步单元。为了优化的目的,Sync Unit 的配置是一个可选的步骤。关于如何分配同步单元,并没有一个黄金法则,因为这是由项目决定的:通常来讲,工作时紧密相关的从站应该分配到同一个同步单 元,而功能相对独立的从站应该放到独立的同步单元。2.在 TwinCAT中指定 SyncUnitTwinCAT为不同的Sync Units(同步单元)创建独立的数据报文,每个报文拥有自己 Working Counter 计数器五、硬件诊断1.硬件状态速览主站的 Online 页面,提供了诊断网络硬件问题的最佳方法系统上电时候可能产生硬件错误,并在TwinCAT中累加,而通常这些错误并不代表有问题。所以,查找可能的硬件问题时,建议清除程序启后的所有错误计数,这样才能监视到运行过程中 发生的实际错误次数。2.初步检查 – 拓朴错误VPRS = Vendor ID, Product Code, Revision Number, Serial Number: 网络启动时主站扫描到的拓朴结构与TwinCAT 配置文件的朴拓结构不符。此类错误的原因,可能只是简单地插错网线。3.初步检查 – 接地和屏蔽发生硬件错误时,建议必须检查EtherCAT网络设备是否共用同一个接地(因为不同接地之间的 环流可能导致数据损坏)。关于EtherCAT网络安装的更完整、全面的描述信息,请参考ETG文档 ETG.160 “EtherCAT Installation Guidelines” ,可以从ETG官网www.ethercat.org.下载。4.初步检查 – EBUS 电流每个 EL 模块都会消耗若干 EBUS 电流,硬件故障发生时,建议必须检查每个I/O组的可用Ebus电流。根据经验,EBUS耗电量大的模块,比如网关模块EL6xxx,在保证其EBUS供电足够的前提下,建议散放在耗电量小的模块( 比如普通DI/DO模块)之间,所以尽量不要几个网关模块挨在一起,也不要紧挨着控制器或者耦合器放置。这是从散热的角度考虑。电流消耗达到限值时,应插入一个 EL94xx 模块。EL9100电源模块不仅可以接入负载电源,还有散热的作用,是最便宜的发热量最小并且能传递EBUS的模块。相同价格的还有EL9186/EL9187等电位分接模块。5.Emergency Scan(紧急扫描)Emergency Scan (紧急扫描)操作,可以发送预定数量的探测数据帧,用于快速测试物理连接 (TwinCAT 应处在 Config Mode):Emergency Scan 能够快速检查EtherCAT网络的永久硬件问题 (设备、电缆或者接头损坏)。用Emergency Scan的方法很难检测到随机的/不定时的干扰,处理这种干扰,应该进行完整的error counter analysis (错误计数分析)。6.EtherCAT 端口的硬件诊断为了进行更深入的分析,从站提供了基于端口的(port-specific)硬件错误计数。EtherCAT 定义了端口号 0 to 3 (端口 0 总是输入口),而TwinCAT 中通常把这些端口依次叫做A 到 D (A 总是输入口),两种端口定义方式是等效的:Master的Online页面,可以在线看到CRC校验错误计数。大部分从站是两个数字,耦合器EK1100有3个数字,而分支模块EK1122则会有4个数字。7.Link Lost (连接丢失)错误计数器有时候两个EtherCAT从站之间的物理连接可能会完全中断:信号完全无法到达相邻的从站。Link loss(连接丢失),最有可能的原因是:电缆或接头损坏(电缆连接),接触弹片不够力或者氧化( Ebus连接)。一个或者几个从站掉电。一个端口上的物理连接中断,从站就会把该端口的 Link Lost Counter(连接丢失计数器) 加 1。Register 内存地址长度含 义0x03101 字节port 0 的连接丢失次数0x03111 字节port 1 的连接丢失次数0x03121 字节port 2 的连接丢失次数0x03131 字节port 3 的连接丢失次数物理连接的状态发生久性或暂时性的改变,在TwinCATLogger消息区中都会报告(并且保存在Windows Log 中)。8.Link/Activity (连接/活动)指示灯连接的永久中断很容易检查出来,不用分析连接丢失计数器( Link Lost Counters ),只需要简单查看主站的Online页面:9.无效帧(Invalid frame)错误计数器有时候,即使硬件信号到达了相邻的从站,接收到的信号却与最初发送的不一致:数据包发生损坏,最有可能的原因是:如果该错误计数零星增加,极可能是由于外部 EMC 干扰。如果该错误计数快速且稳步增加,极可能是由于设备损坏。一个端口上的数据帧破坏,从站就会把该端口的 InvalidFrameCounter(无效帧计数器)加 1。RX 错误计数器 和 CRC 校验错误计数器,都意味着硬件接收到的数据帧损坏,表征信息非常相近,但是二者分别是在从站架构的不同层面检测到的,其含义也略有不同。10.物理介质上的信号传输0和1的逻辑序列要在物理介质上传输,需要编码成预定义的电压/电流 电平(或者电平转换)。电流/电压 值的序列叫做 symbols(符号).基于特定的硬件编码标准,电流/电压值的可能序列并不是全都具有含义,这样就有了 有效符号和无效符号的分别。物理介质上符号是连续传输的,既在Ethernet数据帧内也在数据帧外(数据帧外的符号序列是为了让接收方及时检测到可能发生的连接丢失错误)通讯由符号序列组成携带着有含义的信息的符号序列,就是Ethernet 数据帧。两个Ethernet数据帧之间传输的符号序列,就是 数据帧间隔硬件错误分为两种类型,都在无效帧计数器中累计。RX Errors:个别符号错误 (被特定的硬件解码器识别为无效).在数据帧内部或者外部都可能发生(即使是在没有数据帧传输的时候,每个物理接口都会传输 idle 即表示空闲的符号)→ RX Error Counters (无效帧计数器的高字节)CRC Errors:整个数据帧的循环冗余校验(CRC)错误.在数据帧内发生 (只有Ethernet 数据帧才进行校验).→ CRC Error Counters (无效帧计数器的低字节)11.RX 和 CRC 错误的类比硬件通讯介质上的数据传输可以用标准的语言书写来打个比方:RX 和 CRC 错误 在解释上具有细微的差别,例如:CRC校验只检查数据帧(Frame)内语义是否正常,但并不能发现网络帧间隔的非法字符。RX校验所有字符是否非法。CRC 错误 – 什么情况下会检测出来?12.链接丢失(Lost Link)错误的简单监视在EtherCAT主站的Online页面可以监视到链接丢失(Link Lost)只要在主站的Advanced Setting中启用累加计数“Show Change Counters”即可:添加这些操作是不需要重启TwinCAT软件的此计数表示与从站的物理连接丢失的次数(1表示首次连接,>1表示在运行期间至少出现过1次 物理连接丢失)。在EtherCAT主站的Online页面可以监视到数据帧错误(Frame error)即从站的RX Error计数寄存器的低字节,错误计数如下:从站的Frame Error计数器中保存着自TwinCAT启动以来的累计出错次数,点击“Clear CRC”所有从站的CRC计数清零,并重新累计。13.怎样正确跟踪硬件错误计数为了追踪硬件错误计数,建议进行以下设置:在主站的Advanced Setting中 不要勾选 “Log CRC Counters” 标记。在Online视图中添加注册字 0x0300÷0x030A 和 0x0310÷0x0312。激活并重启 TwinCAT 配置:重启TwinCAT后,清空所有错误计数:TwinCAT 中,EtherCAT主站的 Online 页面总是以 word-oriented 的方式显示计数值。等待,直到错误补检测到:捕捉到的错误次数越多越好 (关闭项目或者重启TwinCAT就会清除计数,而最小化项目或者切换窗口则不会清除计数). 记录的值可以导出,以供进一步分析。错误计数采集完成后,记得应把 “Log CRC Counters” 重新勾选上。(TwinCAT 需要重启).14.怎样定位一个错误?为了从显示的CRC错误计数分析出网络中的故障点分布情况,建议:逻辑上沿着网络数据帧传播的方向确定从站端口执行CRC校验的顺序(根据 前述信息 previous information):根据前面确定的顺序检测第一个报告RX Error Counter >0 的端口:在网络中定位第一个报告RX Error的故障点:报告无效错误计数器不为零的第一个端口 → 极有可能就是故障点。15.在故障点采取什么措施?在上页定位到故障点 previously located 后,应进行以下操作 :检查与上个从站之间的连接电缆:EtherCAT网线的走向是否靠近电源线或者干扰源?是否自制电缆的接头做工很差?电缆的屏蔽层是否接地良好?检查故障点的站和前一个从站:是否供电不足 (供给本站的电流太小, 例如:EBUS 电流)?两个从站的接地点不是等电位?试着替换该从站和前一个从站,或者交换二者的顺序,以查看错误是跟随某个从站还 是出现在原先的位置。对于 EMC 干扰, 应该会导致 RX 和 CRC 错误都有增加 (即使二者增加的机率可能不同), 因为外部干扰不可能与通讯同步,于是在Ethernet 数据帧内部和外部都会破坏数据。完全不平衡的计数值 (RX错误很多,而没有CRC错误,或者很CRC错误而没有RX错误)可能意味着其中一个从站的内部硬件错误。16.深入了解 - CRC 错误的转发机制部分从站还额外支持 转发CRC错误计数器(Forwarded CRC Error Counters): 第1个检查出CRC错误的从站,其CRC 错误计数器(Register 0x0300)增加,第2个及之后再检查出CRC错误的从站则增加其转发CRC错误计数器(Register 0x0308)而CRC 错误计数器保持不变。并非所有从站都支持 转发CRC错误计数器(Forwarded CRC Error Counters) 功能 (该特性为可选项) ,所以该计数应视为补充信息: 有助于定位出错的第1个设备,但不是关键指标。17.深入了解 – 转发CRC错误的计数器TwinCAT 中, EtherCAT主站的 Online 页面总是以 word-oriented 的方式显示计数值,所以转发CRC错误计数器( Forwarded CRC Error Counter )的说明如下:18.主站错误计数此外,EtherCAT 主站 也提供硬件错误 计数:EtherCAT 主站支持两种不同的错误计数器 :Rx Errors: 与从站侧的 RX 错误计数器类似,由网卡统计符号错误的次数 (发生在数据帧内和数据帧外的错误).Lost 数据帧: 由于EtherCAT闭环在某处中断未能返回主站的数据帧和返回了但CRC校验错误的数据帧 TwinCAT 都视作丢失的“lost“。在TwinCAT中,如果丢失一个数据帧,则该数据帧包含的所有数据报文(Datagram,即Sync Unit同步单元)都会报Working Counter 错误,显示为所有从站的WcState为Invalid。分别考虑不同的数据帧类型:Cyclic: 周期性数据帧 发送要交换的过程数据( Process Data):Queued: 排队等候的数据帧,包括所有非周期性的数据帧: 邮箱 Mailbox, 状态机 State Machine, 注册字访问 Register access19.在线查看拓扑结构大部分硬件诊断信息,可以在 Topology View 界面监视Topology View 是个 ActiveX 插件,可以导出到任何独立于TwinCAT 开发环境的 Windows 应用。六、Software Diagnostics 软件诊断1.软件层面的错误 – EtherCAT 状态机软件层面的诊断信息,通常与EtherCAT 状态机操作有关: 一旦从站不能按主站要求进入正确的状态, 就会在从站的注册字(Register 0x0134)中报告AL状态代码(AL Status Code)。在 TwinCAT Logger 中也会显示状态机错误:TwinCAT 默认总是试图清除状态机错误,并且把所有从站切回OP状态。此时, 要在主站的Advanced Settings中取消选中该标记。2.状态机切换异常( Unexpected State Transitions )的简单监视在EtherCAT主站的Online页面可以监视从站状态机异常切换的次数,只要在主站的Advanced Setting中启用该计数即可显示:此计数表示与从站的状态机切换异常的次数(1表示首次切换,>1表示在运行期间至少出现过1 次状态切换异常)。3.EtherCAT 状态机错误的类型EtherCAT 状态机错误可以归为2个大类:初始化错误 (启动时从站不能进入OP状态): 状态机切换过程中,主站根据 ESI 文件的内容向从站发送初始化命令. 如果从站检测到一个或者几个 start-up 参数无效,就会拒绝相应的状态机切换。典型 的初始化错误:此时 Register 0x0134 的值显示为:0x0003 : Invalid Device Setup (BK1xxx上配置的KL模块顺序不正确)0x001D : Invalid Output Configuration (配置的输出过程数据无效)0x001E : Invalid Input Configuration (配置的输入过程数据无效)0x0035 : Invalid Sync Cycle Time (在 DC 模式中设置的Cycle Time不支持)运行时错误 (从站退出OP到更低级的状态): 配置正确的从站成功进入OP状态以后,在运行过程中检测到错误,并因此执行切换到更低级的状态。典型的运行时错误:此时 Register 0x0134 的值显示为:0x001A : Synchronization error (网络的抖动导致从站的同步丢失)0x001B : Sync manager watchdog (从站未接收到周期性数据的时间,持续超过了watchdog时间)0x002C : Fatal SYNC error (ESC 再未收到 SYNC 硬件中断)4.发生初始化错误 – 怎么办?从站的 ESI 文件应包含TwinCAT在网络中正确配置该从站所需要的全部信息。如果使用从ESI读取的默认设置来激活配置 (而不做任何手动修改), 从站应该能进入OP状态而不报错。如果发生了初始化错误:确保 ESI 文件复制到了 包含所有从站描述文件的TwinCAT统一路径(ESI 文件中的ProductCode 和 Revision Number 与CoE对象 0x1018 中显示的信息相匹配)。检查从站的默认设置是否改动过,如果改过就删除该从站再在TwinCAT配置中手动添加。(以恢复默认设置)对模块化的从站(For modular slaves) ,检查“Slots” 页面配置的模块与实际连接的模块在型号、数量、顺序上是否严格一致。对具有分布时钟同步功能的从站设备(For DC-Synchronous devices),检查主站的Jitter或者Sync Shift Time的设置是否会妨碍从站正确实现DC同步。如果是这种情况 ,只是检查并不能解决问题,必须联系从站的制造商。5.发生运行时错误 – 怎么办?从站成功进入OP状态以后,在运行时不会无故退出OP状态。如果发生了运行时错误:如果从站发生了 watchdog 错误,检查TwinCAT 软件任务 (PLC 程序, NC 任务, …)是否正确运行,因为在TwinCAT中总是由上述任务触发数据帧的周期性发送和接收。检查主站设备的Jitter表现(抖动范围)是否能证明发生了同步丢失。(最大的Jitter超过通讯周期的20-30%时,很容易发生同步错误)。检查是否发生了硬件错误,比如物理连接丢失,这种错误可能间接导致Watchdog动作,或 者同步丢失 ( 参考“物理层问题的硬件诊断 ”)。如果是这种情况 ,只是检查并不能解决问题,使用 Wireshark 进行追踪会是个有用的办法。6.保存和导出软件错误状态机错误保存在 Windows Log 中,可以导出,以便在即使TwinCAT Logger已经关闭或者不可用的时候,还可以进一步分析:7.历史诊断信息(Diagnose History Object)对于所有应用相关的错误,部分 CoE从站设备支持“历史诊断信息”功能 (Diagnosis History Object ) Register 0x10F3.如果从站支持该功能,TwinCAT 就会额外显示一个页面 “Diag History” :8.邮箱协议错误(Mailbox Protocol Errors)邮箱协议错误( Mailbox protocol errors )是一个指定类的一般性软件错误,它不是厂家自定义的,不影响 EtherCAT 状态机,不会阻止也不会导致意外的状态切换。仅当执行某个特定的邮箱协议所禁止的动作时,才会发生邮箱协议错误。在 ETG.1000.6 规范中,公布了每个邮箱协议支持的错误代码及描述信息。9.发生了邮箱协议错误(Mailbox Protocol Errors )– 怎么办?根据特定的邮箱协议,可能的错误原因是:•CoE-主站试图读写从站的对象字典(Object Dictionary)中并不存在的对象-主站试图对从站的某个“只读” 对象执行“写入”操作。-主站试图以“完全访问”的方式访问从站的某个对象,而从站并不支持该功能。•FoE-文件名错误 (例如, 缺少扩展名*.xxx).-从站需要密码, 但未被正确设置-文件大小超出了从站能接受的范围-从站不在 Bootstrap 状态•EoE-主站试图把从站的 IP-Add(Internal Use)ress 配置为末位为0的值(比如“x.y.z.0”),而EoE从站的Tcp/Ip 协议栈拒绝此设置。注意:•TwinCAT 仅在以下时段 读/写 CoE 参数: -在初始化阶段(Startup 命令) -CoE-Online 页面打开时•如果错误信息显示TwinCAT试图间歇性地读写CoE参数,很可能这是PLC程序的动作。七、TwinCAT PLC 中编写EtherCAT 诊断程序1.在PLC程序中系统地诊断 EtherCAT 状态对于EtherCAT 网络, TwinCAT 自动提供了大量诊断信息,可以在PLC程序中用于检测总线通讯的错误, 以便自动做出响应并报告给用户。用户总是倾向于在PLC程序中实现最少的EtherCAT诊断,因为这样有助于通讯错误发生时节约大量的操作时间。TwinCAT PLC 程序可以混合使用 2 种不同的诊断信息 :周期性信息 : 默认包含在EtherCAT网络的周期性过程映像数据中的 输入数据, 可以直接映射到相应的PLC输入变量 (AT %I*).非周期性信息 : PLC程序调用默认库文件(TcEtherCAT.lib)中指定的功能块,可以获取这些非周期性的EtherCAT诊断信息 。2.TwinCAT 中的周期性诊断信息注意:至少所有从站的 WcState 和 State 变量应链接到 PLC 程序,以便应用程序可以对 EtherCAT 进行最基本的诊断。3.周期性信息 - FrmXWcState 变量允许 PLC 检查每个报文的 Working Counter 信息:每个配置的Frame都具有一个16位的诊断变量 FrmXWcStateFrmXWcState 的每个位对应Frame中的特定报文如果对应报文的Working Counter错误,这个位就会变为TRUE4.周期性信息 - WcState 变量这是每个从站的过程数据中都具有一个布尔型变量如果报文的Working Counter 错误,报文中所有从站的WcState 变量都会被置位,所以,如果一个从站的 WcState = 1, 也并不表示它本身发生了错误。 (内部使用) 进一步的信息需要查看这些 WcState 为 1 的从站的16位状态变量 State5.周期性信息 - State 变量EtherCAT Master汇总从网络收集的诊断信息,周期性地更新State变量,对应几种错误情况:6.周期性信息 – State 变量状态变量报告的错误诊断信息如下:7.非周期性信息 – TcEtherCAT PLC Library在TC2和TC3的默认安装中都免费提供TcEtherCAT.lib库, 该库包含若干功能块,可以对EtherCAT网络进行非周期 性诊断Frame 分析CRC 分析从站识别配置从站的数量和列表实际从站的数量和列表该库原则上允许PLC程序自动读取在TwinCAT开发环境中 在线显示的所有信息。功能块FB_EcGetSlaveTopologyInfo功能块FB_EcGetSlaveTopologyInfo返回关于不同从站的端口如何相互连接的信息,以及(配置的)网络拓扑结 构的信息,(如果配置了热连接组,则它们将列在阵列的末尾)。功能块FB_EcGetConfSlaves功能块 TwinCAT 离线配置,知道 EtherCAT 网络包含哪些从站。功能块 FB_ecgetscannedsaves功能块 FB_ecgetscannedsaves 使 PLC 可 以 获 取EtherCAT网络在线检测的实际从站信息,以便和使用FB_EcGetConfSlaves 获得的离线配置的从站信息进行比较。功能块 FB_ecgetscannedsaves功能块FB_ecgetallslavercerrors可以周期性调用,以判断一个或多个从站是否报告CRC错误。这样就可以只对 这些出错的从站调用FB_ecgetslavecercerrorex,以获取进一步的故障信息。功能块FB_ecgetslavecercerrorex功能块 FB_ecgetslavecercerrorex 使 PLC 可 以 获 取EtherCAT主站记录的特定从站的CRC错误信息,这些信息与TwinCAT 开发环境中的 EtherCAT 监视界面显示的信息一致。功能块FB_EcMasterFrameStatistics功能块 FB_EcMasterFrameStatistics 使PLC可以获取EtherCAT主站检测到的Frame丢失等情况,这些信息与TwinCAT 开发环境中的 EtherCAT 监视界面显示的信息一致。功能块FB_EcGetAllSlaveAbnormalStateChanges功能块FB_EcGetAllSlaveAbnormalStateChanges,统计每个从站 从 OP 退至 SafeOP 的异常状态切换,但并不报告每次异常切换时相关的特定AL 状态码。功能块FB_EcGetLastProtErrInfo功能块 FB_EcGetLastProtErrInfo 允许覆盖上一次邮箱协议错误 Mailbox protocol error (例如, CoE协议的SDO退出代码).对同一从站的下一次正确邮箱访问会清除此前记录错误信息的内存区。八、附件:使用 Wireshark 进行诊断1.如果软件诊断还不够 – 使用 WiresharkWireshark 并不是用以取代TwinCAT中的诊断功能 。对于用户来说,应当在使用了其它诊断方法都无法找到故障点的时候,才使用这个“终极武器”。使用ET2000 可以在Wireshark中获得最好的捕捉效果为了执行 Wireshark 抓包,有多种不同的硬件配置。2.Wireshark 抓包的硬件配置 1不支持 Windows CE没有精确的时间戳3.Wireshark 抓包的硬件配置 2不支持 Windows CE有精确的时间戳4.Wireshark 抓包的硬件配置 3支持 Windows CE有精确的时间戳5.Wireshark 示例Wireshark 允许追踪每个 EtherCAT 数据帧的 list, structure and content of (在一轮捕捉过程中,每个数据帧会被捕获两次!).下图显示了捕获的一个周期性数据帧:6.Wireshark – 时间戳协议( 仅当使用ET2000时 )使用ET2000时,为了在Wireshark中获取到极为精确的时间戳(time-stamping)信息, 应当启用对ESL协议的解析功能。Wireshark Version 2 支持此功能。7.Wireshark – 时间戳协议( 仅当使用ET2000时 )…在早期的 Wireshark Version 1中操作如下:8.Wireshark – 显示时间的格式使用Wireshark追踪时,用户可以选择最合适的 时间信息 显示格式:9.Wireshark – 部分过滤选项(Filter Options)捕获的数据帧可以使用过滤功能,可用的过滤选项包括:仅捕获周期性数据帧(Cyclic Frame)Filter: (ecat.cmd == 0x0a) || (ecat.cmd == 0x0b) || (ecat.cmd == 0x0c)仅捕获邮箱通讯(mailbox communication)Filter: ecat_mailbox Filter: ecat_mailbox.coe Filter: ecat_mailbox.soe Filter: ecat_mailbox.foe Filter: ecat_mailbox.eoe仅访问特定的注册字或者注册字区间 (register or register range)Filter: ecat.ado == 虹科干货 | EtherCAT诊断举例之分布时钟诊断 - 知乎切换模式写文章登录/注册虹科干货 | EtherCAT诊断举例之分布时钟诊断虹科工业智能互联EtherCAT是一项高性能、低成本、应用简单、拓扑灵活且开源的确定性以太网技术,其独特优势使得EtherCAT在半导体制造、机器控制、测量设备等领域有着广泛的应用。在进行EtherCAT主从通讯测试时,比较容易在DC配置出现错误,特别是使用到从站DC模式时,有时会出现代码为0x1A的“同步错误”,有时即使没报错误,伺服从站运行过程中也会出现电机轴的抖动,这是出于什么原因呢?本文将以虹科EtherCAT开发方案和三洋伺服测试举例,通过采集SYNC0与SM2信号之间相位关系波形图,做出诊断结论。在测试前,需要认识两个概念:从站同步模式、同步错误从站同步模式简单理解就是从站以某个信号作为同步事件(中断信号)来更新数据,EtherCAT支持以下各种同步模式,这里以常用的1,2,3,4举例说明。1. Free Run2. Synchronous to SM2/3 (with Shift)3. DC Mode 1 (Sync0 Event)4. DC Mode 1 (Sync0 Event with Shift)5. DC Mode 2 (Sync0, Sync1, with Shift)6. DC Mode 3 (SM2 Event, Sync0)7. DC Mode 4 (SM2 Event, Sync0, Sync1)8. DC Mode with subordinated cycles同步模式在应用层,每个从站实时监视从ESC收到的同步SYNC信号。假如检测到同步错误,从站会进入safe-op状态并产生对应的应用层状态码,主站可以通过非周期命令读取这一状态码。可能引起同步错误的原因:主站周期时间/同步信号的错误配置不再收到ESC发送的SYNC信号主站发送数据帧时存在较大的抖动,导致数据帧在从站收到SYNC信号之后才到达从站:所以必须严格保证SYNC0必须在SM2信号之后。概念解释COE下0x1C32对象字典对应的几个概念其中也标注了数据从SM拷贝到从站MCU内存的时间和硬件处理延时时间分别为62.5us和30us。2. FreeRUN模式自由运行模式通过应用程序控制器的本地计时器中断启动。,本地周期从通信周期或主站周期独立出来单独运行3. SM2事件由于从站的处理与SM2事件周期相对应,因此从站的处理保持与SM2事件同步。运行时使用本地周期计时间直到收到SM2事件。4. DC模式SYNC0事件收信后也开始从站的本地周期。 在下个SYNC0中断发生前,过程数据帧必须被从站完全接收实操测试测试说明:主站周期1ms,分别测试三洋伺服的SYNC0引脚和SM2中断引脚的信号,绿色信号为SYNC0,黄色信号为SM2测试一Sync shift time:0μs, Shift time:0μs,不设置传播延时补偿,不设置SYNC0启动延时测试结果:示波器测试IRQ信号与SYNC0的信号时间差基本上为11μs测试结果:这时会出现异常的同步错误测试二Sync shift time:0μs, Shift time:250μs 不设置传播延时补偿,设置SYNC0延时250us启动测试结果:IRQ与Sync0之间的时间差为228--238μs左右,而且SYNC0明显在SM2之后,正常测试三Sync shift time:60μs,Shift time:250μs,设置传播延时补偿60us(补偿从站响应时间),设置SYNC0延时250us启动测试结果:IRQ与Sync0之间的时间差为282--300μs左右,相对测试二,往后延时60us左右,正常;总结1. 保证SYNC0信号在SM2信号之后;2. 主站的抖动(SM2抖动)会导致从站伺服的抖动,一般如果主站max circle time jitter大于周期的20%-30% ,会出现问题;3. 通过设置Shift time(SYNC0延时启动)时间可以改变SM2与SYNC0的间隔时间,给从站进行数据拷贝留出更多的时间,保证数据全部更新;4. 每个厂家的伺服,shift time的设置大小不同,需咨询具体硬件厂商,一般是周期的四分之一,或者以自己实际测试为主,只要保证可以完整更新数据,不会出现来不及更新数据即可。虹科是一家在工业自动化领域,特别是工业总线通讯领域行业经验超过15年的高科技公司,虹科智能自动化事业部为客户提供业内顶尖水平的通信协议软硬件解决方案和技术支持。在EtherCAT方面,虹科可提供板卡、网关、IO模块、嵌入式通讯模块、编码器采集模块、抓包诊断工具等多种方案,欢迎联系虹科,为您的需求寻找最合适的解决方案!发布于 2023-07-19 13:24・IP 属地广东工业以太网EtherCAT 工业以太网应用技术(书籍)赞同 2添加评论分享喜欢收藏申请 EtherCAT igh "Fatal Sync Error"——0x002C,0x001A_{0x002c, "fatal sync error"},-CSDN博客 EtherCAT igh "Fatal Sync Error"——0x002C,0x001A 最新推荐文章于 2023-10-30 01:30:00 发布 拉松 最新推荐文章于 2023-10-30 01:30:00 发布 阅读量2.9k 收藏 13 点赞数 4 分类专栏: ethercat 文章标签: ethercat 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/cln512/article/details/103766907 版权 ethercat 专栏收录该内容 24 篇文章 94 订阅 订阅专栏 问题还没解决,后续会跟进。打算记录一下调试过程,以防后面忘记。当然也希望有朋友能指点我一下,哈哈。 使用igh进行开发,遇到了一个报错,这种报错无规律可言,测试的时候,有时会出现,有时不出现。 这个问题,我问了一个网友,他的回答如下: EtherCAT从站有个本地时钟(是个定时器,1ms一次中断,这个中断函数会去喂狗,就是累加一个数),sync会去清零这个累加数(清除喂狗的次数)。当喂狗的次数(就是那个累加数)大于等于约定的次数时,就会报这个错误。 所以查三个地方,一个是定时的周期是否正确,二是喂狗的次数上限是否正确,三是否在规定时间内接收到sync中断。 你可以用开发板接你的主站,能正常通讯,那就不是sync的问题,查两外两个。 这个报错的信息是从站上传的,你可以在从站代码里面全局搜索002c,就能找到这个错误的宏定义,和报错的地方 ctrl + F, 全局搜索002c 继续全局查找这个bDcRunning 然后debug这两个变量 上面在动的那个计数,大于等于下面那个就报错了,有时候等于也没报错,这是因为报错的机制在主函数循环里面,还没执行到,又被清零了,所以有时候不报错,这是bug。 ASK:如果说sync中断慢了,也会报这种错误是吧? ANSWER:是的,因为狗已经喂饱了,就是那个计数已经超过设置的计数值了, 喂狗就是不断的让那个计数值加1,sync中断会清零那个计数值, 那个计数值大于一定数,就会sync报错,就是你遇到的那个错误。 好吧,其实忙活了半天只是知道为什么会报错,并没能找到报错的真正原因!!! 个人认为并不是从站的问题,我用TwinCAT连接从站做测试,尚未发现这个问题,只有在用igh主站的时候会报错!!! 这个问题应该叫做“EtherCAT网络抖动问题”,我在知网搜到了一篇论文《一种EtherCAT软主站的抖动抑制方法》,论文中讲述了一些造成抖动的原因,有兴趣的可以下载参考。 过段时间打算研究一下从站程序的流程,以及IRQ、sync0、sync1三个中断。 优惠劵 拉松 关注 关注 4 点赞 踩 13 收藏 觉得还不错? 一键收藏 知道了 18 评论 EtherCAT igh "Fatal Sync Error"——0x002C,0x001A 问题还没解决,后续会跟进。打算记录一下调试过程,以防后面忘记。当然也希望有朋友能指点我一下,哈哈。使用igh进行开发,遇到了一个报错,这种报错无规律可言,测试的时候,有时会出现,有时不出现。这个问题,我问了一个网友,他的回答如下:EtherCAT从站有个本地时钟(是个定时器,1ms一次中断,这个中断函数会去喂狗,就是累加一个数),sync会去清零这个累加数(清除喂狗的次数)。当喂狗的次数(... 复制链接 扫一扫 专栏目录 EtherCAT用TwinCAT 3跑DC报0x2C或者0x1A错误码 PI_sunyang的博客 12-21 2820 EtherCAT用TwinCAT 3跑DC报0x2C或者0x1A DC报错 ///////////////////////////////////////////////////////////////////////////////////////// /** \brief Checks communication and synchronisation variables and update AL status / AL status code if an error has occurr ethercat linux 主站igh程序讲解 01-08 linux,ethercat 开源master igh 汇川伺服电机 igh流程讲解 英文论文Motion Control of 6-DOF Manipulator Based on EtherCAT 六轴机械臂开源控制 18 条评论 您还未登录,请先 登录 后发表或查看评论 TwinCAT无法进入OP,报错AL state 0x001a - Synchronization error qq_31825529的博客 05-20 4740 既然是同步错误,那么无法进入OP的原因就是同步失败导致的了。官方手册给出的错误代码原因是网络抖动造成的从站同步信号丢失,说明TwinCAT设置的DC周期太短了,在当前主站性能和网络条件下无法实现,所以适当增加DC周期即可解决。如:从默认的2000us改为10000us ... ethercat-1.5.2.rar_Ethercat主站_ethercat 1.5.2_igh_igh Windows_mas 07-14 主要是关于igh开源主站的介绍以及使用。这个可以作为参考文档。 ethercat igh.zip 06-29 内含两个版本的ethercat igh master,其中一个支持4.x的内核。 怎么使用可以参考《ubuntu14.04、xenomai3.1、ethercat igh构建主站》和《ubuntu14.04、xenomai2.6.5、ethercat igh构建主站》两篇博客 基于LAN9252芯片的EtherCAT从站的实现.pdf 07-26 基于LAN9252芯片的EtherCAT从站的实现.pdf EtherCAT状态机控制和状态 風之逍遥的博客 09-05 8446 主机和从站状态转化规律如下: (1)、主机控制从机状态转换,将目的状态写入从站AL控制位(0x0120.0~3); (2)、从机读取新状态请求后,检查自身状态: a:如果可以转化,则将新状态写入状态机实际状态位(0x0130.0~3); b:如果不能转化,则不改变实际状态位,设置错误指示位(0x013.4),并... IgH EhterCat主站 EC Master 使用心得:SII,ENI和SM踩坑记录 最新发布 10-30 825 IgH使用SII的同步管理器配置的问题与解决 基于STM32的伺服总线EtherCAT主站设计——SOEM方案 weixin_48501028的博客 04-16 7553 本文介绍在正点原子的STM32H743开发板上,使用SOEM方案实现EtherCAT主站通讯,本文记录从零基础学习路线,从入门到移植成功控制电机转动。 记录小白的igh ethercat遇到的问题 m0_47248550的博客 02-02 919 小白igh ethercat主站设计过程的记录 ethercat igh1.5.2源码 03-30 ethercat igh1.5.2源码,用于搭建ethercat主站,实现ethercat通信 EtherCAT igh主站控制3个台达asdaa2伺服转圈圈 12-03 EtherCAT igh主站控制3个台达asdaa2伺服转圈圈。包括伺服使能、控制3个电机转圈圈、每秒读取电机的实际位置、运行90秒自动退出程序。。。 需要编译igh和xenomai环境,才能成功运行程序,代码是完整的。 fatal error: concurrent map writes 错误及解决方法 EDI451553616的博客 04-27 1889 fatal error: concurrent map writes 的错误及其解决方法 基于STM32F407-LAN9252的EtherCAT从站协议移植过程 墨小骨的博客 04-21 4505 根据SDK文件里面的SPIDriver,创建SPI发送/SPI接收函数,其实也可以直接Copy过来用,删除SPIOpen(),SPIPut(),修改一下SPIWrite()和SPIRead()对应的读写HAL函数,补一下(void)。Micrchip官网下载SDK(“LAN9252-PIC32-SDK-1.1”),里面有这个两个文件,我们只需要里面的代码架构,里面的内容都可以自己写。可以很明显的看出协议栈里的很多文件已经变更了,5.11版的协议栈和官方给的SDK更适配。 IgH详解三、数据报发送流程 EtherCAT 08-30 2893 数据发送通过调用ecrt_master_send接口来发送报文。 红框内容说明:为什么有条件的插入主站状态机数据呢?其实是和主栈的idle和op线程有关,通过之前的介绍我们知道,主站启动时启动了idle线程,idle线程会主动的调用ecrt_master_send接口来发送报文 但是当我们在应用程序中请求主站的时候,idle线程就退出了,转而启动了op线程继续执行主站状态机 可以看到op线程没有调用send函数,写过IgH应用程序就应该知道,我们会在周期任务中周期的调用sen... EtherCAT IGH 驱动一个步进电机 u014077947的博客 10-22 3729 EtherCAT IGH 驱动一个步进电机。 2020-09-04 chocolate2018的博客 09-04 3222 Igh1.5.2 etherCAT接口分析 用户空间库 本地应用程序接口驻留在内核空间中,因此只能从内核访问。 为了使应用程序接口在用户空间程序中可用,已经创建了一个用户空间库,该用户空间库可以根据LGPL版本2 [5]的条款和条件链接到程序。 这个库被命名为libethercat。 它的源代码驻留在lib /子目录中,并且在使用make时默认生成。 它被安装在安装前的lib /路径下,如libethercat.a(用于静态链接),libethercat.l... STM32 EtherCAT 总线型(1 拖 4)步进电机解决方案 YEYUANGEN的专栏 09-20 931 TwinCAT,Codesys,欧姆龙,Trio,SOEM,IGH,Acontis,KPA 等。EtherCAT_Step_Motor_V1.0,四轴步进电机驱动器,单轴驱动最大电流 3A。带步进电机加减速最大 500 转/s²,最高速度 3000 转/min,最低转速 0.001。I10-I12 为电机 4 的数字输入,触发时,对应总线的输入对象字典显示 1、2、4。4pin 端子为步进电机端子,自上到下依次为电机 1、电机 2、电机 3、电机 4。分以上时,电机基本上处于空载状态。数字输入通道导通时, 基于STM32构建EtherCAT主站(SOEM方案)1 热门推荐 cln512的博客 12-05 1万+ 最近两月的周末,本人将SOEM主站移植到了STM32上,在free run模式下运行正常,可以驱动倍福的io从站;在DC模式下存在一些bug,只能驱动一部分的伺服驱动器。 准备在博客上记录一些移植过程,和大家分享一下,肯定会有一些说的不对的地方,欢迎大家批评指正。 整个移植过程其实和将lwip移植到stm32上的方法类似,SOEM主站在设计时就采用了硬件抽象层、操作系统抽象层的架构,因此改一下osal、oshw、nicdrv这几部分的代码就可以了。 当然了,移植过程中参考了许多网上资料(不限于以下几个)。在 ethercat igh是什么 07-25 EtherCAT IGH是一种用于EtherCAT总线的命令行工具。它提供了一系列命令,用于配置和管理EtherCAT网络。根据引用\[1\]中的内容,EtherCAT IGH的命令行工具包括了许多功能,如创建别名、管理主节点和从节点、查看状态、生成配置文件等。根据引用\[3\]中的内容,EtherCAT IGH的命令行工具在《EtherCAT IGH 1.52.pdf》中有详细的介绍。所以,EtherCAT IGH是一种用于配置和管理EtherCAT网络的命令行工具。 #### 引用[.reference_title] - *1* *3* [EtherCAT IGH 命令行介绍](https://blog.csdn.net/u014077947/article/details/127489297)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [EtherCAT IGH 的下载和编译](https://blog.csdn.net/u014077947/article/details/127402412)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ] “相关推荐”对你有帮助么? 非常没帮助 没帮助 一般 有帮助 非常有帮助 提交 拉松 CSDN认证博客专家 CSDN认证企业博客 码龄9年 暂无认证 44 原创 1万+ 周排名 64万+ 总排名 16万+ 访问 等级 1717 积分 499 粉丝 210 获赞 187 评论 1310 收藏 私信 关注 分类专栏 运动控制器 8篇 rt thread smart 3篇 stm32 1篇 ethercat 24篇 c++ socket 1篇 c++ 多线程 1篇 linux进程线程 4篇 最新评论 基于STM32构建EtherCAT主站(SOEM方案)2 专噶猛男腰子: 不知道你解决了没,0x6040是伺服的使能流程,一般都是写6-7-F这样子,具体可以参考cia 402的控制手册,大概的意思 先清除报警然后(6/7)停机,后(f)使能驱动器。 基于STM32构建EtherCAT主站(SOEM方案)1 weixin_57482667: 大佬移植后的是不是用Codesys软件来编程的? DIY运动控制器——移植grbl(软件架构、脉冲产生) weixin_41776940: 最核心的就是这个,布鲁森汉姆插补 法。网上有一篇文章是讲关于这个算法的推导 beaglebone(AM335X)安装igh-ethercat 星栈: 博主你好,我am335x开发板4.1.18内核,暂时没有打实时补丁,已经移植好igh在开发板上了,现在正在交叉编译你博客里的igh.c;我输入指令arm-linux-gnueabihf-gcc igh.c -o igh igh.c:11:29: fatal error: native/task.h: No such file or directory出现报错,缺少头文件,我没有xenomai的头文件,也没有rtdk.h,有rtdm.h但是指定目录后还是报错,请问您是怎么指定头文件目录并且交叉编译出来的 EtherCAT从站读取MPU9250数据并进行姿态解算 hehao9051: 有没有第一版本的资料可以参考呀,FSMC没有调通 您愿意向朋友推荐“博客详情页”吗? 强烈不推荐 不推荐 一般般 推荐 强烈推荐 提交 最新文章 基于rt thread smart构建EtherCAT主站 rt thread smart制作emmc镜像 rt thread smart适配野火imx6ull开发板的KSZ8081网卡 2022年5篇 2021年12篇 2020年9篇 2019年18篇 目录 目录 分类专栏 运动控制器 8篇 rt thread smart 3篇 stm32 1篇 ethercat 24篇 c++ socket 1篇 c++ 多线程 1篇 linux进程线程 4篇 目录 评论 18 被折叠的 条评论 为什么被折叠? 到【灌水乐园】发言 查看更多评论 添加红包 祝福语 请填写红包祝福语或标题 红包数量 个 红包个数最小为10个 红包总金额 元 红包金额最低5元 余额支付 当前余额3.43元 前往充值 > 需支付:10.00元 取消 确定 下一步 知道了 成就一亿技术人! 领取后你会自动成为博主和红包主的粉丝 规则 hope_wisdom 发出的红包 实付元 使用余额支付 点击重新获取 扫码支付 钱包余额 0 抵扣说明: 1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。 余额充值 2、 Output Valid:输出有效,指的是主站输出有效,表示的是从站将数据帧中对应数据从同步管理器通道上下载下来的一个过程。 3、 Input Latch:输入锁存,锁存信号(LATCH0/1)用于给外部信号打上时间戳(time stamp) (在DC模式下主站对时的过程中,一般指的是从站锁存主站数据帧到达的时间戳,然后将该时间戳数据写入到同步管理器通道上,让主站取走方便主站进行从站之间时间偏移补偿和漂移补偿)。 4、 (Output)Shift Time:指的是主站发送数据帧的起始时间到与从站Sync0 Event事件信号触发之间的时间间隔。 5、 (Input)Shift Time:只对输入模块有效,表示输入有效信号,指的是Sync0 Event事件信号后的一个固定延时时间或者Sync1 Event事件信号,用于设置Input Latch触发信号。 6、 SM Event:EtherCAT总线通信的机制就是Frame数据帧到达从站后会触发SM Event事件信号 7、 Sync0 Event:同步事件信号是由我们在主站TwinCAT上自定义的一个时间同步触发事件信号,SYNC0 是最常用的同步信号,由DC产生,固定周期触发 8、 Sync1 Event:指的是Input Latch输入锁存的一个事件触发信号,SYNC1信号不独立存在,通常是在SYNC0触发之后,延时一段时间触发,SYNC1触发周期可以是SYNC0的整数倍三、 EtherCAT网络中各个站点之间时钟计数不一致的两个原因1、时钟偏移:各个站点启动的顺序不同,初始化流程也不同,因此各个从站本地时钟开始计数的时间本身就是不一致的,这种偏差被称为时钟的偏移 2、时钟漂移:受不同温度、寿命与物理特性的影响,各个时钟的晶振源的频率并不完全一样,因此随着运行时间的增加,原本一致的时钟也会逐渐产生偏差,这种偏差被称为漂移四、 时钟偏移和时钟漂移分别的解决思路1、针对时钟偏移->偏移补偿(初始化)1. 记录主站时间并广播一个锁存各从站时钟的报文。(DC下是记录第一个从站的时间) 2. 依次读取各从站被锁存的时间,计算锁存的从站时间与记录的主站的差。(计算其他从站与第一个从站的时间差) 3. 将这各个从站的时钟差值附加到从站的本地时钟上。复制2、针对时钟漂移->漂移补偿(定期)在从站中选择第一个支持分布式时钟功能的站点作为参考时钟。在位移补偿之后,主站在每个周期中对参考时钟的时钟计数执行单读单写(RMW)指令,读取其时间并广播到其他从站中。其他从站会将自身时间与接收到的参考时间进行比较。比参考时钟快的从站会降低计数器在每次晶振震动时的加值,而较慢的从站会增加计数器的加值。动态补偿在系统的整个运行阶段内持续运行,保证时钟都始终维持收敛。五、 分布式时钟的三种同步模式1 Free Run模式在这里插入图片描述 1、每个从站的定时周期都不一样 2、每个定时周期到的时候,每个从站去执行自己的程序,<比如检查通道上有没有合适的新的输入数据,有的话就令其输出有效(Output valid)或者检查有没有需要输入的数据,将其放到对应的同步管理器通道上(input prepare)让主站取走> 3、对于Free Run 模式而言,好比每个人都有自己的手表,但是如果没有一起对时的话。手表的本身的时间是不一样的(可能表和表之间存在时间差,一个8点一个10点),那么在这种情况下,公司如果要求9点上班,那么每个人到公司的时间都是自己手表上的9点,但是不是统一的9点,他们到达公司的时间是不一样,所以Free Run模式没有任何的同步性可言2 SM同步机制(Sync Manager同步管理器)在这里插入图片描述在这里插入图片描述 1、一般而言,如果EtherCAT总线通讯时的同步模式不是DC模式,那么就是SM同步模式了, 2、SM(Sync Manager同步管理器)指的是同步管理器的同步,它的触发方式是通过SM Event,也就是我们的数据帧在到达对应的从站的时候,会触发一个叫做同步管理器事件的信号(即SM Event),当从站接受到这个信号的时候,会进入到对应的中断服务例程(即中断保存当期任务,去执行插入的中断例程,这里指线程中断处理相关数据,这也是SM Event和 Free Run的不同之处),即SM是通过中断服务例程来处理对应的数据。 3、从站检测到SM Event事件信号的时候会进入到中断服务例程去处理相应的数据(比如把输出数据有效,然后把输入数据放到同步管理器的通道上让主站取走) 4、由于SM同步模式是根据数据帧到达特定从站的时候来触发SM Event事件信号来进行同步,那么对于一个特地给的帧来说,它到达每一个从站的时间必然是不同的,当系统很庞大的时候,每个从站接收到数据帧的时间就会相差很大,越在后边的从站接收到数据帧的时间就越晚,它的同步效果就越差。 5、手表举例:10个人10个表,10个人开始对表,从0开始计时,当上一个人完成了对表计时之后,才通知到下一个人进行对表计时,依次传递,那么到最后的第10个人它开始计时的时间是最晚的。完成对时之后,如果公司要求是10点上班,每个人按照自己手表上的10点到达,那么第10个人一定是最晚的。3 简单DC同步机制(Sync0 Event)1、Sync0 Event和SM Event事件信号是类似的,他们都是一个中断事件信号,对于一个从站而言,如果中断信号触发了而且中断屏蔽寄存器没有屏蔽掉该中断信号,那么从站就会进入到中断服务例程 2、中断服务例程就是说从站从主循环中跳出,暂停并保留主程序状态,然后执行中断服务例程这一部分内容,比如说周期性数据的输出<周期性数据的实时性比较强,那么中断信号可以满足这种比较强的实时性需求,不会因为其他信号来耽误它的操作,其它的中断信号会进入等待状态直到前一个中断信号被恢复,即进入到恢复现场阶段> 3、不同于SM Event的地方是Sync0 Event是根据我们自己设定的延时时间触发而不是帧到达时候才触发 4、注意,虽然简单DC同步机制中没有用到SM Event事件信号,但是它依旧是存在的,因为只要当Frame帧到达从站的时候就会触发SM Event事件信号,这里只是不用到该信号来进行触发而已,(但是应该明白不管是哪一种同步机制,SM Event都是存在的,当从站接受到数据帧的时候都会产生SM Event事件信号)4 简单DC同步机制的时序分析在这里插入图片描述 1、除了Sync0 Event信号之外,还可以看到有一些其他的信号,包括Output Valid和Input latch信号,像这些信号都是TwinCAT主站在初期设置的时候可以设置的内容,Output Valid表输出有效,实际上是主站在Sync0 Event事件信号触发后的基础上作了一定的时间偏移 2、偏移时间(Output Delay Time)是可以在TwinCAT上看到并且可以手动调整的 3、Input Latch的偏移时间也是在TwinCAT上可以调整的,所以说以上两部分内容都是可以灵活设置的 4、手表举例:10个人10快手表,它们的时间在和参考时间对时之后,每个人的时间都是和参考时间同步,他们的时间是一样的,公司要求9点上班,那么他们按照各自的时间准时达到也是一致的。5 DC同步机制优化在这里插入图片描述 1、优化的DC模式同时使用了SM Event事件信号和Sync0 Event事件信号,而简单DC同步机制只是使用Sync0 Event这一种事件信号进行同步,《同样应该明确的是,无论使用哪一种同步模式,只要当数据帧Frame到达从站的时候都会触发对应的SM Event事件信号》 2、==在这种优化的DC模式中,当对应的SM Event事件信号触发后,从站会进入到中断服务例程进行数据的处理《把数据帧Frame中对应的所需数据进行计算,然后复制到管理器通道对应的用户区域,等待Sync0 Event同步信号触发之后让从站取走,然后SM Event中断完成,恢复现场》,==然后等待Sync0 Event信号的触发到来,也就是同步信号的触发,可以看到由于之前SM Event中断中已经完成了前期数据的处理,当Sync0 Event同步信号触发时,程序进入到中断服务例程,就只需要很短的一段Output Delay Time,马上就进入到Output Valid(输出有效)状态。 3、这种优化版的DC同步机制相对于之前的简单DC模式,优点就是Output Delay Time输出延时没有那么长了,主要是因为第二种优化的DC模式利用SM Event事件信号的触发完成了前期从数据帧中对应从站数据的计算和复制到管理器通道上,所以当Sync0 Event同步信号触发后,只需要从管理器通道取走已经计算并复制好了的数据,进入到输出有效Output Valid的延时时间自然就比较短了,而第一种简单的DC模式只是使用到了Sync0 Event同步信号,所以当Sync0 Event触发后,需要在Output Delay Time时间内完成数据的复制和计算,所以简单DC模式下的Output Delay Time延时时间就会比较长。6 DC同步丢帧1、问题描述:在使用DC模式的时候会出现一种同步丢帧的情况,就是说数据帧在到达尾端从站之前,所有从站的Sync0 Event同步事件信号就已经触发了,也就是说数据帧传输的太慢,可能还来不及到达尾端从站,但是它的同步事件信号已经触发了,而此时从站却从管理器通道上获取不到数据帧中对应的数据,从站就会判断数据帧丢失了,这就是同步丢帧的问题。 这种问题一般在考前的从站中发生较少,当一个系统较大时,尾端的从站接收到数据帧的时间也比较晚,因为存在物理传输时间,所以越后面的从站接收到的数据帧时间就越晚,==(虽然Sync0 Event事件信号在完成DC对时之后是同步触发的,但是数据帧的传递时间是依次递增的),==如果我们刚开始留出的偏移时间(shift time)不够大的话就有可能在尾端从站发生同步丢帧的情况 2、解决方案:把第一个从站和主站之间的偏移时间调大,可以在TwinCAT中对Shift Time进行调整。(由于Sync0 Event是同步触发的,只需要设置好第一个从站和主站之间的Shift time,后面的从站和主站的Shift Time也都是这个值)。7 优化DC模式的时序分析在这里插入图片描述 1、当数据帧Frame依次到达每一个从站的时候,EtherCAT的机制会触发SM Event事件信号,(数据帧依次发送到各个从站的时间是一个慢慢变长的延时时间,这是硬件上必然发生无法改善的事情)。 2、然后从站会把数据帧上从站需要的数据进行计算并复制到同步管理器通道上,然后会进行中断事件恢复, 3、主程序等待一个DC Sync Signal同步事件中断信号(也就是Sync0 Event),这个Sync0 Event同步事件信号是所以从站同时触发的,就像规定的9点上班一样<这里的前提是主站已经通过发送帧对各个从站完成了对表计时步骤,各个从站的时间是同步一致的>。 4、当Sync0 Event事件信号同步触发时候,由于之前已经完成了数据的计算和复制,那么此时的输出抖动会非常小,约为15ns,(输出抖动jitter和主站有关,在SM Event事件之前由主站触发),同时同步性能也会非常好(Output Delay time会很短,Output Valid输出有效很快触发)。 5、在Output Valid输出有效触发之后,从站会等待一个Input Latch信号,它可以是Sync1 Event事件信号,也可以是Sync0 Event事件信号触发后一段固定的延时时间,这取决于我们在TwinCAT上的设置情况。六、 总结总体的DC分布式时钟模式汇总如下流程所示: 在这里插入图片描述发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143929.html原文链接:https://javaforall.cn本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。 原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除前往查看数据分析unix本文分享自 作者个人站点/博客 前往查看如有侵权,请联系 cloudcommunity@tencent.com 删除。本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!数据分析unix评论登录后参与评论0 条评论热度最新登录 后参与评论推荐阅读LV.关注文章0获赞0目录EtherCAT总线三种同步模式分析一、 分布式时钟作用二、 名词解析三、 EtherCAT网络中各个站点之间时钟计数不一致的两个原因四、 时钟偏移和时钟漂移分别的解决思路1、针对时钟偏移->偏移补偿(初始化)2、针对时钟漂移->漂移补偿(定期)五、 分布式时钟的三种同步模式1 Free Run模式2 SM同步机制(Sync Manager同步管理器)3 简单DC同步机制(Sync0 Event)4 简单DC同步机制的时序分析5 DC同步机制优化6 DC同步丢帧7 优化DC模式的时序分析六、 总结领券社区专栏文章阅读清单互动问答技术沙龙技术视频团队主页腾讯云TI平台活动自媒体分享计划邀请作者入驻自荐上首页技术竞赛资源技术周刊社区标签开发者手册开发者实验室关于社区规范免责声明联系我们友情链接腾讯云开发者扫码关注腾讯云开发者领取腾讯云代金券热门产品域名注册云服务器区块链服务消息队列网络加速云数据库域名解析云存储视频直播热门推荐人脸识别腾讯会议企业云CDN加速视频通话图像分析MySQL 数据库SSL 证书语音识别更多推荐数据安全负载均衡短信文字识别云点播商标注册小程序开发网站监控数据迁移Copyright © 2013 - 2024 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有 深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档Copyright © 2013 - 2024 Tencent Cloud.All Rights Reserved. 腾讯云 版权所有登录 后参与评论00-1.5
%����
1 0 obj
<>>>
endobj
2 0 obj
<>
endobj
3 0 obj
<>/XObject<>/Font<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 9 0 R 11 0 R 12 0 R 13 0 R 14 0 R 15 0 R] /MediaBox[ 0 0 720 540] /Contents 4 0 R/Group<>/Tabs/S/StructParents 0>>
endobj
4 0 obj
<>
stream
x����kA����Gp��_�"5!���^��!cRۦ)��;{�u�&���q��~��]h]A�ݺ��;8���g�!�BD�X#8��4γ/�0ͳ�����W�L�� �[��=γ�y���+m��!J�P�A��iF�btP>�$�%�9S��t���W���B��By����7������d��RL�*��hv#I
/���v�L�&�q�[~]|>��0�����k}P6T�L�鄻�����$T\%�J�a�Y��)7^+���g���:R���*YJ�&�B�P=��aZ��d�j�{�s�/���<�J�#.�华�(M����.��A�b�w.f >�[cPƃ�vv�*�(`pFt�U;�l�] fĥ���� �w)����4����ΝO��p=�@c>
endobj
6 0 obj
<>
stream
x��xTE���^�o6[��IH��(M�@8"EDEQ�( U��T��(ꩧw�;�)�� "'��@�]nv7��6[�����H�y3�f�7o�<EtherCAT_百度百科
rCAT_百度百科 网页新闻贴吧知道网盘图片视频地图文库资讯采购百科百度首页登录注册进入词条全站搜索帮助首页秒懂百科特色百科知识专题加入百科百科团队权威合作下载百科APP个人中心EtherCAT播报讨论上传视频开放架构收藏查看我的收藏0有用+10本词条由“科普中国”科学百科词条编写与应用工作项目 审核 。EtherCAT(以太网控制自动化技术)是一个开放架构,以以太网为基础的现场总线系统,其名称的CAT为控制自动化技术(Control Automation Technology)字首的缩写。EtherCAT是确定性的工业以太网,最早是由德国的Beckhoff公司研发。自动化对通讯一般会要求较短的资料更新时间(或称为周期时间)、资料同步时的通讯抖动量低,而且硬件的成本要低,EtherCAT开发的目的就是让以太网可以运用在自动化应用中。中文名以太网控制自动化技术外文名EtherCAT本 质现场总线系统特 点实时性,灵活性目 的以太网可以运用在自动化应用中研发公司德国的Beckhoff公司目录1机能原理2通讯协定3性能4拓扑5同步6设备行规7机能安全8实现机能原理播报编辑一般工业通讯的网络各节点传送的资料长度不长,多半都比以太网帧的最小长度要小。而每个节点每次更新资料都要送出一个帧,造成带宽的低利用率,网络的整体性能也随之下降。EtherCAT利用一种称为“飞速传输”(processing on the fly)的技术改善以上的问题。 [1]在EtherCAT网络中,当资料帧通过EtherCAT节点时,节点会复制资料,再传送到下一个节点,同时识别对应此节点的资料,则会进行对应的处理,若节点需要送出资料,也会在传送到下一个节点的资料中插入要送出的资料。每个节点接收及传送资料的时间少于1微秒,一般而言只用一个帧的资料就可以供所有的网络上的节点传送及接收资料。通讯协定播报编辑EtherCAT通讯协定是针对程序资料而进行优化,利用标准的IEEE 802.3以太网帧传递,Ethertype为0x88a4。其资料顺序和网站上设备的实体顺序无关,定址顺序也没有限制。主站可以和从站进行广播及多播等通讯。若需要IP路由,EtherCAT通讯协定可以放入UDP/IP资料包中。性能播报编辑EtherCAT的周期时间短,是因从站的微处理器不需处理以太网的封包。所有程序资料都是由从站控制器的硬件来处理。此特性再配合EtherCAT的机能原理,使得EtherCAT可以成为高性能的分散式I/O系统:包含一千个分散式数位输入/输出的程序资料交换只需30us,相当于在100Mbit/s的以太网传输125个字节的资料。读写一百个伺服轴的系统可以以10kHz的速率更新,一般的更新速率约为1–30kHz,但也可以使用较低的更新速率,以避免太频繁的直接内存存取影响主站个人电脑的运作。 [2]拓扑播报编辑EtherCAT使用全双工的以太网实体层,从站可能有二个或二个以上的埠。若设备没侦测到其下游有其他设备,从站的控制器会自动关闭对应的埠并回传以太网帧。由于上述的特性,EtherCAT几乎支持所有的网络拓扑,包括总线式、树状或是星状,现场总线常用的总线式拓扑也可以用在以太网中。EtherCAT的拓扑可以用网络线、分枝或是短线(stub)作任意的组合。有三个或三个以上以太网接口的设备就可以当作分接器,不一定一定要用网络交换器。 由于使用100BASE-TX的以太网物理层,二个设备之间的距离可以到100米,一个EtherCAT区段的网络最多可以有65535个设备。若EtherCAT网络是使用环状拓扑(主站设备需要有二个通讯埠),则此网络还有缆线冗余的机能。同步播报编辑为了系统的同步,EtherCAT协定中有提供分散式时钟机制,即使通讯循环周期有抖动,时钟的抖动远小于1µs,大约接近IEEE 1588精密时间协议的标准。因此EtherCAT的主站设备不需针对时钟使用特殊的硬件,可以用软件实现在任何标准的的以太网MAC,即使没有特殊的通讯协处理器也没有关系。标准建立分散式时钟的程序是由主站送出一特定位址的广播讯息给所有从站来启动。若使用环状拓扑,所有从站会在收到讯息时闩锁内部时钟,当讯息回来时会再闩锁内部时钟一次。主站会读所有从站闩锁的值,计算各个从站的延迟。为了消除抖动的影响及求得平均值,主站会尽可能的多次进行上述的程序。所有的从站延迟会依各从站在从站环状拓扑的位置来计算,并记录在一个偏移寄存器中。最后主站送出一个读写系统时钟的广播讯息,会使第一个从站的时钟为参考时钟,其他从站的内部时钟会调整到和第一个从站相同。为了在初始化后保持时钟的同步,主站或从站需定期的再送出广播讯号,以计算各个从站内部时钟的速度差异,若有需要时,从站需要可以调整自身时钟的速度,或是有其他调整时钟的机制。系统时钟是一个64位元的计时器,计数内容是从2000年1月1日0点0分开始所经过的时间,单位是纳秒(ns)。设备行规播报编辑设备行规(device profile)描述应用需要的参数及设备的机能特性,包括可能依设备种类而不同的状态机。总线技术中已有许多可靠的设备行规,例如I/O设备、驱动器或阀等设备。EtherCAT同时支持CANopen设备行规及Sercos驱动器行规。从CANopen或Sercos移植到EtherCAT时,在应用观点看到的内容是一様的,也可方便使用者或设备制造商的转换。机能安全播报编辑EtherCAT有一个加强的协定版本,称为Safety over EtherCAT,可以在同一个网络上进行机能安全相关的通讯和一般的控制通讯。此安全通讯是以EtherCAT的应用层为基础,不会影响底层的通讯协定。Safety over EtherCAT有通过IEC 61508的认证,符合安全完整性等级(SIL)3的要求。自2005年起已有使用Safety over EtherCAT的产品上市。实现播报编辑EtherCAT主站可以用软件,在标准的以太网媒体接入控制器中实现。许多供应商有提供在不同操作系统下的程式码,也有许多开源软件或共享软件。EtherCAT从站需要特殊的EtherCAT从站控制器,才能实现飞速传输(processing on the fly)的技术。EtherCAT从站控制器可以用FPGA来实现,且已有现成的代码,此控制器也可以用ASIC来实现。新手上路成长任务编辑入门编辑规则本人编辑我有疑问内容质疑在线客服官方贴吧意见反馈投诉建议举报不良信息未通过词条申诉投诉侵权信息封禁查询与解封©2024 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号 京公网安备110000020000EtherCAT诊断-分布时钟同步诊断_欧姆龙ethercat从站检测异常?-CSDN博客
>EtherCAT Diagnostics 诊断 - 知乎
EtherCAT igh "Fatal Sync Error"——0x002C,0x001A_{0x002c, "fatal sync error"},-CSDN博客
>EtherCAT总线通信Freerun、SM、DC三种同步模式分析-腾讯云开发者社区-腾讯云
rCAT总线通信Freerun、SM、DC三种同步模式分析-腾讯云开发者社区-腾讯云全栈程序员站长EtherCAT总线通信Freerun、SM、DC三种同步模式分析关注作者腾讯云开发者社区文档建议反馈控制台首页学习活动专区工具TVP最新优惠活动文章/答案/技术大牛搜索搜索关闭发布登录/注册首页学习活动专区工具TVP最新优惠活动返回腾讯云官网全栈程序员站长首页学习活动专区工具TVP最新优惠活动返回腾讯云官网社区首页 >专栏 >EtherCAT总线通信Freerun、SM、DC三种同步模式分析EtherCAT总线通信Freerun、SM、DC三种同步模式分析全栈程序员站长关注发布于 2022-08-31 10:50:202.3K0发布于 2022-08-31 10:50:20举报文章被收录于专栏:全栈程序员必看全栈程序员必看大家好,又见面了,我是你们的朋友全栈君。 EtherCAT总线三种同步模式分析一、 分布式时钟作用使所有EtherCAT设备使用相同的系统时间,从而控制各设备任务的同步执行。二、 名词解析1、 现场总线高速数据传递:即主站周期的向从站发送输出信息并周期地读取从站的输入信息