EtherCAT报文-FPWR(配置地址写)抓包分析

news2024/11/28 7:48:05

0.工具准备

1.EtherCAT主站
2.EtherCAT从站(本文使用步进电机驱动器)
3.Wireshark

1.EtherCAT报文帧结构

EtherCAT使用标准的IEEE802.3 Ethernet帧结构,帧类型为0x88A4。EtherCAT数据包括2个字节的数据头和44-1498字节的数据。数据区由一个或多个EtherCAT子报文组成,每个子报文对应独立的设备或从站存储区域。EtherCAT数据帧结构定义如下所示:
在这里插入图片描述
图中部分内容的定义如下:
在这里插入图片描述

3.EtherCAT报文-FPWR抓包

FPWR报文也就是配置地址写报文,在主站设置好从站的站点地址后便可以使用该报文寻址从站写从站寄存器数据。

3.1 主站发送FPWR报文

主站向从站(2个)发送FPWR报文,设置站点地址为0x1001的从站本地系统时间(0x0910寄存器)为0x0,报文如下:

在这里插入图片描述

3.1.1 以太网帧头

在这里插入图片描述

目的地址:ff:ff:ff:ff:ff:ff
源地址:01:01:01:01:01:01
帧类型:0x88A4

3.1.2 EtherCAT头

在这里插入图片描述

EtherCAT数据长度:0x014(20)
保留位:0
类型:0x1(EtherCAT命令)

3.1.3 子报文

在这里插入图片描述

3.1.3.1 子报文头

在这里插入图片描述

命令:5(配置地址写命令)
索引(帧存放临时缓冲区编号):0x00
从站地址:0x1001(从站1的站点地址)
偏移地址:0x0910(所谓偏移地址就是寄存器地址)
长度:8(和寄存器地址长度相对应,0x0910寄存器长度为2字节)
保留位:0
是否阻止循环帧发送:0(报文不是循环报文)
是否有后续子报文:0(这是最后一个子报文)
状态(中断到来标志):0x0000

3.1.3.2 数据

在这里插入图片描述

数据:0x0000000000000000

3.1.3.3 WKC

在这里插入图片描述

WKC(工作计数器):由于是主站发出的FPWR报文,还没经过从站,因此wkc为0。
后面的连续的00是填充字节,使EtherCAT报文满足以太网报文最小64byte的要求。

3.1.3.4 FCS

由于Wireshark不支持显示FCS,这里省略4Byte的FCS。值得说明的是,能够被Wireshark抓取到的报文,都是FCS校验通过的帧。

3.2 主站接收从站返回的FPWR报文

主站向从站(2个)发送FPWR报文,设置站点地址为0x1001的从站1的本地系统时间为0x0,随后会收到从站返回的FPWR报文,内容如下:
在这里插入图片描述

3.2.1 以太网帧头

在这里插入图片描述

目的地址:ff:ff:ff:ff:ff:ff
源地址:03:01:01:01:01:01
帧类型:0x88A4

3.2.2 EtherCAT头

在这里插入图片描述

EtherCAT数据长度:0x014(20)
保留位:0
类型:0x1(EtherCAT命令)

3.2.3 子报文

在这里插入图片描述

3.2.3.1 子报文头

在这里插入图片描述

命令:5(配置地址写命令)
索引(帧存放临时缓冲区编号):0x00
从站地址:0x1001
偏移地址:0x0910(所谓偏移地址就是寄存器地址)
长度:8(和寄存器地址长度相对应,0x0910寄存器长度为8字节)
保留位:0
是否阻止循环帧发送:0(报文不是循环报文)
是否有后续子报文:0(这是最后一个子报文)
状态(中断到来标志):0x0000

3.2.3.2 数据

在这里插入图片描述

数据:0x0000000000000000

3.2.3.3 WKC

在这里插入图片描述

WKC(工作计数器):FPWR报文有1个从站处理,因此wkc = 0 + 1 = 1。
后面的连续的00是填充字节,使EtherCAT报文满足以太网报文最小64byte的要求。

3.2.3.4 FCS

由于Wireshark不支持显示FCS,这里省略4Byte的FCS。值得说明的是,能够被Wireshark抓取到的报文,都是FCS校验通过的帧。

总结

(1)设置寻址时,从站的地址与其在网段内的连接顺序无关。从站的配置地址可以由主站在数据链路启动阶段配置给从站,也可以由从站上电初始化时从自身的配置数据存储区装载,然后由主站在链路启动阶段使用顺序寻址方式读取各个从站的设置地址,并在后续运行中使用。
(2)FPWR报文寻址成功情况下,WKC+1。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1096581.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

芯片学习记录TLP184

TLP184 芯片介绍 TLP184是一款光耦隔离器,它的主要特点包括:高电压耐受能力、高传输速度、高共模隔离能力、低功耗等。它可以用于工业自动化、通信设备、家用电器等领域的电气隔离应用。由一个光电晶体管组成,光学耦合到两个红外发射二极管…

[初始java]——规范你的命名规则,变量的使用和注意事项,隐式转化和强制转化

目录 一、标识符是么 二、命名规则 三、变量 1.定义变量的完整格式: 2.变量的分类 3.变量在内存中的位置 4.注意事项: 四、隐式转化和强制转化 五、表达式和语句的概念 一、标识符是么? 就是给类、变量、方法起名字的,用于标识它们。…

内网、外网、宽带、带宽、流量、网速之间的区别与联系

一.带宽与宽带的区别是什么? 带宽是量词,指的是网速的大小,比如1Mbps的意思是一兆比特每秒,这个数值就是指带宽。 宽带是名词,说明网络的传输速率速很高 。宽带的标准各不相同,最初认为128kbps以上带宽的就…

从0开始学Java:Java基础语法

文章目录 1. 注释2. 关键字(*Keyword*)3. 标识符( Identifier)4. 常量(*Constant*)5. 输出语句6. 变量(*Variable*)7. 计算机如何存储数据7.1 进制7.2 计算机存储单位7.3 二进制数据存储 8. 数据类型8.1 数…

一行 Python 代码搞定训练分类或回归模型

引言 自动机器学习(Auto-ML)是指自动化数据科学模型开发流水线的组件。AutoML 减少了数据科学家的工作量,并加快了工作流程。AutoML 可用于自动化各种流水线组件,包括数据理解,EDA,数据处理,模型训练,超参数…

C++11(lambda表达式)

目录 一、lambda表达式的引入 二、语法格式 三、捕捉方式 四、lambda表达式的底层 1、仿函数的调用 2、lambda的调用 ​编辑 一、lambda表达式的引入 在之前,我们调用函数的方式有:通过函数指针调用,仿函数也能像函数一样调用。而在C…

pgsl基于docker的安装

1. 有可用的docker环境 ,如果还没有安装docker,则请先安装docker 2. 创建pg数据库的挂载目录 mkdir postgres 3. 下载pg包 docker pull postgres 这个命令下载的是最新的pg包,如果要指定版本的话,则可以通过在后面拼接 :versio…

12 | JPA 的审计功能解决了哪些问题

Auditing 指的是什么? Auditing 是帮我们做审计用的,当我们操作一条记录的时候,需要知道这是谁创建的、什么时间创建的、最后修改人是谁、最后修改时间是什么时候,甚至需要修改记录……这些都是 Spring Data JPA 里面的 Auditing…

【LeetCode刷题(数据结构)】:给定一个链表 返回链表开始入环的第一个节点 如果链表无环 则返回 NULL

给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环 为了表示给定链表中的环,评测系统内部使用整数 pos…

【Eclipse】查看版本号

1.在Eclipse的启动页面会出现版本号 2. Eclipse的关于里面 Help - About Eclipse IDE 如下图所示,就为其版本 3.通过查看readme_eclipse.html文件

华为浏览器风险提示 - 解决方案

问题 使用华为手机自带的华为浏览器时,可能会遇到网页提示风险提示且无法打开的情况,如下图。这是因为华为浏览器开启了安全浏览功能,下文介绍解决方案。 解决方案 取消华为浏览器设置中的安全浏览功能即可,操作步骤如下。打开…

EtherCAT报文-FPRD(配置地址读)抓包分析

0.工具准备 1.EtherCAT主站 2.EtherCAT从站(本文使用步进电机驱动器) 3.Wireshark1.EtherCAT报文帧结构 EtherCAT使用标准的IEEE802.3 Ethernet帧结构,帧类型为0x88A4。EtherCAT数据包括2个字节的数据头和44-1498字节的数据。数据区由一个或…

数据结构-表、树、图

一、表 1.1、散列表 也叫哈希表,把数据分散在列表中,依赖于数组下标访问的特性,数组的一种拓展。 散列思想: 即映射思想,用键值对来保存信息,键(key)和值(value&a…

E117-经典赛题-主机发现与信息收集

任务实施: E117-经典赛题-主机发现与信息收集 任务环境说明: 服务器场景:p9_bt5-1(用户名:root;密码:toor) 服务器场景操作系统:Back Track five kali Linux 192.168.32.1…

【C++11】

目录 一、列表初始化1.1{}初始化1.2 std::initializer_list 二、声明2.1auto2.2decltype2.3nullptr 三、STL的变化四、右值引用和移动4.1左值引用与右值引用4.2右值引用的场景和意义4.3完美转发4.4完美转发的某个应用场景 四、lambda4.1lambda表达式4.2l…

Zabbix监控系统与部署Zabbix5.0监控(系列操作完整版)

Zabbix监控系统与部署Zabbix5.0监控(系列操作完整版) 1、监控软件的作用2、Zabbix基本介绍2.1Zabbix是什么?2.2Zabbix监控原理2.3Zabbix的优点2.4Zabbix的缺点2.5Zabbix监控系统的监控对象 3、Zabbix的监控架构3.1server-client架构3.2server…

EtherCAT报文-APRD(自动增量读)抓包分析

0.工具准备 1.EtherCAT主站 2.EtherCAT从站(本文使用步进电机驱动器) 3.Wireshark1.EtherCAT报文帧结构 EtherCAT使用标准的IEEE802.3 Ethernet帧结构,帧类型为0x88A4。EtherCAT数据包括2个字节的数据头和44-1498字节的数据。数据区由一个或…

感知机算法

感知机算法 二分类的情况 原理 样本集 X \pmb X X有两个类情况&#xff0c;感知机 Y w X b YwXb YwXb可以将样本集 X \pmb X X分为成功两类 Y w X b { > 0 , x ∈ w 1 < 0 , x ∈ w 2 YwXb \begin{cases}>0 \quad,\quad x \in w_1 \\ <0 \quad,\quad x \i…

Radius OTP完成堡垒机登录认证 安当加密

Radius OTP&#xff08;One-Time Password&#xff09;是一种用于身份验证的协议&#xff0c;它通过向用户发送一个一次性密码来验证用户的身份。使用Radius OTP可以实现堡垒机登录&#xff0c;以下是一些实现步骤&#xff1a; 1、安装Radius服务器 首先需要安装Radius服务器…

Matlab-ODE45:求解状态变量(微分方程组)

ode45函数 ode45实际上是数值分析中数值求解微分方程组的一种方法&#xff0c;4阶五级Runge-Kutta算法。 调用方法 ​ 其实这种方程的每一个状态变量都是t 的函数&#xff0c;我们可以从现代控制理论的状态空间来想。因此返回[ t , x ]&#xff0c;其中t是一个列向量&#xf…