当前位置: 首页 > article >正文

EtherCAT帧捕获与帧结构分析

目录

  • 简介
  • 如何捕获
  • 如何过滤
  • 帧结构

简介

本文解决如下问题,

  • 如何捕获EtherCAT帧
  • EtherCAT帧结构是怎样的
  • EtherCAT帧结构规范在哪里看

如何捕获

只有开启网卡混杂模式之后,wireshark才能检测到网络数据
在这里插入图片描述
打开wireshark,开始监控
在这里插入图片描述

如何过滤

参考https://www.wireshark.org/docs/dfref/#section_e,其中有三部分可以设置的过滤器,打开就能看到
在这里插入图片描述

帧结构

EtherCAT Master在每一个周期里都会下发如下三条指令,用于读写过程数据和查看AL status等。
在这里插入图片描述
这些网络数据在wireshark中的捕获结果如下
在这里插入图片描述
图上灰色的是master发送出去的数据帧,工作计数器为0
黑色的是接收到的数据帧
参考==《EtherCAT 规范 第四部分:数据链路层协议规范》 ==,表9
在这里插入图片描述
Dest MAC,Src MAC,Ether Type如下
在这里插入图片描述
后面的EtherCAT frame,由EtherCAT frame header和datagram组成。
对于EtherCAT 过程数据帧和邮箱数据帧,这两个部分有所区别,主要是在header中的协议类型type和datagram中的负载上。
上面我们捕获的是过程数据帧,结构如下
在这里插入图片描述
捕获数据中有三个PDU
在这里插入图片描述

PDU结构按操作指令区别而不同。以BRD轮询AL status为例,就是我们捕获数据帧中的最后一个PDU
规范中定义如下:
在这里插入图片描述

需要注意,规范中的ADP就是wireshark中的Slave ADDR,是按照位置寻址的站地址Slave Addr。
ADO是物理内存地址,是从站双端内存中的地址,对应wireshark中的偏移地址offset Addr。

发送出去的BRD没有数据,接收的才有
在这里插入图片描述


http://www.kler.cn/a/536256.html

相关文章:

  • 【DeepSeek】DeepSeek小模型蒸馏与本地部署深度解析DeepSeek小模型蒸馏与本地部署深度解析
  • MySQL第四次实验
  • 一次奇怪的空指针问题分析:事务、死锁与隐式回滚
  • Spring Task之Cron表达式
  • MLA 架构
  • LLMs之data:synthetic-data-generator的简介、安装和使用方法、案例应用之详细攻略
  • 基于Bootstrap + Java + Oracle实现的电商平台
  • DeepSeek图解10页PDF
  • STM32自学记录(八)
  • 【ArcGIS Pro 简介1】
  • Docker Desktop安装kubernetes时一直在Starting:Kubernetes failed to start
  • Day56_20250204_图论part1_图论理论基础|深搜理论基础|98.所有可达路径|广搜理论基础
  • Jetson AGX Orin折腾记
  • PEP8代码规范
  • Rust语言进阶之标准输出:stdout用法实例(一百零六)
  • vue高级面试题
  • Mac本地体验LM studio
  • (动态规划基础 整数拆分)leetcode 343
  • 如何在macOS上安装Ollama
  • 航电系统之通信模块篇
  • 【Uniapp-Vue3】使用uni.$emit和$on页面通讯实现发布成功即时更新数据
  • 基于 Three.js 实现的爱心2025粒子特效
  • BUU28 [GXYCTF2019]BabySQli1
  • baigeiRSA
  • Ubuntu22.04操作系统4090显卡电脑本地化部署DeepSeek
  • 【DeepSeek论文精读】3. DeepSeekMoE:迈向混合专家语言模型的终极专业化