比特派怎么下载|ethercat判断掉线
比特派怎么下载|ethercat判断掉线
EtherCAT有一个从站掉线:深入了解 - 技象科技
EtherCAT有一个从站掉线:深入了解 - 技象科技
跳至内容
技象科技有限公司官方网站
技象天猫旗舰店技象天猫旗舰店
技象京东旗舰店技象京东旗舰店
IoT演示平台IoT演示平台
首页
解决方案
菜单切换
TPUNB®
城域物联网
菜单切换
智慧农业
环境监测
智慧停车
局域物联网
菜单切换
智慧楼宇
智慧养老
智慧照明
智慧能源
工业智控物联网
菜单切换
动环监控
终端自组网
菜单切换
自组网
产品终端
菜单切换
芯片产品
模组产品
网关产品
应用产品
云平台
关于我们
菜单切换
荣誉资质
合作伙伴
公司一览
招聘岗位
新闻资讯
菜单切换
公司新闻
下载专区
联系我们
首页
TPUNB®
物联网解决方案
菜单切换
城域物联网
局域物联网
工业智控物联网
终端自组网
物联网产品终端
菜单切换
芯片产品
模组产品
网关产品
物联网云平台
关于我们
菜单切换
荣誉资质
合作伙伴
公司新闻
联系我们
Main Menu
首页
TPUNB®
物联网解决方案
菜单切换
城域物联网
局域物联网
工业智控物联网
终端自组网
物联网产品终端
菜单切换
芯片产品
模组产品
网关产品
物联网云平台
关于我们
菜单切换
荣誉资质
合作伙伴
公司新闻
联系我们
技象科技首页 / 行业百科 / EtherCAT有一个从站掉线:深入了解
EtherCAT有一个从站掉线:深入了解作者:
技象物联网
/ 行业百科 / 主站从站, 电子技术 / 2023年10月3日 10:51:51 2024年1月26日 16:31:17
EtherCAT(以太网控制器领域总线)是一种用于工业自动化的网络技术,它可以帮助您实现控制和检测系统的联网。它的一个重要功能是可以检测从站掉线,从而更好地保护您的系统免受损害。本文将介绍EtherCAT有一个从站掉线的原因,如何检测它们,以及如何避免它们发生。
什么是从站掉线?
从站掉线是指从站(也称为从属站)在EtherCAT网络中与主站(也称为控制站)失去连接。从站掉线可能会导致系统故障,因此检测和避免从站掉线是至关重要的。
从站掉线的原因
硬件故障
硬件故障是最常见的从站掉线原因。比如,电源故障、网络连接问题、电缆损坏等都可能导致从站掉线。当从站掉线时,它的状态会从“连接”变为“断开”,从而导致系统故障。
软件故障
软件故障也可能导致从站掉线。比如,从站的操作系统可能会崩溃,从而导致从站掉线。此外,从站的软件可能会受到恶意攻击,从而导致从站掉线。
网络问题
网络问题也可能导致从站掉线。比如,如果从站的网络连接不稳定,或者网络延迟过高,都可能导致从站掉线。
如何检测从站掉线?
使用状态检测
可以使用状态检测来检测从站掉线。EtherCAT系统提供了一种状态检测机制,可以检测从站的连接状态,并及时发出警报。
使用日志记录
可以使用日志记录来检测从站掉线。EtherCAT系统可以记录从站的连接状态,并将其记录在日志中,以便后期查看和分析。
使用监控系统
可以使用监控系统来检测从站掉线。通过监控系统,可以实时检测从站的连接状态,如果发现从站掉线,可以及时发出警报。
总结
EtherCAT有一个从站掉线是一个很常见的问题,它可能会导致系统故障。硬件故障、软件故障和网络问题都可能导致从站掉线。检测从站掉线可以使用状态检测、日志记录和监控系统。通过正确的检测和避免措施,可以有效地防止从站掉线,从而保护系统免受损害。
相关阅读:
ChemOffice三个起售:深入了解
MSP430PWM输出:深入了解
FCC认证频段:深入了解
C波段双输出高频头:深入了解
原创声明:文章来自技象科技,如欲转载,请注明本文链接: https://www.techphant.cn/blog/47292.html
文章导航
← 前一篇文章后一篇文章 →
相关推荐
10月 20 2023
ABR是什么意思?
12月 27 2023
间接寻址范围的重要性
10月 31 2023
ER6220G查AP掉线时间记录
12月 27 2023
动态优先级算法是什么
1月 14 2024
进程控制块中的IO设备状态
10月 28 2023
EC616:一种新型芯片技术
联系我们
广州技象科技有限公司聚焦物联网底层关键技术,打造100%自主知识产权的TPUNB物联专网,形成完备的物联感知系统参与各垂直行业的整体解决方案及项目建设。
品牌京东旗舰店
品牌天猫旗舰店
公司招聘岗位
免费技术咨询
站内资讯
比8266更强大的芯片
2023年10月27日 06:06:01
高压绝缘监测仪:用途与采集数据能力
2023年9月16日 08:44:52
Modbus会有时间信息吗?
2023年10月19日 15:19:28
驻波比测试仪使用教程
2023年8月11日 00:44:08
USB转232:公头转还是母头?
2023年11月2日 22:45:24
探索单片机开发板的奥秘
2023年12月16日 00:25:30
nb-iot具体应用包括哪些?
2023年7月4日 21:58:14
STM32F407芯片介绍及编程
2024年1月6日 19:19:37
空调传感器的主要功能
2023年10月6日 09:10:26
Wifi的距离是多远?
2023年10月31日 23:11:25
站内标签
通信系统
RS422
LoRa
RS232
zigbee
物联网
串口通信
DTU
无线模块
UART
STM32
监测仪
智慧农业
CAN通信
电子技术
USB
RS485
Modbus
无线通信
传感器
最新资讯
广域网采用什么拓扑结构
芯片封装工艺流程
物联网通信技术有哪些应用场景
ISP芯片和SoC芯片有什么区别
自组网基站有什么功能
MCU芯片什么意思
433无线模块工作原理
直接序列扩频和解扩的原理
产品服务
TPUNB®
城域物联网
局域物联网
工业智控物联网
终端自组网
芯片产品
模组产品
网关产品
技象科技成立于2018年,是中国电子科技集团公司科技成果转化和混合所有制改革的科技企业。
服务条款隐私政策关于我们联系我们
© 2024 广州技象科技有限公司 版权所有 粤ICP备19000791号-2
首页 | 隐私政策 | 关于我们 | 联系我们 | 网站地图
免费咨询组网方案
PLC_变频器_伺服_人机界面_无锡信捷电气股份有限公司[官网]
PLC_变频器_伺服_人机界面_无锡信捷电气股份有限公司[官网]
-Language-
中文版
English
한국어
Deutsch
polski
:603416
网站首页
关于我们
企业概况
发展历程
荣誉资质
企业文化
企业宣传片
联系我们
产品中心
工业控制
PLC
人机界面
整体式控制器
特殊模块
运动控制
伺服系统
步进系统
变频器
工业互联网
网关产品
平台软件
视觉与工业控制器
loT工业控制器
机器视觉
工业机器人
解决方案
印刷与包装
食品与饮料
机械加工装配
纺织印染
电子制造
建材
机床工具
其他
服务与支持
售后服务
服务网络
技术支持
培训服务
下载中心
常见问题
意见反馈
信捷技术
新闻资讯
公司新闻
产品动态
媒体报道
加入我们
人才理念
校企合作
员工风采
员工招聘
产品中心
工业控制
PLC
XD系列
行业专机
XL系列
XG系列
XA系列
XS系列
CCSD系列
人机界面
TS系列
RT系列
TG系列
MTG系列
OP系列
CCSG系列
整体式控制器
XP系列
XP-BD
ZP系列
ZG系列
Z-BD
特殊模块
MA模块
其他模块
运动控制
伺服系统
DM5系列
DF3系列
DS5系列
DF3适配电机
DS5适配电机
DS3适配电机
步进系统
DP3系列
MP3步进电机
变频器
VH1系列
VHL系列
VH5系列
VH6系列
工业互联网
网关产品
无线通讯模块
以太网模块
平台软件
信捷云
远程服务器
本地服务器
视觉与工业控制器
IoT工业控制器
工业控制器
触控一体机
行业专机
4U上架式工控机
配件
机器视觉
应用平台
工业机器人
机械手
机器人控制器
示教器
选配件
解决方案
下载中心
当前位置:网站首页 > 产品中心 > 运动控制 > 步进系统 > 步进驱动器 > DP3系列
DP3C总线步进驱动器
支持COE(CANopen over EtherCAT)协议,符合CiA402标准,支持32轴,支持具备标准EtherCAT协议的主站,主站与从站的通讯周期可达32轴1ms。
产品特点
规格参数
相关资料
产品说明支持COE(CANopen over EtherCAT)协议,符合CiA402标准,支持32轴,支持具备标准EtherCAT协议的主站,主站与从站的通讯周期可达32轴1ms。网线连接替代了传统的脉冲方向信号线,同时配备了动力线和编码器线,接线简单。可大幅减少线缆成本,人工成本和维护成本。依托于EtherCAT总线的低总线负载和点对点的物理层,可大幅抑制干扰和杂波的产生,显著改善系统的可靠性和抗干扰能力。EtherCAT总线技术结合最新的控制算法,性能得到有很大程度的提升。配置7路信号输入,7路信号输出,可进行探针输入,正负限位,原点输入,报警输出,到位输出,抱闸信号输出等等功能的配制,满足不同客户群体的需求。采用编码器作为位置反馈,可对位置偏差进行实时补偿,从根本上解决传统步进电机丢步的问题;可根据负载和速度实时调整电流大小,运行更平稳,电机发热更低。
产品规格驱动器型号DP3C-305DP3C-705DP3C-808输入电源电压(VDC)20-5020-5020-80输出电流峰值(A)1-31-71-8匹配电机(机座)4257/6086输入信号探针输入,原点输入,正负限位,急停,自定义输入输出信号报警输出,到位输出,抱闸信号输出,自定义输出报警功能过流,过压,超差,通讯异常等调试软件信捷步进驱动器配置工具软件使用环境使用场合尽量避免粉尘,油雾及腐蚀性气体,湿度太大及强振动场所,禁止有可燃气体和导电灰尘环境温度0℃~50℃最高工作温度60℃湿度40%~90% RH(不能结露或有水珠)振动5.9m/s2 Max保存温度-20℃~65℃外形尺寸(单位:mm)DP3C-305、DP3C-705、DP3C-808
文件名
文件大小
上传日期
文件详情
下载资料
$[item.title]
$[item.filesize]
$[item.file_addtime]
资料类别:$[item.types]
下载次数:$[item.down_num]
首页
上一页
上一页
$[index]
下一页
下一页
尾页
共$[all]页
相关产品
关于我们
企业概况
发展历程
荣誉资质
企业文化
企业宣传片
联系我们
产品中心
工业控制
运动控制
工业互联网
视觉与工业控制器
解决方案
印刷与包装
食品与饮料
机械加工装配
纺织印染
电子制造
建材
机床工具
其他
服务与支持
售后服务
服务网络
技术支持
培训服务
下载中心
常见问题
意见反馈
信捷技术
新闻资讯
公司新闻
产品动态
媒体报道
加入我们
人才理念
校企合作
员工风采
员工招聘
技术与服务热线:
400-885-0136
办公地址:无锡市滨湖区建筑西路816号生产地址:无锡市滨湖区胡埭工业园区(刘塘路9号)总机:0510-85134136传真:0510-85111290邮箱:xinje@xinje.com投资者接待电话:0510-85165961
扫一扫 关注信捷
信捷技术
信捷技术小程序
Link:旭日重工 空气冷却器
网站地图
法律声明
隐私保护
意见反馈
版权所有:信捷电气 备案号:苏ICP备10072791号-5
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 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有一个从站掉线:深入了解 - 技象科技 跳至内容 技象科技有限公司官方网站 技象天猫旗舰店技象天猫旗舰店 技象京东旗舰店技象京东旗舰店 IoT演示平台IoT演示平台 首页 解决方案 菜单切换 TPUNB® 城域物联网 菜单切换 智慧农业 环境监测 智慧停车 局域物联网 菜单切换 智慧楼宇 智慧养老 智慧照明 智慧能源 工业智控物联网 菜单切换 动环监控 终端自组网 菜单切换 自组网 产品终端 菜单切换 芯片产品 模组产品 网关产品 应用产品 云平台 关于我们 菜单切换 荣誉资质 合作伙伴 公司一览 招聘岗位 新闻资讯 菜单切换 公司新闻 下载专区 联系我们 首页 TPUNB® 物联网解决方案 菜单切换 城域物联网 局域物联网 工业智控物联网 终端自组网 物联网产品终端 菜单切换 芯片产品 模组产品 网关产品 物联网云平台 关于我们 菜单切换 荣誉资质 合作伙伴 公司新闻 联系我们 Main Menu 首页 TPUNB® 物联网解决方案 菜单切换 城域物联网 局域物联网 工业智控物联网 终端自组网 物联网产品终端 菜单切换 芯片产品 模组产品 网关产品 物联网云平台 关于我们 菜单切换 荣誉资质 合作伙伴 公司新闻 联系我们 技象科技首页 / 行业百科 / EtherCAT有一个从站掉线:深入了解 EtherCAT有一个从站掉线:深入了解作者: 技象物联网
/ 行业百科 / 主站从站, 电子技术 / 2023年10月3日 10:51:51 2024年1月26日 16:31:17 EtherCAT(以太网控制器领域总线)是一种用于工业自动化的网络技术,它可以帮助您实现控制和检测系统的联网。它的一个重要功能是可以检测从站掉线,从而更好地保护您的系统免受损害。本文将介绍EtherCAT有一个从站掉线的原因,如何检测它们,以及如何避免它们发生。 什么是从站掉线? 从站掉线是指从站(也称为从属站)在EtherCAT网络中与主站(也称为控制站)失去连接。从站掉线可能会导致系统故障,因此检测和避免从站掉线是至关重要的。 从站掉线的原因 硬件故障 硬件故障是最常见的从站掉线原因。比如,电源故障、网络连接问题、电缆损坏等都可能导致从站掉线。当从站掉线时,它的状态会从“连接”变为“断开”,从而导致系统故障。 软件故障 软件故障也可能导致从站掉线。比如,从站的操作系统可能会崩溃,从而导致从站掉线。此外,从站的软件可能会受到恶意攻击,从而导致从站掉线。 网络问题 网络问题也可能导致从站掉线。比如,如果从站的网络连接不稳定,或者网络延迟过高,都可能导致从站掉线。 如何检测从站掉线? 使用状态检测 可以使用状态检测来检测从站掉线。EtherCAT系统提供了一种状态检测机制,可以检测从站的连接状态,并及时发出警报。 使用日志记录 可以使用日志记录来检测从站掉线。EtherCAT系统可以记录从站的连接状态,并将其记录在日志中,以便后期查看和分析。 使用监控系统 可以使用监控系统来检测从站掉线。通过监控系统,可以实时检测从站的连接状态,如果发现从站掉线,可以及时发出警报。 总结 EtherCAT有一个从站掉线是一个很常见的问题,它可能会导致系统故障。硬件故障、软件故障和网络问题都可能导致从站掉线。检测从站掉线可以使用状态检测、日志记录和监控系统。通过正确的检测和避免措施,可以有效地防止从站掉线,从而保护系统免受损害。 相关阅读: ChemOffice三个起售:深入了解 MSP430PWM输出:深入了解 FCC认证频段:深入了解 C波段双输出高频头:深入了解 原创声明:文章来自技象科技,如欲转载,请注明本文链接: https://www.techphant.cn/blog/47292.html 文章导航 ← 前一篇文章后一篇文章 → 相关推荐 11月 2 2023 QPSK信号波形 1月 1 2024 高速信号采集系统的重要性 9月 29 2023 OpenCV二维码:介绍和应用 10月 2 2023 STC8G1K08A 遥控编解码 10月 1 20232023年10月14日 00:18:55 使用CC2530稳定接收距离 10月 23 2023 M8410是什么指令? 联系我们 广州技象科技有限公司聚焦物联网底层关键技术,打造100%自主知识产权的TPUNB物联专网,形成完备的物联感知系统参与各垂直行业的整体解决方案及项目建设。 品牌京东旗舰店 品牌天猫旗舰店 公司招聘岗位 免费技术咨询 站内资讯 RS485接口模块:一种高效的接口方案 2023年10月26日 08:43:52 Mbus支持透传吗? 2023年10月28日 22:59:23 用串口助手调试24L01模块 2023年9月15日 08:59:01 Sub1G和WiFi的区别 2024年1月12日 10:39:18 多道批处理系统:优化计算效率的关键 2024年1月5日 15:18:16 STM32和ESP32对比 2023年12月23日 18:49:50 什么是针式打印机串口线定义? 2023年9月17日 09:24:01 FTP文件传输协议 2023年9月29日 16:42:25 地磅防控监测仪及无线DTU传输 2023年9月19日 22:17:45 怎么ping网络IP地址加端口 2023年9月15日 07:23:17 站内标签 LoRa STM32 无线通信 USB 监测仪 DTU 通信系统 电子技术 RS485 UART 智慧农业 无线模块 RS422 zigbee 传感器 串口通信 CAN通信 物联网 RS232 Modbus 最新资讯 广域网采用什么拓扑结构 芯片封装工艺流程 物联网通信技术有哪些应用场景 ISP芯片和SoC芯片有什么区别 自组网基站有什么功能 MCU芯片什么意思 433无线模块工作原理 直接序列扩频和解扩的原理 产品服务 TPUNB® 城域物联网 局域物联网 工业智控物联网 终端自组网 芯片产品 模组产品 网关产品 技象科技成立于2018年,是中国电子科技集团公司科技成果转化和混合所有制改革的科技企业。 服务条款隐私政策关于我们联系我们 © 2024 广州技象科技有限公司 版权所有 粤ICP备19000791号-2 首页 | 隐私政策 | 关于我们 | 联系我们 | 网站地图 免费咨询组网方案 检测EherCAT通讯状态: · AM600应用笔记 燕骏博客 1.1. AM600 1.2. 一、InoProShop编程软件 1.2.1. USB连接 1.2.2. 如何辨别InoProShop扫描选择的设备是哪台PLC 1.2.3. InoProShop写入PLC时间 1.2.4. InoProShop固件升级 1.2.5. 掉电数据保存 1.2.6. 程序实际无错误却报编译错误的解决方法 1.2.7. 持久性变量 1.2.8. 源上传、工程存档不支持工程中文名 1.2.9. 工程备份文件 1.2.10. 监控中提示如下信息注意事项: 1.2.11. 编辑器常用功能设置: 1.2.12. 高速输出偏置速度设置: 1.2.13. 变量类型string: 1.2.14. 后台提示遇到问题需要关闭: 1.2.15. 指令读写系统时间: 1.2.16. 连续地址操作: 1.2.17. 窗口太多导致后台经常卡死 1.2.18. InoPro复制粘贴代码时卡 1.2.19. 强制值写入注意点 1.2.20. AM600故障诊断指令注意事项 1.2.21. 自定义结构体分配地址: 1.2.22. 任务抢占 1.2.23. 模拟量比例转换: 1.2.24. PID指令: 1.2.25. 变量赋初值: 1.2.26. 加速模式使用二次方、二次方(平滑): 1.2.27. 高速IO接线注意事项 1.2.28. 高速IO原点回归重试问题 1.2.29. AM600后台安全管理与用户权限的设置方法 1.2.30. IO映射注意事项 1.2.31. InoProShop提示“System.OutOfMemoryException”、“未定义的标识符” 1.2.32. InoProShop提示“ Invalid Control Panel” 1.2.33. InoProShop提示 “Index 11 is out of range” 1.2.34. InoProShop打开时报错“框架实现化失败” 1.2.35. InoProShop软件网关出现异常的处理办法 1.2.36. InoProShop内存溢出 1.2.37. 读写文件函数 1.2.38. 自定义库 1.2.39. 上下电时输入输出 1.2.40. 后台使用细节 1.2.41. 高速IO偏置速度: 1.2.42. 网络变量使用方法 1.2.43. 配方使用 1.2.44. AM600与codesys opc server通讯并建立OPCserver的方法 1.3. 二、 SFC应用: 1.3.1. SFC应用: 1.3.2. AM600与H2u SFC应用规则差异-OUT输出: 1.3.3. AM600与H2u SFC应用规则差异-步转移周期: 1.3.4. AM600 SFC隐含变量: 1.4. 三、 LD应用: 1.4.1. LD快捷键设置: 1.4.2. LD常用功能: 1.4.3. LD提示网络绘制错误处理办法: 1.5. 四、 总线运动控制: 1.5.1. EtherCAT通讯问题现场应用指导 1.5.2. EtherCAT任务使用注意事项 1.5.3. EtherCAT主站配置注意事项 1.5.4. EtherCAT的IO映射使用注意事项: 1.5.5. 如何更新EtherCAT从站设备: 1.5.6. 更改轴配置参数 1.5.7. 轴类型(模数轴和限定轴) 1.5.8. 如何修改伺服编码器值: 1.5.9. 轴加减速类型(梯形,Sin2,二次方,二次方平滑) 1.5.10. 轴错误定位和错误清除: 1.5.11. 检测EherCAT通讯状态: 1.5.12. 编程控制EtherCAT通讯重启: 1.5.13. 总线运动控制复位封装库 1.5.14. EtherCAT从站地址设置方法 1.5.15. EtherCAT网络配置与实际连接不一致时如何运行 1.5.16. EtherCat通信从站设备数据访问方法 1.5.17. 如何降低CPU使用率 1.5.18. PLCopen功能块调用问题 1.5.19. 时序问题导致MC_MoveSuperImposed运动叠加异常 1.5.20. MC_MoveSuperImposed与MC_MoveAdditive 1.5.21. MC_STOP与MC_halt: 1.5.22. SMC_HOMING控制器回零、MC_HOME伺服回零: 1.5.23. MC_Jog指令问题 1.5.24. MC_Power指令使用方式 1.5.25. 总线运动控制相关参数 1.5.26. 总线运动控制触发信号Execute 1.5.27. 探针功能 1.5.28. 电子齿轮 1.5.29. EtherCAT控制伺服匀速运行,电机抖动又没报错的问题: 1.5.30. AM600总线运动控制程序编写要求 1.5.31. 伺服报错err.e15 1.5.32. 转矩模式下遇到限位如何处理 1.5.33. 怎样保证多圈绝对式编码器位置信息掉电保存 1.5.34. AM600 配合绝对值带旋转周期功能轴实际位置反馈异常问题分析 1.5.35. AM600配合绝对值电机使用注意事项 1.5.36. 凸轮 1.5.37. CNC Published with GitBook 检测EherCAT通讯状态: 检测EherCAT通讯状态: 1、EtherCAT主站通讯状态标志位: 主站可以通过下面几个参数来判断网络是否正常。 需要注意的是配置完成后通讯再断开xConfigFinished报错为true,除非使用xStopBus停止总线; 1)xConfigFinished:如果这个参数为“TRUE”,所有配置参数的传送已经正确完成。通讯正在运行。 2)xDistributedClockInSync :如果使用了分布时钟,PLC将和第一个激活分布时钟设置的EtherCAT从站同步。只要同步成功完成,输出为TRUE。 注意 :xDistributedClockInSync为ON不能保证通讯一定是完全正常的,需要通过xError和从站状态一起判断。 这个信号可用于同步化模式下,在PLC启动之前启动SoftMotion功能块,因为否则的话可能会发生位置跳跃。在PLC启动时,输出是FALSE,几秒钟之后它将变为TRUE。如果由于任何故障而失去同步性,则输出重置为FALSE. 3)xError :所有从站掉站或者说通讯报错误时有用(xError=TRUE).如果EtherCAT堆栈启动时探测到错误,或者在操作时与从站的通讯被中断,则该输出为TRUE,因为再收不到任何消息(比如由于连线中断)。可通过错误列表或错误信息来了解错误原因。 举例说明:主站+ECT通讯模块+620N+620N 通讯正常时标准位状态: xConfigFinished= TRUE; xDistributedClockInSync = TRUE; xError= False。 B)网络中未接任何从站或从站不全 xConfigFinished= False; xDistributedClockInSync = False; xError=TRUE。 通讯正常后将主站和第一个从站之间网线断开,即和所有从站数据中断 xConfigFinished = TRUE; xDistributedClockInSync= False; xError=False。 D)通讯正常后将第一个从站和第二个从站之间网线断开,即断开所有具有DC功能的从xConfigFinished = TRUE; xDistributedClockInSync= False; xError=False。 E)通讯正常后将第二个从站和最后一个从站之间网线断开。 xConfigFinished = TRUE; xDistributedClockInSync= TRUE; xError=False。 PS:帮助文档,EtherCAT配置编辑器中有详细介绍 2、EtherCAT从站状态检测 从站返回的当前状态,程序应该实时检测从站状态,运动控制一般认为从站为ETC_SLAVE_OPERATIONAL后才可以用常用的PLCopen指令控制轴。 从站当前状态分为: 0: ETC_SLAVE_BOOT 1: ETC_SLAVE_INIT 2: ETC_SLAVE_PREOPERATIONAL 4: ETC_SLAVE_SAVEOPERATIONAL 8: ETC_SLAVE_OPERATIONAL 一般通讯正常会自动切换到运行状态,AM600停止后为状态初始化。从初始化状态向运行状态转化时,必须按照“初始化 预运行 安全运行_ 运行”的顺序转化,不可以越级。从运行状态返回时可以越级转化。状态的转化操作和初始化过程 与EtherCAT主站一样,每个从站都可以认为是一个功能块,从站名称就是ETCslave功能块的实例,程序中只需要使用该功能块就可以。 基本的直接判断从站是否为ETC_SLAVE_OPERATIONAL状态 //检测从站是否为OP模式 IF _IS620N.wState<>8 THEN bnoOP:=TRUE; END_IF 上面的方法,如果有几十个从站,每个从站都判断需要几十条IF语句,比较麻烦。 EtherCAT主站提供了指向第一个从站的指针和链表,所有从站都可以用链表找到,因此用while循环可以简化编程。 定义: VAR pSlave: POINTER TO ETCSlave; END_VAR 编程: pSlave := Ethercat.FirstSlave; //首先通过EtherCAT_Master.FirstSlave找到主站的第一个从站。 WHILE pSlave <> 0 DO //在‘WHILE’循环中调用各个实例,由此确定wState,然后检查状态。 pSlave^(); IF pSlave^.wState = ETC_SLAVE_STATE.ETC_SLAVE_OPERATIONAL THEN i:=i+1; else exit; END_IF //通过pSlave^.NextInstance找到指向下一个从站的指针。在列表结尾出指针为空,循环结束。 pSlave := pSlave^.NextInstance; END_WHILE 故障站号:=i+1; //获取第几个站号故障 i:=0; 当EtherCAT组网中包含伺服与及ECT模块时,wState不能正确反映ECT模块的状态机,此时可以用m_wSlaveStateAct反映所有从站的状态机。实际上,Ethercat芯片(ET1100)寄存器地址0x0130:0x0131的值为从站设备的状态,该值的意义如下图所示。从站变量m_wSlaveStateAct获取的即为Ethercat芯片(ET1100)寄存器地址0x0130:0x0131的值。编程时可以通过m_wSlaveStateAct来获取从站的状态机。 例如: 基本的直接判断从站是否为ETC_SLAVE_OPERATIONAL状态 //检测从站是否为OP模式 IF _IS620N. m_wSlaveStateAct<>8 THEN bnoOP:=TRUE; END_IF EtherCAT主站提供了指向第一个从站的指针和链表,所有从站都可以用链表找到,因此用while循环可以简化编程。 定义: VAR pSlave: POINTER TO ETCSlave; END_VAR 编程: pSlave := Ethercat.FirstSlave; //首先通过EtherCAT_Master.FirstSlave找到主站的第一个从站。 WHILE pSlave <> 0 DO //在‘WHILE’循环中调用各个实例,由此确定m_wSlaveStateAct,然后检查状态。 pSlave^( ); IF pSlave^.m_wSlaveStateAct = 8 THEN i:=i+1; ELSE ErrorId:=i+1; //获取第几个站号故障 exit; END_IF //通过pSlave^.NextInstance找到指向下一个从站的指针。在列表结尾出指针为空,循环结束。 pSlave := pSlave^.NextInstance; END_WHILE i:=0; 注意如果未加该段指令AM600 ECT模块其状态一直会为ETC_SLAVE_BOOT,加上后可正常显示从站状态。 PS:帮助文档,EtherCAT配置编辑器中有详细介绍 Copyright © www.yanjuntech.cn 2018-2025 all right reserved,powered by Gitbook该文件修订时间: 2018-10-21 17:27:32 results matching "" No results matching "" 倍福--检测和扫描ethercat从站状态_ethercat网络速度测量-CSDN博客 倍福--检测和扫描ethercat从站状态 光怪陆离的节日 已于 2022-10-26 14:30:22 修改 阅读量1.8k 收藏 5 点赞数 1 分类专栏: 倍福实用 倍福 文章标签: 大数据 于 2022-06-24 09:56:57 首次发布 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_41883890/article/details/125440000 版权 倍福 同时被 2 个专栏收录 282 篇文章 146 订阅 ¥239.90 ¥99.00 订阅专栏 倍福实用 88 篇文章 19 订阅 ¥99.90 ¥99.00 订阅专栏 本文介绍通过通过Emergency Scan快速检测物理连接,检测EtherCAT网络状态。 操作流程 1.1. 倍福Beckhoff 1.1.1. 扫描IO 首先连上控制器,将控制器打到配置模式,如下所示 1.1.1. 扫描帧测试 其原理是在配置模式发送测试帧,检查帧返回的情况,测试步骤如下所示: 点击Scan就会扫描到数据帧的发送情况 最后若全部模块物理连接没问题就会希纳是发送和接收帧一致,如下所示 优惠劵 光怪陆离的节日 关注 关注 1 点赞 踩 5 收藏 觉得还不错? 一键收藏 打赏 知道了 0 评论 倍福--检测和扫描ethercat从站状态 本文介绍通过通过Emergency Scan快速检测物理连接,检测EtherCAT网络状态。 复制链接 扫一扫 专栏目录 订阅专栏 倍福模块开启记录文件功能和EtherCAT故障诊断步骤 06-16 倍福模块开启记录文件功能和EtherCAT故障诊断步骤 EtherCAT网络监控的两种方法(交换机/网络探测仪+Wireshark) 豚 04-22 4052 1. 使用带网管功能的交换机,比如TP-LINK TL-SG2005 2. 使用Beckhoff官方的Ethernet Probe,比如ET2000 http://www.beckhoff.com.cn/cn/press/2007/pr200713.htm https://download.beckhoff.com/download/software/TwinCAT/TwinCAT2/Inf... 参与评论 您还未登录,请先 登录 后发表或查看评论 EtherCAT学习之路——概述 chenweizhen1991的博客 03-13 1万+ 首发于知乎 最近在做基于EtherCAT的项目,看了一些网上的博客,感觉写的都比较松散。虽然,自己也是才开始学习,希望能把这段时间学到的东西总结一下。 1.EtherCAT简介 EtherCAT是由德国BECKHOFF自动化公司于2003年提出的实时工业以太网技术。它具有高速和高数据有效率的特点,支持多种设备连接拓扑结构。其从站节点使用专用的控制芯片,主站使用标准的以太网控制器。 Et... EtherCAT运动控制器中脉冲接口的快速调试与诊断 weixin_57350300的博客 03-23 251 脉冲型驱动器试运行可借助ZDevelop软件快速验证,主要包含以下四个部分:硬件接线,ZDevelop连接控制器,配置轴参数,发送运动命令查看电机是否转动。若无法运行参见问题排查部分解决。 EtherCAT 操作模式(CSP,CSV,CST等) 最新发布 weilan0818的博客 05-19 3114 EtherCAT 伺服驱动器操作模式 倍福--EtherCAT诊断方法 weixin_41883890的博客 06-24 3944 在调试阶段可能会出现EtherCAT模块因接线、参数配置等问题而导致无法使用的情况。本文介绍Ethercat模块网络诊断和硬件排查的基本方法。1.1.2. EK1100 EtherCAT Link口状态显示 同样连接网口的灯也有状态显示,一般需要查看网口的灯是否在正常状态,LinK口的LED灯显示状态和意义如下所示: 1.1.3. EK1100 EtherCAT Run灯的含义 Run灯的变化是根据状态机进行变化的,EtherCAT状态机如下所示: 因此LED RUN灯颜色和状态意义如下所示: EtherCAT笔记--Synchronization同步方式(一) 中华田园巨龙 02-20 7991 介绍 Ethercat协议有多种同步方式,最常用的有三种:FreeRun,SM同步以及DC同步,下面根据倍福手册加上自己的一点理解介绍一下。 EtherCAT从站结构 要理解同步方式,首先要了解下从站结构,如下图所示。 感兴趣的朋友可以找相关资料详细了解,我们这里只针对其中的过程数据进行分析:在数据链路层,过程数据通过SM2,SM3管理器进行管理(SM2收,SM3发),通过PDI(过程数据接口)将缓冲区的数据传到MCU(应用层),以便于应用层MCU进行下一步处理。 那么简要概括下数据的流向 IgH详解五、从站扫描流程 EtherCAT 09-01 4132 当我们启动主栈后可使用ethercat命令行工具查看从站的的相关信息,比如:ethercat slave 0 0:0 PREOP + CoolDrive RC 1 0:1 PREOP + CoolDrive RC ... 倍福EtherCAT通信协议原理 weixin_41883890的博客 04-18 9165 1、 EtherCAT提出背景: EtherCAT(以太网控制自动化技术)是一个开放架构,以以太网为基础的现场总线系统,全称为Control Automation Technology字首的缩写。 2、 自动化对通讯的要求:要求较短时间的资料更新、资料同步时的通讯抖动量低,硬件成本低、EtherCAT开发的目的就是让以太网可以运用在自动化应用中。 3、 机能原理:工业自动化通信各节点传输的资料长度补偿,多半比以太网帧的最小长度要小。因此如果每个结点资料更新都要送出一个帧就造成带宽的低利用率,网络的整体性能也 【Ethercat机器人控制系统开发】倍福Twincat入门教程 ljcyyx的博客 11-05 6285 低成本上手Twincat教程,适合初学者。 netscan扫描器 12-02 一款很好的网络扫描工具,功能很强大,只要能灵活使用,对入侵会带来很大的方便!! Beckoff选型手册 08-16 beckoff现场总线系统全系列选型手册! 倍福tc3控制SEW变频器EtherCAT-20210429.zip 04-30 倍福tc3控制SEW变频器,EtherCAT通信 KUKA机器人倍福配置-Beckhoff_EtherCAT_XML 12-03 KUKA机器人倍福配置 beckhoff ethercat的device description文件 倍福Flyingsaw-TC2-sample.zip 04-30 倍福Flyingsaw-TC2-sample 德国赫优讯NT 151-RE-RE网关操作指南(Profinet从站转EtherCAT主站).pdf 07-20 工业通讯网关的操作手册,支持profinet通讯的西门子S7-1200PLC 与支持EtherCAT的伺服驱动器直接的通讯连接。 PLC中MX、MB、MW、MD的含义和长度 热门推荐 weixin_41883890的博客 11-15 1万+ 存储区域包括有:输入映像区(I),输出映像区(Q),内部存储区(M),物理输入区(PI),物理输出区(PQ),数据块(DB),数据块(DI),临时堆栈(L)MB表示长度为字节的操作数在内部存储区,MW表示长度为字的操作数在内部存储区,MD表示长度为双字的操作数在内部存储区。标识参数用来表示操作数在该存储区域内的具体位置。辅助标识符包括有:X(位),B(字节),W(字—2字节),D(双字—4字节)D 是指长度占一个双字(四个字节)W 是指长度占一个字(两个字节)B 是指长度占一个字节。M表示是辅助存储单元。 编码器A相B相Z相的定义 weixin_41883890的博客 01-23 1万+ 编码器的信号又A相、B相、Z相的定义,这个和电机的ABC相的没有关系,本文介绍编码器A相、B相、Z相的概念。 编码器A相B相Z相的概念 谓U相、V相、W相是指的电机的主电源的三相交流供电,与编码器没有任何关系。“A相、B相、Z相”与“U相、V相、W相”是完全没有什么关系的两种概念,前者是编码器的通道输出信号;后者是交流电机的三相主回路供电。 而编码器的A相、B相、Z相信号中,A、B两个通道的信号一般是正交(即互差90°)脉冲信号;而Z相是零脉冲信号。详细来说,就是一般编码器输出信号除A、B两相(A、B两通 PDI速度环、位置环、电流环控制原理 weixin_41883890的博客 01-27 1万+ PID参数电流环、速度环、位置环介绍 三环控制简介 1.1. 电流环 电流环指的是电流反馈系统. 一般指的是将输出电流采用正反馈或负反馈的方式接入处理环节的方法,主要为了通过提高电流的稳定性能来提高系统的性能。 在工业现场,用一个仪表放大器来完成信号的调理并进行长线传输,会产生以下问题:第一,由于传输的信号是电压信号,传输线会受到噪声的干扰;第二,传输线的分布电阻会产生电压降;第三,在现场如何提供仪表放大器的工作电压也是个问题。 为了解决上述问题和避开相关噪声的影响,我们用电流来传输信号,因为电流对噪声并 倍福--el6695模块配置 05-13 倍福---EL6695模块配置需要遵循以下步骤: 1. 了解模块的硬件接口:EL6695模块是一种CAN总线数据收发器,可以将CAN数据信号转化为RS232串口信号。在进行配置前,需要了解该模块的硬件接口以及支持的波特率等。 2. ... “相关推荐”对你有帮助么? 非常没帮助 没帮助 一般 有帮助 非常有帮助 提交 光怪陆离的节日 CSDN认证博客专家 CSDN认证企业博客 码龄6年 暂无认证 1067 原创 1666 周排名 2833 总排名 256万+ 访问 等级 1万+ 积分 5万+ 粉丝 1498 获赞 232 评论 4878 收藏 私信 关注 热门文章 亚德客真空表DPSN基本参数设置 45378 wincc7.5下载安装教程(Win10系统) 30059 电脑连接信捷PLC方法 27210 威伦触摸屏界面设置密码登录权限 25497 三菱FX系列DDRVA指令使用 22051 分类专栏 倍福 付费 282篇 汇川PLC 付费 21篇 倍福实用 付费 88篇 FX系列 付费 40篇 Q系列 付费 23篇 Windows 12篇 C# Web 12篇 WPF 53篇 C# 163篇 三菱PLC 2篇 PLC通信 4篇 EtherCAT伺服 1篇 Javascript 1篇 WinCC 1篇 Pro-face触摸屏 3篇 伺服 20篇 信捷PLC 5篇 电气元件 26篇 倍福教程 81篇 维纶 7篇 Git 3篇 CAD 1篇 高等数学 63篇 计算机组成原理 80篇 计算机网络 96篇 数据库 4篇 操作系统 64篇 11 mysql 1篇 NCI 3篇 笔记 机器人 10篇 欧姆龙PLC 1篇 打印机 1篇 富士伺服 3篇 精研JSCC 2篇 PLC逻辑思路 6篇 EmguCV 1篇 变频器 4篇 EPLAN 21篇 RS232 1篇 步进电机 3篇 AM600 8篇 数据结构与算法 71篇 OpenCV C++ 3篇 最新评论 C#和倍福PLC之间的通信 青衫磊磊: 你好,动态链接库能分享一下吗 倍福EtherCAT通信协议原理 光怪陆离的节日: 辽宁省辽阳市辽阳县黄泥洼镇圆通快递 15841293410 房丹 倍福EtherCAT通信协议原理 光怪陆离的节日: 欣X1024888888 倍福EtherCAT通信协议原理 光怪陆离的节日: 哲辰柳州螺蛳粉 广东省东莞市安居西街51号101室 倍福EtherCAT通信协议原理 光怪陆离的节日: LXHWX881222 您愿意向朋友推荐“博客详情页”吗? 强烈不推荐 不推荐 一般般 推荐 强烈推荐 提交 最新文章 github ping不通的问题,出现网络超时 倍福控制汇川IS620N,关于多圈绝对值编码器断电保持问题 倍福EL6002做RS232通信获取称重数据 2024年1篇 2023年37篇 2022年416篇 2021年527篇 2020年87篇 2018年1篇 目录 目录 分类专栏 倍福 付费 282篇 汇川PLC 付费 21篇 倍福实用 付费 88篇 FX系列 付费 40篇 Q系列 付费 23篇 Windows 12篇 C# Web 12篇 WPF 53篇 C# 163篇 三菱PLC 2篇 PLC通信 4篇 EtherCAT伺服 1篇 Javascript 1篇 WinCC 1篇 Pro-face触摸屏 3篇 伺服 20篇 信捷PLC 5篇 电气元件 26篇 倍福教程 81篇 维纶 7篇 Git 3篇 CAD 1篇 高等数学 63篇 计算机组成原理 80篇 计算机网络 96篇 数据库 4篇 操作系统 64篇 11 mysql 1篇 NCI 3篇 笔记 机器人 10篇 欧姆龙PLC 1篇 打印机 1篇 富士伺服 3篇 精研JSCC 2篇 PLC逻辑思路 6篇 EmguCV 1篇 变频器 4篇 EPLAN 21篇 RS232 1篇 步进电机 3篇 AM600 8篇 数据结构与算法 71篇 OpenCV C++ 3篇 目录 评论 被折叠的 条评论 为什么被折叠? 到【灌水乐园】发言 查看更多评论 添加红包 祝福语 请填写红包祝福语或标题 红包数量 个 红包个数最小为10个 红包总金额 元 红包金额最低5元 余额支付 当前余额3.43元 前往充值 > 需支付:10.00元 取消 确定 下一步 知道了 成就一亿技术人! 领取后你会自动成为博主和红包主的粉丝 规则 hope_wisdom 发出的红包 打赏作者 光怪陆离的节日 你的鼓励将是我创作的最大动力 ¥1 ¥2 ¥4 ¥6 ¥10 ¥20 扫码支付:¥1 获取中 扫码支付 您的余额不足,请更换扫码支付或充值 打赏作者 实付元 使用余额支付 点击重新获取 扫码支付 钱包余额 0 抵扣说明: 1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。 余额充值 Ethercat状态机的实现教程 - 知乎首发于IT技术专栏切换模式写文章登录/注册Ethercat状态机的实现教程iiidd777IT技术分享及教程在主站内核代码执行过程中,总会出现各种情况,比如有些从站被人为的拔下或者从站之间的连接的网线断掉,为了保障主站可以正常的运行,主站必须时刻的检测网络拓扑的状态,因此需要运行一个主站状态机来完成上面提到的工作,其执行在主站状态的上下文中,其有如下几个阶段: Bus monitoring :监视总线的拓扑结构,假如拓扑改变,总线将重新扫描。 Bus monitoring:监控从站的应用层状态,假如检测的从站状态非理想状态,将会进行重新配置。 Request handling:应用层或者外部源请求处理。比如像SII或者SDO访问等要求需要主站异步处理。主站状态机就是在上面三个状态之间不断的转换,具体主要实现流程图如下:上图中只是列出比较重要的部分做出了介绍,主站驱动被加载之后就会不断执行此状态机。期间当检查到从站状态出错的时,还会启动从站状态检测状态机。同时,在执行过程中也会不断的检测是否出现错误及其是否需要退出本状态机。1.主站状态机主状态机在主线程的上下文中执行。 图5.2显示了其过渡图。 其目的是:总线监控:监视总线拓扑。如果更改,则对总线进行(重新)扫描。从站配置:监视从站的应用程序层状态。 如果从站未处于应有的状态,则将(重新)配置该从站。要求处理:处理请求(来自应用程序或来自外部源)。 请求是主机必须异步处理的工作,例如SII访问,SDO访问或类似操作。3.2从站扫描状态机主站为了方便的获取从站的信息,建立了从站扫描状态机,其主要有如下几个 步骤: Node Address :为从站设置的节点地址,有了节点地址才可以进行下面的工作。 AL State :读取应用层的状态 Base Information:从内存中读取一写基础信息(比如从站中FMMU的个数)。 Data Link :从物理端口读取一些信息。 SII Size SII:内容的大小,以便为SII申请映像内存。 SII Data :从主站的SII映射内存中读取的SII数据。 PREOP :假如其支持COE,PREOP 被设置成使用状态变化的FSM使能邮箱通信并通过COE进行PDO的读取。 PDOs :通过COE读取PDOs,通过PDO读取FSM,假如读取成功,SII中的PDO信息将被重写。具体的执行流程图如下: 上图可以看出从站扫描状态机就是不断的读取从站的信息,以保障主站可以正常的工作。2.从机扫描状态机从机扫描状态机(如图5.3所示)引导着读取所需从机信息的过程。扫描过程包括以下步骤:节点地址:节点地址是为从站设置的,因此可以为随后的所有操作指定节点地址。AL状态:读取初始应用程序层状态。基本信息:基本信息(如支持的FMMU的数量)是从较低的物理内存中读取的。数据链接:读取有关物理端口的信息。SII大小:确定SII内容的大小以分配SII图像存储器。SII数据:SII内容将读入主站映像。PREOP如果从站支持CoE,则使用状态更改FSM(请参阅第5.6节)将其设置为PREOP状态,以启用邮箱通信并通过CoE读取PDO配置。PDO使用PDO读取FSM,通过CoE(如果支持)读取PDO(请参见5.8节)。 如果成功,则将覆盖来自SII的PDO信息(如果有)。3.从站配置状态机从机配置状态机(如图5.4所示)引导了配置从机并将其置于特定应用程序层状态的过程。初始化(INIT):状态更改FSM用于使从设备进入INIT状态。FMMU清除(FMMU Clearing):为避免从站对任何过程数据作出反应,将清除FMMU配置。 如果从站不支持FMMU,则跳过此状态。 如果INIT是请求的状态,则状态机完成。邮箱同步管理器配置(Mailbox Sync Manager Configuration):如果从属服务器支持邮箱通信,则将配置邮箱同步管理器。否则,将跳过此状态。预备(PREOP):状态更改FSM用于使从设备进入PREOP状态。 如果这是请求的状态,则状态机完成。SDO配置(SDO Configuration):如果附加了从站配置(请参阅第3.1节),并且应用程序提供了任何SDO配置,则将这些配置发送到从站。PDO配置(PDO Configuration):执行PDO配置状态机以应用所有必需的PDO配置。PDO Sync Manager配置:如果存在任何PDO同步管理器,则将对其进行配置。FMMU配置(FMMU Configuration):如果应用程序提供了FMMU配置(如果应用程序注册了PDO条目),则将应用它们。安全运行状态(SAFEOP):状态更改FSM用于使从设备进入SAFEOP状态。 如果这是请求的状态,则状态机完成。OP:状态更改FSM用于使从站进入OP状态。 如果这是请求的状态,则状态机完成。4.状态改变状态机状态更改状态机(如图5.5所示)引导了更改从站的应用程序层状态的过程。 这实现了状态和转换中所述。Start:通过“ AL控制请求”寄存器请求新的应用层状态Check for Response :一些从站需要一些时间来响应AL状态更改命令,并且一段时间不响应。对于这种情况,将再次发出命令,直到确认为止。Check AL Status:如果确认了AL状态更改数据报,则必须读出“ AL控制响应”寄存器,直到从机更改AL状态为止。AL Status Code:如果从站拒绝了状态更改命令,则可以从“ AL状态更改”寄存器中的“ AL状态代码”字段中读取原因Acknowledge State:如果状态更改不成功,则主机必须通过再次写入“ AL控制请求”寄存器来了解旧状态。Check Acknowledge:发送确认命令后,它必须再次读出“ AL控制响应”寄存器。“开始确认”状态是状态机的快捷方式,适用于以下情况:主机希望确认未请求的自发AL状态更改。5. SII状态机SII状态机(如图5.6所示)实现了通过Slave Information Interface中描述的Slave Information Interface读取或写入SII数据的过程。这是状态机的读取部分的工作方式:开始读取(Start Reading):读取请求和请求的字地址被写入SII属性。检查读取命令(Check Read Command):如果已确认SII读取请求命令,则将启动计时器。 发出一个数据报,该数据报读取状态和数据的SII属性。获取数据(Fetch Data):如果读取操作仍然很忙(通常将SII实现为EEPROM),则将再次读取状态。否则,数据将从数据报中复制。写入部分的工作原理几乎相似:开始写(Start Writing):将写请求,目标地址和数据字写入SII属性。检查写命令(Check Write Command):如果已确认SII写请求命令,则启动计时器。 发出一个数据报,该数据报从SII属性中读取写操作的状态。繁忙等待(Wait while Busy):如果写操作仍然很忙(由最小等待时间和忙标志的状态决定),则状态机将保持在此状态,以避免过早发出另一个写操作。6. PDO状态机PDO状态机是一组状态机,它们通过“对象访问”中描述的“ CoE通信区域”来读取或写入PDO分配和PDO映射。对于对象访问,使用基于EtherCAT的CANopen访问原语(请参见6.2节),因此从属服务器必须支持CoE邮箱协议。PDO读取FSM(PDO Reading FSM):该状态机(图5.7)旨在读取从站的完整PDO配置。它读取每个Sync Manager的PDO分配,并使用PDO Entry Reading FSM(图5.8)读取每个分配的PDO的映射。基本上,它会读取每个Sync Manager的PDO分配SDO的(0x1C1x)个元素,以确定为此同步管理器分配的PDO的数量,然后读取SDO的子索引以获取分配的PDO的索引。 读取PDO索引后,将执行PDO条目读取FSM,以读取PDO映射的PDO条目。PDO条目读取FSM(PDO Entry Reading FSM):此状态机(图5.8)读取PDO的PDO映射(PDO条目)。它通过先读取子索引零(元素数量)来确定映射的PDO条目的数量,从而读取给定PDO的相应映射SDO(0x1600 – 0x17ff或0x1a00 – 0x1bff)。 之后,读取每个子索引以获得映射的PDO条目索引,子索引和位大小。7. CANopen over EtherCAT (CoE)EtherCAT上的CANopen协议用于在应用程序级别配置从站并交换数据对象。SDO Download State Machine:应用SDO配置的最佳时间是在从站的PREOP状态期间,因为已经可以进行邮箱通信,并且从站的应用将从在后续SAFEOP状态下更新输入数据开始。 因此,SDO配置必须是从属配置状态机的一部分(请参阅第5.5节):它通过SDO下载状态机实现,该状态机在进入从属设备的SAFEOP状态之前执行。这样,可以确保每次重新配置从站时都应用SDO配置。SDO下载状态机的转换图如图6.2所示。START:CoE下载状态机的开始状态。 发送“ SDO下载正常请求”邮箱命令。→ REQUESTREQUEST:检查从站是否已收到CoE下载请求。 之后,发出邮箱检查命令并启动计时器。→ CHECKCHECK:如果没有邮箱数据可用,则检查计时器。•如果超时,则SDO下载将中止。→ ERROR•否则,将再次查询邮箱。→ CHECK如果邮箱包含新数据,则获取响应。→ RESPONSERESPONSE:如果无法获取邮箱响应,数据无效,接收到错误的协议或接收到“中止SDO传输请求”,则SDO下载将中止。→ ERROR如果收到“ SDO下载正常响应”确认,则说明SDO下载成功。→ ENDEND:SDO下载成功。ERROR:SDO下载由于错误而中止。发布于 2021-05-28 14:58EDA技术与FPGA工程实例开发(书籍)开放式 IEC 61131 控制系统设计(书籍)以太网(Ethernet)赞同 2添加评论分享喜欢收藏申请转载文章被以下专栏收录IT技术专栏IT技术分享 维护工程师指导手册: EtherCAT诊断 | 倍福虚拟学院 跳到主要内容 跳过 目录目录1. 前言2. 确认型号2.1. 控制器产品2.2. 总线IO产品2.3. 驱动产品3. 故障诊断3.1. CX5130控制器诊断3.2. C69产品诊断3.3. CP62产品诊断3.4. 总线IO产品诊断3.5. EtherCAT诊断3.6. 驱动器产品诊断3.7. AX5000驱动器诊断3.8. TwinSAFE产品诊断4. 换硬件4.1. 即插即用产品更换4.2. 更换需参数配置的产品4.3. 换控制器4.4. 换控制器配件4.5. 换驱动产品5. 使用须知5.1. EMC基础知识跳过 全站搜索全站搜索 搜索 搜索 跳过 导航导航首页网站页面我的课程我的课程课程开学第一课公司介绍资料集中营产品安装和接线及EMC设计规范电源计算及简明安装★CX控制器的安装和接线★IO模块的拆装★驱动产品接线★IPC 的拆装和接线★总线接头的安装★★维护工程师必读维护工程师指导手册他山之石★★★EMC设计规范Beckhoff技术常见问答常规培训DEMO简介陈老师课程专区TwinCAT 3TF6xxx function工业PC总线IO运动控制人机界面ADS通讯安全方案人工智能TwinCAT 2测试 产品安装和接线及EMC设计规范 停靠面板 Course search 关闭 Course search 切换搜索输入 登录 MVP计划倍福中国 MVP计划致谢2023年度MVP技术支持虚拟学院使用指南微信技术支持使用指南 全屏 标准视图 MVP计划 折叠 展开 倍福中国 MVP计划 致谢2023年度MVP 技术支持 折叠 展开 虚拟学院使用指南 微信技术支持使用指南 打开课程索引 打开块抽屉 课程开学第一课产品安装和接线及EMC设计规范维护工程师必读维护工程师指导手册 更多 维护工程师指导手册 完成条件 3. 故障诊断3.5. EtherCAT诊断耦合器EK1100EK1100 耦合器用于EtherCAT 网络与 EtherCAT 端子 (ELxxxx) 相连,一个站由一个 EK1100 耦合器、任意多个 EtherCAT 端子端子组成。该耦合器把 100baseTX 以太网的传递介质转换为E-BUS总线信号。耦合器通过上面的以太网接口与上层EtherCAT网络相连,下面的 RJ 45 接口可用于同一网络上连接其它 EtherCAT 设备。1. EK1100指示灯介绍2. 网口指示灯3.故障检测1)设备正常运行下EK1100模块亮灯情况2)故障查看流程:故障1:EK1100后面的负载均没有动作,但是后面输入模块指示灯亮,输出模块指示灯不亮第一步:检查EK1100模块网口灯(LINK/ACT X1)是否闪烁,如果不闪烁,说明EK1100和前面的EtherCAT设备没有连接。建议查看前面的EtherCAT设备是否存在故障;如果前面设备没有故障,建议查看EK1100模块和前面EtherCAT设备连接的RJ45网线是否存在故障。如果EK1100上面网口灯闪烁,建议看步骤二。第二步:查看Us指示灯,如果Us指示灯不亮,建议检查EK1100模块上1,5号管脚DC24V供电以及检查供电电缆,建议维护工程师用万用表测量1,5管脚之间的电压范围是否在24 VDC (-15%/+20%)之间。如故障还未解决,建议更换EK1100模块(参考手册3.4章节)。如果Us指示灯常亮,建议看步骤三。第三步:查看E-BUS指示灯,如果E-BUS指示灯不亮,建议检查EK1100模块和紧挨着EK1100的模块之间的连接,断电重新插拔EK1100和紧挨着EK1100的模块。如故障还未解决,建议更换EK1100模块或者是紧挨着EK1100的模块(参考手册3.4章节)。如果E-BUS指示灯常亮,建议看步骤四。第四步:查看RUN指示灯,RUN指示灯是常亮或者是不亮的话,建议更换EK1100模块(参考手册3.4章节)。故障二:EK1100后面的负载均没有动作,但是后面输入模块指示灯不亮,输出模块指示灯亮一般这个故障是Up供电断开,检查EK1100模块上2,3号管脚DC24V供电以及检查供电电缆,建议维护工程师用万用表测量2,3管脚之间的电压范围是否在24 VDC (-15%/+20%)之间。如故障还未解决,建议更换EK1100模块(参考手册3.4章节)故障三:EK1100模块后面的一个或者多个EL模块出现异常,但是EK1100模块指示灯闪烁正常第一步:建议查看整个EtherCAT网络,看是否出现有某个或者多个EtherCAT从站报错,如果整个网络中所有从站都正常,建议看步骤二。第二步:定位EK1100模块后面故障模块的位置,建议依次替换,查找故障模块,具体看下面详解。数字量输入输出模块本节以EL1008和EL2008为例,讲解输入输出模块诊断EL1008模块EL1008模块是输入模块,上面的LED指示灯用于显示外部信号输入状态。指示灯说明故障查看流程:故障一:EL1008模块的所有信号指示灯都不亮第一步:查看EK1100诊断指示灯,如果EK1100诊断灯不正常,建议参考EK1100模块的故障排查,反之,建议查看步骤二。第二步:建议用万用表测量第三方的设备,确认第三方设备是否出现故障。如果检测下来第三方设备正常,建议查看步骤三。第三步:建议替换EL1008模块,如果替换了EL1008模块之后,问题还是没有解决,可以考虑替换EL1008模块前面的EL模块。故障二:EL1008模块上某个信号指示灯不亮,其他EL模块运行正常第一步:建议用万用表测量第三方的设备,确认第三方设备是否出现故障。如果检测下来第三方设备正常,建议查看步骤二。第二步:建议单独EL1008模块上有问题的输入点接入DC24V电源,看信号指示灯是否常亮。如果不亮的话,建议替换EL1008模块,如果亮的话,建议查看外部接线,是否存在断路现象。故障三:EL1008模块上的信号指示灯常亮,后面的EL模块运行不正常第一步:查看EK1100诊断指示灯,如果EK1100诊断灯不正常,建议参考EK1100模块的故障排查,反之,建议查看步骤二。第二步:建议替换EL1008模块,如果替换了EL1008模块之后,问题还是没有解决,可以考虑替换EL1008模块前面的EL模块。EL2008模块EL2008模块是输出模块,上面的LED指示灯用于显示外部信号输出状态。指示灯说明故障查询流程:故障一:EL2008模块上所接的某个或者多个负载不动作,其他EL模块运行正常第一步:把负载拆除,用万用表测量输出点和0V之间是否存在DC24V电压,如果有DC24V,说明EL2008模块上的输出点有问题,建议替换EL2008模块。反之,看步骤二。第二步:测试负载,看第三方的负载是否正常,如果不正常的话,建议换第三方负载。反之,建议查看外部接线,是否存在断路或者短路现象。故障二:EL2008模块上所有输出点不输出,后面的EL模块运行不正常第一步:查看EK1100诊断指示灯,如果EK1100诊断灯不正常,建议参考EK1100模块的故障排查,反之,建议查看步骤二。第二步:建议替换EL2008模块,如果替换了EL2008模块之后,问题还是没有解决,可以考虑替换EL2008模块前面的EL模块。EL1xxx系列(EL1052,EL1054和EL15xx除外)都是数字量的输入模块,模块上面的LED指示灯主要用于显示外部信号输入状态常见EL1004,EL1008模块的LED灯说明:https://infosys.beckhoff.com/content/1033/el10xx_el11xx/1629658507.html?id=1251117201267835091EL2xxx系列(EL20/EL21/EL2262/EL26/EL27/EL28)都是普通的数字量输出模块,模块上面的LED指示灯主要用于显示模块的输出状态常见的EL2004,EL2008模块的LED灯说明:https://infosys.beckhoff.com/content/1033/el20xx_el2124/1636470795.html?id=3727064653079856643EL3xxx系列的模拟量输入模块中有很多种类,主要实现电压电流的数据采集,热电偶和热电阻 工信部备案:沪ICP备12000630号-1沪公网安备 31010602003961号 Beckhoff Virtual Academy2013 - Now BACN All Rights Reserved %����
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�<检测EherCAT通讯状态: · AM600应用笔记
倍福--检测和扫描ethercat从站状态_ethercat网络速度测量-CSDN博客
>Ethercat状态机的实现教程 - 知乎
维护工程师指导手册: EtherCAT诊断 | 倍福虚拟学院