Ethercat“APWR配置从站地址”报文分析(0x0010:0x0011)

基于IgH主站接了3个从站,分析报文。

APWR:Auto Increment Physical Write。

3b5688f5cce142d9919ac4a5ddd33eab.jpeg

一条Ethercat报文中可以包含多个子报文,每个子报文的地址由ADP+ADO组成,ADP即16 bit High Addr,ADO即16 bit Low Addr。APWR模式下,ADP代表的是从站在网络中按连线顺序的地址,比如与master连接的第一个从站的ADP=0x00,第二个从站的ADP=0x01,第三个从站的ADP=0x02,以此类推。ADO代表的是从站物理寄存器地址,寄存器地址可参考Beckhoff | New Automation Technology | Beckhoff Worldwide的资料《Section II – Register Description Register overview and detailed》。

APWR模式,从站只处理ADP=0的报文,出站后各子报文的ADP(High Addr)加1。

举个应用场景,系统第一次初始化时,通过ADO=0x0010寄存器配置从站地址:

07df650420844bd9b769dda3e06c6b45.png

报文到达第一个从站,处理子报文1(因为它的ADP=0x0000),将data区的值写入ADO寄存器中。报文从第一个从站出来后,子报文2的ADP = 0xFFFF+1 = 0x0000,子报文2的ADP = 0xFFFE+1 = 0xFFFF。报文到达从站2,从站2处理子报文2(因为它的ADP=0x0000),以此类推。

一、发送报文

1,IgH dmesg看到的报文

[ 2501.304424] EtherCAT DEBUG 0: frame size: 46
[ 2501.304424] EtherCAT DEBUG 0: Sending frame:
[ 2501.304425] EtherCAT DEBUG: FF FF FF FF FF FF 6C 24 08 29 52 19 88 A4 0E 10 
[ 2501.304429] EtherCAT DEBUG: 02 03 00 00 10 00 02 00 00 00 01 00 00 00 00 00 
[ 2501.304434] EtherCAT DEBUG: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[ 2501.304438] EtherCAT DEBUG: 00 00 00 00 00 00 00 00 00 00 00 00 

 2,报文解析

9318c774b0af4752841570964ce4ccbd.jpeg

3,wireshark报文

31870d67c0a64b9a95a9203ad3d9b08f.jpeg

二、接收报文

1,IgH dmesg看到的报文

[ 2501.412236] EtherCAT DEBUG 0: Received frame:
[ 2501.412237] EtherCAT DEBUG: FF FF FF FF FF FF 6E 24 08 29 52 19 88 A4 0E 10 
[ 2501.412242] EtherCAT DEBUG: 02 03 03 00 10 00 02 00 00 00 01 00 01 00 00 00 
[ 2501.412246] EtherCAT DEBUG: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[ 2501.412251] EtherCAT DEBUG: 00 00 00 00 00 00 00 00 00 00 00 00 

2,报文解析

c3d5b2319f384d9991054b51339766f1.jpeg

3,wireshark报文

dab95a878c884c8e96d8d3f68f64a7c3.jpeg

 注意:

1)箭头指的地方并不能说明地址为0x0003的从站的地址被改了,只能说明Ethercat数据帧经过的最后一个从站时0x0003。从wireshark报文中看不出哪个从站被修改了地址。

2)Working Cnt为1说明,3个从站中只有1个从站响应了报文。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

git rebase(变基)应用场景

文章目录 git rebase(变基)应用场景1.git rebase -i HEAD~3 git rebase(变基)应用场景 使得提交记录变得简洁 现在我们模拟我们有多次提交记录,本地仓库有三条提交 整合成一条提交记录 1.git rebase -i HEAD~3 提交记录合并 HEAD~3合并三条记录 执行之后 然后把…

Graceful Response 构建 Spring Boot 下优雅的响应处理

一、Graceful Response Graceful Response 是一个 Spring Boot 技术栈下的优雅响应处理器,提供一站式统一返回值封装、全局异常处理、自定义异常错误码等功能,使用Graceful Response进行web接口开发不仅可以节省大量的时间,还可以提高代码质…

MySQL 高级SQL语句与存储过程

MySQL 高级(进阶) SQL 语句 实验环境以下两表: use kgc; create table location (Region char(20),Store_Name char(20)); insert into location values(East,Boston); insert into location values(East,New York); insert into location values(West,Los Angele…

ORACLE Primavera P6, Unifier v23.12 系统分享

引言 根据上周的计划,我近日简单制作了一个基于ORACLE Primavera P6 EPPM 以及Unifier 最新版23.12的虚拟机演示环境,里面包括了p6 和 unifier的全套系统服务 此虚拟系统环境仅用于演示、培训和测试目的。如要在生产环境中使用此虚拟机,请您…

Git开发工具基本使用

文章目录 前言Git仓库基本概念基本环境安装清除原先配置生成秘钥配置Host添加公钥Github添加Gitee添加测试 本地仓库基本概览查看提交日志(log)版本回退添加文件至忽略列表分支分支冲突 远程仓库推送到远程仓库从远程仓库中抓取和拉取 在Idea中使用Git总结 前言 这里只是对Git…

仓储9代巷道灯接口文档-V2.0

标签注册 仓储9代巷道灯注册 磁体靠近条码所在区域附近,触发巷道灯注册到系统 注册成功:闪红灯变绿灯常亮,之后熄灭 查询巷道灯信息接口 接口地址:192.168.1.200/wms/associate/queryIndicates 请求类型:applicat…

【DevOps】搭建 项目管理软件 禅道

文章目录 1、简介2、环境要求3、搭建部署环境3.1. 安装Apache服务3.2. 安装PHP环境(以php7.0为例 )3.3. 安装MySQL服务 4、搭建禅道4.1、下载解压4.2、 配置4.2.1、 启动4.2.2、自启动4.2.3、确认是否开机启动 5、成功安装 1、简介 禅道是国产开源项目管…

堆排序(C语言版)

一.堆排序 堆排序即利用堆的思想来进行排序,总共分为两个步骤: 1. 建堆 升序:建大堆 降序:建小堆 2. 利用堆删除思想来进行排序 1.1.利用上下调整法实现堆排序 第一步:建堆 好了,每次建堆都要问自己…

Jmeter的安装与快速使用(做并发测试)

1、了解 JMeter是一款开源的性能测试工具,它主要用于模拟多种负载条件下的应用程序或服务器的性能和功能。JMeter可以发送不同类型的请求,如HTTP、HTTPS、FTP、SOAP、REST等,并且可以模拟多种负载类型,例如并发用户、线程组、定时…

【Linux常用指令】用户管理

文章目录 Linux系统目录结构Linux用户和用户组用户管理概述用户账号和用户组用户概念用户组概念 Linux用户和组的关系 Linux用户管理添加用户 useradd选项修改用户 usermod用户账号口令管理passwd删除用户 userdel Linux用户组管理添加新组groupadd修改群组groupmod删除群组gro…

传统企业转型需要怎么做?

传统企业面临着巨大的压力和挑战。在这个变革的时代,转型成为了传统企业持续发展的必由之路。本文将探讨传统企业如何成功转型,从困境中找到新的机遇,实现蜕变。 一、明晰转型目标 在转型的初期,传统企业需要明确自己的转型目标。…

RabbitMQ(七)ACK 消息确认机制

目录 一、简介1.1 背景1.2 定义1.3 如何查看确认/未确认的消息数? 二、消息确认机制的分类2.1 消息发送确认1)ConfirmCallback方法2)ReturnCallback方法3)代码实现方式一:统一配置a.配置类a.生产者c.消费者d.测试结果 …

如何保护企业数据安全

数据安全是通过采用一系列 IT 安全策略和程序来保护数字信息免遭泄露、盗窃和破坏的做法,这些策略和程序可以包括系统安全、设备管理、访问控制、审计、主动威胁搜寻、事件响应等。 组织存储和处理大量数据,例如财务记录、知识产权和客户的个人数据&…

免费邮件系统hMailServer本地部署并实现远程发送邮件

文章目录 前言1. 安装hMailServer2. 设置hMailServer3. 客户端安装添加账号4. 测试发送邮件5. 安装cpolar6. 创建公网地址7. 测试远程发送邮件8. 固定连接公网地址9. 测试固定远程地址发送邮件 前言 hMailServer 是一个邮件服务器,通过它我们可以搭建自己的邮件服务,通过cpola…

python基础-01

文章目录 前言一、python中的注释二、变量的数据类型1.Number(数字)2.Boolean(布尔类型)—— True 和 False3.String(字符串)4.List(列表)5.Tuple(元组)6.Dic…

wordpress在界面将站点地址直接修改为https导致上不去问题的解决办法

wordpress在界面将站点地址直接修改为https导致上不去问题的解决办法 #修改数据库yz_options

从零实现一套低代码(保姆级教程) --- 【12】实现左侧层级树并支持查看JSON

摘要 目前,我们还有最后一个小模块没有实现,那就是左侧的数据。 我们希望它能够展示整个页面的相关协议,其实也就是我们redux中管理的数据。我们希望能够通过可视化的方式看到它。 因为有时候我们想知道一个组件的具体信息,就可…

Golang http包实战:构建RESTful API

Golang http包实战:构建RESTful API 引言简介目的 Go语言http包简介功能概述基本组件 搭建基础Web服务器步骤指导代码示例创建简单的HTTP文件服务器步骤说明代码示例 设计RESTful API结构设计原则路由设计 实现RESTful API处理请求代码示例 中间件应用代码示例 错误…

从零开始配置pwn环境:CTF PWN 做题环境

前期在kali2023环境安装的pwndocker使用发现不好用,so找了网上配置好pwn环境的虚拟机。 GitHub - giantbranch/pwn-env-init: CTF PWN 做题环境一键搭建脚本 可以直接下载我配置好的Ubuntu 16.04,为VMware导出的ovf格式 链接:百度网盘 请输…

小兔鲜儿 uniapp - SKU 模块

目录 存货单位(SKU)​ 插件市场​ 下载 SKU 插件​ 使用 SKU 插件​ 插件类型问题​ 核心业务​ 渲染商品规格​ 打开弹窗交互​ 渲染被选中的值​ 存货单位(SKU)​ SKU 概念 存货单位(Stock Keeping Unit&a…