EtherCAT使用与解析-关于PDO映射生效以及主站状态机在此过程的作用
在PDO映射配置一文https://blog.csdn.net/lswdcyy/article/details/105453144,已经针对从站的同步管理器配置已经基本描述了,本章描述关于PDO映射如何在从站中生效的相关内容。
PDO映射交换目前我已知的内容涉及到3个部分:sync同步管理器配置,FMMU配置以及PDO映射关系配置:
先说sync同步管理器配置和FMMU配置,两者差别不大,sync主要是从站同步管理物理起始地址,FMMU需要设置从站映射物理起始地址和报文逻辑起始地址。
对于PDO映射关系,了解这个的话需要知道一个状态机,就是从站扫描状态机中的子状态机,ec_fsm_pdo状态机原理就是配置对象字典0x1C10~0x1C2F这32个PDO,这32个PDO名为Sync Manager PDO Assignment,分别对应0~31同步管理器的PDO映射,也就是从站同步管理器最多可以支持32个。
具体对每个同步管理器PDO配置通过邮箱通讯(邮箱可以完成对对象字典的读写)可以实现:
1.基于用户设置的PDO映射对映射表PDO进行配置:整体格式就是子索引为0的位置存放PDO对应的entry个数,然后存放entry的格式为(index + subindex + bit_length),直到将配置的PDO entry设置完毕;然后再将entry个数设置在PDO子索引为0的位置上。
2.对同步管理器映射PDO进行配置:整体格式为子索引为0的位置存储管理PDO的个数,之后的位置存储PDO,存储映射的PDO就是直接存储了映射表PDO的索引(2Byte),配置完毕之后,同样将该同步管理器管理的PDO个数设置在同步管理器分配PDO子索引为0的位置。
3.对从站的同步管理器PDO和映射表PDO进行重新配置后,将最开始空闲阶段扫描从站SII信息获取的PDO映射关系进行更新,更新为设置完毕的PDO映射关系,也就是用户设置的PDO关系。
这样PDO的映射关系和报文中信息的逻辑地址以及从站映射物理地址三者就产生了联系。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话