成都武侯区建设厅官方网站浙江省工程建设监理管理协会网站
news/
2025/9/22 19:32:55/
文章来源:
成都武侯区建设厅官方网站,浙江省工程建设监理管理协会网站,wordpress 启动,网站做百度推广为什么没人咨询0 工具准备
1.EtherCAT主站
2.EtherCAT从站#xff08;本文使用步进电机驱动器#xff09;
3.Wireshark1 抓包分析
1.1 报文总览
本文设置从站1的对象字典#xff0c;设置对象字典主索引为0x2000#xff0c;子索引为0x00#xff0c;设置值为1500。主站通过发送SDO写报文…0 工具准备
1.EtherCAT主站
2.EtherCAT从站本文使用步进电机驱动器
3.Wireshark1 抓包分析
1.1 报文总览
本文设置从站1的对象字典设置对象字典主索引为0x2000子索引为0x00设置值为1500。主站通过发送SDO写报文实现对该对象字典的写入这一过程使用Wireshark抓包如下
1.2 SDO读取阶段1检查SM1缓冲区是否空闲 这一阶段主站通过FPRD报文去读取SM1缓冲区是否空闲。当bit3为0时表示当前SM1缓冲区为空闲状态没有需要读取的邮箱信息如果bit3为1表示当前SM1缓冲区满有需要读取的邮箱信息。 本例中返回的数据为0x80也就是SM1缓冲区空闲没有需要读取的消息可以直接进入下一阶段。否则需要先将邮箱内消息读出。
1.3 SDO读取阶段2检查SM0缓冲区是否空闲 这一阶段主站通过FPRD报文去读取SM0缓冲区是否空闲。当bit3为0时表示当前SM0缓冲区为空闲状态表示可以写入邮箱消息如果bit3为1表示当前SM0缓冲区满要一直等到从站将邮箱消息取走缓冲区空闲。 本例中返回的数据为0x02也就是SM0缓冲区空闲从站没有需要读取的消息可以直接进入下一阶段。
1.3 SDO读取阶段3发送CoE请求给从站 这一阶段主站通过FPWR报文发送CoE请求给从站请求从站下载SDO服务数据对象信息。
1.4 SDO读取阶段4检查SM1缓冲区是否满 这一阶段主站间隔一小段时间发送FPRD报文去读取SM1状态寄存器检查其缓冲区是否已满已满则代表从站已经处理完毕了CoE请求将邮箱内的SDO设置信息下载完成对象字典设置完毕。
可以看到最后一次FPRD报文返回的SM1状态寄存器值为0x09这表示有SDO数据可以从邮箱读取了。
1.5 SDO读取阶段5读取邮箱数据 最后一个阶段的操作就是去读取邮箱数据去哪里读呢去主站初始化阶段获取到的主站读邮箱偏移地址处去取。
可以看到从站返回的FPRD报文内已经填充了SDO数据显示了对象字典正确的主索引、子索引、SDO处理结果3。 值得一提的是如果设置的值超过了对象字典的允许范围导致设置不成功会返回传输中止请求 使用SDO写报文时可以利用这一特点判断自己写入的值是否合理。
2 总结
EtherCAT主站SDO写报文可以分为以下5个阶段 ①检查SM1缓冲区是否空闲不空闲则先将邮箱消息读出 ②检查SM0缓冲区是否空闲不空闲则等待从站将邮箱消息读走 ③发送CoE请求给从站 ④检查SM1缓冲区是否满满则代表已经可以从邮箱读出SDO数据 ⑤读取邮箱数据查看返回结果是否正常
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910135.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!