EtherCAT报文-APRD(自动增量读)抓包分析
0.工具准备
1.EtherCAT主站
2.EtherCAT从站(本文使用步进电机驱动器)
3.Wireshark
1.EtherCAT报文帧结构
EtherCAT使用标准的IEEE802.3 Ethernet帧结构,帧类型为0x88A4。EtherCAT数据包括2个字节的数据头和44-1498字节的数据。数据区由一个或多个EtherCAT子报文组成,每个子报文对应独立的设备或从站存储区域。EtherCAT数据帧结构定义如下所示:
图中部分内容的定义如下:
3.EtherCAT报文-APRD抓包
APRD报文也就是自动增量读报文,在主站还未设置从站站点地址前,可以使用APRD报文读取各个从站设置的地址别名,并在后续运行中作为从站站点地址使用。使用地址别名作为从站站点地址,可以保证网段拓扑改变或者增删设备时,从站设备仍然可以使用相同的设置地址,这在实际使用中非常有用。
3.1 主站发送APRD报文
主站向从站(2个)发送APRD报文,读取拓扑顺序为2的从站的站点别名寄存器(0x0012),报文如下:
3.1.1 以太网帧头
目的地址:ff:ff:ff:ff:ff:ff
源地址:01:01:01:01:01:01
帧类型:0x88A4
3.1.2 EtherCAT头
EtherCAT数据长度:0x00e(14)
保留位:0
类型:0x1(EtherCAT命令)
3.1.3 子报文
3.1.3.1 子报文头
命令:1(自动增量读命令)
索引(帧存放临时缓冲区编号):0x01
从站地址:0xffff (对应16位有符号数-1,每经过1个从站该值+1,到从站2时该值变为0,从站2发现是寻址到自己的报文便会进行处理)
偏移地址:0x0012(所谓偏移地址就是寄存器地址)
长度:2(和寄存器地址长度相对应,0x0012寄存器长度为2字节)
保留位:0
是否阻止循环帧发送:0(报文不是循环报文)
是否有后续子报文:0(这是最后一个子报文)
状态(中断到来标志):0x0000
3.1.3.2 数据
注意:图中红框标记处为数据
数据:0x00
3.1.3.3 WKC
WKC(工作计数器):由于是主站发出的APRD报文,还没经过从站,因此wkc为0
后面的连续的00是填充字节,使EtherCAT报文满足以太网报文最小64byte的要求。
3.1.3.4 FCS
由于Wireshark不支持显示FCS,这里省略4Byte的FCS。值得说明的是,能够被Wireshark抓取到的报文,都是FCS校验通过的帧。
3.2 主站接收从站返回的APRD报文
主站向从站(2个)发送APRD报文,读取拓扑顺序为2的从站的站点别名寄存器(0x0012),随后会收到从站返回的APRD报文,内容如下:
3.2.1 以太网帧头
目的地址:ff:ff:ff:ff:ff:ff
源地址:03:01:01:01:01:01
帧类型:0x88A4
3.2.2 EtherCAT头
EtherCAT数据长度:0x00e(14)
保留位:0
类型:0x1(EtherCAT命令)
3.2.3 子报文
3.2.3.1 子报文头
命令:1(自动增量读命令)
索引(帧存放临时缓冲区编号):0x01
从站地址:0x0001(-1 + 1 + 1 = 0x0001)
偏移地址:0x0012(所谓偏移地址就是寄存器地址)
长度:2(和寄存器地址长度相对应,0x0012寄存器长度为2字节)
保留位:0
是否阻止循环帧发送:0(报文不是循环报文)
是否有后续子报文:0(这是最后一个子报文)
状态(中断到来标志):0x0000
3.2.3.2 数据
数据:0x0032
3.2.3.3 WKC
WKC(工作计数器):APRD报文只会有一个从站处理,因此wkc = 0 + 1= 1。
后面的连续的00是填充字节,使EtherCAT报文满足以太网报文最小64byte的要求。
3.2.3.4 FCS
由于Wireshark不支持显示FCS,这里省略4Byte的FCS。值得说明的是,能够被Wireshark抓取到的报文,都是FCS校验通过的帧。
总结
(1)顺序寻址时,从站的地址由其在网段内的连接位置确定,用一个负数来表示每个从站在网段内由接线顺序决定的位置。顺序寻址子报文在经过每个从站设备时,其位置地址加1,从站在接收报文时,地址为0的报文就是寻址到自己的报文。例如,顺序为n的从站,使用APRD报文时则设置地址为1-n。
(2)APRD报文寻址成功情况下,WKC+1
相关文章:
EtherCAT报文-APRD(自动增量读)抓包分析
0.工具准备 1.EtherCAT主站 2.EtherCAT从站(本文使用步进电机驱动器) 3.Wireshark1.EtherCAT报文帧结构 EtherCAT使用标准的IEEE802.3 Ethernet帧结构,帧类型为0x88A4。EtherCAT数据包括2个字节的数据头和44-1498字节的数据。数据区由一个或…...
论文阅读:Seeing in Extra Darkness Using a Deep-Red Flash
论文阅读:Seeing in Extra Darkness Using a Deep-Red Flash 今天介绍的这篇文章是 2021 年 ICCV 的一篇 oral 文章,主要是为了解决极暗光下的成像问题,通过一个深红的闪光灯补光。实现了暗光下很好的成像效果,整篇文章基本没有任…...
将license验证加入到系统中
1.将ClientDemo下的cn文件夹的内容导入项目对应的java目录下。 2.将license-config.properties文件导入resources目录下。 3.在项目的pom.xml中添加如下依赖。 <properties><!-- Apache HttpClient --><httpclient>4.5.5</httpclient><!-- License…...
中断机制-interrupt和isInterrupted源码分析、中断协商案例
当前线程的中断标识为true,是不是线程就立刻停止? 答案是不立刻停止,具体来说,当对一个线程,调用interrupt时: 如果线程处于正常活动状态,那么会将该线程的中断标志设置为true,仅此…...
我与COSCon的故事【时光的故事】
曾经 2019年的时候,我还在日本读研究生,做一些物联网 (Internet of Things, IoT) 网络中的底层P2P (Peer to Peer) 通讯仿真模拟。这个方向是新来的Nguyen老师的新方向,它跟计算机强相关,但是很小众,实验室里也没有前辈…...
【科学文献计量】利用pybibx分析Scopus文献数据集(EDA,N-Grams,Cluster,Network analysis,NLP)
利用pybibx分析Scopus文献数据集 1 运行前准备1.1 数据集1.2 前置库2 加载库3 数据导入4 探索式数据分析,即EDA4.1 表格可视化4.2 词云图可视化4.3 N-Grams可视化4.4 文献聚类4.5 主题词演化4.6 桑基图可视化4.7 树图可视化4.8 作者生产力可视化5 网络可视化5.1 文献引用与被引…...
-带你看懂11种API类型及应用-
一起走进多样的API,多样的精彩 随着互联网行业的日益发展,API(Application Programming Interface)这个名词对于绝大多数来说都已不再陌生。然而,实际上,根据不同标准可以划分出不同类型的API。今天,让我们来走…...
集成友盟qq互联分享,导出风险问题处理
处理方案:移除 android:exported"true"即可。 注意友盟SDK QQ share 里默认配置是android:exported"true",所以要覆盖即可。...
探索数字安全的卓越之选 - Digicert证书
在数字时代,数据安全和隐私保护变得尤为重要。无论是个人网站、电子商务平台还是大型企业,保护用户数据和建立信任都是至关重要的任务。在这个领域,Digicert是一个备受推崇的品牌,提供了卓越的数字证书解决方案,以确保…...
第五章 流程控制 Pro
五、流程控制 1、条件语句 一、if语句(三种形式) 1、单分支语句: if (表达式)语句; //表达式可以是任何表达式 0和非0 多条语句加{ }构成复合语句 2、双分支语句 if(表达式) 语句1; else 语句2…...
CSS之实现线性渐变背景
1. background: linear-gradient() background: linear-gradient是CSS中用于创建线性渐变背景的属性,这个属性允许你定义一个在元素的背景中进行渐变的效果,可以从一个颜色过渡到另一个颜色。 基本语法 background: linear-gradient(direction, color-…...
软考 系统架构设计师系列知识点之特定领域软件体系结构DSSA(7)
接前一篇文章:软考 系统架构设计师系列知识点之特定领域软件体系结构DSSA(6) 所属章节: 第7章. 系统架构设计基础知识 第5节. 特定领域软件体系结构 相关试题 5. 特定领域软件架构(Domain Specific Software Archite…...
CentOS-7网卡重启后关闭的解决方法
第一步查找网卡: ip addr 如下图: 于是发现网卡eth0。 第二步进入网卡配置目录并进行配置: cd /etc/sysconfig/network-scriptsvim ifcfg-eth0 第三步改配置如下图: 然后每次重启后网卡会自动启动。...
Linux CentOS7 用户组管理
Linux操作系统基于多用户的设计理念,允许多个用户同时使用系统资源。用户是登录系统并使用系统资源的个体,其都有自己的账户和密码。用户组是将众多用户归类为一组。Linux中的用户和用户组是系统安全和权限管理的基础。本文将探讨Linux中用户组的创建和管…...
C++算法:前缀和基础
相关 源码测试用例下载 https://download.csdn.net/download/he_zhidan/88430716 包括4个压缩包,初始代码,实现前缀和,实现前缀积,实现前缀异或。都是在前者的基础上修改的。 本博文是CSDN学院课程的讲义 https://edu.csdn.net/c…...
vue和react的区别
目录 1. 数据绑定 Vue React 2. 组件化 Vue React 3. 学习曲线 4. 状态管理 Vue React 5. 社区和生态系统 3. 学习曲线 4. 状态管理 Vue React 5. 生态系统 6. 社区和支持 7. 性能 8. 生产环境性能 9.语法和模板: 结论 当涉及到前端开发框架时,…...
STM32 之 HAL 库串口 USART 丢数据及ORE卡死的解决方案
STM32 之 HAL 库串口 USART 丢数据及ORE卡死的解决方案_hal_uart_error_ore-CSDN博客...
递归最小二乘法RLS
参考:RLS递归最小二乘法(Recursive Least Squares)_hymwgk的博客-CSDN博客...
Apache Doris (三十九):Doris数据导出 - MySQL dump导出
🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录...
【Nginx32】Nginx学习:随机索引、真实IP处理与来源处理模块
Nginx学习:随机索引、真实IP处理与来源处理模块 完成了代理这个大模块的学习,我们继续其它 Nginx 中 HTTP 相关的模块学习。今天的内容都比较简单,不过最后的来源处理非常有用,可以帮我们解决外链问题。另外两个其实大家了解一下就…...
vue3后台管理框架之集成sass
我们目前在组件内部已经可以使用scss样式,因为在配置styleLint工具的时候,项目当中已经安装过sass sass-loader,因此我们再组件内可以使用scss语法!!!需要加上lang="scss" <style scoped lang="scss"></style> 接下来我们为项目添加一些…...
无需付费开会员,一个Python程序实现PDF转高清图片
今天需要将一个PDF导出为图片,但是一般的在线转换网站导出的图片清晰度都不高,分辨率只有1241*1754,这就导致输出的图片放大后字体是有点模糊的,所以就想到了使用Python中的PyPDF2库来处理PDF文件,以及Pillow库来处理图…...
为分布式系统设计数据库
【squids.cn】 全网zui低价RDS,免费的迁移工具DBMotion、数据库备份工具DBTwin、SQL开发工具等 数据库设计是微服务和云原生解决方案的关键因素,因为基于微服务的架构导致了数据的分布式。数据管理不再在一个单一的过程中发生,而是可以通过多…...
Programming abstractions in C阅读笔记:p179-p180
《Programming Abstractions In C》学习第60天,p179-p180总结。 一、技术总结 1.palindrome(回文) (1)包含单个字符的字符串(如"a"),或者空字符串(如" ")也是回文。 (2)示例:“level”、“noon”。 2.predicate fun…...
在 VSCode 中使用 PlantUML
最近,因为工作需要绘制一些逻辑图,我自己现在使用的是 PlantUML 或者 mermaid,相比之下前者更加强大。不过它的环境也麻烦一些,mermaid 在一些软件上已经内置了。但是 PlantUML 一般需要自己本地安装或者使用远程服务器࿰…...
css3过渡属性属性名:transition
CSS3的过渡属性属性名是transition,它允许我们在状态改变时为元素添加过渡效果,例如在元素从一种样式变为另一种样式时添加平滑的过渡效果。 transition的语法如下: transition: property duration timing-function delay;其中,…...
关于数据链路层(初步)
以太网帧格式: 源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固 化的; 帧协议类型字段有三种值,分别对应载荷的形式,有IP、ARP、RARP; …...
诊断DLL——CAPL_DLL集成安全访问算法
文章目录 前言一、CAPL DLL简介DLL生成C2338报错解决方案:二、添加27服务解锁算法三、CAPL调用dll前言 在实际诊断工程应用中,如UDS刷写——27服务,经常会遇到一些Seed2Key的算法问题,为了安全保密,这个算法的源码不便公开,我们可以将其打包成DLL,然后在CANoe诊断控制面…...
集合元素处理(传统方式和Stream方式)
1、集合元素处理(传统方式) 现在有两个ArrayList集合存储队伍当中的多个成员姓名,要求使用传统的for循环(或增强for循环)依次进行一下若干操作步骤: 第一个队伍只要 名字为 3 个字 的成员姓名;存…...
亲测好用,这3款免费高清录屏软件,效果惊人!
在当今社会上,录屏软件已经成为了人们日常生活中不可或缺的一部分。无论是在工作还是学习中,我们都需要使用录屏软件来录制屏幕上的内容。然而,许多录屏软件都是收费的,这对于那些想要尝试录屏软件但又不想花钱的人来说࿰…...
成熟网站开发联系电话/长沙网站优化价格
1: Echarts xAxis----->boundaryGap: false 属性理解: 坐标轴两边的留白策略: 类目轴和非类目轴表现的是不一样。 类目轴中 boundaryGap 可以配置为 true 和 false。 默认为 true: 默认为true: 这个时候刻度作为分割线, 标签和数据点…...
企业网站需要在电信做哪些备案/建个网站需要多少钱?
没有所谓最好的教程,每个人的知识背景不一样,定位自然也不一样的。非要推荐一本的话,个人觉得目前市面上“最好”的一本入门教程之一是《Python编程:入门到实践》。说说我的推荐理由: 这本书虽然是国外作者写的&#x…...
服装网站建设优点与缺点/站长工具天美传媒
BZOJ 1054题解 BFS暴力求解 1054: [HAOI2008]移动玩具 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1884 Solved: 1033[Submit][Status][Discuss]Description 在一个4*4的方框内摆放了若干个相同的玩具,某人想将这些玩具重新摆放成为他心中理想的状态&#x…...
网站建设 开发/百度竞价登录
今天,有个哥们在网上买了块二手机械硬盘。回家装好系统发现启动贼慢,开机十几分钟。遂到交流群发问。经过一番诊断最终确定为硬盘坏道导致。哥们失望至极,准备打开京东购买一块全新固态。本来,作为一个沉默宝宝天天在群里采集话题…...
建设网站需要什么人员/东莞网络公司电话
随时随地阅读更多技术实战干货,充分利用闲暇时间,请关注源代码社区公众号和技术交流群。 from:http://blog.csdn.net/kaka0930/article/details/68941932 1. phantomjs的镜像网站:http://npm.taobao.org/dist/phantomjs/ 2. pha…...
宁夏做网站建设公司/注册域名费用一般多少钱
如果项目有第三方jar包而部署服务器后启动项目jar包后报错说找不到你的第三方jar包class not found 只需在对应的pom文件里加入 <resource> <directory>src/main/resources/lib</directory> <targetPath>BOOT-INF/lib/</targetPath> <incl…...