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

news2024/11/28 8:25:00

0.工具准备

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

1.EtherCAT报文帧结构

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

3.EtherCAT报文-FPRD抓包

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

3.1 主站发送FPRD报文

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

在这里插入图片描述

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 子报文头

在这里插入图片描述

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

3.1.3.2 数据

在这里插入图片描述

数据:0x0(主站发出的FPRD报文还没经过从站1处理,值为0)

3.1.3.3 WKC

在这里插入图片描述

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

3.1.3.4 FCS

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

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

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

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 子报文头

在这里插入图片描述

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

3.2.3.2 数据

在这里插入图片描述

数据:0x0000000cd3e87282(该值是从站1系统时间寄存器的值)

3.2.3.3 WKC

在这里插入图片描述

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

3.2.3.4 FCS

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

总结

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

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

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

相关文章

数据结构-表、树、图

一、表 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…

【电源专题】CCM (ContinuousConduction Mode)和DCM(Discontinuous Conduction Mode)有什么区别?

在工作中,查看规格书的时候会看到CCM/DCM等专业词汇。那么什么是CCM?什么是DCM呢? DCM和CCM的概念 回顾文章:【电源专题】什么是开关稳压器的热回路?如何优化热回路?我们可以知道当开关管上管Q1导通Q2关断时,回路为绿色路径,电感储能同时给输出提供能量。当Q1关断Q2导…

【AI】深度学习——循环神经网络

神经元不仅接收其他神经元的信息&#xff0c;也能接收自身的信息。 循环神经网络&#xff08;Recurrent Neural Network&#xff0c;RNN&#xff09;是一类具有短期记忆能力的神经网络&#xff0c;可以更方便地建模长时间间隔的相关性 常用的参数学习可以为BPTT。当输入序列比较…

图解 RIP

路由器能把全世界的网络连接起来&#xff0c;再根据路由表进行数据转发。路由表项可以手动配置添加&#xff0c;但是面对不计其数、而且动态变化的网络环境&#xff0c;手动添加路由表项显得不切实际&#xff0c;必须使用可以自动生成路由表项、动态感知网络变化的网络协议&…

nginx的location优先级与重定向

概念 1.location是Nginx中的块级指令(block directive),&#xff0c;location指令的功能是用来匹配不同的url请求&#xff0c;进而对请求做不同的处理和响应&#xff0c;这其中较难理解的是多个location的匹配顺序。 2.我们输入的网址叫做请求URI&#xff0c;nginx用请求URI与…

React高级特性之受控和非受控组件

一、受控组件 受控组件&#xff1a;input框自己的状态被React组件状态控制 // 类组件引入React import React from reactclass InputComponent extends React.Component{state {message: zm66666}changeHandler (e) > {this.setState({message: e.target.value})}render…

第五十八章 学习常用技能 - 查看查询缓存

文章目录 第五十八章 学习常用技能 - 查看查询缓存查看查询缓存建立索引使用调谐表工具 第五十八章 学习常用技能 - 查看查询缓存 查看查询缓存 对于 SQL&#xff08;用作嵌入式 SQL 时除外&#xff09;&#xff0c;系统会生成可重用代码来访问数据&#xff0c;并将该代码放置…

二手安捷伦E9323A射频传感器

安捷伦E9323A射频传感器 E9323A 是 Agilent 使用的 6 GHz 0.1 瓦射频传感器。电子测试设备传感器测量波形的功率&#xff0c;例如多音和调制射频 (RF) 波形。传感器使用二极管检测器收集高度精确的调制测量值。 5 MHz 视频带宽&#xff0c;非常适合 W-CDMA 和 cdma2000 应用 通…

机器视觉知识讲的深不如讲的透

我深思这个话题&#xff0c;大家来培训&#xff0c;其实培训机构也很痛苦&#xff0c;每个热掌握的参差不齐&#xff0c;你说他不会吧&#xff0c;会一点电气&#xff0c;你说他会吧&#xff0c;会一点Opencv&#xff0c;会一点visionpro,会一点Visionmaster,会一点Halcon。好像…

LangChain与大型语言模型(LLMs)应用基础教程:神奇的Agent

原文&#xff1a;LangChain与大型语言模型(LLMs)应用基础教程:神奇的Agent-CSDN博客 LangChain是大型语言模型(LLM)的应用框架,LangChain可以直接与 OpenAI 的 text-davinci-003、gpt-3.5-turbo 模型以及 Hugging Face 的各种开源语言模如 Google 的 flan-t5等模型集成。通过使…

c++11新增特性

目录 新增容器 ​编辑 新增语法 变量类型推导 auto 存储类型 分类 自动存储类型 静态存储类型 寄存器存储类型 外部链接存储类型 decltype typeid(c98) type_info { }初始化 initializer_list 介绍 使用 模拟实现 nullptr final与override 范围for 右值…

PVIT:利用位置信息增强多模态模型理解用户意图的能力

论文链接&#xff1a; https://arxiv.org/abs/2308.13437 代码链接&#xff1a; https://github.com/PVIT-official/PVIT Demo&#xff1a; https://huggingface.co/spaces/PVIT/pvit 引言 随着ChatGPT等语言大模型的走红&#xff0c;越来越多人尝试探索为语言大模型赋予视觉能…

中断机制-通过AtomicBoolean实现线程中断停止

通过AutomicBoolean package com.nanjing.gulimall.zhouyimo.test;import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean;/*** author zhou* version 1.0* date 2023/10/15 2:42 下午*/ public class InterruptDemo2 {static AtomicBoole…