EtherCAT从站EEPROM分类附加信息详解:SM(同步管理器)

0 工具准备

1.EtherCAT从站EEPROM数据(本文使用DE3E-556步进电机驱动器)

1 分类附加信息——SM(同步管理器)

1.1 分类附加信息规范

在EEPROM字64开始的区域存储的是分类附加信息,这里存储了包括设备信息、SM配置、FMMU配置在内的诸多信息。每个信息在一段连续的区域内,该部分规范如下:
在这里插入图片描述
可以看到,每一个信息段起始的2个字定义如下:
字0:类别名,类别名定义如下:
在这里插入图片描述
字1:信息段长度(单位字,不包括前2个字)

1.2 SM(同步管理器)规范和实例

1.2.1 SM(同步管理器)规范

SM(同步管理器)类型名:
在这里插入图片描述
SM(同步管理器)信息段定义:
在这里插入图片描述

1.2.2 实例分析

DM3E-556的SM信息段一共包含了SM0-SM3四个同步管理器信息,如下图所示(框内的代表不同的子SM段):
在这里插入图片描述
分类信息段段头:
字0:0x0029(41,代表是SM信息)
字1:0x0010(段长度,32字节)
SM信息:
SM0物理起始地址:0x1000
SM0长度:0x0040
SM0控制寄存器:0x26
SM0状态寄存器:0x00
SM0使能状态:0x01(使能)
SM0类型:0x01(输出邮箱)

SM1物理起始地址:0x1100
SM1长度:0x0040
SM1控制寄存器:0x22
SM1状态寄存器:0x00
SM1使能状态:0x01(使能)
SM1类型:0x02(输入邮箱)

SM2物理起始地址:0x1200
SM2长度:0x0000(通过0x1C12获取)
SM2控制寄存器:0x64
SM2状态寄存器:0x00
SM2使能状态:0x01(使能)
SM2类型:0x03(用于过程数据输出)

SM3物理起始地址:0x1400
SM3长度:0x0000(通过0x1C13获取)
SM3控制寄存器:0x20
SM3状态寄存器:0x00
SM3使能状态:0x01(使能)
SM3类型:0x04(用于过程数据输入)

2 总结

(1)EEPROM从字0x40开始存储的是分类附加信息,每个信息段段头占用4Byte,分别指示分类段类型和长度,随后是真正的分类信息内容。
(2)字符串信息类型是41,对于支持SDO和PDO的从站来说正常会有4个SM的信息。

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

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

相关文章

小程序如何添加打印机来打印订单

在采云小程序中,支持打印订单的小票、标签、发货单和电子面单。小票打印机用于打印小票,类似于超市小票、外卖小票等。标签打印机用于打印商品标签,类似于奶茶上面粘贴的标签,用于表示饮料名称和规格等。货单打印机用于打印发货单…

关于 内部类 你了解多少?(详解!!)

目录 1. 什么是内部类? 2. 内部类的分类 3. 内部类 3.1 实例内部类 3.2 静态内部类 4. 局部内部类 5. 匿名内部类 6.对象的打印 “不积跬步无以至千里,不积小流无以成江海。”每天坚持学习,哪怕是一点点!!&a…

sqlserver配置管理器无法启动解决方案

在SQL server configuration manager配置管理器中遇到SQL server browser呈灰色,无法启动 右击选择属性 进入服务 将启动模式改为自动 可以启动了

Java面向对象2

代码块 代码块的构造顺序优先于构造器 细节

redis运维(七)基础通用命令

一 基础通用命令 备注: 与具体数据类型无关Tab键 自动补全补充: redis 命令是不区分大小写 通用不到 10 个提升逼格的 redis 命令 后续: slowlog、rename-command、monitor、set ① help command 需求: 显示有关redis命令的…

DVWA - 4

文章目录 JavaScriptlowmedium JavaScript 前端攻击。token 不能由前端生成,js 很容易被攻击者获取,从而伪造 token。同样其他重要的参数也不能由前端生成。 low 不修改输入,点击提交报错: 根据提示改成 success,还是报错&…

趣学python编程 (一、计算机基础知识科普)

未来是高度科技化和智能化的时代。过去不识字的叫“文盲”,如今不懂点计算机知识,则可能是新时代的“文盲”。不论从事什么行业,了解下计算机和编程都是有益的。Python 连续多年占据最受欢迎的编程语言榜首,未来Python有机会成为像…

C++之异常处理

目录 一、C语言处理错误 1、终止程序 2、返回错误码 二、C异常 异常的抛出和匹配原则 异常安全 异常规范 异常优缺点 一、C语言处理错误 传统处理错误的两种方式: 1、终止程序 使用assert是直接终止程序,包含头文件assert.h即可 缺点&#xf…

NEFTune: 通过简单的噪声提升指令精调效果

NEFTune指的是Noise Embedding Finetuning(噪声嵌入精调),提出自论文:NEFTune: NOISY EMBEDDINGS IMPROVE INSTRUCTION FINETUNING。 NEFTune方法的原理仅使用一句话就可以描述清楚:在finetune过程的词向量中引入一些…

众安保险面试题

文章目录 1.说一下Java内存模型?2.List、Set、Map的区别?3.介绍一下设计模式?4.MySQL存储结构?5.索引失效的场景?6.为什么使用函数索引会失效?7.Spring事务有哪两种?7.1 编程式事务@RestController7.2 声明式事务8.@Transactional实现原理?9.事务如何合并@Transactiona…

es head 新增字段、修改字段、批量修改字段、删除字段、删除数据、批量删除数据

目录 一、新增字段 二、修改字段值 三、批量修改字段值 ​四、删除字段 五、删除数据/文档 六、批量删除数据/文档 一、新增字段 put http://{ip}:{port}/{index}/_mapping/{type} 其中,index是es索引、type是类型 数据: {"_doc"…

听GPT 讲Rust源代码--library/core/src(7)

题图来自 Hello, crustaceans.[1] File: rust/library/core/src/ptr/metadata.rs 在Rust的源代码中,rust/library/core/src/ptr/metadata.rs 文件的作用是定义了与指针(ptr)和元数据(metadata)相关的结构体和 trait&am…

C#源代码生成器深入讲解二

在阅读本文前需掌握源代码生成器相关知识C#源代码生成器深入讲解一 C#源代码生成器深入讲解二—增量生成器 源代码生成器有个非常大的弊病,每次都会遍历所有的语法树来分析,这样就有个问题,每次可能只修改了很少一部分或者只有很少一部分的代码需要分析…

异行星平台--CRM系统搭建

使用异行行低代码平台搭建的CRM系统。CRM系统中,包括“客户”、“商机”、“合同”、“回款”、“开票”、“营销”、“回访”、“产品”、“联络人”、“销售订单”、“线索”。 “管理后台”可能是指一个用于管理后台系统的应用,可能包括对各种功能和数…

基于django电影推荐系统

基于django电影推荐系统 摘要 该Django电影推荐系统是一个简单而基础的框架,旨在展示系统的基本组件。系统包括两个主要模型,即Movie和Rating,用于存储电影信息和用户评分。视图层包括展示电影列表和电影详情的功能,使用模板进行页…

从底层认识哈希表【C++】

目录 一. unordered系列关联式容器 二. unordered_map的文档介绍 接口使用 三. 底层实现 (1)哈希概念 例: (2)哈希冲突 (3)冲突解决 1.闭散列​​​​​​​ 闭散列框架 插入 查找 删除 2.开散…

虾皮店铺所有商品数据接口(shopee.item_search_shop)

虾皮店铺所有商品数据接口可以提供丰富的电商数据,包括商品数据、订单数据、会员数据、评价数据等。以下是具体的介绍: 商品数据:虾皮提供了商品的基本信息,包括商品名称、描述、规格、价格、销量、库存等信息。此外,…

【网络知识必知必会】再谈Cookie和Session

文章目录 前言1. 回顾 Cookie1.1 到底什么是 CookieCookie 的数据从哪里来Cookie 的数据长什么样Cookie 有什么作用Cookie 到哪里去Cookie 怎么存储的 2. 理解 Session3. Cookie 和 Session 的区别总结 前言 在讲 HTTP 协议时, 我们就谈到了 Cookie 和 Session, 当时我们只是粗…

【部署篇】Docker配置MySQL容器+远程连接

一、前言 上篇文章在部署nestjs时,由于docker访问不了主机的localhost,所以无法连接主机数据库。所以我们只能在docker中额外配置一个数据库,映射到主机上,然后可以通过ip地址访问。 在本篇文章我们会在docker中创建一个mysql&a…

Logback 日志格式参数说明

打印日志格式&#xff1a; <property name"LOG_PATTERN" value"[${APP_NAME} ${SERVER_IP}:${SERVER_PORT}] %d{yyyy-MM-dd HH:mm:ss.SSS} %level ${PID} [%X{traceId}-%X{spanId}] [%thread] %logger %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/&g…