EtherCAT SDO分段下载/上传说明

 

ETherCAT COE (CANOpen)的 SDO   属于应用层通讯协议,基于同步管理器(SM)的邮箱实现的,主站可以通过SDO实现一下功能。

EtherCAT SDO分段下载/上传说明_第1张图片

  对应邮箱消息数据格式如下

EtherCAT SDO分段下载/上传说明_第2张图片

 

其中分段下载和分段上传请求和响应较为特殊,ETG 1000-4手册上对整个通讯过程讲解不够清晰,下面是我个人的理解。

     分段下载的过程

①. 客户端发送“常规下载请求”,包含数据(写满SM设定缓存区)给服务器   --> 服务器接收到数据后,判断 Complete Size > Size,且数据包完整无逻辑错误(发送的数据长度必须等于SM设定缓存,否则视为错误),断定客户端还有数据未发出(标记下一接收为 “段下载请求”),保存接收到的数据并发送“常规下载请求响应”通知客户端。

②. 客户端发出 "段下载请求"给服务器,标记Toggle = 0   ,Follows = TRUE(还有下一帧,否则为FALSE最后一帧)-->  服务器接收到数据后,下载数据,发送应答(toggle = 0)。

③. 客户端发出 "段下载请求"给服务器,标记Toggle = 1   (翻转),Follows = TRUE(还有下一帧,否则为FALSE最后一帧)-->  服务器接收到数据后,下载数据,发送应答(toggle = 1)。

....

⑥. 客户端发出 "段下载请求"给服务器,标记Toggle = (-1)^(n-1)  (翻转),Follows = FALSE(最后一帧)-->  服务器接收到数据后,下载数据,合成并解析数据到对应的对象字典,再发送应答(toggle)。

 以上是我阅读ETG1000协议的学习理解,欢迎指正。

你可能感兴趣的:(EtherCAT,EtherCAT,COE,SDO)